匿名与自由也许只是幻觉——一文看懂Tornado Cash、zkSNARK和SDN黑名单
zkSNARK 洗币原理 Tornado Cash 混币器
Tornado Cash(Torn)是以太坊上的混币器(coin mixer)软件,作用是让以太坊上的ERC20代币变得更加匿名,让外部审查者无法追踪一笔钱是来源于哪个地址。
在传统的以太坊转账过程中,所有的地址的转账历史都是公开且可追溯的。换句话说,如果一个地址和犯罪分子挂钩并收到了一笔以太坊转账。那么给这个地址转账的前置地址,以及前置地址的前置地址等等都会被顺藤摸瓜的查出来。这就像是传统的银行转账,一个账户收了一笔“脏钱”,警察总是可以顺着打款方账户一步步往上追索。
Torn是怎么“洗钱”的呢?粗糙的说,可以简单的将Torn理解成是一个装满了纸钞的保险柜——你放进去一张100块钱的“脏钱”,过几天就可以领出一张100块“别人的钱”(你也不知道脏不脏)。如果警方是按照钞票的序列号来追踪洗钱,将永远无法追查到你。
更准确的说,Torn是部署在以太坊上的去中心化的(不依赖任何中央服务器)的开源应用程序(代码)。使用Torn混币器分为三步(图1):
- 第储蓄。用户可以将一笔以太坊或者其他的ERC20代币“储蓄”到Torn中。为了增加匿名性,Torn只允许储蓄某些固定数量的代币,比如0.1、1、10、100个ETH(即你不能自定义想储蓄的ETH数量,这一点在更新版本的Tornado Nova中有了改进)。当你储蓄完毕,你会获得一张类似于私钥的“存款凭证”。未来你可以拿着这张凭证从Torn中取走一笔“和你储蓄量等量”的代币。
- 第等待。等的时间越久,你“洗钱”的效果就越好。
- 取款。向Torn合约“出示”你的“存款凭证”,或者更准确的说,通过一种特殊的加密手段——zkSNARK(简洁非交互零知识证明)——来向合约证明你确实拥有这张凭证,然后就可以将“与你储蓄额相等”的代币发送至任何地址。
Torn用到的zkSNARK是什么?
我们可以从它最经典的例子“姚氏百万富翁问题”(Yao's Millionaire Problem )入手。这个问题来自姚期智院士在1982年的经典论文“Protocols for Secure Computations”。它讨论了如何设计一套算法,让两个百万富翁可以在“不知道对方有多少钱”的前提下,还能比较出谁更富有。或者举个更简单的生活中的例子:如果一个人捡到了你的钱包(真实世界的钱包),你如何在不透露你身份的前提下,证明你是这个钱包的主人。最简单的做法是,告诉对方钱包的某个独一无二的特征(比如钱包内部是黑色的牛皮,且有三张银行卡)。对方验证过确实有这个特征,就可以确认主人是你,而自始至终他并不知道你究竟是谁。
zkSNARK也是目前以太坊Layer2最有前途的技术方案之一。通过zkSNARK,Torn可以保证全世界没有任何一个个体可以将你转出的那笔钱和你转入的那笔钱挂钩起来。换句话说,Torn每天都有数万笔ETH转入,又有数万笔ETH转出,没人知道你的那笔钱到底去了哪。
自然地,Torn凭借其优秀的匿名技术,成为了全球加密资产领域犯罪活动的聚集地。根据Chainalysis统计,2022年俄乌冲突暴发前夕,Torn接收到了来自俄罗斯境内的超过2亿美元的资金汇入(图2)。另一个案例是,2021年5月,部署在BSC上的Spartan协议遭受攻击并损失约3000万美元等值代币。黑客将这些代币先通过跨链桥传输到了以太坊上,然后通过Torn和其他DeFi应用进行了洗钱。
美国政府制裁
要打击洗钱活动,美国政府往往采用两种方式:如果参与洗钱的机构位于美国本土,则直接告上法庭并巨额罚款,例如汇丰于2021年因为洗钱而缴纳了19亿美元的罚款。而如果这家机构在海外,则可能直接交由美国财政部海外资产控制办公室(OFAC),根据洗钱情节的严重程度,给予踢出SWIFT(踢出国际汇款的通讯系统)、列入CAPTA名单(禁止任何美国银行为其提供美元清算业务,即踢出美元跨境支付结算体系),以及最严重的SDN黑名单(禁止全球任何机构和个人与其进行任何金融业务往来,否则就会被二级制裁)。
8月8日,OFAC宣布将Tornado Cash列入SDN黑名单。事实上,这不是OFAC第一次将加密货币相关平台列入SDN名单。今年4月6日,OFAC就宣布将Garantex(俄罗斯最大的加密货币交易所)和Hydra(全球最大暗网,基本运行在俄语区)列入SDN名单。
但需要指出的是,无论是Garantex还是Hydra都是“中心化”的机构,即它们虽然服务于加密资产业务,但仍然有中心化服务器和中心化团队负责运营。而Torn则是完全的去中心化代码——没有任何一个人一个团队负责运营,所有的关于代码的修改都由持有Torn管理代币的DAO成员投票决定。换句话说,这次遭受制裁的代码实际上运行在千千万万用户的电脑里。
对于这种鬼魅一般的代码,OFAC选择的制裁手段很粗暴,直接制裁它的38个钱包地址(图3)。换言之,任何人、任何机构如果和这些地址转出的资金有关联,就有可能遭遇OFAC的二级制裁并被起诉。结果是,大量大型加密资产交易所、DeFi应用、数字钱包等为了满足合规需求,纷纷和这些地址“划清界限”,甚至直接冻结那些和这些地址有瓜葛的人的账户。
然而这种“主动投诚”的做法招致了一种搞笑的恶作剧:有Torn的用户通过Torn向大量加密资产领域的名人发送了0.1ETH,让这些名人也变成了Torn的“密接”,导致他们被不少平台和应用列入了黑名单。
实际上,在美国强大的制裁压力下,任何和Tornado牵扯上关系的人都有可能陷入法律麻烦。前几天,Tornado Cash的DAO正式删除了多重签名钱包。一名不愿意透露姓名的成员表示关闭DAO的目的是“确保成员的安全并避免法律问题”,他还表示:“Tornado Cash 无法对抗美国”。另一消息称,一名Torn的开发人员在荷兰正式被起诉。
Torn的两位创始人Roman Semenov 和Roman Storm都有着非常不俗的技术背景。Storm曾经参与过Aave、Compound、MakerDAO等项目,Semenov则曾在Amazon担任工程师。目前,Semenov表示其Github账户也被停止使用。
也许正如Tornado Cash的开发者所言,没有任何一个DeFi app是真正去中心化的。即便是在加密世界,也没有人可以对抗政府,100%的自由和隐私只是幻觉。合规是唯一可选的路。
https://weibo.com/2453509265/M1co8EyTh