Lighthouse 儲存庫中的 PR #10569 提出修正驗證者公鑰快取錯誤,但截至 13 日尚未合併。提案指出,特定條件同時出現時,節點可能拒絕正式鏈上的有效簽章,並分裂至另一條鏈。
這項修正提案於 12 日提交至 Lighthouse 儲存庫。GitHub 顯示 PR 目前仍為「開啟」狀態,等待 Code Owner 審查。
驗證者公鑰快取是節點用來儲存驗證者公鑰與驗證者索引對應關係的機制。提案處理的是這項對應關係可能在分叉邊界被錯誤記錄的情況。
問題可能發生在 Glamsterdam 升級的共識層變更 Gloas 分叉前夕。提案描述的情境是,既有驗證者的大額追加存款,以及新建構者與驗證者的公鑰存款同時等待處理。
分叉後,正式鏈與另一條鏈處理存款的順序若不同,公鑰快取就可能把某個公鑰連結到錯誤的驗證者索引。
若錯誤的對應關係已寫入全域快取,節點在檢查正式鏈上的簽章時可能拒絕有效簽章。修正提案說明,受影響的節點因此可能離開正式鏈。目前公開內容未提出實際遭利用的案例。
提案作者建議,只有在驗證者的啟用資格最終確定後,才將其公鑰加入全域快取。修改內容也包括同時查詢目前的鏈頭狀態與快取,避免資格尚未確定的驗證者公鑰在檢查時遭到漏列。
不過,修正提案也標示了與舊版的相容性問題。
Lighthouse 於 9 日發布的 v8.3.3 版本說明提到,程式已改為同時使用鏈狀態與公鑰快取中的金鑰。版本說明將此版本列為優先級高的安全修補,但未公開漏洞細節。
修正提案作者表示,v8.3.3 的變更與 Gloas 邊界錯誤修正案有關。不過,版本說明沒有指出這次錯誤已獲修正,因此不能認定兩項變更的套用狀態相同。
另一項用於新增重現測試的 Assertoor PR #248,截至 13 日也仍處於開啟狀態。這項提案計畫在分叉前安排追加存款與驗證者罰沒,以檢查錯誤。
自動化程式碼審查指出,即使測試開始時間過晚,測試仍可能通過;審查也提出,測試沒有確認罰沒是否實際執行。
以太坊基金會(Ethereum Foundation)於 10 月 22 日表示,已延後 Hoodi 測試網啟用 Glamsterdam,且尚未訂定新日期。基金會說明,延後是為了進一步調查 EIP-8037 與主網智慧合約的互動情況。
目前沒有依據能將測試網時程變更與這次公鑰快取修正提案歸因於同一原因。Glamsterdam 在主網的啟用日期也尚未確定。
Comment 0