10 月中旬の Medalla テストネット障害: どのように始まり、どのように終わるのか?
編集者注: この記事は以下から引用しましたイーサリアム愛好家 (ID: ethfans)編集者注: この記事は以下から引用しました
イーサリアム愛好家 (ID: ethfans)
イーサリアム愛好家 (ID: ethfans)
、著者:yorickdowne、翻訳:A Jian、許可を得てOdailyにより転載。
2020 年 10 月 17 日に Medalla テストネットで事故が発生しました (編集者注: 実際、2020 年 10 月 14 日以降、Medalla テストネットはブロックを最終決定していません)。どうしたの?これを説明できる5歳児もいます。 (おそらく 5 ではなく 10 ですが、それがそれです。)
1) バリデーターの束がダウンしています (おそらく Zinken テストネットへの参加が原因か、退屈したためかはわかりません)
2) Medalla テスト ネットワークは、ブロックをファイナライズできない状態になりました。
3) Prysm クライアントと Nimbus クライアントにいくつかの同期バグが発生し始めました
4) このバグのせいでさらに多くのバリデーターを失い、何人かは二度と連絡が来なくなりました
5) ネットワークにはファイナリティがないため、ノードのメモリと CPU の負荷が増加し、ノードがそのような大きな負荷を処理できないため、多くの検証ツールを試行する必要があります。
6-1) 多数の検証者がオンラインに戻り、ネットワークがファイナリティを取り戻すことができるか、または
6-2) 彼らはオンラインにならず、その後、ファイナリティを取り戻すまで、これらのオフラインバリデーターはどんどんデポジットを失い続けます。このプロセスでは、残高が低すぎるため、一部の検証者がチームから追い出される場合もあります。
7) 最新の Web エンゲージメント率については、beaconcha.in に注目してください。他のサイトはほとんど追いつけていない
8) もしこれがメインネットで起こったとしても、それはそれほど長くは続かないでしょう。なぜなら、本物のETHが燃えてしまえば、人々はそれほど無関心ではなくなるからです。https://github.com/eth2-educators/medalla-exit
9) 大規模な分割のシナリオでもネットワーク全体が自動的に修復するように設計されているため、ネットワーク全体が機能しています。
10) 6-2) の場合、どれくらいでネットワークが通常に戻るかわかりませんが、最も早い場合は 10 月 25 日、最も遅い場合は (25 日)、その後 5 日後となる可能性があります。
11) オフラインではあるが、戻ってバリデーターを再実行したくない場合は、整然とした方法でバリデーター チームを終了するのに役立つツールを次に示します。
技術的な詳細:
非アクティブなバリデータはペナルティを受けません。バリデーターは、まだアクティブ化キュー内にあるか、デポジットが処理されていないため、この非アクティブな状態のままである可能性があります。これらのバリデーターは、ネットワークがファイナリティを取り戻すとアクティブ化されます。さらに、アクティブな検証者がアクティブな終了メッセージを送信した場合も、非アクティブになり、罰せられません。
アクティブなオンライン検証者は、認証メッセージのパッケージング距離が完全 1 である場合 (つまり、前のスロットで送信された認証メッセージがこのスロットにパッケージ化される)、利益も損失も生じない状態を維持します。しかし、それは不可能なので、少し罰せられます。イーサリアム財団の djrwto (つまり、ダニー ライアン) は、「専用」バリデーターのこの部分のペナルティを安全に軽減する方法を探していると述べました。このペナルティは一般的に良い経験ではないためです。
アクティブなバリデーターとオフラインのバリデーターには二次的にペナルティが課せられます。つまり、ペナルティはエポックごとに増加します。
エポック内に構成証明メッセージがパッケージ化されていない場合、バリデーターはオフラインとみなされます。もちろん、この証明書を送信できないことは、バリデーターがネットワークと同期していないビーコン チェーン ノードに接続されている場合、またはバリデーター クライアント自体が動作していない場合にも発生する可能性があります。考えられる原因には、クライアント側のバグやメモリ/CPU リソースの使用量が含まれます。また、ソースからクライアントをコンパイルする方法を学び、独自のノードのリソース使用状況を確認する機会を利用することもできます。
米国東部時間10月12日の朝、私たちはブロックを完了できない状態にありました。 (この状態の定義は、連続する 4 つのエポックを終了できないことです。)
そこから「スクエアペナルティ」が発動した。非ファイナリティの状態が続くと、オフライン バリデータに対するペナルティが増加します。式は、ペナルティ = 有効残高 * 非ファイナリティ期間 (Epochs-Since-Finality、つまり、現在のエポックの高さからファイナリティを取得した最後のエポックの高さを引いたもの)/(2^25) です。これは数学的に言えます。これらのオフライン バリデータに対する単一エポック ペナルティは、エンドレス状態の進行に伴って直線的に増加するため、合計ペナルティ (ペナルティの合計) は二次関数的に増加します (指摘してくれた torfbolt に感謝します)。
バリデーターの参加率はクライアントの障害に応じて変動するため、ネットワークがいつファイナリティを取り戻すかを予測することは困難です。
バリデーターの「有効残高」が 16ETH 未満 (アカウント残高で 16.75 ETH を超える) の場合、バリデーター チームから追い出されます。
バリデーターの残高が 60.6% まで低下するまでに約 18 日かかりますが、これは時間のかかる上限です。中国語翻訳)
さらに 3 つの期間が連続すると、ファイナリティが再確立されます。オフラインバリデータのペナルティは、通常のそれほど厳しくないデフォルトに戻ります。


