ブロックチェーンブリッジのNomadにハッキング、約250億円が流出
今回は「ブロックチェーンブリッジのNomadにハッキング、約250億円が流出」についてご紹介します。
関連ワード (セキュリティ等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
異なるブロックチェーン間での仮想通貨の移動を可能にする仮想通貨プロトコルを手がけるNomadのブリッジが、米国時間8月1日にハッキングを受け、1億9000万ドル(約250億円)が流出した。「分散型強盗」と呼ばれるこの攻撃では、Nomadのプログラムに不具合があったことから、スクリプトをコピー&ペーストするだけで資金を盗み出せる状態になっていた。
ブロックチェーンは、詳しい人でなければどれも同じに見えるかもしれないが、仮想通貨のトレーダーはイーサリアム、アバランチ、ソラナなど、複数の異なるブロックチェーンを利用することが多い。ビットコインを取得してイーサリアムのブロックチェーンで使ったり、イーサを取得してソラナで使ったりするなど、異なるブロックチェーン間でトークンを取り引きするとなると、実際はかなり複雑になることがある。こうした需要に対応するため、Nomadを含む複数の企業が「クロスチェーン」ブリッジを開発してきた。あるブロックチェーン上のスマートコントラクトに仮想通貨を預け、そのトークンを別のブロックチェーンに「ブリッジ」(橋渡し)する仕組みだ。
今回の攻撃で重要なポイントは、このプロセス全体がスマートコントラクトにロックされた仮想通貨に依存している点にある。イーサリアムのスマートコントラクトに預けられた1イーサでも、たとえばアバランチのブロックチェーンでユーザーが受け取るイーサの担保として機能する。Nomadはハッキングを受ける前、スマートコントラクトにユーザーの資金1億9000万ドル以上を置いていた。本記事執筆時点で、スマートコントラクトにロックされたままなのはわずか9000ドル(約120万円)だ。
皮肉なことに、そのスマートコントラクトへの「アップグレード」が、容易に実行可能な攻撃につながった。分散型金融は匿名性が高く、不正な手口を仕掛けられやすい。その結果、プロトコルから盗み出された金額は、ものの数時間で1億9000万ドルに達したのだ。
技術的な側面を理解するには、イーサリアムの開発言語であるSolidityを知っている必要がある。要点は、スマートコントラクトが壊れたということだ。承認されるべきでない特定の取引が実行され、複製される可能性があった。不審な取引が始まったのは、米国太平洋時間8月1日午前9時13分頃、複数のウォレットがブリッジから100ビットコイン(約3億400万円)を抜き取った時だとみられる。そこからは誰もが、最初の攻撃者が使ったスクリプトを正確にコピー&ペーストし、スクリプト中のウォレット番号だけを自分の番号に置き換えて、それを実行するだけでよかった。ほかには、イーサや、米ドルに連動するステーブルコインのUSD Coin(USDC)など、他のトークンで資金を持ち出す人もいた。
仮想通貨投資会社Paradigmの研究者であるSam Sun氏は、この攻撃を解説する連続ツイートで、次のように書いた。「今回のハックがこれほどの混乱を招いた理由はこうだ。Solidityや(取引データを要約する)Merkle Treesなどの技術について知っている必要はなかった。必要なのは、うまくいくトランザクションを見つけ、送金先のアドレスを自分のものに置き換えて、それを再送信するだけでよかったのだ」
別のブロックチェーン研究者は、「CTRL-C、CTRL-V(コピー&ペーストのショートカットキー)のように簡単だ」とツイートした。
Nomadは状況を調査中であり、資金を追跡し回収すべくブロックチェーン分析会社や警察と協力しているとツイートしている。