非托管隐私协议

TORNADO.CASH / TORNADO CASH 官方网站

Tornado Cash 官方资源。

Tornado Cash 是面向公共区块链私密交易的去中心化协议。它结合不可变智能合约池与零知识证明,降低存款地址与后续接收地址之间的公开关联。

Tornado Cash 官方网站: 应核对域名、TLS 证书、文档链接、源代码仓库和准确的合约地址。界面看起来相似并不能证明其真实可信。

托管模式非托管
验证方式zk-SNARK 证明
执行方式智能合约
零知识隐私模型 协议状态可视化
已验证逻辑
01 承诺公开哈希进入集合
匿名集合共享的链上承诺
02 零知识证明私密证明所有权
03 验证器证明有效,不暴露存款关联
私密票据由用户保管
链上数据承诺 + 空值标识
公开内容不公开存款与接收者关联
01 // 交易流程

存款。 等待。 提现。

协议先从一个地址接收承诺,之后为接收者验证证明。私密票据在用户侧连接两项操作,但票据本身不会发布到链上。

01
创建承诺

存款

浏览器生成秘密值并派生私密票据。资产和票据的哈希被提交到固定面额资金池。

公开commitmentHash
私密secret + nullifier
02
等待资金池变化

等待

当更多等额承诺进入资金池后,简单的时间关联会变得不可靠。隐私仍取决于用户行为与网络元数据。

存款活动
03
证明而不披露

提现

客户端证明默克尔树中存在有效且未使用的承诺。合约验证证明并把资金发送给指定接收者。

公开root + nullifierHash
隐藏deposit path + secrets
02 // 隐私模型

一个资金池。
两个地址。

公共区块链通常会暴露直接交易路径。Tornado Cash 改变了这一路径:来源地址发布承诺,接收地址之后提交对共享资金池有效的证明。

来源
0x71…9A2存款地址
共享资金池默克尔树
接收者
0xB4…E08提现地址
01

票据保持私密

票据包含生成证明所需的秘密信息,应像私钥一样保管,绝不能分享。

02

资金池只看到承诺

合约把承诺记录在默克尔树中,而不是保存用户的秘密票据。

03

空值标识防止重复使用

公开的空值哈希把票据标记为已使用,但不会暴露对应的承诺。

04

证明绑定接收者

接收者和转发器参数被包含在证明输入中,从而防止提现信息被替换。

03 // 协议内部

由代码验证,
而不是由运营者决定。

Tornado Cash 合约验证密码学事实。它们不需要知道私密票据,不维护客户余额表,也不会选择哪位有效接收者获得提现。

阅读协议文档
#
步骤 01

承诺

由秘密值和空值标识生成的哈希作为叶节点加入资金池的默克尔树。

H(secret, nullifier)
步骤 02

默克尔成员证明

客户端重建树并证明自己的承诺属于被接受的根。

leaf ∈ root
Ø
步骤 03

空值检查

合约拒绝已使用的空值哈希,防止同一票据再次提现。

spent[nHash] == false
步骤 04

链上验证

验证器检查证明,资金池把固定金额发送给已绑定的接收者。

verifyProof() → true
04 // 协议模型

Classic 与 Nova。

CLASSIC固定金额

私密票据与等额资金池

Classic 资金池聚合相同面额。存款会生成票据,之后用于为指定接收者构建提现证明。

  • 固定面额
  • 用户保管私密票据
  • 默克尔树承诺
  • 可选转发器提现
Classic 文档
NOVA任意金额

隐私余额与私密转账

Nova 支持任意数值以及可停留在隐私池内的转账,并采用不同的账户和交易模型。

  • 灵活金额
  • 隐私转账
  • 账户式访问
  • 部署于 Gnosis Chain
Nova 文档
01

非托管

控制权来自用户持有的秘密信息,而不是服务运营者控制的账户。

02

开源

合约、电路、证明工具和界面代码都可以被审查并独立托管。

03

不可变资金池

已部署资金池按其字节码执行,不依赖最初开发者继续运营。

04

社区治理

治理提案和 TORN 投票在链上执行,并与用户票据保管相互独立。

05 // 常见问题

协议
细节。

以下回答说明核心设计。隐私并非自动获得:时间、地址复用、浏览器状态、RPC 提供者和适用法律同样重要。

01存款为什么仍由用户控制?+

资金池合约接收资产和由秘密值生成的承诺。私密票据由用户保管,并用于构建提现证明。协议不会保存传统账户密码或恢复数据库。

02为什么存款与提现之间需要等待?+

等待让更多等额存款进入同一资金池,降低明显的时间关联。仅靠等待并不能保证隐私。

03零知识证明证明了什么?+

它证明提现者知道某个已被接受的默克尔根中承诺对应的秘密,而且相关空值标识尚未使用,但不会公开秘密本身。

04转发器有什么作用?+

转发器可代表接收者提交提现交易并支付 Gas。证明会绑定指定接收者和费用。

TORNADO.CASH

隐私是一套协议,
而不是一句承诺。

在交互前,请阅读文档、核对合约、保护私密票据,并理解协议的隐私假设。