2024 年 11 月,美国第五巡回法院裁定美国财政部外国资产控制办公室(OFAC)对混币器 Tornado Cash 的制裁行为违反了 《国际紧急经济权力法》(IEEPA)。第五巡回法院认为 Tornado Cash 的智能合约是去中心化的、自运行、不可控制的代码,不能被拥有,不是财产,不应该被列入 OFAC 的制裁名单, OFAC 的制裁行为超越了其法定权限。
虽然第五巡回法院对 Tornado Cash 案件的裁定被看做加密行业的胜利,但不得不承认的事实是朝鲜黑客以及盗币犯罪组织确实在利用 Tornado Cash 进行洗币,逃避监管执法部门的制裁。那么在加密世界里是否可以在合法合规的前提下,保证加密用户的链上隐私呢?今天就来分享混币协议 Railgun 是如何合规地保护用户链上隐私。
Railgun 协议的运行模式
Railgun 是一个基于智能合约的隐私协议,通过零知识证明和默克尔树保证用户链上隐私支付,并且采用「无罪证明」的方式保障流入协议的链上资金安全合规,这种方式实现了链上隐私支付与监管合规的平衡。
灰度母公司 DCG 集团目前已投资价值 1000w 美金的 Railgun 协议代币 RAIL,并且向 Railgun DAO 捐赠了超过 700w 美金的稳定币以及通过子公司 Foundry Labs 投入资源保证 Railgun 协议的后端承压能力。
运行机制
1、代币隐私化
用户使用 Railway Wallet 将自己 0x 地址中的代币隐藏到 Railgun 的 0zk 地址中,等待一个小时后 0zk 地址中的代币余额就可以用于 0zk 地址之间的转账以及 Defi 等隐私链上交互,0zk 地址间的转账不需要等待,实时到账。Railway Wallet 支持将 ERC20 代币、ERC-721 和 ERC-1155 NFT 隐私化。
2、通过 Broadcasters 代替协议用户与链底层进行交互,保证交易隐私
在代币隐私化后,用户进行链上交互操作是通过 Railgun 协议中的 Broadcasters 进行的,Broadcasters 指的是公开的 0x 地址,它代替协议用户与底层区块链支付 gas,完成链上交互操作。所以整个链上交互操作中,用户不需要花费 ETH/MATIC/BNB 作为 GAS。
理论上任何一个 0x 地址都可以作为 Broadcasters,用户可以基于 gas 和是否可用去选择 Broadcasters。Broadcasters 不控制用户地址中的代币,只去传递交互信息,并且获取不到链上交互的发送地址、金额、接收地址以及代币种类等详细信息,保证了交易的隐私和安全。Broadcasters 在整个过程中可获取总 GAS 10% 的费用。
3、完成链上交互后解除隐私
用户指定 Broadcasters 替代自己完成隐私交易后,输入任何 0x 地址发起解除隐私交互,从而提取 Railgun 协议中自己剩余的代币。在代币隐私和解除隐私的操作中,Railgun 协议智能合约将会收取 0.25% 的费用,发送到 Railgun DAO 的金库地址。这些协议收益将会分配给协议治理者以及质押者。
Railgun 使用零知识证明保证链上隐私
零知识证明(Zero-Knowledge Proof,简称 ZKP)是一种密码学技术,可以让证明者在不透露信息来源细节信息向验证者证明信息的真实性。在 Railgun 协议中用户可以证明自己有权使用代币,而无需透露代币种类和数量,Broadcasters 和资金池可将发生地址和接收地址隐私化。
举例来说,Railgun 用户类似写信者,ZKP 负责核实信件内容,Railgun 协议的智能合约是密封的信封,Broadcasters 是邮递员。从公开的链上只能看到信件已寄出,但他们无法确定信件的内容或寄信人和收信人。
Railgun 利用 Merkle Tree 防止双花,保证交易安全
默克尔树(Merkle Tree)也称为哈希树,常用于链上验证交易数据的完整性。每个区块头中都包含了默克尔树的根哈希值,以便验证整个区块中的交易数据是否被篡改。自 FTX 因挪用用户资产的事件后,目前主流的中心化交易所都采用默克尔树验证用户资产的托管安全,不被挪用。
用户使用 Railgun 协议将地址隐私化后,代币就会被添加到隐私池中。Railgun 协议隐私池中的代币余额通过类似 BTC 的 UTXO 注册表构建,Railgun UTXO 整个列表构成一个默克尔树数据结构,用于验证交易期间的余额状态。Railgun 协议内所有代币共享默克尔树,每次代币隐私化的操作都会更新默克尔树的状态,生成一个新的 Merkle 根 / 叶。从而保证用户在发送隐私交易时代币数量充足,防止双花,保证了交易的安全性。
Railgun 协议如何实现监管合规
Tornado Cash 被制裁的原因主要是朝鲜黑客组织 Lazarus Group 以及盗币洗钱犯罪集团使用其进行混币,逃避 FBI 等监管执法部门追踪侦查。
无罪证明(Private Proofs of Innocence)
上面介绍 Railgun 协议运行机制的时候提到,用户将 0x 地址隐私化时有一个小时的等待期。在等待期中,Railgun 会对用户地址中的代币进行链上反洗钱,确保用户地址中的资金不是来源于高危的犯罪、制裁地址。
Railgun 协议的链上反洗钱不像中心化交易所或者机构要求用户提供 KYC 信息,从而存在暴露隐私的风险,而是采用链上标签数据验证。用户可以选择适用的管辖范围对应的验证标签库,例如,美国用户可以选择美国监管地址列表。在等待期间,用户拥有代币的所有权,可随时解除代币隐私,通过用户原始的 0x 地址取回代币。
在完成代币的链上反洗钱验证后,用户将取得无罪证明(Private Proofs of Innocence),后续将代币发送到公开区块链地址上都会带有无罪证明,以证明该部分代币经过了检测验证。
目前,Railgun 协议默认的链上反洗钱标签列表数据是由 Chainalysis 公开的免费库和公开的 OFAC 制裁地址组成。
Chainalysis 是一家成立于 2014 年的美国区块链分析公司,2022 年 5 月,Chainalysis 宣布完成了 GIC 领投的 1.7 亿美元 F 轮融资,估值达到 86 亿美元。Chainalysis 的反洗钱系统已经成为交易所、稳定币发行商、NFT 交易平台、加密银行的合规必备。Chainalysis 还与美国税务局、移民局、FBI 等政府部门达成合作。
对于 Railgun 协议来讲,代币进入协议隐私池时利用 Chainalysis 的地址标签库进行反洗钱检测,相当于佩戴了护身符,代币接收地址、交易所以及机构地址都不再对来源于 Railgun 协议的链上转账交易恐惧,担心违法反洗钱规定,因帮助犯罪组织洗钱遭到制裁和处罚。
加密资产纳税计算(Koinly Tax Exports)
Railgun 协议的隐私交易会导致用户在计算加密资产交易缴税时遇到困难,所以 Railway Wallet 支持导出用户的与协议的交互记录,用于税务软件 Koinly 计算用户的纳税数量。
总结和思考
在公开的区块链中,每笔链上交互都透明可查询溯源,为了保护链上交易的隐私性,所以出现了隐私公链、Tornado Cash 这种混币协议,但也让使用虚拟货币转移赃款的犯罪组织有了可乘之机。Railgun 协议的出现让保障链上隐私与打击加密货币洗钱犯罪之间达到一个平衡点,让链上地址可以不违反反洗钱规定的情况下,安全合规的进行隐私支付。
以太坊创始人 V 神的地址从去年 12 月到今年 5 月已经使用 Railgun 协议地址进行了价值上百万美金的 260 个 ETH 隐私交易。但这种方式只是说在代币进入协议前进行反洗钱验证,一旦通过验证转出协议后,后续监管部门发现这笔交易有问题需要调查该怎么办呢?毕竟犯罪技术往往都领先于犯罪预防措施,Chainalysis 的地址标签库数据总是落后于犯罪集团使用的最新地址。