以太坊開發者已合併針對即將到來的 Glamsterdam 升級中存款處理缺陷的修復,該缺陷可能允許區塊建構者收到本應發給新驗證者的 ETH,此前開發者最初決定拒絕該提案變更。
摘要
- 以太坊於 10 月 26 日合併了 Glamsterdam 存款處理修復。
- 該缺陷可能將質押存款記入共享同一公鑰的建構者名下。
- 開發者最初拒絕了該修正,之後在批准額外測試後才通過。
- 另一項合約相容性調查已延遲 Glamsterdam 的 Hoodi 啟用。
根據以太坊的共識規範,維護者 Justin Traglia 於 10 月 26 日合併了該修正,此前開發者 avsetsin 發現了 Gloas 分叉期間待處理存款的處理方式存在問題。該變更根據提款憑證將建構者存款與驗證者存款分開,防止當兩者使用同一公鑰時資金進入錯誤的帳戶。
該漏洞涉及的是開發中的規則,而非以太坊主網上已確認的盜竊事件。開發者已將該修正納入規範,儘管各個共識客戶端仍需實作並測試修訂後的行為。
以太坊 Glamsterdam 缺陷暴露驗證者存款風險
該問題源於 Glamsterdam 內建提案者-建構者分離(enshrined proposer-builder separation)下計畫的變更,該機制將區塊建構與區塊提案分配給不同角色。建構者組裝交易負載,而驗證者則透過以太坊的權益證明系統參與提案與確認區塊。
研究員 avsetsin 於 10 月 12 日描述了該缺陷,指出在網路升級時處理等待中存款的規則存在問題。如果建構者在驗證者存款以同一公鑰到達之前先使用該公鑰註冊,擬議的邏輯可能會將兩筆存款都記入建構者名下。
該研究員概述了一個情境,涉及一名質押營運商從流動性質押協議接收資金以建立新的驗證者。透過先註冊為建構者,該營運商可以使該協議的驗證者存款進入建構者餘額,而該餘額的提款地址可能處於該營運商的控制之下。
「該營運商可以提取該協議的資金,」avsetsin 在 GitHub 報告中警告道。
由於預期的驗證者不會被建立,該質押服務可能難以取得完成其正常存款與恢復程序所需的證明。
該研究員透過初步程式碼研究審查了涉及 Lido、Origin 和 Rocket Pool 的潛在風險暴露。這些發現取決於各個協議如何處理存款,且該報告並未證實這些專案已遭受漏洞利用。
開發者在進一步審查後推翻決定
儘管該研究員描述了存款路由風險,擬議的修正最初仍遭到以太坊客戶端開發者的抵制。10 月 19 日,Traglia 在核心開發者討論後關閉了該拉取請求。
「目前客戶端的支持不足以進行此變更,」Traglia 寫道。
該決定並未維持,開發者在進一步審查後於 10 月 23 日重新開啟了該提案。
隨後,審查者 potuz 批准了該方案,但要求針對特定存款組合進行更多測試。Avsetsin 於 10 月 23 日新增了這些測試,涵蓋建構者與驗證者存款共享公鑰但需要分開處理的情況。
在進一步的客戶端審查後,最終變更於 10 月 26 日合併至以太坊的共識規範中。該變更將有效的驗證者存款導向驗證者佇列,同時允許合法的建構者存款註冊或向現有建構者增加資金。
新規則透過提款憑證來區分存款,提款憑證決定了允許的提款安排。即使同一公鑰同時出現在兩種角色中,這些規則仍保留獨立的建構者與驗證者記錄。
Hoodi 延遲讓開發者有更多時間調查
這項規格更新發布之際,以太坊開發者正在審查另一個影響 Glamsterdam 在 Hoodi 測試網預定啟用的問題。在研究人員發現涉及 EIP-8037 的相容性風險後,以太坊基金會延後了 10 月 26 日的升級。
正如 crypto.news 先前關於延後的報導,該決定將 Amsterdam 執行層變更與 Gloas 共識層變更雙雙從 Hoodi 的預定啟用中移除。擬議將 gas 上限提高至 2 億的變更也隨之延後。
以太坊研究員 Toni Wahrstätter 解釋,EIP-8037 可能干擾依賴執行期間剩餘 gas 假設的智慧合約。他指出,在某些情況下,gas 計算可能導致交易意外回滾,或允許開發者原本認為不可達的執行路徑。
合約相容性問題與 GitHub 修正中所處理的建構者存款缺陷不同。兩者都與 Glamsterdam 有關,但基金會 10 月 22 日的延後聲明特別指出,需進一步調查 EIP-8037 與現有合約的互動。
以太坊客戶端必須實作修訂後的規則
Glamsterdam 已於 10 月 6 日在 Sepolia 測試網啟用,開發者在該處檢視了區塊建構變更與更高的交易處理容量。隨後的 Hoodi 演練仍未排定,以太坊主網啟用也尚無確認日期。
已合併的存款修正包含回歸測試,涵蓋 Gloas 過渡期間存款如何分類。客戶端團隊必須將規格變更納入其軟體,並完成進一步測試,修訂後的規則才能在未來的網路升級期間運作。






