Polygon 表示 Austin 與 Kyoto 硬分叉已修補 PoS 網路安全問題
重點速覽
- •Kyoto 將 Heimdall 升級至 v0.11.0,並在交易進入共識前拒絕超過巢狀門檻的交易。
- •Austin 透過設定 state-sync gas 的每區塊硬性上限,並從 wire format 中移除 TxDependency 欄位來修補 Bor。
- •Polygon 表示,這些漏洞在主網上未被利用,且在分叉啟用前已完成修補。
- •所有節點都必須執行 Bor v2.10.0,驗證者與 full nodes 則必須使用 Heimdall 0.11.0,否則將與 canonical chain 脫節。
- •Polygon 表示,這些升級只需二進位更新,不涉及 state migration、genesis change 或完整重新同步。

Polygon Labs 低調釋出了兩個硬分叉,修補其權益證明(PoS)網路中的多項安全問題。
這個 layer-2 網路之後才在論壇貼文中公布細節。所有節點營運者都必須升級,否則將被排除在網路共識之外。
Austin 分叉阻止節點送出 TxDependency 欄位
最嚴重的漏洞出現在 Heimdall,這是用來協調 Polygon 驗證者的軟體。
根據 Parvez03 的論壇貼文,Heimdall 會將每筆交易的內容包進一個名為 google.protobuf.Any 的包裝器中。
包裝器可以再包在另一個包裝器裡,就像箱子可以一層一層疊放。不過在這個情況下,包裝層數沒有上限。
攻擊者幾乎可以零成本建立一筆被這些層級包裹的交易,迫使驗證者浪費運算能力去拆解它。
Polygon 將這個漏洞形容為「一種無需授權即可迫使整個驗證者集合承擔高成本、彼此相關工作的方法」。
Kyoto 硬分叉將 Heimdall 升級至 v0.11.0。
該貼文寫道:「Kyoto 新增了位元組層級的預掃描,當交易的巢狀深度超過門檻時即予以拒絕,並在 mempool 接收(CheckTx)與共識路徑(ProcessProposal)上以相同方式強制執行。」
Polygon 會檢查兩次:
當交易進入時。
當驗證者建立區塊時。
第二個硬分叉名為 Austin,聚焦於 Bor,也就是 Polygon 的執行客戶端。它修補了兩條拒絕服務攻擊路徑。
其中一條與 state-sync events 有關,這是承載 L1 到 L2 橋接存款的程序。這些事件會像一般交易一樣執行合約程式碼與 precompiles。不過,所消耗的 gas 並沒有按每個區塊設上限。
Austin 分叉為 state-sync gas 加上每區塊硬性上限。
Polygon 也從未限制 TxDependency 欄位的大小。
驗證者可以在其中塞入大量資料,讓每一個讀取該區塊的節點當機。除此之外,該區塊看起來並沒有其他異常。
Austin 直接將這個欄位從 wire format 中移除。
Kyoto 分叉在 Heimdall 高度 51,533,000 啟用
Polygon 表示,沒有人在主網上利用這些漏洞,而且在分叉上線前已全部修補完成。
Austin 分叉已於主網 Bor block 91,949,700 啟用,而 Kyoto 分叉則在 Heimdall height 51,533,000 啟用。
所有節點都需要 Bor v2.10.0。驗證者與 full nodes 也需要 Heimdall version 0.11.0。執行舊版軟體的節點已經從 canonical chain 分叉出去。
這些修補只是單純的二進位升級,不需要 state migration、genesis change 或完整重新同步。
POL 交易價格為 $0.09,過去 24 小時下跌約 9.3%。根據 CoinGecko,該代幣仍處於綠區,過去 30 天上漲 25.8%。
根據先前 Cryptopolitan 的報導,7 月時 Heimdall V2 mainnet 曾離線約一小時。