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