2022年8月8日,Tornado.Cash受到OFAC(美国财政部海外资产控制办公室)制裁,部分与Tornado Cash协议相关的以太坊地址被列入SDN List(美国特别制定国民名单)。

自 2019 年创建以来,Tornado Cash 的交易流量已经超过 70 亿美元的虚拟货币。那么为何这次美国会用那么大的力气制裁这一个DeFi项目,这个项目究竟做了些什么,美国政府为何会害怕,今天我们就来分析一下。

Tornado.cash是什么

如果你不了解Tornado.cash,说明你是一个品德端正的守法公民,因为Tornado.cash是一个数字货币的洗白白平台。我们都知道区块链的一大特性是可追溯,也就是说只要在链上完成的交易都可以追根溯源。因此,尽管钱包地址是匿名的,但钱包与钱包之间的交易却是完全透明的,对于权力机构而言,只要去将现实世界的人与钱包地址关联起来,就可以实现监管,这虽然有点麻烦,但是完全可行的。

Tornado.cash的用途就是为了破坏这一监管的思路,使得资金在区块链上的流动轨迹中断,从而使得监管失效。而且这一切的实现全部通过技术手段来完成,权力机构们只能恨的牙痒痒,但却又毫无办法。

于是美国暴起了,既然解决不了问题,我就解决制造问题的人。不是民主么,自由么,在权力面前都是狗屁。

Tornado.cash是如何做到的

Tornado.cash的技术理论还是比较难懂的,涉及到hash函数和零知识证明。这边文章就不展开说说了,有兴趣的朋友可以阅读Tornado.cash的技术文章,了解实现细节。Tornado.cash还有Relayer的功能,用于解决手续费的问题,但因为是额外功能,我就不在本文中展开聊了。下面我会用通俗易懂的方式来帮助大家理解Tornado.cash的实现原理。

在Tornado.cash上有两个部分,分别是存款与取款。

存款过程

在存款时,用户创建两个随机数,并生成一个commitment,这个commitment相当于一把钥匙,只有创建它的用户才知道。

紧接着,用户将这个commitment和固定数额的数字货币发送给合约,合约验证之后接受了这笔钱。

取款过程

存钱用户可以随时凭借那两个随机数证明这笔钱是我存的,然后将它取出。

洗白白的原理

Tornado.cash的产品实现逻辑其实非常简单,也很好理解,却能够完美的实现洗白白的诉求。这里的核心点有三个:

1.取款人与存款人的关联完全打断

取款人不需要与存款的账户有任何的交互,而是通过两个随机数进行取款的。这保证了取款人和存款人在链上是没有任何关联记录的,也就防止了链上的追踪。

2.固定的数额

固定的数额的作用是让所有人存钱和取钱的金额完全一样,从而实现混淆。假如用户存储的是1.2345个ETH,Tornado.cash的作用就体现不出来了,因为只要找到谁取出来的是1.2345ETH,就能认为他就是存1.2345ETH的那个人。但如果大家都是存1ETH,10ETH或者100ETH,当存的人足够多的时候就分不清谁是谁了。

3.不确定的时间

在Tornado.cash存款之后可以在任意时间后取出,可以是几小时后,几天后甚至是几年以后。如果权力机构在追踪一个黑客账户,发现该账户把钱转入了Tornado.cash,想要知道钱被哪个账户取走是很难的,因为会有几百上千条的记录。即便是遍历了这些账户依然是没有用的,因为那笔钱可能还没有被取出来,还在合约里呢。

美国的制裁效果有多大

如果你看明白了上述的原理,就应该有一个清晰的认识,那就是:美国的制裁在短期之内确实会遏制数字货币洗白白业务的规模,但在长期上并没有太大用处。

因为只要有需求,就一定会有市场,你可以封Github,但代码早被保存下来了;你可以封官网,但真正有需要的人可以直接部署服务并使用;你可以把Tornado.cash的人都抓了,但会有新的一波人出现;现在的效果只是降低了交易量,使得混淆难度变大,但解决不了未来的问题。

Tornado.cash事件带来的启发

Tornado.cash事件,最近炒的沸沸扬扬,但是对于技术派和愿意深入思考问题的人来说,有了一个新的启发。那就是:区块链是一场技术革命,历史的车轮会滚滚向前,并将守旧者碾碎。正如《三体》中著名的一句话那样——毁灭你,与你何干。

作者 Elen

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注