概要
Ethereumの主要なコンセンサスクライアントの一つである「Prysm」を開発するOffchain Labsは、12月4日の「Fusaka」アップグレード直後に発生したソフトウェア不具合により、ネットワークが混乱し、バリデータが合計382 ETH(100万ドル以上相当)の報酬獲得機会を逃したと明らかにした。この障害は「Fusaka Mainnet Prysm incident」と題された事後分析レポートで詳細が説明されている。
背景
Ethereumネットワークは、複数の独立したチームが開発する「コンセンサスクライアント」ソフトウェアによって運用されている。クライアントの多様性は、単一のソフトウェアにバグが発生した場合のネットワーク全体への影響を軽減するための重要な設計思想である。Prysmはその主要なコンセンサスクライアントの一つだった。
テクニカル詳細
Offchain Labsによると、問題は約1ヶ月前にテストネットに導入・配備されたバグが原因で発生した。このバグはバリデータからのリクエスト処理を遅延させ、結果として「リソース枯渇イベント」を引き起こし、ほぼ全てのPrysmノードに影響を与えた。具体的には、Prysmのビーコンノードが、ネットワークと同期していない可能性のあるノードからのアテステーション(承認証明)を受信し、それらが前のエポックのブロックルートを参照していたことが混乱の原因となった。開発チームは一時的な緩和策を講じた後、再発防止のためにアテステーションバリデーションロジックへの恒久的な変更を実施した。
マーケット動向
この障害により、41エポックにわたり、利用可能な1,344スロットのうち248ブロックが生成されなかった。これは18.5%のスロット見逃し率に相当し、インシデント期間中のネットワーク全体の参加率は75%まで低下した。バリデータが獲得できなかった報酬は382 ETHであり、記事執筆時点のレートで100万ドル以上の価値に相当する。
影響と展望
この障害は、Ethereumのクライアント集中とソフトウェア単一化がもたらすリスクへの懸念を再燃させた。Offchain Labsは、もしPrysmのバリデータシェアがより大きかった場合、より深刻な結果を招いた可能性があると指摘している。同社は、ネットワークの1/3以上を占めるクライアントにバグがあれば最終性の一時的な喪失とより多くのブロック見逃しを、2/3以上であれば無効なチェーンを最終化する可能性があると説明し、クライアント多様性の重要性を強調した。Miga Labsのデータによると、現在のコンセンサスクライアントのシェアはLighthouseが51.39%、Prysmが19.06%、Tekuが13.71%、Nimbusが9.25%となっている。Lighthouseのシェアは、一部の研究者がシステミックリスクとみなす閾値まであと約15%ポイントという状況であり、開発者やエコシステム参加者はバリデータに対し、代替クライアントへの切り替えを検討するよう改めて促している。
まとめ
Fusakaアップグレード後のPrysmクライアントのソフトウェア不具合は、バリデータに大きな報酬損失をもたらし、Ethereumネットワークの堅牢性を支えるクライアント多様性の重要性を改めて浮き彫りにした。単一のクライアントに依存するリスクを軽減するため、バリデータの分散化が生態系全体の課題として認識されている。