EIP 4345 の影響の予測: ディフィシティ ボムの遅延に関してどのように決定を下すべきでしょうか?
以太坊爱好者
2021-10-25 10:58
本文约3642字,阅读全文需要约15分钟
この記事は、EIP 4345 の影響を予測する演習です。

著者: トーマス・ジェイ・ラッシュ

この記事は、EIP 4345 の影響を予測する演習です。このEIPは、ディフィシティボムを2021年12月に延期することを提案しています。私たちの目標は、難易度爆弾が 2022 年 5 月に再び爆発すると予想されるように、いつ、どの程度遅らせるべきかの決定に貢献できるかどうかを確認することです。

予備知識

私はこれまでにこのトピックについて多くの記事を書いてきました。

  • 難易度の計算方法について:難しいものではありません(中国語訳)

  • ディフィカルティボムを遅らせる方法については「ディフィカルティボムを拡散させる方法」をご覧ください。

  • こことここで古い記事を参照してください

難易度ボムの計算は、難易度を調整し、ブロック生成時間の変動を安定させるために使用されるパート A と、難易度ボム本体であるパー​​ト B の 2 つの部分で構成されます (詳細な説明については、上記の最初の記事を参照してください)。 )。

パート A の調整はブロックごとに行われるため、ブロック時間は約 13.5 秒で変動します。調整のこの部分は非常にうまく機能し、難易度ボムがなければブロック時間をほぼ一定に保つことができます。私たちはパート B に興味があります。

パート B の爆弾は、100,000 ブロックごとに値が 2 倍になるステップ関数です。 「爆発」するまでは誰も気づきませんが、一度爆発し始めると、値は非常に速く上昇します (2^n と同じです)。

知らせ

知らせ

私は一人だ。疲れ果てた私は、公開されているデータを使用してこの記事を書いています。私がここで述べたことはすべて議論の余地がありますが、私にはもはやそれに対して責任を負う用意がありません。この記事の内容はすべて、疑いと注意を持って閲覧および使用してください。

実際のデータと理論上のデータ

私は数学者ではなくエンジニアなので、数学的な予測よりも実際のデータに興味があります。以下では、データがどのように変化するかを予測します。私の予測は上記の数式に基づいていますが、すべてシンプルでわかりやすい Excel スプレッドシートに基づいています。

私の議論は 3 つの簡単な観察に基づいています。

  • パート A は非常にうまく機能し、ブロックタイムは平均 13.3 で安定しました。

  • パート B も非常にうまく機能し、パート A から独立しており、ブロック時間のみを改善します。

  • 爆弾の部分を無視すると、予測は保守的になります。

つまり、爆弾の影響を無視した予測をすると、予測は実際の時刻よりも「早く」なるということです。こうすることで、たとえ予測が間違っていたとしても、余分な緩衝時間が確保されます。

最初の表では、現在のブロック番号 (執筆時点では 1339 1127) を使用し、ブロック高さ 1400 0000 までの時間をブロックあたり 13.3 秒で推定しています。

詳しく見てみると、平均ブロック時間はブロック 1200,0000 以降増加していることがわかります (ただし、8 月と 9 月は減少しました)。もちろん、平均ブロック時間は爆弾が爆発するにつれてどんどん長くなっていきます。

繰り返しになりますが、控えめにするために、将来のブロック掘りの具体的な時間を予測するために 13.3 秒のブロック生成時間を選択し、当面は難易度ボムの影響を無視します。難易度ボムが爆発すると平均ブロック時間が増加するため、難易度ボムを無視した結果、予測時間は実際の採掘時間よりも早くなります。 (この例では、ブロック 1400 0000 は 2022 年 1 月 10 日以降にマイニングされます。)

いつフォークするか

最初に検討するのは、「いつフォークすべきか?」ということです。

私の意見では、答えは完全にfake_periodの値に依存します。 「どのブロック番号でフォークする必要がありますか? 1370 0050、1380 0050、または 13900 0050?」 (オフバイワン エラーがないことを確認するために 50 を追加します。なぜこれが重要なのか、演習として残しておきます)読者 - 式の計算には不等号を使用する必要がありますか?)

以下の表は、fake_block の計算を示しています。

ここでは、各ブロックがマイニングされる正確な時間の予測と、擬似ブロック番号の計算を並べて表示します (実際のブロック番号からオフセットを引き、擬似ブロック番号を取得し、擬似期間番号を導き出します)。

ディフィシティボムの値は完全に疑似期間番号の値に依存するため、疑似期間番号に興味があります。前作から、ディフィシティボムの効果は疑似ピリオドの数値が41~42になったあたりから現れ始め、それ以前は明らかではないと考えています。つまり、疑似周期番号が 41 になると、パート B の効果がパート A の効果をオーバーライドします。

なぜ疑似ピリオドの数値が41に達するまでディフィシティボムの効果が現れないのかについては、ここでは説明しません。私が言いたいのは、爆弾はブロック時間を増やすだけであり、爆弾がなければパート A のブロック時間は約 13.3 秒に保たれるということです。つまり、ブロック生成間隔の平均時間が 13.3 秒より長くなり、それが短すぎる (ブロック生成速度が速すぎる) 場合は、パート A で難易度が調整され、ブロック生成時間が戻されます。率直に言うと— — これがパート A の仕組みです。

上記の分析を考慮すると、ブロック 1380 0000 以降の任意の時点でフォークすることをお勧めします。 12月中旬くらい。特定のブロック番号(日付ではなく)、たとえばブロック番号 1385 0000 をターゲットにすることをお勧めします。 「問題点」(つまり、ブロック時間が大幅に遅くなる時期)は 1 月中旬頃に訪れるでしょう。したがって、この目標にも誤差の余地があります。

