出块名单先搅乱再点名:Whisk 怎么把提议者藏到最后一秒 图 1
出块名单先搅乱再点名:Whisk 怎么把提议者藏到最后一秒 · 图 1

以太坊的出块排班表是公开的:每个周期一开始,接下来几十个槽由谁提议就全部可知。便利的另一面是靶子——知道谁在哪个槽值班,攻击者就能对他做定向拒绝服务、断网施压或勒索,逐槽轮流点名在理论上足以瘫痪出块。EIP-7441(2023 年 9 月,作者 George Kadianakis、Justin Drake 与 dapplion)提交的 Whisk 方案要改的就是这一行:提议者身份在他提交区块之前保持秘密,这类机制叫单一秘密领导者选举,它的学术原型来自 Boneh 等人的同名论文,Whisk 是其中基于混合网络式搅拌方案的工程化改造。

不洗人,洗承诺

直接打乱验证者列表做不到秘密——名单本身必须公开才能验证。Whisk 的巧劲是洗”影子”:每个验证者在分叉后首次提议时登记一个 tracker——一对椭圆曲线点,形式为 (rG, krG),背后是一个只有本人知道的长期秘密 k,同时把承诺 kG 存进验证者记录以保证唯一性。此后谁都不搬动验证者本身,而是反复”重随机化”这些 tracker:任何人拿私有随机数 z 就能把它乘成 (zrG, zkrG),数值全变、归属不变。一轮选举因此定型:先用 RANDAO 公开随机数从全体验证者里抽 16384 个 tracker 进候选池;随后一整天(8192 个槽)由当值提议者持续搅拌,每次随机挑 128 个 tracker 做置换加随机化,并附一份零知识证明自证没有偷换或掺垃圾;搅拌在点名前一个周期停下,让 RANDAO 攒足不可预测的熵,这段叫冷却期;最后用 RANDAO 从搅匀的候选池里选出 8192 个出块者,逐一映射到次日各槽。轮到自己时,中标者用一个 DLEQ 证明打开 tracker,全网那一刻才知道”是他”。搅拌用的小算法也有名字:每个提议者从整个候选集随机取 128 个下标做局部搅动,靠海量小搅拌叠加出整池均匀——搅拌策略本身的安全性另有配套论文论证。

出块名单先搅乱再点名:Whisk 怎么把提议者藏到最后一秒 图 2
出块名单先搅乱再点名:Whisk 怎么把提议者藏到最后一秒 · 图 2

数字里的取舍

为什么候选池恰好 16384、每轮只搅 128 个:提案的匿名性分析把”未中选的有效候选”当作匿名集,按二八分布折算约对应两千多台节点,再扩大候选池会让小搅拌覆盖整池的策略安全性下降,加大每轮搅拌量又直接抬升零知识证明与带宽成本——128 这个数字就是被证明体积与网络开销卡出来的。搅拌证明走 Bayer-Groth 搅拌论证的改造版,只依赖离散对数假设、不需要可信设置。RANDAO 的短板被正面承认:它本身是提交揭示机制,末段提议者能在有限组合里挑对自己有利的名单,方案把这种偏置限制在可讨论范围内。生态摩擦也写进了安全考量:区块构建方无法预设专属费用收款方、区块浏览器不能再把缺席槽位归因到某个验证者编号——这些都是为隐私支付的账。

状态与边界

截至本文核验时,EIP-7441 在 EIP 仓库状态为 Stagnant,未进入任何主网激活升级;现行机制仍是公示排班。另外注意区分层级:Whisk 藏的是”谁在这个槽提议”,不是交易内容也不是余额,它解决的是针对特定节点的定向攻击面,与交易隐私无关。提案还比较过不依赖密码学搅拌的同类方案:网络层的 Dandelion 类匿名协议保护的是”谁广播了什么”,解决不了”谁轮到值班”;另一种需要网络匿名层兜底的选举协议则被评估为不匹配以太坊的威胁模型。对质押者与节点运营者的含义是:这是一个把”被定向攻击的期望收益”从可行域里拿走的储备方案,等待的是证明性能与周边工具的成熟。本文只讨论机制,不构成任何投资建议。