以太坊客户端发现漏洞,Glamsterdam 更新在即

在Ethereum Lighthouse共识客户端中发现了一个漏洞,在某些条件下可能会中断验证者签名的验证。问题与用于将验证者与其在网络中的索引匹配的公共密钥全局缓存有关。该漏洞可能在向Gloas过渡期间显现,这是Glamsterdam中的共识层更新。开发人员已在GitHub上准备了修复程序,但在审查时,其包含在代码中的拉取请求仍未关闭。
Ethereum漏洞的工作原理
要执行所描述的攻击,在更新之前需要三个等待处理的存款:现有验证者的显著余额补充和两个具有新公共密钥的存款。在主链中,补充消耗了可用的存款处理限制,因此其他两个在过渡到Gloas后处理。在替代分支中,如果现有验证者因违反共识规则而受到惩罚,攻击者可以实现不同的处理顺序。
结果是,一个公共密钥获得了在主链中属于另一个验证者的索引。由于全局缓存中的错误,受影响的节点可能使用不正确的密钥到索引映射,拒绝有效签名,并与主链分歧。根据开发人员的说法,实现这种情况需要多个条件的精确对齐,包括创建替代区块链分支。
Glamsterdam之前修复的变化
开发人员提出的修复限制了公共密钥添加到全局缓存中:现在它们必须仅在验证者激活的相应阶段最终确认后才添加。一个额外的结构,HeadPubkeys,将允许将当前链状态和全局缓存中的信息结合,以便在没有新块出现的情况下,密钥在最终确定期间仍然可访问。
尚不清楚其他Ethereum共识客户端中是否存在类似错误。发现的问题强调了在主网络上激活Glamsterdam之前需要对验证者处理机制进行额外测试。
本材料仅供参考,不构成财务建议或推荐。





