Bitget App
Trading lebih cerdas
Beli kriptoPasarTradingFuturesEarnWeb3WawasanSelengkapnya
Trading
Spot
Beli dan jual kripto dengan mudah
Margin
Perkuat modalmu dan maksimalkan efisiensi dana
Onchain
Trading Onchain, Tanpa On-Chain
Konversi & perdagangan blok
Konversi kripto dengan satu klik dan tanpa biaya
Jelajah
Launchhub
Dapatkan keunggulan lebih awal dan mulailah menang
Copy
Salin elite trader dengan satu klik
Bot
Bot trading AI yang mudah, cepat, dan andal
Trading
Futures USDT-M
Futures diselesaikan dalam USDT
Futures USDC-M
Futures diselesaikan dalam USDC
Futures Koin-M
Futures diselesaikan dalam mata uang kripto
Jelajah
Panduan futures
Perjalanan pemula hingga mahir di perdagangan futures
Promosi Futures
Hadiah berlimpah menantimu
Ringkasan
Beragam produk untuk mengembangkan aset Anda
Earn Sederhana
Deposit dan tarik kapan saja untuk mendapatkan imbal hasil fleksibel tanpa risiko
Earn On-chain
Dapatkan profit setiap hari tanpa mempertaruhkan modal pokok
Earn Terstruktur
Inovasi keuangan yang tangguh untuk menghadapi perubahan pasar
VIP dan Manajemen Kekayaan
Layanan premium untuk manajemen kekayaan cerdas
Pinjaman
Pinjaman fleksibel dengan keamanan dana tinggi
Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya?

Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya?

BlockBeatsBlockBeats2025/11/04 06:25
Tampilkan aslinya
Oleh:BlockBeats

Masalah utama dari serangan ini terletak pada penanganan transaksi bernilai kecil oleh protokol tersebut.

Original Article Title: " Analisis Teknis Kerentanan Peretasan Balancer $120M"
Original Source: ExVul Security


Kata Pengantar


Pada 3 November 2025, protokol Balancer diserang di beberapa chain termasuk Arbitrum dan Ethereum, yang mengakibatkan kerugian aset sebesar $120 juta. Serangan ini terutama disebabkan oleh kerentanan ganda yang melibatkan kehilangan presisi dan manipulasi Invariant.


Infrastruktur Chainlink telah lama mempertahankan standar tertinggi di ranah Web3, menjadikannya pilihan alami untuk X Layer, yang didedikasikan untuk menyediakan alat tingkat institusional bagi para pengembang.


Masalah utama dalam serangan ini terletak pada logika protokol dalam menangani transaksi kecil. Ketika pengguna melakukan pertukaran dengan jumlah kecil, protokol memanggil fungsi _upscaleArray, yang menggunakan mulDown untuk pembulatan ke bawah. Ketika saldo dalam transaksi dan jumlah input keduanya mencapai batas pembulatan tertentu (misalnya, kisaran 8-9 wei), terjadi kesalahan presisi relatif yang signifikan.


Kesalahan presisi ini diteruskan ke perhitungan nilai Invariant D protokol, menyebabkan pengurangan nilai D yang tidak normal. Fluktuasi nilai D secara langsung menurunkan harga Balancer Pool Token (BPT) dalam protokol Balancer. Peretas memanfaatkan harga BPT yang ditekan ini melalui jalur perdagangan yang telah direncanakan untuk melakukan arbitrase, yang pada akhirnya menyebabkan kerugian aset besar-besaran.


Transaksi yang Dieksploitasi:


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


Transaksi Transfer Aset:


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


Analisis Teknis


Vektor Serangan


Titik masuk serangan adalah kontrak Balancer: Vault, dengan fungsi masuk yang sesuai adalah fungsi batchSwap, yang secara internal memanggil onSwap untuk pertukaran token.


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 0


Dari perspektif parameter dan pembatasan fungsi, beberapa informasi dapat diperoleh:


1. Penyerang harus memanggil fungsi ini melalui Vault dan tidak dapat memanggilnya secara langsung.


2. Fungsi ini secara internal akan memanggil _scalingFactors() untuk mendapatkan faktor skala untuk operasi penskalaan.


3. Operasi penskalaan terkonsentrasi di _swapGivenIn atau _swapGivenOut.


Analisis Pola Serangan


Mekanisme Perhitungan Harga BPT


Dalam model stable pool Balancer, Harga BPT adalah titik referensi penting yang menentukan berapa banyak BPT yang diterima pengguna dan berapa banyak aset yang diterima setiap BPT.


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 1


Dalam perhitungan pertukaran pool:


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 2


Bagian yang berfungsi sebagai jangkar Harga BPT adalah nilai D yang tidak dapat diubah, yang berarti mengendalikan Harga BPT memerlukan pengendalian D. Mari kita analisis lebih lanjut proses perhitungan D:


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 3


Pada kode di atas, proses perhitungan D bergantung pada array saldo yang telah diskalakan. Ini berarti diperlukan operasi untuk mengubah presisi saldo-saldo ini, yang menyebabkan perhitungan D menjadi salah.


Akar Masalah Kehilangan Presisi


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 4


Operasi Penskalaan:


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 5


Seperti yang ditunjukkan di atas, saat melewati _upscaleArray, jika saldo sangat kecil (misalnya, 8-9 wei), pembulatan ke bawah pada mulDown akan menyebabkan kehilangan presisi yang signifikan.


Rincian Proses Serangan


Fase 1: Penyesuaian ke Batas Pembulatan


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 6


