Iceberg: 拥抱审查的隐私DEX - 基于零知识证明的匿名交易系统
Date:
Iceberg: 基于ZK混币的隐私Swap协议
上个月的时候,朋友找我参加ETH黑客松,他们想要做一个隐私DEX。当时我就在想,既然要做隐私交易,为什么不使用零知识证明技术来实现呢?传统的DEX虽然去中心化,但用户的每笔交易都暴露在区块链上,任何人都可以追踪资金流向。而现有的隐私协议要么过于复杂,要么面临监管风险。经过短暂头脑风暴后,我们提出了一个想法:结合零知识证明混币技术和1inch聚合器,开发一个既能保护隐私又能获得最优交易价格的swap协议,而且不依赖多签或者项目方,用技术手段保证用户的资金安全。这就是Iceberg的雏形。更重要的是,通过”拥抱审查”的设计理念,我们在隐私保护和监管合规之间找到了一个巧妙的平衡点。
为了参加黑客松,我在Arbitrum主网部署了完全可用的demo版本。更重要的是,它为开发者提供了两种不同的隐私swap实现思路,无论你是追求完全去中心化,还是需要在合规框架下提供隐私服务,都能从中找到参考价值。
ZK混币原理
ZK混币让用户能够在不暴露身份的情况下证明自己拥有资金。整个过程分为三个步骤:
- 存款: 用户生成加密承诺
commitment = Hash(nullifier, secret)
,将资金存入智能合约 - 混币: 所有用户的承诺存储在默克尔树中,形成资金池,无法区分具体用户
- 提取: 用户使用零知识证明验证自己拥有某个承诺对应的密钥,从任意地址提取资金
核心概念:
nullifier
: 防止重复提取的唯一标识符secret
: 用户私钥,证明资金所有权- 存款地址和提取地址完全分离,实现真正的匿名交易
项目创新:ZK混币 + 1inch Swap
我将ZK混币技术与1inch聚合器结合,实现了隐私保护的代币交换:
用户存入ETH → 合约记录承诺 → 1inch执行swap → 用户匿名提取USDC
技术实现:
- 用户通过ZK证明从完全不同的地址提取交换后的代币
- 整个过程中用户身份保持完全匿名
这种设计既保证了交易的隐私性,又获得了1inch聚合器的最优价格和低滑点优势。
拥抱审查的设计选择
虽然技术上可以实现完全去中心化的隐私swap,但考虑到洗钱风险,我设计了”拥抱审查”的架构:
中心化后台服务:
- 项目方代替用户发送swap交易指令
- 提供现价单、定投等个性化交易策略
- 承担监管合规责任,避免法律风险
资金安全保障:
- 用户资金完全由智能合约托管
- 项目方无法直接访问或控制用户资金
- 所有资金操作都需要用户提供ZK证明授权
这种设计在保证用户资金安全的前提下,通过中心化服务承担合规责任,有效避免了完全去中心化带来的监管风险。
技术参考价值
项目为开发者提供了两种不同的隐私swap实现方案:
完全去中心化版本:
- 已在Arbitrum主网部署并完全可用
- 采用较小的默克尔树深度,限制交易数量
- 防止恶意用户利用demo进行洗钱活动
- 适合追求完全去中心化的开发者参考
拥抱审查版本:
- 中心化服务 + 去中心化资金托管的混合架构
- 在隐私保护和合规性之间找到平衡
- 适合需要满足监管要求的隐私swap项目参考
两种架构的核心ZK混币逻辑完全相同,主要区别在于swap执行方式。开发者可以根据项目需求选择合适的实现方案。