首页 资讯 正文

Vitalik:如何在突发量子攻击时保护用户资金

金色财经 2024年03月11日 10:42

作者:Vitalik Buterin;编译:邓通,金色财经

假设明天宣布量子计算机可用,并且不良行为者已经可以访问它们并能够使用它们窃取用户的资金。 防止这种情况的发生是抗量子密码学(例如 Winternitz 签名、STARK)的目标,一旦账户抽象到位,任何用户都可以按照自己的计划转而使用抗量子签名方案。 但如果我们没有那么多时间,而突然的量子转移早在这之前就发生了怎么办?

我认为,实际上,我们已经做好了准备,可以制作一个非常简单的恢复分叉来应对这种情况。 区块链将不得不硬分叉,用户将不得不下载新的钱包软件,但很少有用户会损失资金。

量子计算机的主要挑战如下。 以太坊地址定义为 keccak(priv_to_pub(k))[12:],其中 k 是私钥,priv_to_pub 是将私钥转换为公钥的椭圆曲线乘法。 使用量子计算机,椭圆曲线乘法变得可逆(因为这是一个离散对数问题),但哈希仍然是安全的。 如果用户尚未使用其账户进行任何交易,则只有地址是公开可见的,并且他们已经是安全的。 但是,如果用户进行了一笔交易,那么该交易的签名就会泄露公钥,这在后量子世界中允许泄露私钥。 因此大多数用户都容易受到攻击。

但我们可以做得更好。 关键的认识是,在实践中,大多数用户的私钥本身就是一堆哈希计算的结果。 许多密钥是使用 BIP-32 生成的,它通过从主种子短语开始的一系列哈希值生成每个地址。 许多非 BIP-32 密钥生成方法的工作原理类似,例如: 如果用户有脑钱包,它通常是应用于某些密码的一系列哈希值(或中等难度的 KDF)。

这意味着 EIP 的自然结构是通过硬分叉链来从量子紧急情况中恢复:

出于Gas效率的原因(毕竟STARK很大),我们可以让STARK成为批量证明,证明上述类型的N个STARK(必须是STARK-of-STARK,而不是直接证明多个声明 ,因为每个用户的 x 需要对聚合器保密)。

原则上,实施此类硬分叉的基础设施可以在明天开始建设,从而使以太坊生态系统做好充分准备,以防量子紧急情况确实发生。