Iceberg: 拥抱审查的隐私DEX - 基于零知识证明的匿名交易系统

Date:

Iceberg: 基于ZK混币的隐私Swap协议

上个月的时候,朋友找我参加ETH黑客松,他们想要做一个隐私DEX。当时我就在想,既然要做隐私交易,为什么不使用零知识证明技术来实现呢?传统的DEX虽然去中心化,但用户的每笔交易都暴露在区块链上,任何人都可以追踪资金流向。而现有的隐私协议要么过于复杂,要么面临监管风险。经过短暂头脑风暴后,我们提出了一个想法:结合零知识证明混币技术和1inch聚合器,开发一个既能保护隐私又能获得最优交易价格的swap协议,而且不依赖多签或者项目方,用技术手段保证用户的资金安全。这就是Iceberg的雏形。更重要的是,通过”拥抱审查”的设计理念,我们在隐私保护和监管合规之间找到了一个巧妙的平衡点。

为了参加黑客松,我在Arbitrum主网部署了完全可用的demo版本。更重要的是,它为开发者提供了两种不同的隐私swap实现思路,无论你是追求完全去中心化,还是需要在合规框架下提供隐私服务,都能从中找到参考价值。

ZK混币原理

ZK混币让用户能够在不暴露身份的情况下证明自己拥有资金。整个过程分为三个步骤:

  1. 存款: 用户生成加密承诺 commitment = Hash(nullifier, secret),将资金存入智能合约
  2. 混币: 所有用户的承诺存储在默克尔树中,形成资金池,无法区分具体用户
  3. 提取: 用户使用零知识证明验证自己拥有某个承诺对应的密钥,从任意地址提取资金

核心概念

  • nullifier: 防止重复提取的唯一标识符
  • secret: 用户私钥,证明资金所有权
  • 存款地址和提取地址完全分离,实现真正的匿名交易

项目创新:ZK混币 + 1inch Swap

我将ZK混币技术与1inch聚合器结合,实现了隐私保护的代币交换:

用户存入ETH → 合约记录承诺 → 1inch执行swap → 用户匿名提取USDC

Iceberg架构图

技术实现

  • 用户通过ZK证明从完全不同的地址提取交换后的代币
  • 整个过程中用户身份保持完全匿名

这种设计既保证了交易的隐私性,又获得了1inch聚合器的最优价格和低滑点优势。

拥抱审查的设计选择

虽然技术上可以实现完全去中心化的隐私swap,但考虑到洗钱风险,我设计了”拥抱审查”的架构:

中心化后台服务

  • 项目方代替用户发送swap交易指令
  • 提供现价单、定投等个性化交易策略
  • 承担监管合规责任,避免法律风险

资金安全保障

  • 用户资金完全由智能合约托管
  • 项目方无法直接访问或控制用户资金
  • 所有资金操作都需要用户提供ZK证明授权

这种设计在保证用户资金安全的前提下,通过中心化服务承担合规责任,有效避免了完全去中心化带来的监管风险。

技术参考价值

项目为开发者提供了两种不同的隐私swap实现方案:

完全去中心化版本

  • 已在Arbitrum主网部署并完全可用
  • 采用较小的默克尔树深度,限制交易数量
  • 防止恶意用户利用demo进行洗钱活动
  • 适合追求完全去中心化的开发者参考

拥抱审查版本

  • 中心化服务 + 去中心化资金托管的混合架构
  • 在隐私保护和合规性之间找到平衡
  • 适合需要满足监管要求的隐私swap项目参考

两种架构的核心ZK混币逻辑完全相同,主要区别在于swap执行方式。开发者可以根据项目需求选择合适的实现方案。

参考资料