ビーコンチェーンの作成を理解するための記事
著者|
イーサリアム2.0に関しては、メダラテストネットメダラテストネット
すでに8月4日にローンチされており、これが今年下半期のイーサリアム2.0リリース前の唯一の公式リハーサルとなる可能性が高い。Eth2 annotated specEth2 の作成メカニズムは少し複雑で、作成とはブロックチェーン システム自体に生命を吹き込むプロセスです。できるだけ分かりやすい言葉で正確に説明させていただきます。本当に技術的な説明については、読者は以下を見つけることができます。
上記の私のメモを参照してください。
以下では、「生成イベント」とは、ビーコン チェーンが起動し、プルーフとブロックの処理を開始する正確な時間を指します。スロット 0 エポック 0 が開始する時間でもあります。
(読者が概要を簡単に知りたい場合は、以下の「作成の 2 つのケース」セクションに直接スキップしてください)
バリデータデポジットLaunchpadまず第一に、読者が知っておく必要がある背景知識として、バリデーターは Eth2 に参加する前に Eth1 ブロックチェーン上のコントラクトにデポジットを預ける必要があるということです。各 Eth2 バリデーターでは、32 ETH とその他のデータをコントラクトに送信する必要があります。たとえば、読者は以下にアクセスできます。
Web サイトはデポジットとデータを Medalla テストネットに送信します。 Medalla は現在、Goerli テストネットの ETH を使用していることを忘れないでください。メインネット ETH をコントラクトに送信しないでください。もちろん、本物のビーコンチェーンがリリースされるときは、メインネットワークのETHを使用します。
次に、有効な入金のみを考慮します。つまり、32 ETH 以上の 1 回の入金、または同じバリデーターに属する合計 32 ETH 以上の複数の入金であり、追加のデータ検証 (暗号署名) が必要です。無効または不十分なデポジットは Genesis では無視されます。
ビーコンノード
作成前はビーコン ノードのみが Eth2 チェーン上でアクティブでしたが、作成後はベリファイアがすぐにアクティブになります。ビーコン ノードはシステムの状態を維持し、ピアツーピア ネットワーク内で相互に通信します。
したがって、世界の作成前には、イーサリアム 1.0 ブロックチェーンを監視し、預金契約上の有効な預金に注意を払う多数のビーコン ノードがありました。 Eth1 ブロックにはタイムスタンプが付けられているため、24 時間監視する必要はなく、生成前でいつでもノードを最新の状態に保つことができます。14 * 1024今では、Eth1 ブロックがロールバックされ、どのトランザクションが有効であるかについて考えが変わる可能性があることは誰もが知っています。これが、取引所でETHを転送するときに30ブロック待つ必要がある理由です。通常、ロールバックの範囲は非常に小さく、約 1 ブロックまたは 2 ブロックですが、ネットワーク攻撃が発生した場合、ロールバックの範囲は非常に大きくなる可能性があります。 Eth2 ではこの状況を可能な限り回避するために、次の点に細心の注意を払っています。
数秒の遅れ、約4時間。これをEth1の同期距離(Eth1追随距離)と呼びます。
いつ?誰が?
ジェネシスに関する 2 つの質問は、「いつ?」と「誰?」です。いつ開始されるのか、そして誰がジェネシス ブロック バリデーター軍に加わるのかです。これら 2 つの質問に対する答えによって、ビーコン チェーンの生成状態が定義され、そこから他のすべての状態が導出されます。
一般的なプロセスは次のとおりです。
Eth1 ブロックチェーン上の預金を追跡する
十分な時間が経過し、デポジットが一定量に達すると、ジェネシス状態が作成されます
2日後、生成時にブロックチェーンを開始します
ステップ 2 では、Eth1 の最初のブロックを探すときに 2 つの点に特別な注意を払う必要があります。
十分な預金があるかどうか。
まだ早いですか。
これら 2 つの条件を満たす最初のブロックがジェネシス状態に設定されます。
MIN_GENESIS_TIME時間と役割は、次の 3 つの主要なパラメータ設定によって影響されます。1596546000作成イベントが発生する最も早い時刻です。メダラにとっては、
GENESIS_DELAYUnix 時間—UTC 時間 2020 年 8 月 4 日 13:00:00、RFC2822 仕様を採用。172800はい
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT秒、ちょうど 48 時間です。これは、生成状態の作成とブロックチェーンおよび生成イベントの開始の間の時間間隔です。この遅延により、クライアント チームは生成状態をビーコン ノードに書き込むことができるようになり、バリデーター ノードを実行していない場合でも Eth1 ブロックチェーンに従う必要がなくなります。これにより、一般的なジェネシス イベント ストリームやミートアップ イベントを主催するための時間も確保されます。16384は、ジェネシス状態を作成する前に Eth1 デポジット コントラクトで必要なアクティブなバリデーターの最小数です。 Medalla テストネット (およびメインネット) では、このパラメータは次のようになります。
検証者。
創造の二つの状況
生成状態は、次の 2 つの条件を満たす最初の Eth1 ブロックに基づいています。
生成状態のベースとなる最初の Eth1 ブロックは、次の 2 つの条件を満たす必要があります。
少なくとも 16384 (MIN_GENESIS_ACTIVE_VALIDATOR_COUNT) 個のバリデーターがこのブロックまたは以前のブロックに登録されています。
そのタイムスタンプは早すぎません (MIN_GENESIS_TIME – GENESIS_DELAY より前ではありません)。
これら 2 つの要件を満たす順序に従って、次の 2 つのケースで作成プロセスが進行します。
最初に入金数が満たされます
この場合、まず条件1が満たされる。初期の創世期より前に十分な預金を受け取りました。
MIN_GENESIS_TIME から GENESIS_DELAY までの Medalla テストネットの時点は、8 月 2 日の日曜日、UTC 1300 です。
開始ブロックは、この時間以降にマイニングされた Eth1 上の最初のブロック、つまり 13:00:05 (午後 1 時から 5 秒後) にマイニングされたブロックです。
ブロック デポジット契約によって受け取った有効なデポジットが 16,384 に達するかそれを超える場合、それまでに受け取ったすべてのデポジットがジェネシス ステートに含まれます。したがって、バリデーターの数は 16384 よりもはるかに多くなる可能性があります (Altona テストネットでは MIN_GENESIS_ACTIVE_VALIDATOR_COUNT を 640 に設定しましたが、ジェネシスバリデーターの数は 685 であることが判明しました)
この Eth1 ブロックは作成状態の計算を開始し、Medalla の作成イベントはブロックのタイムスタンプからちょうど 48 時間後に開始されます。この例では、8 月 4 日火曜日の 13:00:05 になります。
Eth 同期距離により、実際には 4 時間後までジェネシスの状態がわからないことに注意してください。つまり、この場合、8 月 2 日日曜日、UTC1700 のメダラの発生状態がわかります。
要約する
要約する
デポジット額が最初に要件を満たした場合、ジェネシス イベントは最も早いジェネシス時間の数秒後に開始されます。生成状態には、この時点の 48 時間前に登録されたすべてのバリデーターが含まれます。
2. タイムスタンプが入金番号より前の条件を満たしている
これは、条件 2 が最初に満たされた場合に発生します。預金の数はゆっくりと増加し、所定の時間内に最小有効額に達しませんでした。
この場合、16384番目の入金を詰めたEth1ブロックがスタートブロックとなります。このブロックは 8 月 5 日水曜日の 12:34:56 UTC にマイニングされたと仮定します。
これで、ブロック状態には 16384 個のバリデーターとそのブロック内のその他の有効なデポジットが含まれるようになります。したがって、そのブロックに複数のデポジットが含まれる場合、最小デポジットよりも多くのバリデーターが含まれることになります。
生成時間は、ブロックのタイムスタンプに 48 時間を加えたものになります。この例では、8 月 7 日金曜日 12:34:56 UTC。
また、Eth1 同期距離のため、この Eth1 ブロックがマイニングされてから 4 時間後まで生成状態や生成時間はわかりません。
要約する
堆積物の成長が遅い場合、生成イベントは 16384 番目の堆積物を含む Eth1 ブロックが採掘されてから 48 時間後に始まります。ジェネシス ステートには 16834 個のバリデーターと、同じ Eth 1 ブロック内の他のいくつかのバリデーターが含まれています。
結論は
結論は
ここまで記事を書いてきましたが、ビーコンチェーン作成の基本的な状況は理解できましたか?
メダラでお会いできるのを楽しみにしています!
免責事項: ECN の翻訳作業は、中国のイーサリアム コミュニティに高品質の情報と学習リソースを提供することを目的としています。記事の著作権は原著者に属します。転載する場合は、原文と ethereum.cn の出典を示す必要があります。再版の場合は、ethereumcn@gmail.com までご連絡ください。


