Prysm透露,在Fusaka升级前一个月测试网中引入的一个漏洞,是导致本月早些时候其客户端出现以太坊节点验证问题的原因。
以太坊开发者Terence Tsao周日发布了一份事故报告,详细说明了12月4日影响网络的Fusaka主网Prysm事件。
报告称,Prysm节点在处理不同步节点的认证时经历了“资源耗尽”。这导致Prysm重放过去的纪元区块并重新计算昂贵的状态转换,由于工作量过大,对性能产生了显著影响。
事故报告显示,该漏洞在事件发生前一个月就已存在于测试网中,但未被触发。
“该漏洞是在Prysm PR 15965中引入的,并在事件发生前一个月部署到测试网,但未触发。”
测试网旨在识别漏洞,但并非万无一失的方法。
2023年5月——上海硬分叉一个月后——以太坊开发者曾陷入恐慌,当时网络暂时失去交易最终性约25分钟,随后第二天又持续了一个多小时,之后区块链自行恢复。
Prysm已打补丁
Prysm没有使用当前的头部状态,而是从头重新生成先前的状态,造成了巨大的计算负担。
报告称,在超过42个纪元期间,网络出现了18.5%的区块缺失率,参与度降至75%,而验证者损失了约382枚以太币(ETH)的认证奖励。
相关:Vitalik Buterin表示以太坊可以处理暂时性最终性丢失
节点运营商被指示部署临时解决方案,同时开发人员为Prysm客户端开发更新补丁。
客户端多样性挽救了局面
开发者表示,如果事件影响到以太坊主导的共识客户端Lighthouse,情况可能会更糟。
根据ClientDiversity的数据,Offchain Labs的Prysm是以太坊第二大客户端,占有17.6%的份额。
“客户端多样性防止了对以太坊用户产生明显影响。如果某个客户端占据网络超过三分之一份额,将导致暂时性最终性丢失和更多区块缺失。”
然而,该事件凸显出Lighthouse危险地接近三分之二阈值,在这个阈值下,单个客户端漏洞可能最终化无效链。
Lighthouse目前的客户端份额为52.6%,低于事件发生时的约56%。
杂志:大问题:比特币能否在10年停电中存活?
