Ethereum Prysm クライアントがメインネット インシデントを経験: リソース枯渇により大規模なブロックとウィットネスが欠落。
Odaily Planet Dailyによると、Prysmチームはメインネットインシデント要約レポートを発表し、12月4日のイーサリアムメインネットFusakaセッション中に、ほぼすべてのPrysmビーコンノードが特定の認証を処理中にリソース不足に陥り、バリデーターのリクエストにタイムリーに応答できず、多数のブロックとウィットネスが失われたと述べている。
このインシデントはエポック411439から411480まで、合計42エポックに影響を及ぼしました。1344スロットのうち248ブロックが欠落しており、欠落率は約18.5%でした。ネットワーク参加率は一時75%に低下し、バリデーターは約382 ETHの証人報酬を失いました。根本的な原因は、Prysmがメインネットと同期していない可能性のあるノードからアテステーション(認証)を受信したことでした。これらのアテステーションは、前のエポックのブロックルートを参照していました。その有効性を検証するために、Prysmは古いエポックの状態を繰り返し再生し、コストのかかるエポック遷移を実行しました。その結果、高並列処理環境ではノードのリソースが枯渇しました。関連する不具合は、1か月前にテストネットにデプロイされたPrysm PR 15965に起因していましたが、同じシナリオは発生しませんでした。
公式の暫定的な解決策は、バージョン7.0.0で「--disable-last-epoch-target」パラメータを有効にすることでした。その後のバージョン7.0.1および7.1.0には、ヘッドステートを使用してアテステーションを検証し、履歴ステートの繰り返し再生を回避する長期的な修正が含まれています。Prysmによると、この問題は12月4日午前4時45分(UTC)以降徐々に収束し、エポック411480までにネットワーク参加率が95%以上に回復しました。
Prysmチームは、今回のインシデントがクライアントの多様性の重要性を浮き彫りにしていると指摘しました。単一のクライアントが全体の3分の1を超えると、一時的に終了できなくなる可能性があり、3分の2を超えると無効な終了チェーンが発生するリスクがあります。また、機能切り替えに関するコミュニケーションの不明確さや、テスト環境で大規模な非同期ノードをシミュレートできなかった問題についても反省し、今後はテスト戦略と構成管理を改善していく予定です。
