Tornado Cash:隐私交易的圣杯
注:本文由我首发于代观的“代币观察”系列,转发到个人博客当中。
前言
互联网自1974年TCP/IP协议诞生至今拥有接近50年的历史,曾经宣传的互联网的匿名性在如今的监管制度和基础设施的完备发展下已不堪一击。1991年,区块链的概念被首次提出,2008年中本聪将区块链技术首次应用于比特币当中,至今只有13年的历程。随着加密货币被被逐步认可,监管的基础设施一定也会愈发完善。
事实上,比特币的白皮书中所说的隐私特性(Privacy)只能保证用户真实身份与地址之间不存在绑定关系即可完成链上的转账。然而,随着加密货币以及交易所逐渐走向合规化,在大多数加密货币对法币交易的场景下,身份验证(Know Your Customer,KYC)已经成为必不可少的环节。更进一步地说,为了保证加密货币对法币交易的过程中资金来源绝对安全,交易双方甚至希望对方能够以实名的形式参与到这场交易当中。因此,加密货币的隐私特性正逐渐瓦解。
与此同时,加密货币交易所当中储存的KYC数据规模指数级上升,而数据安全的解决方案却并未及时迭代。KYC数据单位价值高,成为了黑客攻击的主要目标之一,多家交易所的用户数据都遭到不同程度的泄漏。因此,加密货币的世界里的隐私特性也成为加密世界版图中不可缺失的一块拼图。
以门罗币(XMR)为首的一众公链曾试图解决这个问题。然而,自去中心化金融(Decentralized Finance,DeFi)蓬勃发展后,智能合约成为加密货币领域的刚需,EVM也因此成为主流公链的标准配置。为兼顾隐私特性,门罗等公链无法运行智能合约,使用场景十分受限。另外,由于门罗币极高的安全性(美国国税局悬赏62.5万美元破解门罗币),为满足合规需求,Coinbase等交易所无法上架门罗币,因此其流通量也受到限制。
以太坊作为拥有最完善的DeFi生态的公链,所有地址间的资产转移却都存在可追溯的链接,这完全抹拭了加密货币的隐私特性,地址间的勾稽关系一览无遗。
因此,一款基于以太坊(或其他能够运行智能合约的公链)的、拥有隐私交易特性的项目成为了市场的刚需,Tornado Cash应运而生。
项目概览
Tornado Cash是基于零知识证明在以太坊上实现的隐私交易中间件。它使用zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge),能够以不可追溯的方式将ETH以及ERC20代币(目前支持DAI,cDAI,USDC,USDT,WBTC)发送到任何地址。
用户体验上,用户需要将加密货币存入隐私池中并获得一笔存款凭证,未来通过存款凭证可以向任何地址中提取先前存入的加密货币。由于在存款凭证的生成和使用时转账的数据都不包含凭证本身,因此可以保证存取款两笔转账完全独立。另外,由于中继服务的存在,取款时的以太坊地址甚至不需要拥有支付转账费用的ETH,即,可以提款至完全空白的地址。
根据Dune Analytics显示,Tornado Cash的混币池中目前有15.6万ETH以及1.65亿美元,拥有区块链上最庞大的隐私资产池。目前,已经有超过1.2万独立地址向协议中执行了约4.8万次存款,并有超过1.7万独立地址从协议中取款,总共向中继服务支付了超过200万美元的中继费用。
市场机会
隐私交易是加密货币世界不可缺失的一块拼图。在转账过程中,并非所有用户都愿意暴露自己的资金来源与去向,而区块链的特性却导致账户间的勾稽关系完全暴露。Tornado Cash作为用户在以太坊链上转账时可选的隐私组件,最大程度上解决了资产转移时地址间关系的暴露。以下几个例子可以更好地说明Tornado Cash的用例:
-
资产在地址间私密转移;
-
通过转账凭证,来生成资产来源合法性转移的报告(包括存款地址、金额、日期及提款地址、金额、日期);
-
在进行加密货币对法币的交易时,通过交易存款凭证(而非加密货币本身)来避免交易过程中的KYC流程,最大程度保护个人隐私。
竞品分析
隐私交易公链
门罗币(Monero)和Zcash是两个隐私币领域的两个主要参与者。
-
门罗币使用了隐私地址(Stealth Address)、环形机密交易(Ring Confidential Transactions, RingCT)技术,兼顾了匿名性和转账效率;
-
Zcash是第一个使用zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)的加密货币。Tornado Cash也是使用此技术作为隐私交易的安全性保证。
然而,隐私币公链拥有着相同的问题,即暂时无法在保证隐私交易的前提下,大规模增加对智能合约的支持。
- Oasis Labs的Ekiden有这方面的尝试,但由于产品暂不成熟,且缺少足够的开发者支持,我们认为其在未来一段时间内很难产生强影响力;
- Secret Network也正在设计通用型智能合约内的隐私计算,然而目前链上仅发布了链上交易所,且所内流动性十分匮乏。同时,Secret Network需要使用Rust进行开发,然而目前Rust开发者数量很少,且主要集中在波卡生态当中。
同时,隐私公链都也存在合规性问题。若保证链上交易完全实现匿名,则在未来收紧合规性的趋势之下,流动性和交易量可能会越来越紧张。
以太坊虚拟机(EVM)的隐私方案
基于以太坊虚拟机(EVM)的隐私交易项目较少,存在3个Tornado Cash的竞品,且竞品均基于Tornado Cash的代码库进行开发,分别是Typhoon Cash、Typhoon Network和Cyclone。
- Typhoon Cash是由黄立成背书的项目,架设在以太坊上,复用了Tornado Cash的大部分代码,总锁仓量仅有数万美元,上一笔存款发生在3个月前,且中继服务完全由官方提供,有非常强的单点故障风险;
- Typhoon Network架设在币安智能链(BSC)上,复用了Tornado Cash的大部分代码,总锁仓量仅有不到4万美元,且中继服务完全由官方提供,有非常强的单点故障风险;
- Cyclone在Tornado Cash的基础上进行开发,部署在以太坊、币安智能链以及IoTeX上,需要额外的链上基础货币(如ETH、BNB及IOTX)和治理代币CYC才能完成存款,并且要求用户使用CYC支付匿名池费用及中继费用,另外,所有中继设施均由官方直接提供,有非常强的单点故障风险。
可见,竞品打着去中心化隐私中间件的旗号,却拥有高度中心化的产品,从上述项目额总锁仓量可以看出,Tornado Cash拥有着绝对的优势与资金支持。
综上,Tornado Cash暂时没有强力的、且具有原创实力的竞争者。
代币经济学
2020年12月18日,Tornado Cash发布$TORN作为Tornado Cash的治理代币,具体规则可参考官方Medium。
代币分发比例及释放规则如下图所示:
1inch和Tornado Cash社区先后提案并通过流动性挖矿奖励,以吸引用户提供$TORN-$ETH交易对的流动性。目前,1inch上提供$TORN-$ETH流动性能够获得年化收益80%的$1INCH代币,官方流动性奖励池可获得年化收益266%的$TORN代币。由于流动性挖矿奖励是社区投票提案通过,甚至没有开发前端代码,因此挖矿入口由其他工具类产品(如vfat)的前端接入,充分体现了社区自治的精神。
社区
由于Tornado Cash的治理和迭代遵循绝对的去中心化,因此拥有良好的社区氛围。除了活跃的Telegram和Discord社群外,Tornado Cash的论坛已经有799个话题。
另外,由于Tornado Cash的可拔插隐私组件的特性,以太坊上的其他隐私项目可以依赖于Tornado Cash的隐私存款池进一步地进行探索,例如Blank Wallet构建了一套基于Tornado Cash的隐私存款池的隐私钱包。
治理
作为治理代币,$TORN具有超过其他治理代币的治理能力。Tornado Cash自成立以来就希望项目完全由社区自治。2020年5月后,Tornado Cash的团队将所有存款池的管理权限燃烧,并再也无法关闭项目运行。2020年12月,治理代币伴随着治理合约共同上线,未来所有治理提案仅能够通过治理合约发起和执行。
传统项目的治理与开发是独立的工作。任何一个个人或组织发起提案,用户投票后再进入后续的开发环节。提案的上线与部署仍然掌握在控制私钥的团队手中。
与传统项目不同的是,Tornado Cash的用户在发起提案时就需要提供完整的解决方案,所有的提案需要发起者提前开发,并以智能合约的形式部署在区块链上供所有人审计。为了在治理合约中发起提案,发起人需要拥有超过1000枚$TORN代币,并在治理合约中将提案指向区块链上部署完成的智能合约当中。若提案获得足够的$TORN代币投票通过,则任何人可以调用execute()
方法执行提案中的executeProposal()
函数使提案正式生效,并不需要额外的私钥签名即可完成剩余的合约部署、代币分发等流程。因此,Tornado Cash可能是目前唯一一个实现完全去中心化治理与开发的项目。
共有6个社区提案已经完成。
提案 | 提案日期 | 结果 |
---|---|---|
开通$TORN转账权限 | 2021/2/4 | 通过并执行 |
降低投票通过的票数要求 | 2021/2/7 | 失败 |
$TORN持币者激励 | 2021/3/15 | 失败 |
更新挖矿所需的Merkle Tree算法,降低gas开销 | 2021/3/26 | 通过并执行 |
增加对$DAI,$cDAI,$WBTC池的挖矿奖励 | 2021/4/11 | 通过并执行 |
增加$TORN流动性挖矿奖励 | 2021/4/15 | 通过并执行 |
目前,社区正在讨论质押$TORN注册中继节点的可能性,预示未来$TORN的持有者能够通过部署中继节点支持项目进一步去中心化,并获得收益。同时,社区也正在讨论增加对算法稳定币Frax的支持,观点认为隐私组件与去中心化的稳定币应该相辅相成。另外,亦有人呼吁项目进行多链(币安智能链、Solana等)部署,但响应者寥寥无几。
安全性
Tornado Cash在合约层面实现了链上交易的隐私,然而,链上交易的隐私并非Tornado Cash的全部。
- 为防止服务器掉线、部分国家无法访问网站、部分用户不希望向互联网服务提供商(ISP)暴露自己的访问记录等问题,Tornado Cash部署了IPFS版本的前端,也在GitHub上提供了全套前端源码,方便用户自行部署;
- 使用中继服务时,用户将直接向中继节点发起请求,因此可能向中继节点暴露自己的IP地址。因此,Tornado Cash建议所有用户通过VPN向中继节点发起请求,以保护自己的IP不被泄露。另外,它也提供了基于洋葱路由(Tor)的Tornado Cash版本,亦有中继服务商提供Tor版本的中继服务,所有的网络请求都经过多重转发,以保证绝对安全;
- 为避免存取款交易发生时间关联,官方也建议在存款后24小时或有12笔以上的其他存款进入后再进行取款。
因此,Tornado Cash能够实现到用户到网页前端、中继服务端以及合约端的匿名以及稳定访问。随着中继服务商的数量持续增加,Tornado Cash服务的稳定性将进一步提升。
合规性风险
尽管Tornado Cash作为目前唯一可用的以太坊链上隐私交易的中间件,拥有庞大的潜力和市场规模,但它面临着远超其他项目的合规性风险。
Tornado Cash的Roman Storm曾经表示,目前Tornado Cash已经实现自治,并不由开发者控制。但是,为满足合规性要求,Tornado Cash仍在v2版本开发了支持通过存款凭证生成资产来源合法性转移的报告,报告中包括存款地址、金额、日期及提款地址、金额、日期等。然而,对合规性审查较为严格的Coinbase也曾冻结了从Tornado Cash发生交互的以太坊钱包充值的账户。
对于Tornado Cash而言,如何同时保证合规和隐私,是当下最需要考虑的问题。
结论
Tornado Cash作为以太坊上最大的隐私交易中间件,开发者不持有项目的管理员权限,坚持执行社区自治,一方面保护了开发团队的安全,另一方面让项目完全实现去中心化治理与开发,能够长久地发展。
我们认为,随着加密货币和交易所的合规化,以及监管制度和配套的基础设施逐渐完善之后,隐私交易将受到越来越多人的重视。以太坊作为生态最为齐全的公链,链上隐私交易必然成为热门赛道之一。届时,Tornado Cash将成为隐私交易生态中重要的一环,不仅能够为用户直接提供隐私交易服务,另外,其蓄水池也可以成为其他隐私组件的底层资产。$TORN作为Tornado Cash的治理代币,拥有比其他治理代币更强的治理能力和对协议的控制权,在未来可能存在的节点竞选、持币分红预期的加持下,$TORN拥有很好的前景。