Ouroborosが実戦で証明した「自己治癒」──カルダノ11.21インシデントの核心
2025年11月21日、カルダノは約14時間にわたりサービス低下を経験した。
だが、この出来事は単なる障害ではなく、Ouroboros が持つ理論上の“自己治癒能力”が実世界で裏付けられた瞬間でもあった。
IOGのAggelos Kiayias教授が公開した公式ブログ「Ouroboros: self-healing in the wild」は、このインシデントを、プロトコルの安全性の文脈で読み解く“決定版の分析”になっている。
1. 何が起きたのか──2つのチェーンに分裂
トラブルの原因は、ノードバージョン 10.3.1/10.4.1/10.5.1 に存在した シリアライズ・バグ だった。
- 影響を受けた多数派のSPOが「バグ版」を稼働
- 少数派のSPOは問題のないバージョンを稼働
- そこに「バグを悪用する不正トランザクション」が投入
結果としてメインチェーンは次の2つに分岐した。
- バグ版の多数派が支える“毒されたチェーン”
- 仕様どおりの挙動をする少数派の“正しいチェーン”
通常の最長チェーン型PoSでは「多数派が正しい側」であるはずだが、今回は「多数派が仕様逸脱」という逆転現象が起き、一時的にHMA(正直多数の前提)が崩壊した。
2. HMA(正直多数)が崩れても Ouroboros は壊れない
ここが本件の最重要ポイントである。
Ouroboros や Bitcoin のような「最長チェーン型」のプロトコルは、一時的な正直多数の崩壊から自動回復できることが2024年のIOG研究で証明されている。
研究が示したポイントは次の通り:
● ① 過去のブロックはどこまで安全か?
“攻撃強度”より深いブロックは消えない。
(攻撃強度とは:多数派が敵対化していた時間 × その偏りの大きさ)
● ② どれくらいで正常化するのか?
回復時間も“攻撃強度”の大きさに比例する。
今回のケースでは:
- HMA違反: 約8時間
- 敵対的優位: 数百ブロック分
- 実際の回復時間: 約14時間
理論と現実がほぼ一致しており、Ouroboros の自己治癒が実地で確認された形となった。
3. どうやって回復したのか──自動的なチェーンスイッチ
復旧の流れはこうだ。
- パッチを適用するSPOが増加
- 正しいチェーンを支える“正直ステーク”が増加
- 毒されたチェーンは支持を失う
- 正しいチェーンが長さで逆転
- 全ノードが最長チェーンルールに従い“自動で正しいチェーンに合流”
ここで強調すべきは、
✔ 手動介入が一切不要だったという点
- チェーンの強制チェックポイントなし
- 不正チェーンのブラックリスト化なし
- アプリやツール側の強制修正なし
Ouroboros が“仕様に忠実な側”へネットワークを自律的に引き戻した。
4. もし他チェーン(BFT型)だったらどうなったか?
比較として、BFT型(2/3超の投票でブロックを最終化)を想定すると、状況は大きく悪化する。
BFTの場合:
- バグを抱えた多数派が“不正ブロックを最終確定”してしまう
- バージョンアップしても、その「誤った確定証明」が残り続ける
- 修復には
- 正しいチェーンの手動チェックポイント
- 不正チェーンのブラックリスト化
- 各種ツール・ブリッジ・ライトクライアントの修正 が必要
- さらにスラッシング規則と整合性をとる必要もある
つまり、Ouroboros のような“自己治癒”はほぼ成立しない。
今回のインシデントは、最長チェーン型の強靭性を際立たせる結果になった。
5. 学ぶべき教訓──“起こり得る未来”に備えていた設計
研究の役割は、
「まだ起きていないが、いつか起こり得る問題」を先回りして理解することにある。
今回の障害は、Cardano史上で最も大規模なチェーン分岐だったが、Ouroboros の慎重で先進的な設計は、この“想定されていた逆境”に対応する準備ができていた。
今回のインシデントが示したこと
- Ouroboros の自己治癒能力は理論だけでなく“実戦で有効”
- 一時的な正直多数の崩壊をプロトコルが吸収できる
- 全ネットワークを自動的に正しいチェーンへ回帰させられる
- BFT型が抱える“誤った最終化”の問題を避けられた
これは、長期的なレイヤー1の信頼性に直結する極めて重要な成果である。
■ まとめ──カルダノは“壊れず、自ら立ち直った”
今回のインシデントは、外部から見れば“障害”だが、技術的視点で見れば
カルダノの中核プロトコルが、想定外の逆境でどれほど強靱かを証明した事例
と言える。
Ouroboros は、
- 不正な多数派を自動的に乗り越え
- 正しいチェーンを自然に復権させ
- アプリやツールまで自動修復した
これは、他チェーンでは実現が難しい“自律的な安全性”であり、
カルダノの設計哲学の正しさを改めて裏付けるものだった。
以下はIOGブログ記事「Ouroboros: self-healing in the wild」を翻訳したものです。
Ouroboros:野生環境での自己治癒
2025年12月3日 Aggelos Kiayias 教授
2025年11月21日、Cardanoは約14時間にわたりサービス低下を経験した。
このインシデントについては、すでに複数の観点から分析が行われている(例:こちら や こちら)。
しかし本ブログの目的は、これらの出来事を Ouroboros プロトコルが提供するセキュリティ保証の文脈で捉え直す ことである。
これにより、Ouroboros が理論的に提供している保証が「現実のストレスシナリオ」と比べてどれほど有効だったのかを評価し、今後の設計や運用上の意思決定に向けた示唆を得ることができる。
何が起きたのか
サービス低下の原因は、ノードソフトウェアのバージョン 10.3.1・10.4.1・10.5.1 で発見された シリアライズ・バグ によるものだった。
インシデント発生時、ネットワークのステークの超多数が、このバグを含むバージョンを実行するSPOに委任されており、一方で少数のSPOは影響を受けないバージョンを実行していた。
この不一致に加え、バグを悪用するために意図的に不正なトランザクションが送信されたことで、メインチェーンは2つに分岐した。
- バグのある多数派が支える「毒されたチェーン」
- 正常な少数派が仕様どおりに構築する「正しいチェーン」
バグ発見後すぐに公開されたパッチには修正が含まれており、SPOはアップグレードを急がれた。
時間の経過とともに、より多くのSPOがパッチ適用済みノードへ移行した。
理論家の視点──多数派が“敵対的”に見える瞬間
Ouroboros は“最長チェーン(Nakamoto-style)”型のPoSアルゴリズムであり、そのセキュリティの中心は 正直多数(HMA:honest majority assumption) に依存している。
これは端的に言えば、
ブロックチェーンが安全に機能するには、ネットワークを支配するリソースの多数派が「正直に(仕様に従って)」行動しなければならない
という前提である。
- PoW(例:Bitcoin)ではリソース=ハッシュパワー
- PoS(Cardano)ではリソース=ステーク
しかし、前提の精神は変わらない。
全ステークの多数を握る参加者が仕様に従うことが必要 という点だ。
今回のインシデントでは、シリアライズ・バグの影響を受けたノードは仕様を正しく実行できず、正しいチェーンを支えられなくなった。
かつ、悪意のあるトランザクション送信直後は、影響ノードがステーク多数を占めていたため、一時的にHMAが破られた状態となった。
これはカルダノの合意プロトコルにとって“悪い日”だったのか?
そうではない。
Ouroboros は レジリエンス(回復性) を重視した設計であり、プロトコル稼働時間の100%でHMAが満たされる必要はない。
実際、IOG研究者らによる2024年の論文(IEEE CSFで発表)では、
Bitcoin や Ouroboros のような最長チェーン型プロトコルは、
一時的なHMA崩壊から自動的に回復できる
ということが証明されている。
これが初めて「明確な理論保証」として示された。
論文が解明した主な問いは次の2つ:
- 攻撃開始前のチェーンは「どれだけ深いブロックまで侵食され得るか」
- HMAが回復した後、チェーンが正常化するまでにどれだけ時間がかかるか
主な結論はこうだ:
- もしHMA違反がプロトコル上位構造(Cardanoでは epoch)を破壊しない程度であれば、プロトコルは自動的に安全状態へ戻る
- “違反の強さ”が回復時間を決める
ここでの“違反の強さ”とは、簡単に言えば:
HMAが破られていた期間中、
スロットリーダーの分布がどれほど“敵対的側”に偏ったかを示す累積的な量
この理論に基づき、次が導かれる:
- 攻撃の“強さ”より深いブロックは安全に残る
- HMA復旧後、回復時間は“強さ”の規模に比例する
今回の事例では、違反は約8時間継続し、累積で数百ブロックの優位があった。
理論上は同程度の時間で正常化が起きるとされ、実際にも約14時間後に正しいチェーンが追いつき、復旧した。
迅速な復旧
まとめると、今回観測された復旧は、まさにOuroborosが“設計どおりに”示した 自己治癒の振る舞い だった。
- パッチを適用するSPOが増える
- 正しいチェーンを支える“正直ステーク”が増加
- 毒されたチェーンはステーク支持を急速に失う
結果、正しいチェーンが長さで逆転し、
ネットワーク全体が自動的に正しいチェーンへスイッチした。
しかもこの過程には、
- チェックポイント指定なし
- チェーンのブラックリスト化なし
といった手動介入が一切不要だった。
これは、SPOが徐々に正しい仕様のチェーン解釈へ移行したことにより、ツール類やアプリケーションも自動的に正常化されたためである。
他のブロックチェーンでも“自己治癒”は可能か?
他方式との比較は重要である。
BFT系(2/3超多数の投票で毎ブロックを最終化するタイプ)の場合:
- バグのある多数派が不正ブロックを“最終確定”してしまう
- バージョンアップ後も、その“誤った確定証明”は残り続ける
- 修復には
- 正しいチェーンの強制チェックポイント
- 不正チェーンのブラックリスト化 が必要
- さらにそれをスラッシング規則が矛盾しないよう調整
- ブリッジ・ライトクライアントなど、外部ツールにも修正を伝播
- 実際には多くがサードパーティ製であり、広範な調整が必要になる
要するに、
BFT型は自己治癒が極めて困難 である。
今回の事例はこの違いを浮き彫りにした。
教訓
研究には、
「まだ起きたことのない plausible(起こり得る)シナリオを先回りして分析する」
という役割がある。
今回のインシデントは、Cardano史上初の規模でチェーン分岐を引き起こした。
だが、Ouroboros の慎重で先進的な設計は、この逆風に耐える準備ができていた。
そして今回確認されたのは、
自己治癒は、悪影響を自律的に抑制できる極めて価値の高いプロパティである
という事実である。
Peter Gazi, Christian Badertscher, Matthias Fitzi, Sandro Coretti-Drayton も本ブログに寄稿している。
























