原文作者:Vitalik Buterin
译者:Azuma,Odaily星球日报
3月9日,以太坊的联合创始人Vitalik Buterin在以太坊研究论坛上发表了一篇短文,题为《应对突如其来的量子攻击:通过硬分叉保护用户资金》。
在文中,Vitalik回顾了以太坊在可能面临量子攻击的情况下如何尽量减少用户资金损失,并探讨了应对紧急情况时的程序转变以应对量子威胁,从而确保系统可以恢复正常运行。
以下为Vitalik 全文内容,由 Odaily 星球日报编译。
假设量子计算机明天就能实现,且不法分子已通过某种方式获取了它的访问权限,并想要利用它来窃取用户资金,我们该怎么办?
诸如 Winternitz 签名、STARKs 等抗量子(quantum-resistant)技术的开发正是为了防止这种情况的发生,一旦帐户抽象准备就绪,任何用户都可以随机切换至具备量子抗性的签名方案。但如果我们没有那么多时间,如果量子攻击的到来比所有人设想的都更加突然,我们该怎么办?
我认为,实际上我们目前已具备了通过一个相对简单的恢复性分叉(recovery fork)来解决该问题的充足条件。通过该解决方案,以太坊网络将不得不进行硬分叉,用户也将不得不下载新的钱包软件,但只有少数用户可能会丢失他们的资金。
量子攻击的主要威胁如下。以太坊地址是通过运算 keccak(priv_to_pub(k))[12:] 而函数得出的,其中 k 对应的是私钥,priv_to_pub 对应的是一个椭圆曲线乘法,用于将私钥转换为公钥。
当量子计算实现后,上述椭圆曲线乘法将变得可逆(因为这其实就是离散对数问题的求解),不过哈希运算依旧是安全的。如果用户没有过进行任何交易,那么被公开的只有地址信息,这种情况下他们依旧会是安全的;但是只要用户曾进行过哪怕一次交易,交易签名就会暴露出公钥,这在量子计算机的面前就存在暴露私钥的可能性。所以在这种情况下,大多数用户将会面临风险。
但我们其实有办法缓解这一威胁,这其中的关键点在于,实践中大多数用户的私钥都是通过一系列哈希运算产生的。比如许多私钥是使用BIP-32规范而生成的,它是根据一组助记词,通过一连串哈希运算而生成;很多非BIP-32的私钥生成方法也差不多类似,比如如果用户使用的是脑钱包,它通常也是由某个密码经过了一系列哈希运算(或者是中等难度的密钥派生函数)而生成。
这意味着,通过恢复性分叉来应对突发量子攻击的解决方案将采取以下步骤:
原则上,明天我们就可以开始对实现此恢复性分叉所需的基础设施进行开发,从而使以太坊生态系统能够在突发的量子攻击中做好准备。
以上是Vitalik 新文:假如量子攻击明天就来,以太坊如何解题?的详细内容。更多信息请关注PHP中文网其他相关文章!