Fase 2: Memicu Kehilangan Presisi (Kerentanan Inti)


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 7


Fase 3: Mengeksploitasi Harga BPT yang Tertekan untuk Keuntungan


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 8


Di atas, penyerang menggunakan Batch Swap untuk melakukan beberapa pertukaran dalam satu transaksi:


1. Pertukaran Pertama: BPT → cbETH (penyesuaian saldo)


2. Pertukaran Kedua: wstETH (8) → cbETH (memicu kehilangan presisi)


3. Pertukaran Ketiga: Aset Dasar → BPT (pengambilan keuntungan)


Semua pertukaran ini terjadi dalam transaksi batch swap yang sama, berbagi status saldo yang sama, namun setiap pertukaran memanggil _upscaleArray untuk memodifikasi array saldo.


Ketiadaan Mekanisme Callback


Proses utama dimulai oleh Vault. Bagaimana ini menyebabkan akumulasi kehilangan presisi? Jawabannya terletak pada mekanisme pengoperan array saldo.


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 9


Melihat kode di atas, meskipun Vault membuat array currentBalances baru setiap kali onSwap dipanggil, dalam Batch Swap:


1. Setelah swap pertama, saldo diperbarui (tetapi karena kehilangan presisi, nilai yang diperbarui mungkin tidak akurat)


2. Swap kedua melanjutkan perhitungan berdasarkan hasil swap pertama


3. Kehilangan presisi terakumulasi, akhirnya menyebabkan nilai invariant D menurun secara signifikan


Masalah Utama:


Analisis Teknis: Peretasan Balancer sebesar $120M, Apa Kerentanannya? image 10


Ringkasan


Serangan pada Balancer dapat dirangkum karena alasan berikut:


1. Fungsi Penskalaan Menggunakan Pembulatan ke Bawah: _upscaleArray menggunakan mulDown untuk penskalaan, yang menyebabkan kehilangan presisi relatif yang signifikan ketika saldo sangat kecil (misalnya, 8-9 wei).


2. Perhitungan Nilai Invariant Sangat Sensitif terhadap Presisi: Perhitungan nilai invariant D bergantung pada array saldo yang telah diskalakan, dan kehilangan presisi secara langsung mempengaruhi perhitungan D, menyebabkan D menurun.


3. Tidak Ada Validasi Perubahan Nilai Invariant: Selama proses swap, tidak ada validasi untuk memastikan bahwa perubahan nilai invariant D berada dalam rentang yang wajar, sehingga penyerang dapat berulang kali mengeksploitasi kehilangan presisi untuk menekan harga BPT.


4. Akumulasi Kehilangan Presisi dalam Batch Swap: Dalam batch swap yang sama, kehilangan presisi dari beberapa swap terakumulasi dan akhirnya menyebabkan kerugian finansial yang signifikan.


Kedua masalah ini—kehilangan presisi dan kurangnya validasi—dikombinasikan dengan desain kondisi batas yang cermat oleh penyerang, menyebabkan kerugian ini.


0

Disclaimer: Konten pada artikel ini hanya merefleksikan opini penulis dan tidak mewakili platform ini dengan kapasitas apa pun. Artikel ini tidak dimaksudkan sebagai referensi untuk membuat keputusan investasi.

PoolX: Raih Token Baru
APR hingga 12%. Selalu aktif, selalu dapat airdrop.
Kunci sekarang!

Kamu mungkin juga menyukai

Jaksa AS menuntut hukuman penjara lima tahun untuk pendiri Samourai Wallet

Jaksa penuntut Amerika Serikat menuntut hukuman penjara selama 60 bulan untuk kedua pendiri Samourai Wallet, Keonne Rodriguez dan William Lonergan Hill, karena menjalankan bisnis pengiriman uang tanpa izin. Jaksa menuduh bahwa Rodriguez dan Lonergan mengoperasikan layanan crypto mixing yang membantu mencuci setidaknya $237 juta hasil kejahatan selama hampir satu dekade. Rodriguez dijadwalkan akan dijatuhi hukuman pada 6 November, sementara hukuman untuk Hill dijadwalkan pada 7 November.

The Block2025/11/04 11:06
Jaksa AS menuntut hukuman penjara lima tahun untuk pendiri Samourai Wallet

Berachain mendistribusikan hard fork binary untuk mengatasi eksploitasi Balancer V2

Berachain Foundation mengumumkan bahwa mereka telah mendistribusikan binary hard fork darurat kepada para validator. Para validator menghentikan jaringan pada hari Senin setelah eksploitasi di Balancer V2 mengungkapkan kerentanan pada bursa desentralisasi asli Berachain.

The Block2025/11/04 10:35
Berachain mendistribusikan hard fork binary untuk mengatasi eksploitasi Balancer V2

Lebih dari $1,3 miliar posisi crypto dilikuidasi saat bitcoin turun di bawah $104.000 dan mengguncang pasar yang 'rapuh'

Bitcoin telah turun di bawah $104.000, memicu likuidasi setidaknya $1,37 billions, terutama pada posisi long, menurut data CoinGlass. Analis menunjuk pada ketakutan yang masih tersisa dari penurunan tajam 10 Oktober, arus keluar dari ETF, penutupan pemerintah AS, dan berkurangnya likuiditas global sebagai kemungkinan pemicu penurunan ini.

The Block2025/11/04 10:35
Lebih dari $1,3 miliar posisi crypto dilikuidasi saat bitcoin turun di bawah $104.000 dan mengguncang pasar yang 'rapuh'