以太坊客户端Lighthouse近期提交了针对验证者公钥缓存机制缺陷的修复提案(PR #10569),但截至13日仍处于开放状态,未完成合并。该问题可能在特定条件下导致节点拒绝主链有效签名,进而引发链分叉风险。
PR #10569于12日提交至Lighthouse代码库,目前仍在等待代码维护者的审查。其核心关注点在于:当系统处于分叉边界(Boundary)时,验证者公钥与编号之间的映射关系可能被错误记录。
验证者公钥缓存用于存储节点中公钥与验证者编号的对应关系。此次漏洞发生在Glamsterdam升级前的共识层变更阶段,尤其在大量旧验证者新增质押、新验证者及构建者同步申请公钥入池的情况下更为突出。
若分叉后主链与备用链对质押处理顺序不一致,可能导致同一公钥被错误关联至非预期的验证者编号。一旦此类错误映射进入全局缓存,节点在执行签名验证时将误判合法签名无效,从而脱离主链。尽管目前尚无实际攻击案例曝光,但潜在影响不容忽视。
修复提案建议仅在验证者资格最终确认后才将其公钥写入全局缓存,并调整查询逻辑,使节点在检查过程中同时读取当前头部状态(Head State)与缓存数据,避免临时状态干扰。
然而,该方案与Lighthouse v8.3.3版本的更新存在兼容性疑虑。v8.3.3版本已于9日发布,官方将其列为高优先级安全补丁,明确指出已引入链状态与公钥缓存键联动机制,但未披露具体漏洞细节。
提案作者指出,v8.3.3的变更与本次漏洞修复存在关联,但因发布说明中未明确提及此问题已解决,无法断定两者是否为同一修复目标。
另一项配套测试提案(Assertoor PR #248)也处于开放状态,旨在通过模拟分叉前的批量质押与验证者惩罚(Slashing)操作,复现并验证该漏洞。
有开发者指出,即使测试启动较晚,只要流程完整仍可获得有效结果;但目前测试未能明确追踪惩罚事件是否真实触发,成为需改进之处。
此外,以太坊基金会已宣布将原定于10月22日启动的Hoodi测试网Glamsterdam升级延期,新日期尚未公布。延期原因系需进一步评估EIP-8037与主网智能合约间的交互影响。
尽管测试网延期与本次缓存漏洞修复同处一个时间段,但二者并无直接因果关系。目前主网Glamsterdam升级的具体时间仍未确定。