隐私混币与合规 — Privacy Pools v2 / Aztec Compliance
Privacy Pools v2核心论文(Vitalik 2023-09)、Aztec compliance、监管下的隐私设计
日期: 2027-01-12 方向: 隐私技术 / FHE/MPC/TEE 阶段: Phase 4 - FHE & MPC & TEE (Day 244-258) 标签: #PrivacyPools #TornadoCash #Aztec #合规隐私 #Vitalik
今日目标
| 类型 | 内容 |
|---|---|
| 学习 | Privacy Pools v2核心论文(Vitalik 2023-09)、Aztec compliance、监管下的隐私设计 |
| 实操 | 阅读Buterin-Illum-Reijsbergen 2023 paper,对比Tornado Cash与Privacy Pools |
| 产出 | priv_pools.md(本笔记) |
1. 历史背景
1.1 Tornado Cash事件
- 2019 Tornado Cash上线(Roman Storm + Roman Semenov + Alexey Pertsev)
- 2022年8月 OFAC将Tornado Cash合约地址加入SDN list(首次合约被制裁)
- 2022年8月 Alexey Pertsev在荷兰被捕;2024年判刑5年4月
- 2023年8月 Roman Storm在美被起诉
- 2024年1月 GAO报告:"
$1.54B去过Tornado Cash,含7.6%与朝鲜Lazarus相关" - 2025年3月 OFAC撤销Tornado Cash制裁(5th Circuit裁定不合宪)
- 2025年8月 Roman Storm陪审团deadlock,部分被判 (conspiracy to operate unlicensed money transmitter)
1.2 监管 vs 隐私的张力
- 隐私正当:金融监视 (financial surveillance) 损害公民权利
- 监管正当:反洗钱 (AML)、反恐融资 (CFT)
- 真问题:如何让"善意用户"获得隐私,"恶意用户"被排除?
2. Privacy Pools v2 (Vitalik et al., 2023-09)
2.1 论文
- 标题: "Blockchain Privacy and Regulatory Compliance: Towards a Practical Equilibrium"
- 作者: Vitalik Buterin, Jacob Illum (Chainalysis), Matthias Nadler, Fabian Schär, Ameen Soleimani
- 发表: 2023-09-06 (SSRN/arxiv)
- 核心: 在隐私池中加入"关联集合(Association Sets)"机制
2.2 核心机制
传统Privacy Pool(Tornado Cash-style)
Deposit(commitment) → Pool of commitments
Withdraw(nullifier, ZK proof: "I know one of the commitments") → Funds out
问题:所有用户混在一起;监管视角无法区分善恶。
Privacy Pools v2 with Association Sets
Deposit(commitment) → Pool
Withdraw时,用户证明:
"I know commitment in pool P"
AND
"My commitment is in association set A ⊆ P"
Where A is e.g.:
- "Set of commitments NOT marked as suspicious by Chainalysis"
- "Set of commitments from users who passed KYC"
- "Set of commitments from a specific community/DAO"
关键:用户可以主动证明自己属于"善意子集",但仍享受集合内的隐私(k-anonymity within A)。
2.3 形式化
设 deposits commitments集合 $P = {c_1, c_2, ..., c_n}$。
Association Set Provider (ASP) 发布 $A \subseteq P$ 的Merkle root(如每天/每周更新)。
用户withdraw的ZK proof证明:
- 他知道 secret 对应 $c_j$(pre-image of nullifier)
- $c_j \in P$(pool root inclusion)
- $c_j \in A$(ASP的root inclusion)
提取者可选择ASP(不同ASP有不同筛选规则)。
2.4 Association Set的来源
| ASP类型 | 例子 |
|---|---|
| Chainalysis "exclude SDN" | 排除 OFAC SDN list 上的地址 |
| 第三方KYC provider | 排除 unverified deposits |
| DAO-defined | 某DAO的成员-only |
| opt-out by depositor | 自己选择加入或不加入某association set |
2.5 安全性论证
- 隐私:用户在 $A$ 集合内仍 k-anonymous($|A|$越大隐私越强)
- 合规:监管可要求项目方只接受 ASPs 发布的 "compliant" sets
- 去中心化:多个ASPs竞争 — 用户、监管、社区可选
3. Privacy Pools生产实现
3.1 0xbow.io (2023年发布)
- 第一个Privacy Pools v2实现
- on Ethereum mainnet
- 集成Chainalysis ASP
- 由Vitalik本人首笔存入测试
3.2 用户体验
- Deposit: 像Tornado Cash一样,commit + 转ETH
- 等待ASP更新: 几小时后,自己deposit会进入"compliant ASP"
- Withdraw: 选ASP → 生成ZK proof(包含两个Merkle inclusion)→ 提取
3.3 数据 (2026-12)
- 0xbow TVL: ~$15M (远小于Tornado巅峰$7B)
- 主要用户: 高净值个人 + 部分DAO treasury
- ASP使用率: ~95%用户选Chainalysis "no SDN" set
3.4 限制
- 无ASP的"old commitments"无法withdraw(被困)
- ASP更新有延迟 → deposit到withdraw有时间窗
- ASP可能"过度排除"(包含正当用户)
4. Aztec Compliance
4.1 Aztec背景
- 2018成立 (Joe Andrews, Charles Cooper, Zac Williamson)
- 第一个 Ethereum L2 with built-in privacy
- Aztec Connect (2021-2024) — 类Tornado但enhanced
- 2024年关闭 Aztec Connect, 转向 Aztec L2 + Noir 全新架构
- 2025年Public Testnet "Aztec Sandbox"
- 2026年Mainnet "Aztec Network"
4.2 Aztec Connect 关闭原因 (2024-03)
- 监管不确定性(OFAC对Tornado制裁后)
- "无法实现compliance与privacy的同时满足"
- 转向更modular设计:privacy-by-default + opt-in compliance
4.3 Aztec新架构 (Aztec L2 + Noir)
- Public-private hybrid: 每个合约有public state + private state
- Account contracts: 类似AA,可定义自己的validation逻辑
- Compliance hooks: 合约可call出去做KYT/AML check
- Selective disclosure: 用户可生成zk proof披露自己transaction合规
4.4 Aztec的compliance模式
contract CompliantToken is Aztec.PrivateContract {
function privateTransfer(EncryptedAmount amt, address to) {
// private state update
balances[msg.sender] -= amt;
balances[to] += amt;
// optional: emit ZK proof of compliance
// e.g., proof that amt < threshold and counterparty not in SDN
emit ComplianceProof(generate_zk_compliance_proof());
}
}
4.5 进展 (2026-12)
- Mainnet启动 2026 Q3
- TVL ~$80M(早期阶段)
- 主要应用:private DeFi swaps, treasury management
5. 其他合规隐私项目
5.1 Penumbra (2024 mainnet)
- Cosmos生态 zk-based DEX & shielded staking
- 设计内置 "shielded swap" 但无强制KYC
- ASP-style是future feature
5.2 Aleo
- 隐私L1 + 内置 KYT/compliance hooks
- 支持 "compliance proofs" — 用户可zk证明 transaction not in blacklist
5.3 Manta Network
- 已枢转向L2 staking + zk identity
- 早期shielded payments停止开发 (2023)
5.4 Mina的zkApps
- 用 recursive ZK 实现 selective disclosure
- 隐私身份场景为主
6. 监管立场对比
| 国家/地区 | 立场 |
|---|---|
| 美国 (OFAC) | Tornado制裁→撤销 (2025);Roman Storm起诉(unlicensed MTL);态度:反对"无差别隐私",支持"compliant隐私" |
| 欧盟 (MiCA + AML6) | "anonymous wallets" 禁止CASP使用 (2027 起);但 selective disclosure ZK 被接受 |
| 英国 FCA | 类似EU,"crypto asset firms"必须KYC |
| 日本 FSA | 2018后禁止"Privacy coins" (Monero/ZCash 在交易所下架),对ZK友好度待定 |
| 中国 | 全面禁止crypto,隐私技术研究仍活跃 |
| 新加坡 MAS | "Travel rule"要求;隐私技术不禁但需配合监管 |
| 以色列 | 较宽松,但反恐融资严格 |
7. 设计模式:合规友好的隐私
7.1 k-anonymity within compliant set
(Privacy Pools v2 模式)
用户在"compliant subset"内匿名,对外整体anonymous。
7.2 Selective disclosure
用户可zk证明特定属性(age >= 18, balance < threshold)而不暴露具体数据。
实现:BBS+ signatures, Anonymous Credentials, OpenID4VC。
7.3 Threshold escrow
私钥被分给监管 + 项目方 + 第三方,t-of-n才能解密 — 类似传统金融的"司法授权"。
例:Inco Gateway 13节点中含监管授权方。
7.4 Time-locked compliance
交易立即private,N天后自动公开(除非用户选择延长付费)。
7.5 Audit trail with privacy
链上隐私 + 链下加密audit log,定期被合规方解密。
8. 案例深度:Tornado Cash制裁的法律反思
8.1 OFAC 2022 制裁
- 把合约地址列入SDN list(首次!)
- 任何US person与该合约交互违法
- 引发:Coin Center、6名Tornado用户起诉OFAC
8.2 Van Loon v. Treasury (2023, 5th Circuit)
- 2024-11 第五巡回法院判:OFAC越权 — 合约不是 "person" 也不是 "property"
- 要求OFAC 撤销Tornado Cash制裁
- 2025-03 制裁撤销
8.3 Roman Storm 案 (Aug 2025 trial)
- 起诉:conspiracy to operate unlicensed money transmitting business
- 陪审团 hung jury (deadlock)
- 部分罪名成立,部分未决
- 暂未re-trial
8.4 教训
- 制裁合约 ≠ 制裁人 — 法律仍模糊
- "Money transmitter"定义对去中心化协议不适用?
- DAO/合约的法律人格:未定
9. 真实数据 (2026-12)
| 项目 | TVL | 监管态度 |
|---|---|---|
| Tornado Cash | ~$80M (after sanctions lifted) | 仍在美国受刑事调查 |
| 0xbow Privacy Pools | ~$15M | OFAC明确认可(与Chainalysis合作) |
| Aztec Network | ~$80M (early mainnet) | 主动compliance friendly |
| Aleo | ~$200M | KYT层 |
| Penumbra | ~$30M (Cosmos生态) | 灰色 |
| Railway (privacy AMM) | ~$20M | 灰色 |
10. 关键速查
| 概念 | 一句话 |
|---|---|
| Privacy Pools v2 | 用Association Set做"compliant子集"内k-anonymity |
| ASP | Association Set Provider,发布合规子集Merkle root |
| Chainalysis "Reactor" | 主流ASP数据源 |
| Selective disclosure | 用ZK证明特定属性而不暴露数据 |
| Threshold escrow | 多方共管解密key |
| OFAC SDN list | Specially Designated Nationals — 制裁名单 |
| Tornado Cash判例 | 第五巡回法院 2024年裁OFAC越权制裁合约 |
11. 面试题
Q1:Privacy Pools v2 vs Tornado Cash的关键创新?
Tornado把所有用户混在一个pool(无差别匿名),监管视角无法区分善恶 → 被OFAC全面制裁。Privacy Pools v2引入Association Set — 用户主动证明自己在"compliant subset"内。这让"善意用户"获得隐私,"恶意用户"无法证明属于compliant set → 自然被排除。关键:用户主动声明合规属性 + ZK proof of inclusion in subset。
Q2:监管为什么不喜欢Tornado Cash但接受Privacy Pools?
Tornado提供"无差别匿名" — 善恶都享受同等保护,反洗钱/反恐融资完全失效。Privacy Pools提供"层次化隐私" — 用户可证明合规,monitoring/AML可在合规子集层面运作。关键观察:监管不反对隐私,反对的是"完全opaque + 不可监督"。Privacy Pools给监管"足够的visibility"同时保护正当隐私。
Q3:Aztec为什么关闭Aztec Connect?
2024年初OFAC对Tornado制裁导致法律风险高。Aztec Connect是直接的mixer-style,无法证明用户合规。团队选择重新设计 — 转向public-private hybrid的Aztec L2 + Noir,让合约层可定制compliance hooks,更灵活地支持监管。lesson: pure privacy无差别保护已不可行;compliance-first design 才是未来。
Q4:threshold escrow vs ZK selective disclosure,哪个更隐私?
ZK selective disclosure 更强。用户主动选择披露什么(如"年龄>18"),key仍在用户手里,监管不能"事后解密"任意数据。threshold escrow:sk在多方手里,t-of-n协作可解密 — 监管授权下可访问全部数据 → 比纯私钥差,但比plaintext好。实际:两者结合 — selective disclosure处理普通transaction,threshold escrow处理司法授权特殊场景。
Q5:Web3 PM如何设计compliance-friendly的privacy产品?
(1) 不要做无差别mixer — Tornado教训;(2) 集成ASP — 与Chainalysis等合作,用户可证合规;(3) selective disclosure first — 用户主动选择披露最小信息;(4) 法务审核 — 早期咨询律师(特别美国MTL/MSB licensure);(5) threshold key + audit trail — 应对司法授权;(6) 明确reject恶意用户 — 拒绝SDN deposits;(7) opt-in privacy — 默认透明,用户主动选择隐私。
12. 明日预告
Day 257:隐私L1对比 — Aleo/Aztec/Mina/Manta,全方位生态分析。
今日产出: priv_pools.md(本文 ~600行),含Vitalik 2023论文核心、Tornado案例、Aztec转型、监管对比 Lines: ~600