どれくらいの疑似ブロックを延期すべきでしょうか?

考慮する必要があるもう 1 つの質問は、「どれくらいの疑似ブロックをオフセットする必要があるか?」ということです。

上で述べたように、オフセットによって疑似ブロック番号が決まり、疑似ブロック番号が疑似期間番号を決定し、さらに疑似期間番号が爆弾の値を決定します。したがって、以下ではオフセットに焦点を当て、何が学べるかを見ていきます。

EIP 4354が提案する価値観

まず、このEIPで提案されているオフセットを見てみましょう。ここでは、平均ブロック時間 13.3 秒に基づいて単純なグラフを生成します。同様に、爆弾はブロック時間を増加させるだけであることがわかっているため、爆弾の効果を無視します。したがって、対応するブロック番号の実際の発生は予測よりも遅くなります。 「Arrow Glacier」(次のフォークのコード名)がブロック 1380 0050 で発生するようにスケジュールし、この EIP 提案のオフセット 1050 0000 を使用します。

このグラフは、(この EIP で提案されているように) オフセットを 1050 0000 に設定した場合、難易度ボムは早ければ 4 月中旬 (擬似期間の数値が再び 41 に達するとき) に爆発し始めることを示しているようです。 5 月中旬までに、ブロックの速度が大幅に低下し始めます (擬似期間の数は 43 に達します)。

これまでに遭遇した最大の疑似サイクル番号は、「ビザンチン」フォークの前の 43 です。ブロック時間の増加は、数秒単位で顕著に現れます。

フォーク時間が早いか遅いか

楽しみのために、分岐を早くしたり遅くしたりした場合に何が起こるか見てみましょう。

以下の表は、推定結果を示しています。驚いたことに、フォークのタイミングは最終結果に影響を与えません。しかし、少し振り返ってみると、それは当然のことだと思います。なぜなら、疑似周期番号を決定する唯一の量はオフセットだからです。現在のフォークの前にブロックの生成が遅くなることに加えて、フォークの時間を延期しても、次の難易度ボムの爆発の時間 (つまり、4 月から 5 月の間) には影響しません。

上の画像から、「Arrow Glacier」ハード フォークを遅かれ早かれ実装するかどうかに関係なく、1050 0000 のオフセットを使用する限り、次の難易度の爆弾の爆発のタイミングに影響を与えないことがわかります。

では、どれくらい相殺すればよいのでしょうか?

この質問は、5 月にイーサリアムコア開発者にどの程度のプレッシャーをかけたいかによって決まります。それらに大きな圧力をかけたい場合は、5 月には全世界がイーサリアム ブロックが遅いと不満を言うようになるため、オフセットを低く設定します。 「今すぐ行動したほうがいいですが、急ぐ必要はありません」など、ほんのわずかな後押しをしたいだけの場合は、オフセットを大きくすることをお勧めします。

1050 0000 のオフセットを使用している場合は、おそらく大きなストレスを与えていることになります。 4 月末までにブロックの生産が大幅に (1 秒ほど) 減速することが予想されます。しかし、ディフィシティボムの問題点は、一度爆発し始めると休息がないことです。

「大幅に(遅い)」から「非常に顕著」、「不穏」、「一体何だ」、そして「イーサリアムの死」に至るまで、わずか4〜6週間しかかかりませんでした。冗談ではありません。100,000 ブロックごとにサイクルがどんどん長くなり (サイクルごとに爆弾の価値が 2 倍になり、ブロック時間が非常に速く増加するため)、爆発し始めると爆発の速度も上がります。そしてより速く。 「ビザンチウム」分岐前の爆発については、上記の記事を参照してください。難易度ボムは非常にゆっくりと来ましたが、爆発の後は別の光景になりました。

最後の表では、オフセット 1070 0000 を使用することをお勧めします。ブロック 1380 0050 の後のフォークもお勧めします。これにより、今は休息する時間が得られ、予想される次の爆発は5月中旬に延期されます。これは控えめな見積もりですが、現実的な考慮事項でもあります。

要約する

要約する

  • コア開発者にどの程度のプレッシャーをかけるかを決定します。しっかりとプッシュしたい場合は、オフセットを 1050 0000 に設定し、自分自身に余裕を持たせたい場合は、オフセットを 1070 0000 に設定します。変動しながら、これら 2 つの値の間の値を取ることができます。

  • フォークを「いつ」作動させるかの決定は、次の爆発のタイミングには影響しません (つまり、爆弾は 5 月に爆発します)。この決定が影響する唯一のことは、「Arrow Glacier」ハード フォークまでのブロック時間の長さです。これは、擬似周期番号に影響を与えるのはオフセットのみであり、難易度ボムの値に影響を与えるのは擬似周期番号のみであるためです。

私たちの仕事をサポートしてください

TrueBlocks は完全に私たちの個人資金で支援されたプロジェクトであり、イーサリアム財団 (2018 年)、コンセンシス (2019 年)、モロク DAO (2021 年)、そして最近では Filecoin/IPFS (2021 年) から少額のボーナスが提供されています。

この記事を気に入っていただけた場合、または私たちの活動をサポートしたい場合は、GitCoin ホームページ (https://gitcoin.co/grants/184/trueblocks) をご覧ください。次回のマッチングにご寄付をお願いいたします。より大きなマッチメイキング報酬という追加のメリットも得られます。たとえ少量でも大きな効果が得られます。

あるいは、私たちに直接寄付することもできます。

元のリンク:

https://medium.com/coinmonks/adventures-in-difficulty-bombing-837890476630


以太坊爱好者
作者文库