Cardano は、2017年のローンチ以来最も深刻な技術的障害に見舞われました。11月21日に誤形成トランザクションが引き金となり、14時間にわたってチェーンが分裂し、時価総額140億ドルのブロックチェーンが競合するフォークに分かれる事態となりました。この出来事をめぐって、意図的な攻撃だったのか、それともテストの失敗だったのかを巡る激しい議論が巻き起こりました。
開発者によって「Poison Piggy」と名付けられたこの事件は、Cardano ノードソフトウェアに3年間潜んでいたバグを露呈させ、ブロックチェーンに互換性のない2つの見解を生み出しました。
創設者の Charles Hoskinson 氏は、この分裂はFBIの関与が必要な「計画的攻撃」だと主張。一方で、「Homer J」と名乗る開発者が公に責任を認め、自身がテストネットの異常を再現しようとする個人的なチャレンジの最中に行った「不注意な行為」だったと説明しました。
フォークはどのように起きたのか
Intersect のインシデントレポートによると、チェーン分裂は11月20日にカルダノのプレビューテストネットで最初に表面化したシリアライゼーションバグから発生しました。誰かがハッシュ値が過大な誤った委任証明を送信し、実質的に(ホスキンソン氏が運営する個人ステークプールである)「RATS」ではなく「RATSRATS」へ委任する形になっていました。
旧バージョンのノードはこの不正なハッシュを正しく拒否しましたが、2024年11月に更新されたコードを実行していたノードはハッシュを切り詰めて有効として扱いました。
このバージョン差により、ブロックチェーン開発者 Pi Lanningham 氏が説明したような、互換性のない2本のチェーンが形成されました。より厳格な検証コードを実行する「chicken chain」と、誤形成トランザクションを受け入れる「pig chain」です。米東部時間11月21日午前3時02分頃に、ほぼ同一の誤った委任がメインネットに送信され、ネットワークは分裂しました。
サービス低下と影響
Lanningham 氏の分析によると、被害は大きかったものの範囲は限定的でした。14時間のウィンドウの間に、pig chain は846ブロックを生成し、一方 chicken chain は約13,900ブロックを生成しました。堅牢なインフラを通じたトランザクションの取り込みは大幅に遅延し、最悪時には約400秒の遅延と、ブロック生成間隔がおよそ16分まで伸びました。
観測された14,383件のトランザクションのうち、479件(約3.3%)は破棄された pig chain 上にのみ存在し、最終的な正史には取り込まれませんでした。これらの多くは再送信された際、有効期限切れやインプットの競合により無効であることが判明しました。ブロックエクスプローラーも混乱し、一部はフリーズしたり、矛盾するデータを表示したりしました。
「これはユーザーにとって深刻なサービス低下にあたるが、高可用性サービスにおいて想定される範囲内ではある」と、Lanningham 氏は記しました。同氏は、サービス品質は低下したものの、資金は安全に保たれ、危機の間もネットワークは進捗を続けていたと強調しました。
攻撃か事故か?
このインシデントは、行為の意図を巡る激しい論争に火をつけました。ホスキンソン氏は、数カ月にわたりネットワークを害する方法を探していた「不満を持つステークプール運営者」による標的型攻撃だと characterize しました。「これは標的型攻撃であり、計画的なものだった。やり方を見つけるのに数時間はかかったはずだ……悪意ある行為だった」と述べ、FBIに連絡したと付け加えました。
しかし、当該トランザクションを送信した本人は、SNS上で「Homer J」として投稿し、異なる見解を示しました。「影響の大きさを考えれば『ごめんなさい』だけでは足りないのは分かっていますが、カルダノの皆さん、昨日の夜、私の不注意な行為でネットワークを危険にさらしたのは私です。『悪いトランザクションを再現できるか試してみよう』という個人的なチャレンジとして始まり、そして私はそれをメインネットに展開してしまうという愚かなことをしてしまいました」と語りました。
タイミングも疑念を呼びました。同じ異常がテストネットで24時間前に発生しており、本番実行前にエクスプロイトが試された可能性が示唆されたためです。
コンセンサスによるネットワーク回復
深刻な事態ではあったものの、カルダノの対応はその分散型ガバナンス構造を示すことになりました。テストネットでのインシデントを受け、すでにパッチ適用済みノードが用意されていました。一夜のうちに、Input Output Global、Cardano Foundation、Emurgo、Intersect、取引所、ステークプールオペレーターらが緊急コールで連携し、修正版へのアップグレードと、より厳格な chicken chain への追従を進めました。
プロトコルレベルのロールバックや中央集権的な「再起動」は行われませんでした。ステークがアップグレード済みノードへ移行するにつれ、pig chain 上のブロック生成は減速し、chicken chain は加速しました。健全なフォークが汚染されたフォークを追い越した時点で、Ouroboros の確率的ファイナリティ特性により、ノードは自動的により長く高密度なチェーンへと切り替わりました。
「これは、ナカモトコンセンサスが意図通りに機能し、ネットワークを単一の正史へと収束させたという具体的証拠だ」と、Lanningham 氏は主張しました。ホスキンソン氏はさらに踏み込み、このインシデントは「他のチェーンなら致命的だっただろうが、カルダノの設計により、協調的な復旧のための十分な時間が確保された」と述べました。
教訓と今後のハードニング
ホスキンソン氏と Lanningham 氏はいずれも、このインシデントによって深刻な弱点が露呈したことを認めました。「そもそもこのバグが表面化したこと自体が、テストの厳密さにおける失敗だ」と、Lanningham 氏は率直に述べました。cardano-db-sync への依存により、そのコンポーネントが誤形成トランザクションでクラッシュした際、エコシステムは「目隠し飛行」の状態に陥りました。多くのステークプール運営者は、フォーク選択について自ら検証することなく、創業団体の推奨に従ってアップグレードしていました。
事後のロードマップでは、より強力なファジングや仕様駆動テスト、ウォレットや取引所が実際のコンセンサス健全性に基づくサーキットブレーカーを実装できるようにする、より豊かなノード・クライアント間プロトコル、監視インフラの多様化、そしてストレス下での Ouroboros の振る舞いについてオペレーターをより良く教育することが求められています。
ADA の価格はインシデント中に約6%下落し、広範な暗号資産市場の回復をアンダーパフォームしながら、現在は約0.41ドルで取引されています。事態の深刻さに比して下落幅が限定的だったことは、市場が今回の出来事を根本的な失敗ではなくネットワークのレジリエンスを試すテストだと見なしたことを示唆しており、カルダノは最終的にこれに合格したものの、喫緊に改善すべき領域も明らかになりました。
次に読む: Cardano Whales Accumulate $204 Million in Four Days Despite 30% Price Decline

