Bitget App
Trade smarter
amp.open
wiki.nav.homeamp.sign_up
Bitget>
_news.coin_news.news>
Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan?

Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan?

BlockBeats2025/11/04 06:25
_news.coin_news.by: BlockBeats
CORE+5.87%D+2.11%BAL+2.14%
Ang pangunahing isyu ng pag-atakeng ito ay nasa paraan ng paghawak ng protocol sa mga transaksyong may mababang halaga.
Original Article Title: " Balancer $120M Hack Vulnerability Technical Analysis"
Original Source: ExVul Security


Panimula


Noong Nobyembre 3, 2025, ang Balancer protocol ay inatake sa maraming chain kabilang ang Arbitrum at Ethereum, na nagresulta sa pagkawala ng asset na nagkakahalaga ng $120 milyon. Ang pag-atake ay pangunahing sanhi ng dobleng kahinaan na kinasasangkutan ng precision loss at Invariant manipulation.


Matagal nang pinananatili ng Chainlink ang pinakamataas na pamantayan sa Web3 space, kaya ito ang natural na pagpipilian para sa X Layer, na nakatuon sa pagbibigay ng institutional-grade na mga tool para sa mga developer.


Ang pangunahing isyu sa pag-atakeng ito ay nakasalalay sa lohika ng protocol sa paghawak ng maliliit na transaksyon. Kapag ang mga user ay nagsasagawa ng palitan gamit ang maliliit na halaga, tinatawag ng protocol ang _upscaleArray function, na gumagamit ng mulDown para sa pag-round down ng mga halaga. Kapag ang balanse sa transaksyon at ang input amount ay parehong tumama sa isang partikular na rounding boundary (halimbawa, nasa 8-9 wei range), nagkakaroon ng kapansin-pansing relative precision error.


Ang precision error na ito ay naipapasa sa pagkalkula ng Invariant value D ng protocol, na nagiging sanhi ng abnormal na pagbaba ng D value. Ang pagbabago ng D value ay direktang nagpapababa sa presyo ng Balancer Pool Token (BPT) sa Balancer protocol. Sinamantala ng hacker ang pinababang presyo ng BPT sa pamamagitan ng planadong trading path upang magsagawa ng arbitrage, na sa huli ay nagdulot ng napakalaking pagkawala ng asset.


Exploited Transaction:


https://etherscan.io/tx/0x6ed07db1a9fe5c0794d44cd36081d6a6df103fab868cdd75d581e3bd23bc9742


Asset Transfer Transaction:


https://etherscan.io/tx/0xd155207261712c35fa3d472ed1e51bfcd816e616dd4f517fa5959836f5b48569


Teknikal na Pagsusuri


Attack Vector


Ang entry point ng pag-atake ay ang Balancer: Vault contract, kung saan ang kaukulang entry function ay ang batchSwap function, na internal na tumatawag sa onSwap para sa token exchanges.


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 0


Mula sa perspektibo ng mga function parameters at restrictions, ilang impormasyon ang maaaring makuha:


1. Kailangang tawagin ng attacker ang function na ito sa pamamagitan ng Vault at hindi maaaring tawagin ito nang direkta.


2. Tatawagin ng function sa loob ang _scalingFactors() upang makuha ang scaling factor para sa scaling operations.


3. Ang scaling operation ay nakatuon alinman sa _swapGivenIn o _swapGivenOut.


Pagsusuri ng Pattern ng Pag-atake


Mekanismo ng Pagkalkula ng Presyo ng BPT


Sa stable pool model ng Balancer, ang Presyo ng BPT ay isang mahalagang reference point na tumutukoy kung gaano karaming BPT ang matatanggap ng user at kung gaano karaming asset ang matatanggap ng bawat BPT.


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 1


Sa kalkulasyon ng palitan ng pool:


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 2


Kung saan ang bahagi na nagsisilbing anchor ng Presyo ng BPT ay isang immutable value D, na nangangahulugang ang pagkontrol sa Presyo ng BPT ay nangangailangan ng pagkontrol sa D. Suriin pa natin ang proseso ng pagkalkula ng D:


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 3


Sa code sa itaas, ang proseso ng pagkalkula ng D ay nakadepende sa scaled balances array. Nangangahulugan ito na kailangan ng operasyon upang baguhin ang precision ng mga balances na ito, na nagreresulta sa maling pagkalkula ng D.


Pinagmulan ng Precision Loss


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 4


Scaling Operation:


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 5


Tulad ng ipinapakita sa itaas, kapag dumaan sa _upscaleArray, kung ang balanse ay napakaliit (halimbawa, 8-9 wei), ang pag-round down sa mulDown ay magreresulta sa malaking precision loss.


Detalyadong Proseso ng Pag-atake


Phase 1: Pag-aadjust sa Rounding Boundary


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 6


