Ethereumのコンセンサスレイヤーは最近、Prysmクライアントのソフトウェアバグが原因でバリデーターが重要な報酬を見逃すという顕著な混乱を経験しました。Offchain LabsのPrysm開発チームによると、バリデーターは合計で約382 ETH(100万ドル以上の価値)を失いました。この問題は、Fusakaネットワークのアップグレード直後に発生しました。

このインシデントは、「Fusaka Mainnet Prysm Incident」という公式のポストモーテムに詳述されており、リソース枯渇イベントがほぼすべてのPrysmビーコノードに影響を与えたことが説明されています。その結果、大量のブロックとアテステーションがネットワーク活動の重要な期間中に見逃されました。

Prysmの停止を引き起こしたのは何か?

Offchain Labsは、問題が12月4日に発生し、以前に導入されたソフトウェアバグがバリデーターのパフォーマンスに影響を与え始めたと説明しました。このバグは、バリデーターのリクエストに遅延を引き起こし、その結果Prysmノードがアテステーションを処理し、タイムリーにブロックを提案するのを妨げました。

具体的には、Prysmビーコノードは、ネットワークの他の部分と同期していないと思われるピアからのアテステーションを受信し始めました。これらのアテステーションは、前のエポックのブロックルートを参照しており、通常のコンセンサスルールの下では無効です。

Prysmが説明したように:

> “Prysmビーコノードは、ネットワークと同期していない可能性のあるノードからのアテステーションを受信しました。これらのアテステーションは、前のエポックのブロックルートを参照していました。”

この非同期化は連鎖反応を引き起こし、実効的な参加を減少させ、バリデーターが必要な時間内に義務を果たすのを妨げました。

混乱の規模

バグの影響は大きかったが、抑制されていました。このインシデントにより、41のエポックが見逃され、その間に1,344の利用可能なスロットのうち248のブロックが見逃されました。これは、混乱の期間中に18.5%のスロット欠失率を意味します。

ネットワーク全体の参加率は急激に低下し、約75%まで落ち込み、通常の運用レベルを大きく下回りました。Ethereumは引き続き機能し、ブロックを最終化しましたが、この期間中バリデーターの効率は大幅に低下しました。

Offchain Labsは、問題のあるコードが約1か月前に導入され、テストネットに展開された後、Fusakaアップグレード後にメインネットでトリガーされたと指摘しました。アップグレード自体は、根本的なバグを露呈させる方法で実行条件を変更しました。

修正と予防策

一時的な緩和策が直ちに影響を軽減するために展開されましたが、Prysmはその後、恒久的な修正を実装しました。これらの変更は、クライアントのアテステーション検証ロジックの改善に焦点を当て、同期していないアテステーションがより安全に処理され、広範なバリデーターの混乱を引き起こさないようにしました。

Offchain Labsは、これらの変更が将来の同様の障害を防ぐために設計されていると述べました。高負荷やエッジケースの条件下でも同様です。

クライアントの多様性が再びスポットライトを浴びる

直接的な財務的損失を超えて、このインシデントはEthereumクライアントの集中とソフトウェアの単一文化の危険性に関する長年の懸念を再燃させました。

Offchain Labsは、PrysmがEthereumのバリデーターセットのより大きな割合を占めていた場合、結果ははるかに悪化していた可能性があると強調しました。彼らは、特定の閾値を超えるクライアントの支配がシステムリスクをもたらす可能性があると警告しました:

ネットワークの3分の1以上を制御するクライアントが失敗した場合、一時的な決定性の喪失を引き起こす可能性があります。

3分の2以上を制御するクライアントは、重大なバグが発生した場合に無効なチェーンを最終化する可能性があります。

幸いなことに、Ethereumの現在のクライアントの多様性は、損害を抑制するのに役立ちました。

現在のEthereumコンセンサスクライアント分布

Miga Labsからのデータによると、Ethereumのコンセンサスクライアントは現在次のように分布しています:

Lighthouse: 51.39%

Prysm: 19.06%

Teku: 13.71%

Nimbus: 9.25%

Prysmのシェアは比較的中程度ですが、Lighthouseの支配は、多くの研究者が潜在的なシステムリスクと見なす閾値の約15パーセントポイント内に位置しています。

その結果、開発者やエコシステムの参加者は再びバリデーターに代替クライアントへの切り替えを検討するよう促しました。より大きな多様性は、単一のバグがEthereumのコンセンサスレイヤーを混乱させる可能性を減少させ、ネットワークの長期的な回復力を強化します。

最終的な考え

Prysmのインシデントは、成熟したブロックチェーンシステムであってもソフトウェアリスクから免れないことを思い起こさせるものです。Ethereumのクライアントの多様性が大規模な障害を防ぐのに役立った一方で、このイベントはプロトコルレベルでの継続的な警戒、テスト、および分散化の重要性を強調しています。

Ethereum、暗号インフラ、およびオンチェーンの開発に関する最新情報や詳細な分析をもっと知りたい場合は、さらなる洞察とリアルタイムの分析をフォローしてください 🚀

#ETH #Prysm