Bitget App
Aqlliroq savdo qiling
Kripto sotib olishBozorlarSavdoFyuchersEarnWeb3KvadratKo'proq
Savdo
Spot
Kriptoni osongina xarid qiling va soting
Marja
Sarmoyangiz va mablag'lar samaradorligini oshiring
Onchain
Onchain savdolar osonlashdi
Konvertatsiya va blokli savdo
Kriptovalyutani bir marta bosish va to'lovlarsiz konvertatsiyalash
Ko'rib chiqish
Launchhub
Oldinroq ustunlikka erishing va g'alaba qozonishni boshlang
Nusxalash
Bir marta bosish bilan elita treyderni nusxalang
Bots
Oddiy, tezkor va ishonchli AI savdo boti
Savdo
USDT-M Fyuchers
Fyucherslar USDTda hisob-kitob qilindi
USDC-M Fyuchers
Fyucherslar USDCda hisob-kitob qilindi
Coin-M Fyuchers
Fyuchers kriptovalyutalarda hisob-kitob qilindi
Ko'rib chiqish
Fyuchers bo'yicha qo'llanma
Fyuchers savdosida boshlang'ichdan kengaytirilgangacha sayohat
Fyuchers aksiyalari
Saxiy mukofotlar kutmoqda
Bitget Earn
Aktivlaringizni ko'paytirish uchun turli xil mahsulotlar
Simple Earn
Nol xavf bilan moslashuvchan daromad olish uchun istalgan vaqtda depozit qo'ying va yechib oling
On-chain Earn
Asosiy qarzni xavf ostiga qo'ymasdan har kuni daromad oling
Strukturaviy Earn
Bozordagi o'zgarishlarni boshqarish uchun kuchli moliyaviy innovatsiyalar
VIP va kapital boshqaruvi
Kapital boshqaruvini boshqarish uchun premium xizmatlar
Kreditlar
Yuqori fond kafolati bilan moslashuvchan qarz olish
Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi?

Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi?

BlockBeatsBlockBeats2025/11/04 06:25
Asl nusxasini ko'rsatish
tomonidan:BlockBeats

Ushbu hujumning asosiy muammosi protokolning kichik qiymatli tranzaksiyalarni qayta ishlashida yotadi.

Original Article Title: " Balancer $120M Hack Vulnerability Technical Analysis"
Original Source: ExVul Security


Kirish


2025-yil 3-noyabr kuni Balancer protokoli Arbitrum va Ethereum kabi bir nechta tarmoqlarda hujumga uchradi va natijada 120 million dollarlik aktiv yo‘qotildi. Hujum asosan aniqlik yo‘qotilishi va Invariant manipulyatsiyasi bilan bog‘liq ikki tomonlama zaiflik tufayli yuz berdi.


Chainlink infratuzilmasi Web3 sohasida uzoq vaqtdan beri eng yuqori standartlarni saqlab kelmoqda, bu esa uni X Layer uchun tabiiy tanlovga aylantiradi. X Layer ishlab chiquvchilar uchun institutsional darajadagi vositalarni taqdim etishga bag‘ishlangan.


Ushbu hujumdagi asosiy muammo protokolning kichik tranzaksiyalarni qayta ishlashdagi mantiqida yotadi. Foydalanuvchilar kichik miqdorlar bilan almashuv qilganda, protokol _upscaleArray funksiyasini chaqiradi, bu esa qiymatlarni pastga yaxlitlash uchun mulDown dan foydalanadi. Tranzaksiyadagi balans va kiritilgan miqdor ma’lum bir yaxlitlash chegarasiga (masalan, 8-9 wei oralig‘i) yetganda, sezilarli nisbiy aniqlik xatosi yuzaga keladi.


Ushbu aniqlik xatosi protokolning Invariant qiymati D ni hisoblashga uzatiladi va D qiymatining g‘ayritabiiy kamayishiga olib keladi. D qiymatining o‘zgarishi Balancer protokolida Balancer Pool Token (BPT) narxini to‘g‘ridan-to‘g‘ri pasaytiradi. Xaker ushbu pasaytirilgan BPT narxidan oldindan rejalashtirilgan savdo yo‘li orqali arbitraj qilish uchun foydalandi va natijada katta miqdordagi aktiv yo‘qotilishiga sabab bo‘ldi.


Foydalanilgan tranzaksiya:


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


Aktivlarni o‘tkazish tranzaksiyasi:


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


Texnik tahlil


Hujum vektori


Hujumning kirish nuqtasi Balancer: Vault kontrakti bo‘lib, mos kirish funksiyasi batchSwap funksiyasi hisoblanadi, u ichki ravishda token almashinuvi uchun onSwap ni chaqiradi.


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 0


Funksiya parametrlari va cheklovlari nuqtai nazaridan bir nechta ma’lumotlarni olish mumkin:


1. Hujumchi ushbu funksiyani Vault orqali chaqirishi kerak va uni to‘g‘ridan-to‘g‘ri chaqira olmaydi.


2. Funksiya ichki ravishda _scalingFactors() ni chaqirib, masshtablash amallari uchun scaling factor ni oladi.


3. Masshtablash amali asosan _swapGivenIn yoki _swapGivenOut da jamlangan.


Hujum naqshini tahlil qilish


BPT narxini hisoblash mexanizmi


Balancer’ning barqaror pool modeli doirasida BPT narxi muhim ko‘rsatkich bo‘lib, foydalanuvchi qancha BPT olishini va har bir BPT qancha aktiv olishini belgilaydi.


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 1


Pool’ning almashuv hisob-kitobida:


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 2


