Tornado.Cash(TORN)介绍
Tornado.Cash是以太坊上私人交易的完全去中心化协议。将财政自由及隐私的愿景完全地带入生活。
主要思路就是打破收款人和资金目标地址之间在链上的关联。你可以将以太币存入Tornado.cash 的智能合约中,然后使用另一个不同的地址提款。无论你何时将以太币提现到新地址,其他人都无法将存钱地址和提款地址挂钩,从而确保了绝对的隐私。
在这种办法中,Tornado.cash 充当着一个代理,使用 zkSnark 证明来确保交易的 100% 匿名。而且它还是 100% 非托管的,这意味着你拥有对存款的完全控制权。
项目实现机制
用户在存款时需要生成一个秘密(secret),并将其哈希值(也叫做 “承诺”(commitment))连同存款的数额发送到 Tornado 的智能合约中。合约接收存款后,将其承诺也添加到合约的存款列表中。
日后,当用户想要提款时,TA 需要向合约提供一个证明,证明 TA 拥有一个秘密,能和智能合约中的存款列表中未被花费的承诺对应起来。得益于 zkSnark 技术的加持,我们可以在不公开这个秘密与哪笔资金相关的条件下完成匹配。Tornado 智能合约将检查这个证明,然后将存款金额转移到指定的提款地址。而对于外部的观察者来说,无从得知这笔提款来自哪笔存款。
代币使用场景
TORN是一个兼容ERC20的代币,供应总量固定,可用于治理Tornado.Cash。持异议者可以提出建议并投票通过治理来改变协议。
采用算法
Tornado 的实现基于 ZK-SNARK,这是 Zcash 的底层方案。
技术特点
参与流动性挖矿的同时保持匿名,以及通过全新的 AMM 和双层代币形式兼顾代币的分发速度与市场波动。
激励机制
在Tornado.Cash存款后,用户会在一个受保护的帐户中累积私人匿名积分(AP),这个账户将保护用户的钱包地址和余额,并且不会泄露存款的任何信息。一旦用户在其受保护的帐户上积累了足够的AP,就可以随时通过项目定制的Tornado.Cash AMM将AP兑换为公共TORN代币。
总结
Tornado.Cash 设计了一套专用的 AMM (自动做市商)机制,以解决 AP 和 TORN 兑换的汇率问题,兼顾了汇率相对稳定但又允许二级市场波动。
这是为了解决「匿名挖矿」代币分发速度的问题,对于协议的 TORN 代币而言,将以恒定的速度分发,也就是 1 年内线性解锁 100 万 TORN,这个逻辑不会变化。但 AP 的获得方式是根据市场中参与匿名挖矿的资产数量和时间产生变化的,所以两者存在汇率变化,Tornado.Cash 认为通过 AMM 可以解决这样的问题。
也就是如果当短时间内 AP 换出 TORN 的需求激增,则汇率就会大涨,反之,汇率就会大跌,但总体来说应该会相对稳定。但是对于 Tornado.Cash 系统而言,流出的 TORN 的速度是没有变化的。