イーサリアム 2.0 クライアントの多様性が非常に重要な理由
ソース |Ethereum Blog
ソース |
著者 | カール・ベークハイゼン
免責事項: この記事はいかなるクライアントも対象としていません。各クライアント、さらには各仕様に欠陥や抜け穴が含まれている可能性があることを認識する必要があります。言うまでもなく、Eth2 は非常に複雑なプロトコルであり、その実装者は単なる人間です。この記事の目的は、リスクを軽減する方法と理由を強調することです。
Medalla テストネットがリリースされた後は、さまざまなクライアントを使用してテストネットに参加することをお勧めします。テストネットが作成された日、マルチクライアントの重要性がわかりました。Nimbus クライアントと Lodestar クライアントで実行されているノードはテストネット全体の作業を処理できず、同期ノードの進行状況に追いつけませんでした。 。その結果、Medalla は打ち上げから 30 分経ってもファイナライズを開始できませんでした。
8 月 14 日、Prysm ノードが参照していたタイム サーバーの 1 つが突然未来の時間にジャンプしたため、Prysm ノードに時刻エラーが発生しました。その結果、これらのノードは将来のブロックの提案と将来の証明の検証を開始します。ただし、ノードのクロックが調整された後 (クライアントのバージョンを更新するか、タイム サーバーが正しい時刻を調整したため)、以前にスラッシュ保護をキャンセルしたノードは、その誓約された資産がスラッシュされたことに気づきます。このプロセス全体は少しデリケートな方法で行われているため、以下を読むことを強くお勧めします。。
事件に関するラウル・ジョーダンの回顧エッセイ
Prysm ノードがタイムトラベルを開始すると、ネットワークの約 62% を占めます。これは、ブロックを終了するための最小基準 (チェーン上の 2/3 を超えるアクティブなバリデータ) を満たすことができないことを意味します。さらに悪いことに、これらのノードは期待するチェーンを見つけることができません (タイムラインに 4 時間のギャップが表示され、すべてが将来のわずかに異なる時間に移動します)。そのため、「欠落している」データを短い時間で予測します。フォークによりネットワーク全体がフラッディングされました。
画像の説明
ソース:ethernodes.org
ソース:
そして、この時点で、ネットワークにはチェーン ヘッドのさまざまな予測が大量に送信されるため、すべてのクライアントは、どのチェーン ヘッドが有効であるかを判断するためにますます多くの作業に取り組み始めます。これにより、ノードの遅れ、同期の必要性、メモリ不足、その他の形態の混乱が発生し、これらすべてが問題を悪化させます。
全体的に見て、このイベントは良かったです。クロックに関連する根本的な問題を解決できるだけでなく、ノード障害やネットワーク負荷が大きい状況でクライアントのストレス テストを行うこともできました。言い換えれば、この障害は、ネットワークが極端になりすぎてはいけないことを示しており、この事件の犯人は Prysm ノードがネットワークの大部分を占めていることです。
分散化を支援する—パート 1、eth2 に利益をもたらすこのシリーズのように第2号の記事
で説明したように、非同期ビザンチン フォールト トレランス アルゴリズムによれば、1/3 はネットワーク セキュリティを確保するための魔法の数です。バリデーターの 1/3 以上がオフラインの場合、エポックをファイナライズできなくなります。したがって、この時点ではチェーンはまだ成長していますが、ブロックを完成させてそれが正規チェーンの一部であることを保証することはできなくなります。
分散化の促進—パート 2、バリデーターに利益をもたらす
バリデータの大部分は、誰もがそれが正しいことだと考えているからではなく、ネットワークにとって良いことをするという動機を持っています。
ノードの 1/3 以上がオフラインの場合、オフライン ノードに対するペナルティ、いわゆる「非アクション」ペナルティが増加し始めます。
これは、バリデーターが、自身のノードが強制的にオフラインになった場合に、他のノードを同時にオフラインにすることが不可能であることを確認したいことを意味します。
没収についても同様です。ただし、仕様またはソフトウェアのエラー/バグによりバリデーターがスラッシュされる可能性は常にあり、単一のスラッシュは「わずか」 1 ETH です。ただし、多くのバリデーターが同時にスラッシュされた場合、ペナルティは 32 ETH に増加します。そしてこの魔法の数字は、バリデーターの 1/3 以上がスラッシュされると、32 ETH がスラッシュされます。
【上記理由につきましてはこちら】
これらのインセンティブは、それぞれライブネス逆相関およびセキュリティ逆相関と呼ばれ、eth2 の意図的な側面です。反相関メカニズムは、各バリデーターがネットワークに及ぼす影響の程度に個別のペナルティを結び付けることで、バリデーターがネットワークにとって最善の意思決定を行うよう奨励します。
分散化の促進—パート 3、データの表示多くの独立したチームが Eth2 を実装しており、それぞれのチームは主に Eth2 研究チームによって書かれた文書に基づいています。独立したクライアントの正規開発
。これにより、ビーコン ノードとバリデータ クライアントの実装が複数存在することが保証され、各チームは eth2 クライアントの構築に必要なテクノロジー、言語、最適化、トレードオフなどについて異なる決定を下します。このようにして、システムのいずれかの層でバグが発生した場合、ネットワーク全体ではなく、特定のクライアントを実行しているユーザーにのみ影響します。
この Medalla Prysm のバグの時点で、eth2 ノードの 20% だけがクライアント Prysm 上で実行されており、バリデーターの 85% がオンラインであった場合、Prysm ノードは「何もしない」ペナルティを受けず、わずかなペナルティだけが課せられます。開発者がやってくれるでしょう。
その代わり、同じクライアントを実行するバリデーターが多すぎるため (その多くはスラッシュ保護が削除されていました)、非常に短期間に 3,500 ~ 5,000 のバリデーターがスラッシュされました。
*高い相関関係は、これらのバリデーターが共通のクライアントを使用しているため、最大 16 ETH のスラッシュ ペナルティがあることを意味します。
※この記事を書いている時点でもスラッシュが入ってきているので、最終的な数字はまだ出ていません。
次に、別のクライアントを使用してテストに参加し、少数の検証者が使用しているクライアントを見つけます (クリックできます)ここ配布を表示します)。Lighthouse、Teku、Nimbus同様にPrysm同様にLodestar現時点では動作は比較的安定していますが、
最も重要なのは、新しいクライアントを試してみることです。分散型メインネットワークに備えるために、Medalla 上でより健全なノード分散を構築することを試みることができます。
免責事項: ECN の翻訳作業は、中国のイーサリアム コミュニティに高品質の情報と学習リソースを提供することを目的としています。記事の著作権は原著者に属します。転載する場合は、原文と ethereum.cn の出典を示す必要があります。再版の場合は、ethereumcn@gmail.com までご連絡ください。


