Prysm表示,早在以太坊的Fusaka升級前一個月,測試網就引入了這項漏洞。這是本月早些時候影響其客戶端以太坊節點驗證問題的主因。
以太坊開發者Terence Tsao於週日發布事故回顧,詳述Fusaka主網Prysm事故,該事故於12月4日對網路造成影響。
他指出,Prysm節點在處理不同步節點的證明時出現「資源耗盡」狀況,導致Prysm必須回放過去的epoch區塊並重新計算高成本的狀態轉換,沉重的工作負載使效能明顯下降。
事故回顧指出,該漏洞在事故發生前已於測試網存在一個月,卻始終未被觸發。
“該漏洞於Prysm的PR15965中被引入,並於事故發生前一個月部署至測試網,但未被觸發。”
測試網雖用於發現漏洞,但仍有其侷限。
2023年5月——上海硬分叉後一個月——以太坊網路曾一度失去交易最終性約25分鐘,隔日又持續失去逾1小時,最終由區塊鏈自動恢復。
Prysm已修補漏洞
Prysm選擇不採用當前最新狀態,而是從頭開始重新生成過去的狀態,導致計算負擔大幅增加。
他表示,在超過42個epoch期間,網路slot遺漏率達18.5%,參與度降至75%。驗證者在驗證者獎勵中損失約382枚以太幣。
開發團隊要求節點營運者先行部署臨時解決方案,並同時為Prysm客戶端撰寫更新補丁。
客戶端多樣性發揮關鍵作用
開發者指出,若此次事故發生於以太坊主導的共識客戶端Lighthouse,後果可能嚴重得多。
根據ClientDiversity數據,Offchain Labs的Prysm為以太坊第二大客戶端,市占率17.6%。
“客戶端多樣性讓以太坊用戶免受重大影響。若單一客戶端占全網超過三分之一,將導致暫時性最終性喪失與更多漏塊。”
但此次事件也凸顯Lighthouse已經危險地接近三分之二門檻——一旦達到該門檻,單一客戶端出現漏洞時,可能導致無效鏈被最終確認。
目前Lighthouse客戶端市占率為52.6%,較事故發生時的約56%有所下降。


