2025/11/03
Balancer Hacked—Market Unbalanced—Trust Fractured

article.tldr
↑ common.top2025年11月3日(UTC)、分散型取引所(DEX)プロトコルである Balancer が大規模なハッキング被害を受け、約 1.28 億ドルの資産が流出した。本攻撃は、スマートコントラクト内部の丸め処理に関する極めて小さな計算誤差を悪用したものであり、結果として DeFi 史上最大級の損失を引き起こした。
article.background
↑ common.topBalancerプロトコルについて
Balancer は 2020 年にローンチした自動マーケットメーカー(AMM)で、ユーザーが自由に設計できる流動性プールとスワップ機能を提供する。
2021 年の V2 アップデートでは、ガス効率の改善に加え、Composable Stable Pools を導入。特に osETH や wstETH などステーキング系 ETH トークンの高効率な交換を可能にした点が特徴である。
過去のセキュリティインシデント
Balancer は過去 5 年間で複数の事故を経験しており、累計損失は約 2,100 万ドルに達していた。
| 時期 | 事件内容 | 損失額 |
|---|---|---|
| 2020年6月 | フラッシュローン攻撃 | ~50万ドル |
| 2023年8月 | V2 プールに対するフラッシュローン攻撃 | 210万ドル |
| 2023年9月 | フロントエンドハイジャック | ~20万ドル |
| 2023-2024年 | その他複数の攻撃 | — |
OpenZeppelin、Trail of Bits、Certora を含む 11 社による監査を受けていたものの、本件の脆弱性は発見されなかった。
article.vulnerability
↑ common.top問題となった技術的脆弱性
攻撃の根本要因は、Composable Stable Pools の _upscale 関数における 丸め処理の不整合である。
メカニズムの詳細
- スケーリング処理の欠陥
トークンを 18 桁精度に正規化する際、常に切り下げ(mulDown)を適用していた。 - 業界標準との乖離
通常は「プロトコルに有利な方向」で丸めるが、Balancer ではユーザーに有利な切り下げが行われていた。 - 精度損失の増幅
通常 1 wei 程度の誤差で済むところ、プール残高が 8〜100 wei まで低下すると、1 wei が 5〜10% の相対誤差に膨れ上がる。
function _upscale(uint256 amount, uint256 scalingFactor) internal pure returns (uint256) {
return FixedPoint.mulDown(amount, scalingFactor); // 常に切り下げ
}article.attackMethod
↑ common.top攻撃者は、丸め誤差が低流動性条件で相対的に大きくなる点に着目し、以下の 3 段階を 65 回繰り返す バッチスワップを実行した。結果として、プールの内部評価値を意図的に下げ、歪んだ価格を利用して資産を吸い上げた。
① 流動性の薄化(特定トークン残高を極小化)
攻撃者は大量の BPT をプール内トークン(WETH・osETH・wstETH など)に交換し続け、特定のトークン残高を 8〜9 wei という"ほぼゼロ"の状態に追い込んだ。
残高がここまで減少すると、通常は無視できる 1 wei の丸め誤差が 10%以上の相対的価値変動となり、攻撃に有利な条件が整う。
② 精度損失の誘発(丸め誤差を内部価値の下落として蓄積)
次に攻撃者は、小額の EXACT_OUT スワップ(例:17 WETH)を実行し、_upscale による一貫した切り捨て処理を利用して丸め誤差を発生させた。
残高が極端に少ない状態では、この丸め誤差がそのままプールの内部評価値の下落として反映され、1 回あたり数 % の価値低下が累積していく。
③ 割安化した BPT の利用による価値の抽出
丸め誤差の蓄積によってプールの内部評価値が下落すると、それに連動して BPT(プールシェア)の価格のみが不当に安くなる。
一方で、プール内部に残っている WETH や osETH などの実資産の価値はほぼ変化しない。
攻撃者はこの価格歪みを利用し、
- 割安になった BPT を購入
- BPT を使い、本来価値で残っているプール内資産を引き出す
- 差額を利益として確定
という裁定取引を成立させた。この 3 ステップを 65 回繰り返すことで、総額 1.28 億ドル相当の資金が流出した。
article.impact
↑ common.top金銭的損失
| チェーン | 損失額 | 主要流出資産 |
|---|---|---|
| Ethereum | 約 6,300 万ドル | WETH 6,586、osETH 6,851 |
| Arbitrum | 非公開 | — |
| Base | 非公開 | 約 6,500 万ドル |
| Polygon / Optimism / その他L2 | 非公開 | — |
| 合計 | 1.28 億ドル | — |
プロトコルへの影響
- TVL が約 4.42 億ドル → 2.14 億ドルへ急減
- BAL トークン価格が 5〜12% 下落
- ユーザーによる緊急出金が多数発生
市場全体への波及
- イーサリアム価格が 7〜9% 下落(3,600ドル割れ)
- 強制清算が 11 億ドル超発生
- Balancer を利用する Berachain や Beethoven X などの関連プロジェクトも影響を受けた
article.response
↑ common.top即時対応(11月3日)
- 影響を受けた Composable Stable Pools を全面停止
- 「問題は V2 の特定プールに限定、V3 は安全」と公式発表
- パートナー(StakeWise など)と協力し資産の緊急凍結を実施
復旧措置
- ホワイトハット協力により 410 万〜2,000 万ドルを回収
- 被害返還に対し、最大 20% の報奨金を提示
- V3 においては既に 18 桁精度統一や ERC4626 バッファーにより問題が解消済み
長期的対応
- 問題のある V2 Stable Pool を段階的に廃止
- Certora、Trail of Bits と共同で詳細な事後分析を公表予定
- 不変条件テストやリアルタイム監視を含む、セキュリティ体制の強化を進行中
article.social
↑ common.topコミュニティの声
- セキュリティ懸念
「成熟したプロトコルでも一夜で崩壊し得る」との批判が多数 - 信頼低下
DeFi の脆弱性依存モデルへの不満が増加 - 初期声明への不満
「潜在的」という表現が過小評価だとの指摘も見られた
article.lessons
↑ common.top- AI や形式手法を取り入れた継続的監査が必須
- テールリスクに備える保険メカニズムの整備
- 異常挙動を検知して処理を即停止させる回路遮断機構の導入
- 「往復スワップで元の価値を上回らない」等の不変条件テストの強化
article.conclusion
↑ common.top今回の Balancer V2 エクスプロイトは、DeFi プロトコルに内在する精度誤差と設計上の相互作用が、どれほど重大な結果を招き得るかを示した象徴的な事例である。わずかな計算誤差を突かれるだけで、1.28 億ドル規模の損失が発生したことは、プロトコル設計における形式検証・検出システム・継続的監査の重要性を改めて浮き彫りにしている。