新聞加密貨幣Polygon 修補可讓有效交易拖慢節點的錯誤

Polygon 修補可讓有效交易拖慢節點的錯誤

作者: Coindoo·

重點速覽

  • •Polygon 修補了 BlockSTM V2 中兩個中等嚴重程度的漏洞,這些漏洞可能讓有效交易產生不成比例的節點端工作並延遲區塊處理。
  • •這些錯誤僅構成可用性風險,交易結果與共識未受影響,且 Polygon 表示在主網與 Amoy 測試網上均不知有被利用的情況。
  • •Bor v2.10.3 更新限制了共享的投機執行快取並啟用程式碼雜湊重用,且無需硬分叉、資料庫遷移或節點重新同步。
  • •私人版本已於 10 月 5 日發布至 Amoy 測試網、10 月 8 日發布至主網,大多數驗證者與主要 RPC 供應商在公開揭露前已運行修補版本。
  • •由於此次發布沒有協議層面的升級期限,仍在運行 Bor v2.10.2 或更早版本的營運者的修補覆蓋率是最需要關注的指標。
Polygon 修補可讓有效交易拖慢節點的錯誤

Polygon 已修補 BlockSTM V2 中的兩個漏洞。BlockSTM V2 是驅動 Polygon PoS 區塊鏈的 Bor 用戶端內的平行執行系統,這些漏洞原本可能讓有效交易拖慢網路節點。根據 Polygon 公布的技術審查報告,這些錯誤並未改變交易結果,也未威脅共識。其風險在於可用性:節點可能已計算出區塊的正確結果,卻因處理時間過長而落後於網路的其他節點。該公司於公開發布 Bor v2.10.3(包含修補的用戶端版本)的同時揭露了這些發現。

Polygon 表示,目前並不知道主網或 Amoy 測試網上有任何被利用的情況。

為何序列執行率先完成卻未終止延遲

Bor 同時以序列與平行兩種方式處理傳入的區塊,並採用先完成的路徑。序列執行遵循交易順序,而平行執行則嘗試並行處理交易,隨後驗證其假設的依賴關係是否正確。當交易彼此不依賴時,這種方式可加快一般工作負載的處理速度,但同時也會產生投機性工作,必須在不再有用時立即停止。

這種設計使 Bor 屬於樂觀平行執行系統的家族:用戶端假設大多數交易彼此獨立,將它們並行執行,並在假設錯誤時付出驗證成本。這類系統中的效能錯誤通常表現為浪費的工作,而非錯誤的結果,這與 Polygon 所描述的情況相符。

Polygon 的重複程式碼雜湊測試暴露了這一缺口。序列執行在數十毫秒內完成了該交易,但平行路徑卻持續運作了約 11 秒。當時,取消檢查只在交易之間進行,這意味著一筆已在平行執行中運作的高成本交易,即使在序列執行已產生結果之後仍必須執行完畢。

這正是該測試具有重要意義的原因:交易是有效的,Bor 也能迅速確定其最終狀態,但節點仍必須等待不必要的處理結束。

兩個缺陷導致 gas 無法完全計價的工作

這兩個漏洞源自不同的過剩工作來源。其一允許投機執行保留過多的已計算資料;另一個則在可以重用先前結果的情況下,仍反覆重新計算合約的程式碼雜湊。

Gas 上限會向使用者收取特定交易操作的費用,但並不總是涵蓋用戶端實作所引入的每一項成本。在這些情況下,快取增長與冗餘雜湊運算可能造成與交易表面成本不成比例的節點端工作。

Polygon 將這兩個錯誤均歸類為中等嚴重程度,並表示兩者均不影響共識。此評級與發現的性質一致:風險在於節點變慢與資源浪費,而非交易結果被改變或共識受損。

Bor v2.10.3 修補內容為何

v2.10.3 的修補在不改變執行結果的前提下約束了這些額外開銷。此次更新限制了投機執行期間使用的共享快取,並使 Bor 能夠重用程式碼雜湊結果,而非在重複讀取時重新計算。目標是防止有效但棘手的工作負載消耗過多資源或不必要地延長區塊處理時間。

根據 Bor v2.10.3 發行說明,此公開版本無需硬分叉、資料庫遷移或節點重新同步。營運者可個別升級自己的節點。

私人修補先於公開揭露

Polygon 表示,已於 10 月 5 日向 Amoy 測試網發布私人版本,隨後於 10 月 8 日發布主網私人版本,並在升級已覆蓋網路大部分節點後,於 10 月 15 日在 Polygon 治理論壇上發布技術揭露。另一份發布公告則說明了主網與測試網的部署情形。

發行說明指出,大多數驗證者與主要 RPC 供應商已運行私人版本。但這並不代表每個連線節點都已升級,因此 Polygon 的營運者公告呼籲使用 Bor v2.10.2 或更早版本的用戶儘快更新。已使用私人版本的營運者可在下一個維護時段轉移至公開版本。

剩下的問題是修補覆蓋率

對錢包、應用程式與其他服務而言,落後的節點可能回傳延遲的鏈上資訊,或使交易提交耗時更長。Polygon 的揭露並未證實使用者曾遭遇此類中斷,且該公司表示並不知道主網或 Amoy 上有被利用的情況。

由於 v2.10.3 不包含硬分叉,因此沒有協議層面的截止期限強制落後者升級;採用進度取決於各營運者自身的安排。這使得修補覆蓋率成為值得關注的可觀察指標:仍運行 v2.10.2 或更早版本的 Bor 營運者多快轉移至修補版本。

Polygon 在更快處理速度與支付基礎設施方面的更廣泛工作,使這種營運可靠性格外重要。此次修補移除了兩個已確認的過剩工作來源;實際的下一步是讓其餘的 Bor 營運者套用更新。

本文僅供資訊參考之用。漏洞描述與利用評估均依據 Polygon 公開的揭露內容。

來源:Coindoo