时间:2024-03-09|浏览:286
假设明天宣布量子计算机可用,并且不良行为者已经可以访问它们并能够使用它们窃取用户的资金。
防止这种情况的发生是**抗量子密码学**(例如 Winternitz 签名、STARK)的目标,一旦帐户抽象到位,任何用户都可以按照自己的计划转而使用抗量子签名方案。
但如果我们没有那么多时间,而突然的量子跃迁早在这之前就发生了怎么办?
我认为,实际上,**我们_已经_准备好制作一个非常简单的恢复分叉来处理这种情况**。
区块链将不得不硬分叉,用户将不得不下载新的钱包软件,但很少有用户会损失资金。
量子计算机的主要挑战如下。
以太坊地址定义为“keccak(priv_to_pub(k))[12:]”,其中“k”是私钥,“priv_to_pub”是将私钥转换为公钥的椭圆曲线乘法。
使用量子计算机,椭圆曲线乘法变得可逆(因为它是离散对数问题),但哈希仍然是安全的。
如果用户尚未使用其帐户进行任何交易,则只有地址是公开可见的,并且他们已经是安全的。
但是,如果用户进行了一笔交易,那么该交易的签名就会泄露公钥,这在后量子世界中允许泄露私钥。
因此大多数用户都容易受到攻击。
但我们可以做得更好。
关键的认识是,在实践中,**大多数用户的私钥本身就是一堆哈希计算的结果**。
许多密钥是使用 [BIP-32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) 生成的,它通过从主种子短语开始的一系列哈希值生成每个地址。
许多非 BIP-32 密钥生成方法的工作原理类似:例如。
如果用户有脑钱包,它通常是应用于某些密码的一系列哈希值(或中等难度的 KDF)。
这意味着 EIP 的自然结构是通过硬分叉链来从量子紧急情况中恢复: 1. 恢复第一个区块之后的所有区块,其中很明显正在发生大规模盗窃 2. 传统的基于 EOA 的交易被禁用 3 .添加了新的交易类型以允许来自智能合约钱包的交易(例如[RIP-7560](https://ethereum-magicians.org/t/rip-7560-native-account-abstraction/16664)的一部分) ,如果尚不可用 4. 添加新的交易类型或操作码,您可以通过它提供 STARK 证明,证明知道 (i) 私有原像“x”,(ii) 哈希函数 ID“1 <=” i < k` 来自“k”批准的哈希函数列表,以及 (iii) 公共地址“A”,使得“keccak(priv_to_pub(hashes[i](x)))[12:] = A”。
STARK 还接受该帐户的新验证码的哈希值作为公共输入。
如果证明通过,
您的帐户代码将切换为新的验证代码,从那时起您将能够将其用作智能合约钱包。
出于gas效率的原因(毕竟STARK很大),我们可以让STARK成为批量证明,证明上述类型的N个STARK(必须是STARK-of-STARK,而不是直接证明多个声明) ,因为每个用户的“x”需要对聚合器保密)。
原则上,实施此类硬分叉的基础设施可以在明天开始建设,从而使以太坊生态系统做好充分准备,以防量子紧急情况确实发生。
用戶喜愛的交易所
已有账号登陆后会弹出下载