把 RANDAO 换成哈希链:EIP-8321 赌的是量子计算机也拆不开哈希 图 1
把 RANDAO 换成哈希链:EIP-8321 赌的是量子计算机也拆不开哈希 · 图 1

以太坊每个 epoch 的出块顺序来自一份公开随机数:RANDAO。每位轮到的验证者提交一个 reveal,历史上的 reveal 按序混合出结果。防“剧透挑答案”(grinding)的关键,是 reveal 必须与一份提前锁死的承诺绑定,而这份锁定过去由 BLS 签名承担。EIP-8321 的主张是把这层承诺从签名体系里摘出来,改用一条哈希链。这份 2026 年 7 月初创建的 Draft 给的理由很具体:BLS 是抗量子之前的假设,量子计算机能从公钥反推私钥,进而预测验证者未来的 reveal——随机数的不可预测性在量子场景下连同账户安全一起失效。

现行方案的软肋藏在哪一步

今天的 randao_reveal 本质是一个 BLS 签名:签名具有唯一性,一个私钥对一个消息只能产出一个合法签名,所以验证者交 reveal 时没有自由发挥空间——想换答案,就得在承诺里预先变卦,而承诺已经广播过。这套防磨逻辑不查算力、不看延迟,只吃“签名唯一”这一条代数性质。性质优雅,但整条链条的安全性挂在椭圆曲线离散对数上——与量子攻击正面相撞的正是这个假设。

哈希链版本怎么锁人

新方案用 BLAKE3(默认非 keyed 哈希模式、输出 32 字节,提案里所有新哈希统一用它)搭一条承诺-揭示链:每个 reveal 是链上一步,前一个 reveal 能算出后一个的承诺值,反向则要求破解哈希原像。你要提交 reveal_n,就必须早已公布过 hash(reveal_n) 这一步;量子机拆得开签名,却拆不开哈希函数的单向性——量子搜索算法对哈希攻击带来的加速幅度有限,32 字节输出的原像抗性足以消化。这就是提案标题里“哈希链”三个字的分量:把随机数安全从代数假设迁移到哈希假设。提案文本同时保留了旧路径:共识规范里的 hash 辅助函数继续服务于 legacy reveal,说明切换期两条揭示路径并存。

值得点名的兄弟方案是 EIP-7998:那条路线把 RANDAO 改成 VRF(可验证随机函数),同样想解决可预测与可磨问题,但它仍然长在签名假设上。8321 与 7998 是同一个病的两味药——一个换药方底层假设,一个升级给药装置——读后量子路线图时值得摆在一起看。

快速之外的慢变量

哈希链方案还有一层常被人漏掉的制度设计:链是状态,状态就有迁移。从 BLS 承诺切到链承诺,过渡期每个验证者同时背着两套凭证,软件状态机多一整个分支;而揭示失败、链中断、验证者掉线这些老边界情形,在新规则里都要重新定义一遍。8321 文本把这些归进“legacy reveal 路径保留”一句话里,实际工程量往往藏在这种一句话背后——看提案摘要永远别跳过这种句子。

快速问答

问:哈希链不怕人预算一串链抢占好答案吗? 答:这正是设计要堵的:链的每一步承诺提前公开,临场能选的只有“继续reveal”一种动作,没有分叉挑拣的自由度。

问:切换会影响现有验证者软件吗? 答:会改共识层的 randao 混合逻辑与 reveal 结构,规范改动落在 consensus-specs,具体激活 fork 待排期。

问:BLAKE3 是临时起的名字吗? 答:提案把它写成正式依赖,选型理由写的是软件速度快、在二元域证明系统里更易高效证明,属前瞻性选择;参数细节以仓库文本为准。

一笔直觉账

把 RANDAO 想成抽签箱:BLS 方案是每人发一支刻了编号的钢印笔,谁也伪造不了第二支;哈希链方案则是每人提前交一箱上锁的暗格,钥匙顺序公开、内容要临场才开。量子计算机来了,第一种方案连笔都能伪造,第二种只要求锁更难撬——把安全问题从“锁匠的本事”降级成“锁本身的硬度”,这就是 8321 的全部野心。

风险提示:本文是对公开提案文本的解读,不构成投资建议;提案内容可能随社区讨论修改或作废,请以提案仓库页面为准。