1万ドルでイーサリアムを3分間完全封鎖し300万ドルを強奪したFomo3Dハイスト
2018年8月、10,469 ETH(約4億円)の賞金が積まれたDAppゲームFomo3D。誰も勝てないはずの永久ゲームを、ある天才プレイヤーがスマートコントラクトをハックするのではなくイーサリアムの13連続ブロックを物理的に買い占めて勝利した伝説の実話。

3点クイック要約
- 発端 / 逆説2018年夏、24時間タイマーが0になる瞬間に最後のキー(Key)を購入した1人がプールされた全賞金(10,469 ETH)を独占するFomo3Dが世界的なブームとなりました。
- 決定的瞬間30秒ごとに誰かがキーを購入して永久に終わらない中、攻撃者はブロック6191896でキーを購入後、500 Gweiの超高額ガス代でassert(false)トランザクションを連射。
- 歴史的結末マイナーを買収して13連続ブロックのガス枠(各800万Gas)を100%独占し、他者の取引を3分間遮断。タイマーを00:00:00に到達させ、わずか1万ドルのコストで300万ドルを勝ち取りました。
出来事のタイムライン
Team JUSTが配当とジャックポットを組み合わせた自律型宝くじコントラクトを公開し、Ethereumのガス代が高騰。
攻撃者(0x18e1...)がタイマー残り3分のタイミングでキーを1個購入し、暫定首位に立つ。
ブロック6191897〜6191908を500 Gweiのassert()取引で埋め尽くし、他プレイヤーの取引を遮断。
タイマーが満了し、スマートコントラクトから10,469.66 ETHが攻撃者ウォレットへ一括送金される。
Ethereumのガスオークションの欠陥が実証され、将来のEIP-1559導入とMEV対策の直接の契機となる。
1. 終わらない悪魔のゲーム:1万ETHのジャックポット
2018年夏、匿名の開発者集団『Team JUST』が公開したスマートコントラクトゲーム**Fomo3D**は、Ethereumネットワーク全体を熱狂と混乱に陥れました。ルールは極めてシンプルながらも悪魔的なゲーム理論に基づいていました。
画面中央では24時間のカウントダウンタイマーが時を刻んでいました。誰かがETHで『キー(Key)』を1つ購入するたびにタイマーに30秒が加算され、購入代金は既存キー保有者への配当と中央のジャックポット金庫に分配されました。
勝利条件はただ1つ:**タイマーが00:00:00になった瞬間、最後にキーを購入した人物が金庫内の全賞金(10,469 ETH/当時約300万ドル)を独占すること**でした。しかし世界中のプレイヤーと自動BOTが30秒ごとにキーを買い続けたため、タイマーは数ヶ月間24時間付近を推移し続け、『永久に終わらないゲーム』と呼ばれていました。
2. 発想の転換:コードではなくブロックチェーン自体を止めろ
多くのハッカーがFomo3DのSolidityソースコードを精査し脆弱性を探しましたが、コントラクトのロジックは完璧でした。
しかし、ある匿名の天才攻撃者は全く異なる視点に着目しました:**「コントラクトをハックできないなら、Ethereumの合意形成とガス代の仕組みを利用して、ネットワークを3分間だけ物理的に麻痺させればいい」**
当時、Ethereumの1ブロックあたりのガス上限(Gas Limit)は約800万Gasで、生成時間は約14秒でした。また、マイナーはガス代(Gas Price)を最も高く提示した取引を最優先でブロックに取り込む仕様でした。攻撃者は、タイマーが残り3分を切った瞬間に最後のキーを買い、**その後の13連続ブロックを自分の高額取引で100%埋め尽くす『ブロックスタッフィング(Block Stuffing)』作戦**を立案しました。
3. Solidityのassert()爆弾と13連続ブロックの完全封鎖
2018年8月22日午後、取引が一時的に緩みタイマーが3分を下回った瞬間、攻撃が開始されました。攻撃者のウォレット(`0x18e1...`)はブロック**6191896**でキーを1つ購入し、暫定1位に立ちます。
直後、攻撃者のBOTは事前にデプロイしていた特殊な攻撃用スマートコントラクトへ一斉に取引を送信しました。このコントラクトの核は、Solidityの`assert(false)`命令でした。
失敗時に余剰ガスを返還する`require()`とは異なり、当時の`assert()`は**割り当てられた数百万Gasを強制的に100%全焼却する仕様**でした。攻撃者は1取引あたり約420万Gasを指定し、通常相場(10〜20 Gwei)の25倍以上となる**500 Gwei**という破格のガス代を設定しました。
「攻撃者はFomo3Dのコードをハックしたのではない。Ethereumの経済的インセンティブを利用して、マイナーを買収し180秒間世界を遮断したのだ」— SECBIT Labs オンチェーン分析レポート(2018年)
マイナーは最も利益の大きい攻撃者の500 Gwei取引を最優先でブロックに詰め込みました。わずか2〜3個の取引でブロックの800万Gasが完全に埋まり、**ブロック6191897から6191908までの13連続ブロック**が完全に封鎖されました。他プレイヤーがタイマーを延長しようと送った数万件の購入取引は、メモリプール(Mempool)に閉じ込められたまま1件もブロックに入れませんでした。
4. 00:00:00到達と300万ドルの賞金獲得
約3分間にわたり、Ethereum上でFomo3Dへ至るすべての通信が遮断されました。誰もキーを購入できず、不滅と思われたタイマーはゲーム史上初めて**00:00:00**に到達しました。
コントラクトは即座に勝者を確定し、金庫に保管されていた**10,469.66 ETH**の全額が攻撃者ウォレットへと一括送金されました。
この作戦の経済的効率は驚異的でした。攻撃者が13ブロックを封鎖するために費やしたガス代とキー購入費用の総額は、**わずか11,000ドル(約130万円/約2.76 ETH)**。わずか1万ドルの投資で3分間に**300万ドル(約4億円)**を強奪した、リターン27,000%の完全犯罪でした。
5. 事件の遺産:EIP-1559とMEVの夜明け
Fomo3Dハイストは、スマートコントラクトセキュリティの常識を覆しました。開発元のTeam JUSTは不正を非難するどころか、「ゲーム理論を完璧に突いた天才的な勝利」と攻撃者を称賛しました。
この事件は、ブロックチェーンの合意レイヤーにおけるガスオークション構造がDAppのビジネスロジックをいかに破壊し得るかを世界中の開発者に突きつけました。
この攻撃を教訓として、ブロックスタッフィングを防ぐためのガス手数料改革案である**EIP-1559**の議論が加速し、現代の暗号資産エコシステムにおける最重要テーマである**MEV(Maximal Extractable Value)**研究の決定的な幕開けとなりました。
この事件から学ぶ重要教訓(Key Takeaways)
スマートコントラクトを無力化する合意レイヤー(Layer 1)独占
ビジネスロジックにバグがなくても、ゲームルールが時間内のブロック取り込みに依存していれば、マイナーへのガス賄賂によって回避可能です。
非対称な経済インセンティブとガス買い占めの威力
獲得できる賞金(約4億円)がブロック買い占め費用(約130万円)を圧倒する場合、合理的な攻撃者は常に正規ユーザーを上回る入札で取引を検閲します。
「Code is Law」とゲーム理論の冷酷な美しさ
開発元のTeam JUSTはこの攻撃を賞賛し、経済的インセンティブが絶対的なルールを決定するというブロックチェーンの現実を示しました。
出典・参考文献
- 出典 1: SECBIT Labs: How the Winner Got the Fomo3D 10,469 ETH PrizeSECBIT · 2018-08-22
- 出典 2: The Next Web: How someone gamed Ethereum to win $3M in Fomo3DThe Next Web · 2018-08-23
- 出典 3: Bitcoin.com: Fomo3D Round 1 Ends as Winner Takes 10,469 ETHBitcoin.com · 2018-08-23