摘要:原文作者:Vitalik Buterin译者:Odaily 星球日报 Azuma3 月 9 日,以太坊联合创始人 Vitalik Buterin 于以太坊研究论坛(ethresear.ch)以《如何通过硬分叉从突然到来的量子攻击中...
原文作者:Vitalik Buterin
译者:Odaily 星球日报 Azuma
3 月 9 日,以太坊创始人 Vitalik Buterin 于以太坊研究论坛(ethresear.ch)发表了一篇关于“如何通过硬分叉从突如其来的量子攻击中拯救用户资金”的短文。
文中,Vitalik 综上所述,如果量子攻击明天即将到来,以太坊如何在紧急情况下尽量减少客户的资金损失,应该通过哪些程序转化为抗量子形态,然后恢复正常运行。
以下是 Vitalik 全篇内容,由 Odaily 星球日报编译。
假设量子计算机明天可以实现,罪犯以某种方式获得了访问限制,并想利用它窃取客户资金,我们该怎么办?
例如 Winternitz 签字、STARKs 等抗量子(quantum-resistant)技术的开发是为了避免这种情况,一旦账户抽象准备就绪,任何客户都可以随机切换到具有量子抗性的签名方案。但是如果我们没有那么多时间,如果量子攻击比所有人的想法都更突然,我们该怎么办呢?
我觉得,事实上,我们已经有了一个相对简单的恢复性分叉(recovery fork)解决这个问题的充分条件。通过这个解决方案,以太坊网络将不得不硬分叉,客户将不得不下载新的钱包软件,但只有少数用户可能会失去他们的资金。
量子攻击的主要威胁如下。以太坊地址是通过计算来计算的。 keccak(priv_to_pub(k))[ 12:] 而函数,其中 k 对应私钥,priv_to_pub 用于将私钥转换为公钥的椭圆曲线乘法。
当量子计算实现时,上述椭圆曲线乘法将变得可逆(因为这实际上是大多数离散问题的解决方案),但哈希运算仍然是安全的。如果客户没有进行任何交易,只披露地址信息,在这种情况下仍然安全;但只要客户进行了交易,交易签名就会显示公钥,这可能会暴露在量子计算机面前的私钥。因此,在这种情况下,大多数用户都会面临风险。
但我们实际上有办法减少这种威胁,关键是大多数用户的私钥都是通过一系列的哈希操作产生的。例如,使用许多私钥 BIP-32 标准化产生的,它是根据一组助记词,通过一系列哈希运算产生的;许多非; BIP-32 私钥的生成方法几乎是相似的。例如,如果用户使用大脑钱包,它通常是由一个密码通过一系列哈希操作(或中等难度的密钥衍生函数)生成的。
这意味着通过恢复性分叉应对突发量子攻击的解决方案将采取以下步骤:
首先,将大规模攻击后的所有区块回滚;
第二,禁用是基于 EOA 传统地址交易方式;
第三,(如果当时还没有落地)添加一种新的交易方式,允许使用智能合约钱夹(例如, RIP-7560 部分内容)进行交易;
第四,添加新的交易方式或操作码,通过其客户可以提供 STARK 确认,如果确认通过,客户地址代码将切换到新的验证代码,客户可以使用新的代码地址作为智能合同钱夹。
第五,出于节约 Gas 考虑,因为 STARK 确认的数据量较大,我们将支持批量 STARK 证实以上几种类型的上述类型是同步进行的 STARK 证实。
原则上,明天我们可以开始设计实现这种恢复性分叉所需的基础设施,这样以太坊生态系统就可以在突然的量子攻击中做好充分的准备。