Bu yerda BPT narxi ankori sifatida xizmat qiladigan qism o‘zgarmas D qiymati bo‘lib, BPT narxini boshqarish uchun D ni boshqarish kerak. Keling, D ni hisoblash jarayonini batafsil tahlil qilamiz:


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 3


Yuqoridagi kodda D ni hisoblash jarayoni masshtablangan balanslar massiviga bog‘liq. Bu balanslarning aniqligini o‘zgartirish uchun amal bajarilishi kerakligini va bu noto‘g‘ri D hisobiga olib kelishini anglatadi.


Aniqlik yo‘qotilishining asosiy sababi


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 4


Masshtablash amali:


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 5


Yuqorida ko‘rsatilganidek, _upscaleArray orqali o‘tilganda, agar balans juda kichik bo‘lsa (masalan, 8-9 wei), mulDown dagi pastga yaxlitlash sezilarli aniqlik yo‘qotilishiga olib keladi.


Hujum jarayonining tafsilotlari


1-bosqich: Yaxlitlash chegarasiga moslash


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 6


2-bosqich: Aniqlik yo‘qotilishini qo‘zg‘atish (asosiy zaiflik)


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 7


3-bosqich: Pasaytirilgan BPT narxidan foyda olish


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 8


Yuqorida, hujumchi Batch Swap yordamida bitta tranzaksiyada bir nechta almashuvlarni amalga oshiradi:


1. Birinchi almashuv: BPT → cbETH (balansni moslashtirish)


2. Ikkinchi almashuv: wstETH (8) → cbETH (aniqlik yo‘qotilishini qo‘zg‘atish)


3. Uchinchi almashuv: Asosiy aktiv → BPT (foyda olish)


Ushbu almashuvlarning barchasi bir xil batch swap tranzaksiyasida sodir bo‘ladi, xuddi shu balans holatini baham ko‘radi, lekin har bir almashuv _upscaleArray ni chaqirib, balanslar massivini o‘zgartiradi.


Callback mexanizmining yo‘qligi


Asosiy jarayon Vault tomonidan boshlanadi. Bu qanday qilib aniqlik yo‘qotilishini to‘planishiga olib keladi? Javob balanslar massivini uzatish mexanizmida yotadi.


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 9


Yuqoridagi kodga qaraganda, Vault har safar onSwap chaqirilganda yangi currentBalances massivini yaratadi, lekin Batch Swap da:


1. Birinchi almashuvdan so‘ng, balans yangilanadi (lekin aniqlik yo‘qotilishi tufayli yangilangan qiymat noto‘g‘ri bo‘lishi mumkin)


2. Ikkinchi almashuv birinchi almashuv natijasiga asoslanib hisoblashni davom ettiradi


3. Aniqlik yo‘qotilishi to‘planadi va natijada invariant qiymati D sezilarli darajada kamayadi


Asosiy muammo:


Texnik tahlil: Balancer xakerligi $120M, zaiflik nimada edi? image 10


Xulosa


Balancer hujumini quyidagi sabablarga ko‘ra qisqacha tavsiflash mumkin:


1. Masshtablash funksiyasi pastga yaxlitlashdan foydalanadi: _upscaleArray masshtablash uchun mulDown dan foydalanadi, bu esa balans juda kichik bo‘lsa (masalan, 8-9 wei) sezilarli nisbiy aniqlik yo‘qotilishiga olib keladi.


2. Invariant qiymatini hisoblash aniqlikka sezgir: Invariant qiymati D ni hisoblash masshtablangan balanslar massiviga bog‘liq va aniqlik yo‘qotilishi D ni hisoblashga bevosita ta’sir qiladi va D ni kamaytiradi.


3. Invariant qiymatining o‘zgarishini tekshirish yo‘q: Swap jarayonida invariant qiymati D o‘zgarishi maqbul diapazonda ekanligini tekshirish uchun hech qanday tekshiruv bo‘lmagan, bu esa hujumchilarga aniqlik yo‘qotilishini takroran ekspluatatsiya qilib, BPT narxini pasaytirishga imkon berdi.


4. Batch swap larda aniqlik yo‘qotilishining to‘planishi: Bir xil batch swap ichida bir nechta swap lardan kelib chiqqan aniqlik yo‘qotilishi to‘planadi va natijada katta moliyaviy yo‘qotishlarga olib keladi.


Ushbu ikki muammo — aniqlik yo‘qotilishi va tekshiruvning yo‘qligi — hujumchining chegaraviy shartlarni puxta ishlab chiqishi bilan birga ushbu yo‘qotishga olib keldi.


0

Mas'uliyatni rad etish: Ushbu maqolaning mazmuni faqat muallifning fikrini aks ettiradi va platformani hech qanday sifatda ifodalamaydi. Ushbu maqola investitsiya qarorlarini qabul qilish uchun ma'lumotnoma sifatida xizmat qilish uchun mo'ljallanmagan.

PoolX: Aktivlarni kiriting va yangi tokenlar oling.
APR 12% gacha. Yangi tokenlar airdropi.
Qulflash!

Sizga ham yoqishi mumkin

DEXda altcoinlarni snayper qilib, biz 50 million dollar daromad oldik

1 yil ichida, 50 ming dollardan 50 million dollargacha boyib ketish haqidagi voqea.

BlockBeats2025/11/04 13:06
DEXda altcoinlarni snayper qilib, biz 50 million dollar daromad oldik

Kayfiyat o‘zgarish davri, kripto bozorida oltin qazib olish bo‘yicha qo‘llanma

Loyihaning ko‘rinishi, savdo tezligi va dastlabki ishonchi sabr-toqatdan ko‘ra muhimroqdir.

BlockBeats2025/11/04 13:05
Kayfiyat o‘zgarish davri, kripto bozorida oltin qazib olish bo‘yicha qo‘llanma