Phase 2: Pag-trigger ng Precision Loss (Core Vulnerability)


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 7


Phase 3: Pagsasamantala sa Pinababang Presyo ng BPT para sa Kita


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 8


Sa itaas, ginamit ng attacker ang Batch Swap upang magsagawa ng maraming palitan sa isang transaksyon:


1. Unang Palitan: BPT → cbETH (pag-aadjust ng balanse)


2. Ikalawang Palitan: wstETH (8) → cbETH (pag-trigger ng precision loss)


3. Ikatlong Palitan: Underlying Asset → BPT (pagkuha ng kita)


Lahat ng palitang ito ay nagaganap sa parehong batch swap transaction, nagbabahagi ng parehong balance state, ngunit bawat palitan ay tumatawag sa _upscaleArray upang baguhin ang balances array.


Kakulangan ng Callback Mechanism


Ang pangunahing proseso ay sinimulan ng Vault. Paano ito nagdudulot ng akumulasyon ng precision loss? Ang sagot ay nasa passing mechanism ng balances array.


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 9


Sa pagtingin sa code sa itaas, bagaman ang Vault ay lumilikha ng bagong currentBalances array tuwing tinatawag ang onSwap, sa Batch Swap:


1. Pagkatapos ng unang swap, na-update ang balanse (ngunit dahil sa precision loss, maaaring hindi tama ang na-update na halaga)


2. Ang ikalawang swap ay nagpapatuloy ng kalkulasyon batay sa resulta ng unang swap


3. Ang precision loss ay naipon, na sa huli ay nagiging sanhi ng malaking pagbaba ng invariant value D


Pangunahing Isyu:


Pagsusuri sa Teknikal: Balancer Hack na nagkakahalaga ng $120M, Ano ang Kahinaan? image 10


Buod


Ang Balancer attack ay maaaring ibuod sa mga sumusunod na dahilan:


1. Scaling Function ay Gumagamit ng Round Down: Ang _upscaleArray ay gumagamit ng mulDown para sa scaling, na nagreresulta sa malaking relative precision loss kapag ang balanse ay napakaliit (halimbawa, 8-9 wei).


2. Ang Pagkalkula ng Invariant Value ay Sensitibo sa Precision: Ang pagkalkula ng invariant value D ay nakadepende sa scaled balances array, at ang precision loss ay direktang nakakaapekto sa pagkalkula ng D, na nagiging sanhi ng pagbaba ng D.


3. Kakulangan ng Validation sa Pagbabago ng Invariant Value: Sa proseso ng swap, walang validation upang tiyakin na ang pagbabago sa invariant value D ay nasa makatwirang saklaw, kaya't pinapayagan ang mga attacker na paulit-ulit na samantalahin ang precision loss upang pababain ang presyo ng BPT.


4. Akumulasyon ng Precision Loss sa Batch Swaps: Sa loob ng parehong batch swap, ang precision loss mula sa maraming swap ay naipon at sa huli ay nagdudulot ng malaking financial losses.


Ang dalawang isyung ito—precision loss at kakulangan ng validation—kasama ng maingat na disenyo ng attacker ng boundary conditions, ay nagresulta sa pagkawala na ito.


_news.coin_news.disclaimer
PoolX: Naka-lock para sa mga bagong token.
Hanggang 12%. Palaging naka-on, laging may airdrop.
Mag Locked na ngayon!

_news.coin_news.may_like

_news.coin_news.trending_news

_news.coin_news.more
1
Nakuha ng Europe ang unang stablecoin infrastructure ETP habang inilista ng Virtune sa Nasdaq at Xetra
2
Lido gumagamit ng Chainlink CCIP upang tiyakin ang seguridad ng cross-chain na paglilipat ng wstETH sa mahigit 16 na blockchain

_news.coin_news.crypto_prices

_news.coin_news.more
Bitcoin
Bitcoin
BTC
₱6,126,370.99
+4.56%
Ethereum
Ethereum
ETH
₱204,074.9
+10.12%
Tether USDt
Tether USDt
USDT
₱58.69
-0.02%
XRP
XRP
XRP
₱137.88
+10.43%
BNB
BNB
BNB
₱56,438.68
+6.59%
Solana
Solana
SOL
₱9,604.17
+8.80%
USDC
USDC
USDC
₱58.68
-0.01%
TRON
TRON
TRX
₱17.01
+4.29%
Dogecoin
Dogecoin
DOGE
₱9.85
+9.99%
Cardano
Cardano
ADA
₱32.01
+8.78%
Paano magbenta ng PI
Inililista ng Bitget ang PI – Buy or sell ng PI nang mabilis sa Bitget!
Trade na ngayon
Hindi pa Bitgetter?Isang welcome pack na nagkakahalaga ng 6200 USDT para sa mga bagong Bitgetters!
Mag-sign up na
Trade smarter