近期许多中文用户遭到 FTX 警告甚至一度冻结账号(提交各类信息后解冻),原因是为了赚取空投,用户的 FTX 交易所账号向与 L2 隐私公链 Aztec 的混币服务 zk.money 进行了转账。
下文我们将在简单介绍此次风波中心的 Aztec 是什么,以及还有哪些带有混币服务的 DeFi 协议需要注意,以免危及你的中心化交易所账号。
实现机制
我们都知道以太坊是基于账户模型表示余额,区块会记录每个地址的余额,转账时需要对双方地址中的余额做加减法。这种模型的优势是方便智能合约的编码,但对于隐私支付而言反而是不便的,因为它在加密时需要对双方的地址都进行匿名化,解密时也需要对双方进行零知识证明,如果交易涉及不止两方,那么工作量是非常庞大的。
而比特币基于 UTXO 模型表示余额的方法虽然不适合部署智能合约,但在隐私支付方面则拥有先天优势。UTXO 可以简化理解为票据,要想私下转移票据,只需秘密地将票据上记录的旧主人改成新主人即可,而无需在意双方资产余额的变化,因此工作量会小很多。
Aztec 的记账方式就是采用比特币的 UTXO 模型,在这样的记账模型下,用户的每一次交易,本质上是销毁一批票据并生成另一批票据的过程,最终新票据的所有权和面值都得到了重新定义(重新定义的面值总额须和之前的总金额相等)。
假设 Alice 有一张面值为10 ETH 的票据,现在要支付2 ETH 给 Bob。Alice 手上的那张票据会被销毁,同时会有一张面值为2 ETH 的票据和一张面值为8 ETH 的票据被创建。面值为2 ETH 的票据的所有权属于 Bob,而面值为8 ETH 的票据的所有权属于 Alice。
上述是 UTXO 模型要完成的记账工作,Aztec 的工作就是在这个过程中隐藏金额和所有权,因此它需要证明两张票据的面值总额和之前那张面值是相等的。为了证明新旧票据面值相等,Aztec 会在 Alice 的本地生成了一个零知识证明(ZKP)。利用零知识证明,它能够在不暴露具体金额和所有权的前提下,证明面值相等。
该隐私证明只在本地生成,链上只需要通过 ZKP 证明其真实性即可,这与创建钱包时生成本地私钥的过程类似。
总而言之,Aztec 的基本隐私架构是:
· 采用 UTXO 的记账模型。
· 在转账时销毁旧的 UTXO,生成新的 UTXO。
· 在用户本地生成隐私证明,链上通过零知识证明后提交到主链。
Aztec vs. Tornado
Tornado Cash 是目前以太坊上受众面最广的隐私转账应用,但是它的交易处理能力较低,原因就是前文所说的采取了和以太坊相同的账户模式来记账,需要对交易各方的地址余额都进行匿名化处理,工作量较大,Gas 费较高。
而 Aztec 在完成上述零知识证明后,是通过 Rollup 技术将多笔交易打包提交到主链,因此 Gas 费较低。不过,由于 Rollup 技术需要交易笔数达到一定数量才能批量处理,这也意味着用户有时要等待很长一段时间,尤其在应用上线初期用户量不够多的时候。
除此以外,Aztec 相较 Tornado Cash 更大的优势在于它具有可互操作性。由于 Aztec 将隐私交易迁移到了 L2,因此它仍然可以实现在 L1 上与其他应用进行交互。而这对于 Tornado Cash 而言是完全不可能实现的。
目前 Aztec 已在 L1 部署了智能合约——Aztec Bridge,L2 会通过 Rollup 把同类型的交易打包传递给 Aztec Bridge,再通过这个智能合约在其他应用上进行交易,最后把交易完成后的资金再通过 Aztec Bridge 返还给 L2 上的地址。
目前已实现与 Aztec Bridge 对接的应用还很少,但可以想象这对于以太坊生态的影响是多么巨大。
其他隐私支付项目
目前,具有隐私转账功能的通证不在少数,Monero 或 Zcash 都可以实现,二者也都是采取 UTXO 记账模型,Aztec 的发展在一定程度上也借鉴了他们。不过,这类通证不是一个应用,不能实现其他通证的隐私转账,因此不在讨论之内。
目前能实现该功能的除了 Tornado Cash 和 Aztec 外,可能只有 Secret Network。Secret Network 对数据进行隐私保护计算时需要依靠可信执行环境(TEE),也就是需要通过硬件在 CPU 中构建一个安全区域(此前是借助英特尔的 SGX)。这显然会大大限制协议的去中心化程度,区块链应用的隐私保护应该依靠数学和密码学而不是硬件来实现。
此外部分洗钱手段也将转移到比特币网络。据 MistTrack 调查员 @blitezero,Ronin 黑客已经将他们的资金转移到了比特币网络。截至目前,Ronin 黑客的绝大部分 ETH 资金已存入 Tornado Cash,约6 250 Ether 存入交易所(火币、FTX 、Cryptocom 等)。
从 Tornado Cash 撤出后,黑客使用 1inch 或 Uniswap 将资金换成 renBTC,并最终将它们桥接到比特币网络。退出 renprotocol 后,一半的资金存入了 ChipMixer。从 ChipMixer 提款后的一半的资金存入了 Blender。
监管
继 Tornado Cash 之后,Aztec 也开始被监管机构盯上。近日,FTX 对与 Aztec 进行过交互的用户发出了警告:
“请注意,Aztec Connect - Aztec.network / zk.money 被标识为混合服务。这样的来源属于高风险活动和 FTX 的禁止使用。请注意与高风险活动相关的未来交易——我们强烈建议您在未来不要使用混合服务,否则可能会危及您的 FTX 账户。作为一家获得许可和受监管的加密货币交易所,我们必须筛选所有交易并在必要时进行尽职调查。这是在行业领先的第三方交易监控工具的帮助下完成的,以确保我们客户的安全并防止与不允许的地址进行交互。我们希望得到您的理解与合作。”
虽然在过去交易所很少有次先例,但随着美国政府制裁 Tornado Cash 以及荷兰政府逮捕开发者造成恐惧后,中心化交易所禁止客户与混币服务进行交互,预计只是一个时间问题。在韩国合规交易所目前已经实行的规则,以及欧盟即将要实行的规则中,有一个很重要的标准叫做“Travel Rule”,即仅支持向兼容 Lambda 256 解决方案 VerifyVASP 的加密货交易所提现。发送资金时,还需要提供收款人的各类信息。因此在老牌的莱特币添加了隐私功能后,韩国交易所立马全部禁止与下架了莱特币。在很长一段时间内,预计涉及隐私产品尤其是“匿名传输”的产品会大概率进行自我审查。