Tornado Cash:以太坊的压力测试
上个月,美国联邦上诉法院推翻了之前的判决,认定美国财政部对 Tornado Cash 的制裁不合法。至此,Tornado Cash 案件算是告了一个段落。
虽然围绕 Tornado Cash 的争议远未结束,现在是时候回顾这桩案子的来龙去脉,看看这场变革到底走到了哪里。
隐私补丁
Tornado Cash 的来历,得从比特币说起。
比特币被称作”数字黄金“,却没有黄金的一大优点:隐私。“真金不怕火”,黄金容易验,也容易熔,容易抹去来历。但在比特币上,每个地址的余额需要通过历史交易计算出来的,每笔交易都明明白白写链上,没有隐私。
比特币之后的许多项目,比如 Monero 和 Zcash,尝试从一开始就支持交易记录的隐私。这样,整个网络能够确认一个地址有多少钱,却无法知道钱从哪里来。比特币则需要用混币器,给隐私打个补丁:一堆地址转钱给混币器,另一堆地址把钱取走,从外面看不出是谁转给了谁。
以太坊沿袭了比特币简单直接的设计,明文记录交易历史,同样需要混币器。Tornado Cash 是以太坊上最流行的混币器,以智能合约实现,经手的总价值已经超过七十亿美元。它的使用者中有在意隐私的以太坊用户,有支持乌克兰、但又担心被俄国政府报复的捐赠者,也有被美国政府制裁的人和组织,比如朝鲜黑客团队 Lazarus。
这就让美国政府盯上了 Tornado Cash 。2022年5月,美国外国资产控制办公室 OFAC 先拿一个小的混币器开刀,进行制裁。确认效果不错之后,8月份宣布制裁 Tornado Cash。
OFAC 隶属美国财政部,专门负责制裁美国境外个人和团体,维护着一个官方黑名单。它的制裁针对美国国内,不允许美国个人和团体与黑名单上的人交易。
虽然以太坊是个分布在全球的计算机网络,但这些计算机和参与者已经形成了一个庞大产业,高度依赖美国的资金、团队和市场。以太坊在数字世界维护着资金安全,而美国政府则可以从底层的物理世界入手。
这对数字世界的釜底抽薪,让那些在数字世界中抽象得简洁干净的概念,暴露出更细致的机理。于是这次制裁不仅关乎 Tornado Cash,也是一次对以太坊的压力测试。
制裁落地后,Tornado Cash 官网下线,许多交易所对与 Tornado Cash 合约交互过的地址进行封锁。这两者都对用户产生了巨大影响,存入量与取出量均开始断崖式下跌。
不过很快,Tornado Cash 上的交易量稳定在了原本的三成左右,同时混币池的大小在跌落之后开始缓慢爬升。混币池是存于合约中的代币,它的大小决定了使用者获得的匿名效果。这意味着,Tornado Cash 的核心功能并未受到影响,人们还在继续使用着。
制裁压力逐步渗透之后真正触及的,是以太坊的验证人们。验证人负责将交易打包为区块,然后将区块广播至网络。
是否接受来自于 Tornado Cash 的交易,由每个验证人自行决定。验证人们的行为合在一起,成为以太坊上 Tornado Cash 受到制裁的程度。
就这样,一个分布式网络抵抗审查的压力,落在了每个节点身上。
压力测试
2022年10月,哥伦比亚还是初夏,高原上的首都波哥大天气温热。全世界数万以太坊开发者、从业者、信仰者聚集到这里,参加以太坊开发者大会 Devcon。五层会议中心眼花缭乱的议题里,最火的当属合规问题:以太坊要与监管合作,还是与旧权力针锋相对、划出自己的疆域?
越来越多的证据表明,有验证人开始配合审查了。于是开发者们开发出工具,用于监控每个区块的状态。会场的人们传阅着 mevwatch.info 上对审查状况的统计,看着 inclusion.watch 上计算的 Tornado Cash 交易花费的时间。在一次演讲中,讲者提出是否应该惩罚参与审查的验证人,销毁他们质押的代币;而台下的听众们,议论着是哪些验证人在配合审查。
Devcon 之后,以太坊社区提出了“提议者-构建者分离”,以增强抗审查能力。在这种设计中,验证人分为了建构者和提议者:前者将交易打包为区块、并发送给后者,后者再将其广播至网络。提议者只能看见区块的收益,无法看见区块的内容,这样只能考虑经济收益、而无法筛选交易地址。
虽然“提议者-构建者分离”没有正式上线,但以太坊的验证人们逐步分化为了提议者和建构者两类。于是 OFAC 的制裁,同时测试了“提议者-构建者分离”的设计是否有效。那么,它是否有效抵抗了审查?
2023年8月,六名 Tornado Cash 用户起诉美国财政部越权,德州一个地区法院裁决 Tornado Cash 用户败诉。这六名用户都来自以太坊生态中的重要项目,其中包括 Coinbase 的法律顾问。
OFAC 出台制裁后,人们并不清楚这意味着什么,因为并无先例。但德州的裁决明确了几个重要的概念。一是,Tornado Cash 在法律上可以被视作一个法人,由 Tornado Cash 的开发者、代币持有者组成。二是,智能合约,哪怕无法被更改和控制,仍然能够被算作资产。所以法官决定,Tornado Cash 用户败诉,美国财政部可以制裁一个智能合约。
虽然没有造成舆论反响,这次判决悄然改变了建构者的行为。大量原本没有配合审查的建构者开始倒戈,避开 Tornado Cash 的交易。到了8月底,占区块总量89%的建构者已不再接受 Tornado Cash 交易。到了年底,主流建构者中只剩下 Titan Builder 一家仍在处理。
既然建构者开始配合审查了,那提议者呢?提议者-构建者分离主要为了保护提议者不受审查压力,但研究者们发现,德州法院的裁决依然改变了提议者行为。虽然提议者无法看见区块的内容,却可以决定接受哪些建构者的区块。在裁决后,许多提议者转而只接受配合审查的建构者的区块。
不过,两年下来,Tornado Cash 交易确认的时间一直都只需要几分钟,审查并未达到效果。只是这抗审查的能力,依赖一个建构者和少数几个提议者。
这些屈指可数的验证人,为什么顶住压力不审查 Tornado Cash?人们原先设想,经济诱因能够成为抵抗审查的动力。但研究者们统计了包含 Tornado Cash 的区块,发现它们比同期其他区块收益更低。这意味着,不配合监管的动力不是利益,而是某种观念。
2024年11月,联邦上诉法院重新审理了该案,推翻了德州地区法院的决定,认为 OFAC 的制裁并不合法。以太坊险胜。
监管部门没有达成目的,但同时制裁接近了以太坊抗审查能力的上限。这个上限,靠的是以太坊的去中心化与经济机制,也靠是以太坊社群的观念。
新的开始
Tornado Cash 在联邦上诉法院翻案的重点,是法院确认了不可更改的智能合约不算资产,不在财政部的管辖范围内。智能合约是个新东西,法律上该如何定义、又该由哪个政府部门负责,都没有先例。但 OFAC 直接套上“资产”这个旧概念,与事实不相符。
判决书结论中的一句话意味深长:“修补法律的盲点和弊端超出了我们的职权范围”。执笔的法官 Don Willett 继续写到:“立法是国会的职责 — 也只能由国会执行。”
判决书的背景是刚过去的美国大选,特朗普和他代表的共和党胜出。共和党支持更小的政府和更宽松的监管,特朗普多次表示对支持数字货币,并已经通过数字货币募捐近千万。而负责判决的法官 Don Willett,是特朗普在上一届总统任期中任命的联邦法官之一。
这些时机救了 Tornado Cash,但一系列变革才刚刚开始。这些变革比 Tornado Cash 本身深远得多,也的确超出了法庭的职权范围。
从加密通讯到内容版权,我们生活的方方面面都在数字化。不断地引发新的变革,也不断地上演着公权力与个人自由的拉锯。这一次,因为数字货币的金融属性,政府有强大的动力出手,民间也已形成了巨大的市场,更有动力和资源反制。
制裁发生后,代表 Tornado Cash 用户状告美国政府的不再是散兵游勇们,而是得到 Coinbase 这样上市公司支持的法律团队。隐私技术不是停下了脚步,而是继续发展:隐私货币 Monero 紧接着进行了硬分叉,增强隐私能力;以太坊上的零知识(Zero Knowledge,ZK)技术也不断进化,在意隐私的用户们逐渐换用了 Railgun 等零知识工具。
但这并不是一场你死我活的争夺。现在很少有人讨论是该配合监管,还是另立山头。合规是唯一选项:毕竟,数字货币只有被更多人接受、参与更多物理世界的交易,才能够变得更有价值。Tornado Cash 制裁之后,以太坊的一些核心参与者提出了新的设计,让网络可以在不牺牲隐私的情况下更好地配合制裁。同时,数字货币的持有者们,也正在通过游说、打官司和资助竞选倒过来影响法律。
这场变革既是剧烈的权力争夺,也是两个系统剧烈的融合。不过争夺和融合的底层逻辑,已经彻底改变了。
一直以来,政府和资本控制信息最常见的方式是向信息中介施压。比如 Google、Facebook 或者互联网运营商,有层层法律要求它们配合政府或者版权方的审查。但区块链带来的去中介化,彻底改变了游戏规则:Tornado Cash 不是一个平台或者服务,而是一个协议,不受任何人控制。这不同于原来的中介:它的创造者没有提供服务,政府也无法要求它的创造者承受审查的责任。
所有不可更改的合约都与 Tornado Cash 一样,是种新型的协议。在法律上如何规范这种协议的生产和使用,是一个全新的开始。
命运共同体
也许 Tornado Cash 的故事中最重要的未知数,是几个真正的受害者们的命运。
他们是 Tornado Cash 的三位开发者,目前被各国政府打击报复。Alexey Pertsev 被荷兰政府逮捕,以洗钱为名被判入狱五年四个月;Roman Storm 被美国司法部起诉洗钱、违反制裁,面临最高20年刑期;Roman Semenov 同样被美国司法部起诉,目前下落不明。
既然法院否决了智能合约是“资产”,那三位开发者也不应当因洗钱被起诉。也许美国司法部、荷兰政府会逐渐跟进,撤销诉讼。但这只是“应当”和“也许”,他们的未来是否有牢狱之灾,还是未知。人们仍在筹款,为 Alexey 与 Storm 聘请律师、争取自由。
对于言论自由,最大的威胁也许是寒蝉效应:那些敢于表达的少数人受到的处罚,让剩下的群体愈加不敢说、不敢想,最终导致所有人自由的丧失。开源软件所支撑的开放协议,好比计算机之间的言论,一样受到寒蝉效应的威胁,而且代价常常更加直接。
那开源代码,是否应当受到言论一样的保护?
30年前美苏冷战刚结束时,美国政府将加密算法视作军火,禁止出口。一位开发者 Phil Zimmermann 开发了邮件加密软件,免费分享给全世界的反战活动者使用,结果被美国政府起诉走私军火。他想出了一个办法:将软件代码写了下来,出版成书,受到宪法第一修正案对言论自由的保护。Zimmermann 巧妙地展示了,代码不过是写下来的逻辑,和言论一样不应受到限制。
但30年后的今天,对于代码是否等同于言论,人们依然没有共识。代码能够被传播,还能被部署为智能合约、自动执行。这样进展让代码变得更强大和重要了,也因此更需要被规范;但它背后的创造者,也因此更需要被保护。这次受到威胁的,不仅仅是三名开发者的自由,也是新兴数字世界里的隐私权。
在许多层面上,我们所处的世界一直是相互连接的,也一直是去中心化的:我们每个人都在影响着身边的世界,也被身边的世界所影响。数字世界的不断成长,让这种休戚相关的共同命运更加明显。而区块链的出现,让我们有机会将这种去中心化的具体运作方式,锁定在一个更好的博弈规则中。
抽象来看,区块链引发的变革是权力之争、观念之争。但真正寻找更好博弈规则的,是一个个具体的人,甚至以自己的自由为代价。对 Pertsev、Storm 和 Semenov 的筹款、声援和判决,会决定他们的个人自由,也会决定未来有多少人继续创造,维护我们在数字空间的共同自由。
就像以太坊的抗审查能力取决于每个验证人一样,数字空间的命运共同体,终究取决于每个参与者。而我们每个人,都是其中一员。