Balancer 去中心化交易協議中的一個關鍵漏洞使攻擊者能夠透過在批量交換機制中利用四捨五入錯誤,提取超過 1.2 億美元。分析顯示 EXACT_OUT 交換函數中的有缺陷邏輯在多個步驟中不當地放大和縮小代幣數量,從而產生微小的餘額不平衡,於重複交易中累積。這些差異,宛如剃除美分的小數位,被黑客系統性地榨取,直到觸發流動性保護機制不足的條件。
這次漏洞針對包含不同小數精度的代幣的流動性池,這種情況在多次安全審計後仍未被發現。批量交易期間,Balancer 的程式碼在執行價格計算前,將輸入數量轉換為 18 位小數表示,然後再把結果還原為原生代幣的十進位精度。在某些情況下,最後一步的向下縮放卻向上取整,將多餘的資產授予交易發起者。透過高頻微小交換的協調,攻擊者產生的累積收益繞過鏈上滑點限制。
發現後,Balancer 團隊發布初步報告,並與區塊鏈驗證者與節點運營商協調實施緊急措施。在 Polygon 與 Sonic 上,治理機構啟動凍結模組,以鎖定受影響的流動性池合約並攔截外發轉移。Berachain 的利害關係人批准緊急硬分叉,以回滾此次攻擊的時窗並為流動性提供者實現賠償。這些干預凸顯了不可變賬本原則與在 DeFi 生態系統中快速危機回應之間的持續張力。
此事件重新點燃了對安全控制中心化的爭論,批評者認為凍結功能和硬分叉與「代碼即法則」的精神相悖。支持者則反駁說,在高風險環境中,適應性治理工具對保護用戶是必要的。Balancer 的漏洞凸顯了對小數處理檢查嚴謹性的重要性,同時顯示出利用數學邊緣案例的日益演變的攻擊向量。協議開發者現在重新檢視審計框架,並整合自動化模糊測試以檢查小數運算,防止未來發布出現類似漏洞。
評論 (0)