0%

Tornado.Cash——以太坊隐私交易协议

Tornado.Cash是一个基于zkSNARKs的以太坊的隐私交易协议,通过切断交易的源地址和目的地址的关联来实现交易的隐私。Tornado使用智能合约接受E TH存款,而存款可以有另一个地址进行取款,甚至可以是一个取到一个无以太坊balance的地址。无论ETH是否是取回到新的地址,都无法关联源地址和目的地址,从而实现了隐私。

基本信息

Tornado.Cash基本流程

Tornado.Cash的基本流程大概分为三步:Deposit、Wait、Withdraw

  1. Deposit

    用户生成一个secret,并把其Hash(也称为commitment)以及交易的数量发送给Tornado智能合约。

  2. Wait

    用户提交Deposit之后需要等待Tornado合约进行处理,即Tornado合约接受deposit请求,并把commitment添加到列表。

  3. Withdraw

    当用户需要取款时,需要提供Proof来证明他拥有secret,关联到合约deposit列表中的某个未花费的commitment。而零知识证明协议zkSNARKs保证了这个过程并不会泄漏secret关联了哪个deposit。Tornado智能合约会校验proof,并转移deposit的资金到取款地址。这样外部的观察者并不会知道这笔存款来自哪个地址。