Baseのポストモーテムによると、根本原因はシーケンサーのブロック構築ロジックの問題でした。 トランザクション実行が失敗した後、システムがジャーナル状態(アカウントやストレージスロットの変更を記録する内部データ)を適切にクリーンアップせず、「古い」または「汚れた」状態が残ってしまったのです。 このため、後続の正当なトランザクション実行時にガス計算が異常になり、結果として無効な状態遷移を含むブロックが生成されました。
この無効なブロックがコンセンサス障害を引き起こしました。ブロック47,806,542以降、シーケンサーは無効なブロックを生成し、ネットワークはそれ以上ブロックを構築できなくなりました。 ノードオペレーターは問題が解決されるまで同期を継続できませんでした。
| インシデント | 日付 | 期間 | 合計ダウンタイム |
|---|---|---|---|
| 1回目 | 2025年6月25日 | 約116分(約2時間) | 約136分 |
| 2回目 | 2025年6月26日 | 約20分 |
6月26日の2度目の停止は、1回目と同じ種類のブロック生成障害が短期間で再発したものと説明されていますが、2回目はより迅速に復旧しました。
両方の停止期間中、新しいブロックの生成が停止し、オンチェーンのトランザクション処理が中断されました。ただし、ユーザーの資産にリスクが生じたという報告はありません。
Baseのエンジニアリングチームは、シーケンサーにパッチを適用し、トランザクション失敗後にジャーナル状態が適切に更新されるようにしました。 修正内容は公開GitHubプルリクエスト(#3806)で確認できます。
パッチ適用後、通常の運用は再開されましたが、Baseはバリデータノードオペレーターに対してノードの再起動または再同期を推奨しました。 チームは、両方の停止は同じバグに起因し、2つ目の関連問題(PR #3805)が翌日のインシデント再発の原因になったと述べています。
一連の停止を受け、Baseは予定されていたBerylメインネットアップグレードとB20トークン標準アクティベーションのロールアウトを1日延期し、ネットワークの安定化を優先しました。
2日連続の停止は、多くのオプティミスティック・ロールアップで一般的なBaseの単一シーケンサー方式の回復力に対する議論を再燃させました。
ポストモーテムと業界報道によって提起された主な懸念事項は以下の通りです:
今回のインシデントは、最大級のイーサリアムL2ネットワークでさえ、単一のシーケンサーにおける状態管理のエッジケースによってダウンする可能性があること、そしてロールアップエコシステム全体において自動フェイルオーバーと復旧システムがまだ発展途上であることを示しています。