熱門話題
#
Bonk 生態迷因幣展現強韌勢頭
#
有消息稱 Pump.fun 計劃 40 億估值發幣,引發市場猜測
#
Solana 新代幣發射平臺 Boop.Fun 風頭正勁
首先,我對@Balancer團隊以及所有受到此次漏洞影響的人表示最深切的同情。
當出現如此重大的DeFi黑客事件時,這總是一個艱難的日子,更不用說是來自一個老牌協議。比起被盜資金的金額,這真的傷害了整個加密貨幣和DeFi的形象,並使我們的行業倒退了幾個月。
事實是,Solidity這種語言對於真正承載未來金融來說太不安全了。Solidity的表面積太大,容易受到黑客攻擊,開發者依賴手動檢查從訪問控制到精確數學的所有內容,這正是像Move這樣的資產優先語言最初被發明的原因。
經過一些調查,這就是Balancer被黑的方式:攻擊者利用穩定池交換中的四捨五入錯誤來扭曲池的不變量,這是一個代表平衡流動性的關鍵數學常數。他們從以BPT(Balancer Pool Tokens)為基礎資產的閃電貸款交換開始,將餘額推向精確的四捨五入邊界(例如,縮放到9)。然後,他們以精心設計的數量在資產之間進行交換,例如將wstETH交換為cbETH(例如,~8.918因固定點縮放而向下四捨五入為8),低估了儲備變化並人為地降低了不變量(D)。
這使得BPT價格暴跌(D / totalSupply),讓攻擊者能夠以低價反向交換來鑄造過量的BPT,燒毀它以“正常”價格提取基礎資產,並口袋裡的差額,基本上是從流動性提供者那裡偷取。利潤累積在Vault的內部餘額中,並通過manageUserBalance以WITHDRAW_INTERNAL的方式提現,因為數學缺陷補貼了盜竊,無需直接的授權繞過。這是Solidity的手動固定點庫中的精度損失,導致了巨大的資金流失。
Move將如何完全繞過這次黑客攻擊是通過將安全性嵌入核心:資產被視為具有線性類型的資源,強制執行嚴格的保護(沒有意外的重複、丟失或損失),數學使用精確的u64/u128整數,內建溢出中止,沒有浮點數,沒有在複雜計算中可被利用的四捨五入錯誤。
在基於Move的DEX中,交換功能將通過虛擬機原子性地檢查和更新不變量,並在任何不平衡時中止,例如:
public entry fun swap(pool: &mut LiquidityPool, in: Coin, out_amt: u64): Coin {
assert!(coin::value(&in) >= calculate_required_in(pool, out_amt), E_INSUFFICIENT_INPUT);
coin::merge(&mut pool.coin_x_reserve, in);
let out = coin::extract(&mut pool.coin_y_reserve, out_amt);
assert!(check_invariant(pool), E_INVARIANT_VIOLATION);
out
}
此外,原子交易消除了重入風險。這就是為什麼Move生態系統的漏洞遠少於EVM。
是時候讓DeFi建設者擁抱像Move這樣的語言,從根本上優先考慮安全性,這樣我們才能最終建立一個堅韌的金融未來,而不會再有像這樣可避免的挫折。
熱門
排行
收藏

