分散型金融(DeFi)のレンディング・プロトコルおよびプロジェクト「bZx」がわずか数日間で2回のハッキングを受けて、合計95万4000ドル(約1億円)の損失が発生した可能性がある。DeFi支持者は大きな衝撃を受けているという。
bZxチームは2月17日、業界イベントに参加した2月14日に初めて攻撃を受けたことを公表。また仮想通貨メディア「ザ・ブロック」が2月19日、2回目の攻撃が2月18日に発生したと報じた。
1回目の攻撃手順
1回目の攻撃は、1トランザクション内での無担保融資が可能となる仕組み「フラッシュローン」を悪用したものとされる。bZxによると、攻撃者は、複数のDeFi関連プロトコルを使用し、大量の仮想通貨イーサリアム(ETH)とWBTCを付与および交換し、分散型レバレッジ取引の価格と利益を操作できるようにしたという(bZxのドキュメントよりも、グーグル元開発者による「The bZx attacks explained」の方が詳しい)。
wBTCは、ビットコイン(BTC)に1:1で裏付けされたETH基盤のERC-20準拠トークン(Wrapped Bitcoin=WBTC)。米国の仮想通貨ウォレット会社ビットゴー(BitGo)やカイバーネットワーク(Kyber Network)などが2018年10月に共同で立ち上げたプロジェクトでもある。
攻撃者は、まずDeFiレンディング・プロトコルdYdXから1万ETH(約2億8000万円)を借り受けた。
次にDeFi貸付のコンパウンド(Compound)において、 112WBTC(約1億円)借り入れの担保として(1万ETHのうち)5500ETH(約1億7000万円)を使用した。
またコンパウンドでの動きと同時期に、bZxが展開している分散型信用取引・融資プラットフォームフルクラム(Fulcrum)に対して攻撃者は1300ETH(約4000万円)を送付。ここでは、ETH/BTCペアで、レバレッジ5倍のショートポジション(空売り)を開始した。ここでbZx内部では、ETH・ERC20準拠トークン向けの分散型取引所(DEX)プロジェクトユニスワップ(Uniswap)にルーティングされたカイバースワップ(カイバーネットワークのDEX)を介して、5637ETHを51WBTCに変換(ユニスワップ側でWBTC価格が上昇)。
さらにユニスワップにおいて、攻撃者は(コンパウンドで5500ETHを担保に借りた)112WBTCを6871ETHに交換。これは、フルクラム上での行為により価格が影響を受けた結果だという。
攻撃者はdYdXに1万ETHを返却し、最終的に1137ETCの利益を得たことになる。
2度目の攻撃
2度目の攻撃の詳細はほとんど不明ながら、bZxプロジェクトの公式テレグラムグループにおいて、プロジェクト事業責任者のカイル・キスナー氏が発したコメントによると、オラクル操作攻撃だったという。
一般に分散型オラクルとは、DeFiなど各種スマートコントラクトに対して、為替レート・株式・財務データなどの実世界情報を提供する分散型データ管理システムを指す。
ザ・ブロックによると、損失は2388ETH(約7400万円)と見積もられているという。キスナー氏は、1回目の攻撃同様にハッキングを無効化しユーザーの資金の損失を防げるとしたそうだ。さらに同氏は、チェインリンク(Chainlink)プロトコルに基づいたオラクルに切り替えることを約束し、システムをより安全にすると示唆したという。
翻訳・編集 コインテレグラフジャパン
【関連記事:仮想通貨取引所Fコイン、最大137億円相当のビットコイン不払いも】