如果以太坊上的交易可以逆转,「黑客 summer」会终结吗?
撰文:Kaili Wang,斯坦福大学区块链研究者
编译:0x11,Foresight News
区块链交易的不可逆性既是福也是祸。BAYC 网络钓鱼、PolyNetwork 攻击、Harmony Bridge 妥协、Ronin 被黑,仅在 2021 年,就有 140 亿美元的加密货币被盗。如此之多「不可否认」的盗窃频繁发生,却没有「撤消按钮」(例如信用卡支付撤销)来取消交易,也并非每个人都像 Wormhole 那样好运,有 Jump Crypto 在需要时帮他们兜底。
但是,如果有一种公平的方法可以扭转这些盗窃行为呢?
这是我们斯坦福大学的几个人(Dan Boneh、Qinchen Wang 和我)在过去几个月里一直在努力回答的问题。我们为 ERC-20 和 ERC-721 设计了支持逆向交易的代币标准(当有足够的证据证明时),写了一篇关于它们的论文,并实现了它们的代码原型。我们将这些代币标准分别称为 ERC-20R 和 ERC-721R。
现在,你可能在想:可逆代币?这不是违背了区块链的目的吗?实际上,没有。该提案不会从区块链中删除交易;它只是允许事后通过去中心化的司法投票程序将资金转回到其合法所有者手中。
撤销交易的流程
假设攻击者从受害者那里盗取资金。资金可能会进一步转移到其他地址,如下图 1 所示,会发生以下情况:
图 1:交易图
被盗取的资产很少只是放在一个地方。攻击者通常用某些方式将资产从一个帐户转移到另一个帐户。在这种情况下,攻击者甚至可以监控 mempool,并在看到冻结请求提交时将资产转移到前端交易中。避免这种情况的解决方案是在单笔交易中在链上进行整个冻结,这样攻击者就无法「逃脱」冻结。
但是我们不能只禁用所有相关资产的账户,那么我们如何决定冻结什么以及冻结谁的账户呢?如果它是 NFT,冻结非常简单:只需查看当前拥有 NFT 的人,然后冻结该帐户即可。然而如果是 ERC-20 资产,货币的可分割性使得冻结变得非常复杂。这些资金可以分配到数十个账户中,投入到 Tornado 等匿名混合器中,或者兑换成另一种加密货币。如果它通过许多帐户,至少其中一些将与黑客相关联,但有些人很可能是无辜的。不可能总是正确地辨别每个帐户的是否有罪。因此,我们提供了用于追踪和锁定被盗资金的默认冻结流程。我们的算法确保:
我们在论文中讨论了算法的更多细节。
在交易中,像往常一样交换两种不同的可逆代币是安全的;如果一方要求冻结,则有可能从另一方收回资金。但是,将可逆代币换成不可逆代币会很危险;为了保护自己免受逆转,交易可能仅在可逆时间窗口过去后才完成交换。这意味着可逆→不可逆交易将有很长的延迟。因此,一旦几个主要代币变得可逆,其他代币也面临着巨大的可逆压力。
这个难题中比较模糊的部分涉及「法官的法定人数」。这些法官是谁?他们如何投票?他们如何获得奖励?
这些工作最终取决于治理,即创建 ERC-20R/ERC-721R 实例的人。然而,一般来说,法官必须从交易池中随机选择案例(使用以太坊的随机信标),他们的奖励独立于他们的投票决定。奖励来自与冻结请求一起提交的受害者的初始权益。法官的选举最好秘密进行,在提交选票之前不公开,以保证法官可以独立投票。同样,请参阅论文以进行进一步讨论。
在我们的论文中,我们讨论了更多细节,例如如何降低法官不诚实的风险、对交易所和混币器的影响、相关工作以及对算法和实现的深入解释。如果有兴趣,我们鼓励你看一看。我们希望这会引发关于代币可逆性的讨论,并且你们中的一些人可能会找到更好的可逆解决方案,以帮助减少生态系统中的损失。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。