事后分析:网络中断事件 - 用户资金安全面临风险,根本原因与区块构建者逻辑中的漏洞有关

BBlockBeats
於 6 月 27 日,Base 工程團隊發布了關於 6 月 25 日和 6 月 26 日發生的區塊生產中斷事件的回顧。第一次事件發生於 6 月 25 日東部時間上午 11:47,持續了 116 分鐘,而第二次事件發生於 6 月 26 日上午 11:28,持續了 20 分鐘。 兩次事件的根本原因相同。鏈的完整性並未受到損害,Base 上的所有資金均保持安全。在團隊緩解事件後,區塊生產已安全恢復。 根本問題在於排序器(sorter)的區塊構建邏輯中存在一個漏洞,該漏洞導致在交易驗證失敗後未能清除過時的日誌狀態(log state)。區塊構建器接受了一個無效交易,並按預期執行失敗。然而,系統錯誤地保留了包含已訪問帳戶和儲存槽的日誌狀態。 隨後,在日誌狀態被正確清除之前執行了一個有效交易,導致 Gas 費用不匹配,並創建了一個具有無效狀態轉換的區塊。其他節點無法接受此區塊,導致鏈完全停止。事件期間,Base 無法生產新的 L2 區塊,排序器和驗證器節點無法越過無效區塊進行推進;因此,新的交易無法添加到鏈上。 團隊修補了排序器,以確保在執行過程中正確更新日誌狀態,從而解決了中斷問題。Base 表示,他們將加強協議的模糊測試(fuzz testing)和負載測試工具,以便更容易地識別可能暴露類似漏洞的對抗性交易模式。他們還將繼續改進運營和監控能力。 [律動]