autorenew
Balancer V2の精密解析:$125MのDeFiハックを解き明かす

Balancer V2の精密解析:$125MのDeFiハックを解き明かす

やあ、クリプト好きの皆さん!分散型金融(DeFi)の世界にどっぷり浸かっている人も、ブロックチェーン上のミームトークンにちょっと手を出している人も、2025年11月3日にエコシステムを揺るがした大規模なBalancer V2のエクスプロイトの話は耳にしているはずです。これはありふれたハックではなく、Composable Stable Poolsなどから$125M以上を巧みに吸い上げた高度に練られた攻撃でした。長年クリプトニュースを追ってきた者として言えるのは、今回の件は技術的な巧妙さで際立っているということです。技術に詳しくない人にも分かりやすく、段階を追って解説します。

まずは、早期に発見して詳細分析を公開した BlockSec のチームに敬意を。彼らは事態発生直後にアラートを出し、流言を払拭する洞察を提供してくれました。ブロックチェーンのセキュリティに興味があるなら、彼らの仕事は必読です。

何が起きたか:Balancer V2エクスプロイトの概観

Balancer V2は流動性プールを作るための人気のあるDeFiプロトコルで、特にETHのラップ版のように1:1近くで取引されることを意図した「Composable Stable Pools」で知られています。これらのプールは流動性シェアを表す Balancer Pool Tokens(BPT)を使用します。今回のエクスプロイトは、プロトコルが数値計算を扱う際の欠陥、具体的には丸めの不整合による精度喪失を突いたものです。これにより攻撃者は価格を操作し、通常の警告なく資金を流出させました。

要点はこうです。スワップ時の数値の丸め処理を悪用し、ごく小さな数学的な齟齬を大きな利益に変えたのです。総損失は$125Mを超え、Balancer本体だけでなくフォークしたプロジェクトも被害を受けました。プロトコルを迅速に一時停止できなかったため、模倣攻撃も相次ぎました。

Balancer V2のComposable Stable Poolsの背景

今回のハックを理解するために、基本を押さえましょう。Composable Stable Poolsは、安定資産や相関の高い資産向けに設計され、スリッページ(大口取引時の価格変動)を最小化します。これらはCurveのStableSwapモデルを取り入れており、プールの仮想的な総価値を表す不変量「invariant D」を使います。

BPT価格は概ね次のように計算されます:

BPT価格の近似式

攻撃者が実際に資金を即座に盗まなくてもDを小さく見せることができれば、BPTが安く見え、後で有利に退出できる状況が生まれます。

スワップはVaultの batchSwap() 関数を介して行われ、マルチホップ取引をサポートしています。モードは GIVEN_IN(入力量を指定して出力を計算)と GIVEN_OUT(出力量を指定して入力を算出)の2種類です。計算は不変量Dを用いて多項式を解く形になります。

GIVEN_OUTスワップの実行経路図

異なる小数桁を持つトークン間で公平性を保つために、Balancerは全てを共通の精度にスケーリングしてから計算を行い、計算後にスケーリングダウンします。アップスケールは切り捨て、ダウンスケールは文脈によって切り上げまたは切り捨てになります。

アップスケーリング操作の式 ダウンスケーリング操作の式

問題は?丸め方向の不一致が小さな損失を生み、それを巧妙に組み合わせると累積して悪用可能になる点です。

脆弱性:丸め不整合による精度喪失

核心は、GIVEN_OUT用のスワップ関数がアップスケーリング時に不適切に切り捨てを行っている点です。これにより必要な入力量が過小評価され、攻撃者は安価にスワップを行って不変量Dを収縮させることができます。結果としてBPTの価格が安く見え、攻撃につながります。

swapGivenOut内で脆弱なアップスケーリングを示すコード断片

これはDeFiの黄金律を破るものです:丸めは常にプロトコル側に有利に働くべきであり、ユーザー有利に働くべきではありません。

攻撃の展開方法

攻撃者は非常に巧妙で、検出を避けるために攻撃を2段階に分けて実行しました。ステージ1:利益を受け取らずにプールを操作する。ステージ2:後で利益を回収する。

ステージ1では、オフチェーンで計算を行い、オンチェーンのヘルパーコントラクトを使ってパラメータを微調整しました。彼らは精度喪失を最大化するための「trickAmt」を算出しました:

trickAmtの計算式

その後の batch swap では以下の手順が取られました:

  • ステップ1:BPTをアセットにスワップして、あるトークンの残高を丸めの境界に押し上げる。

  • ステップ2:設計された量でアセット間のスワップを行い、精度喪失を引き起こしてDを収縮させる。

エクスプロイトにおけるΔxとΔyの計算
  • ステップ3:縮小された価格で再びBPTにスワップして差額を手に入れる。

彼らはこのループを何千回もシミュレーションして効果を増幅させました。

影響と損失

被害は広範囲に及びました。攻撃と損失の概要は次の表のとおりです:

チェーンごとの攻撃と対応損失の表

合計で$125M以上が失われ、主にArbitrum上のwstETH/rETH/cbETHのようなプールが狙われました。

教訓とミームトークンへの関連性

このエクスプロイトは、Balancerのような検証済みプロトコルでも数学的な隠れた欠陥があることを思い出させます。ミームトークンの開発者やトレーダーにとっては警鐘です:多くのミームプロジェクトはフォークされたDeFiツール、安定プールを流動性に使うことがあり、同様の仕組みを使っている場合、この種の脆弱性で一夜にして価値が吹き飛ぶ可能性があります。

主要な対策ポイント:

  • 丸めは常にプロトコル側に有利になるよう実装することを優先する。

  • 高精度の数学と十分な検証を用いること。

  • 実際に機能する緊急停止(pause)メカニズムを用意すること。

  • BlockSec Phalcon のようなツールで脅威を監視すること。

ミームトークンを作る/投資するなら、常に最新情報を追ってください—このような事件はエコシステム全体に波及し、流動性や信頼に影響を与えます。

あなたはどう思いますか?これまでにDeFiのエクスプロイトで被害を受けたことはありますか?コメントで意見を教えてください。また最新のブロックチェーン技術やミーム関連の情報は meme-insider.com をチェックしてください。安全第一で!

おすすめ記事