Ethereum漏洞补丁修复验证者公钥缓存投毒问题
Ethereum(以太坊)开发人员已实施一项关键补丁,修复了其共识客户端中存在的一个漏洞。该漏洞可能导致验证者公钥缓存遭受“投毒”攻击。根据GitHub上的拉取请求信息,此次更新解决了与即将到来的Gloas分叉相关的问题,该问题曾导致部分节点拒绝有效的签名。
全局缓存结构中的漏洞起源
问题追溯至客户端在“全局缓存”中保留验证者公钥及其对应索引的方法。通常情况下,最终确定的存款(finalized deposits)应能在所有链上生成相同的验证者集合。然而,开发人员发现这一假设可能在分叉边界处失效。
Gloas分叉是以太坊即将推出的Glamsterdam升级的重要组成部分,直接影响其共识层。共识客户端是管理验证者执行的区块验证和签名过程的关键软件。
该补丁规定,只有在激活资格期(activation eligibility period)最终确定后,密钥才能被添加到全局公钥缓存中。
由三笔待处理存款引发的攻击场景
技术文档显示,攻击者在分叉前需要三笔待处理的存款。第一笔涉及现有验证者的大额余额增加,其余两笔引入新密钥:A使用构建器(builder)凭证处理,B使用标准验证者凭证处理。
在主链上,大额存款消耗了余额流,将A和B的处理推迟到分叉之后。这一序列使A转变为构建器角色,而B获得随后的验证者索引。相反,在攻击者的侧链上,拥有额外余额的验证者在分叉前受到惩罚(slash penalty),从而排除了该存款。结果是,A被更早处理并占据了原本属于B的索引。
受影响的节点可能在分叉时刻拒绝主链上来自验证者B的所有有效签名,从而导致其与网络隔离。
补丁部署完成,其他客户端仍在监测中
有缺陷的缓存管理逻辑假设两条链会生成相同的验证者,从而全局导入A密钥。因此,受困扰的节点可能会错误地拒绝那些实际上在主链上有效的签名。
开发人员指出,执行此类攻击并非易事,需要精确时间的惩罚事件以及额外的侧链设置。因此,意外利用的可能性仍然较低。
尽管如此,随着Glamsterdam升级的临近,分叉边界处的类似边缘场景正受到越来越多的审查。目前尚无法确认其他共识客户端是否易受此问题的影响。

资金费率
资金费率热力图
多空比
大户多空比
币安/欧易/火币大户多空比
Bitfinex杠杆多空比
账号安全
资讯收藏
自选币种