オリジナルタイトルを転送する「ガスリミットの増加について、ついに準備が整いましたか?」
ガスリミットを上げるか、スロット時間を短縮することにより、Ethereumのガススループットを増やす可能性についての議論が盛り上がっています。これに賛成する主な理由は、バリデータを実行するためのハードウェア要件が過去4年間で着実に低下していることです。
ガスリミットを増やす2つのアプローチが追加されました。
この投稿では、ガスリミットが倍になった場合の帯域幅、計算、およびストレージ要件における潜在的な最悪のケースと平均のケースを分析します。
イーサリアムが2015年にローンチされた当初、ガスリミットは最初に設定されました。ブロックあたりのガスリミットは5,000ガスです。時間の経過とともに、この制限は大きく変化しました。
- タンジェリン・ホイッスルのハードフォークと具体的にはEIP-150の実装に続いて、ガスリミットは550万に増加しました。この調整は、DoS(サービス拒否)攻撃への対応として、特定のI/O負荷の高いオペコードの価格設定の一環として行われました。
2017年7月には、ガスリミットが670万に引き上げられ、さらに増加し続けました:
– December 2017: ~8 million
– 2019年9月:~1,000万
– 2020年8月:1250万
– 2021年4月:1500万
EIP-1559では、最大(または「ハードキャップ」)のガスリミットも設定されており、これはターゲットの2倍に設定されています。つまり、ブロックには最大で3000万ガスを含むトランザクションが含まれる可能性があります。
そして、ほぼ4年間、ガスリミットは一切増加していません。
この質問に答えるためには、帯域幅、計算、およびストレージの3つの側面を分析する必要があります。もしガスリミットが今日の6000万に引き上げられるとしたら。
ガスリミットの引き上げを考えるとき、イーサリアムネットワークにとって最大のボトルネックであり、懸念事項としてストレージが際立っています。その理由は、イーサリアムの歴史的な州規模の拡大と、これがバリデーターに与える継続的な負担にあります。
イーサリアムには2つの「成長」のタイプがあります:
ステート成長
成長の歴史
イーサリアムの状態は、すべての口座残高、スマートコントラクトコード、およびストレージのコレクションとして、より多くのトランザクションが処理され、スマートコントラクトが展開されるにつれて拡大し続けています。創設以来、状態のサイズは大幅に拡大し、ネットワークの混雑、トランザクション活動の増加、分散型金融(DeFi)およびNFTの台頭による加速成長期間がありました。現在、状態の成長は約1か月あたり2.5GB、年間30GB程度です。
この状態の成長は、次の問題を引き起こす可能性があります:
– ディスクへのアクセス時間が遅くなります
– ハードウェア要件の増加
ただし、執筆時点では、これらの問題のどちらも特に重要ではありません。実際、数十ギガバイトしか異ならないストレージシステム間のアクセス時間の差は、通常対数的なクエリのアルゴリズム的複雑さにより非常に無視できるものです。また、ストレージ要件も無視できるもので、新しいハードウェアのコストは年間30 GBの状態サイズの比較的小さな成長を遥かに上回る速度で減少しています。たとえ60 GB/年に引き上げられた場合でも、その違いはおそらく目立たず、ハードウェアの技術的進歩によって依然として追い越されるでしょう。
この状態のサイズの増加は、技術の進歩による余裕を持ってまだ追いついていません。ガスリミットが倍になったとしても、ハードウェアのコストは指数関数的に減少し続けるため、必要なハードウェアは時間と共により安価になります。
ただし、注意すべきは、近いうちに、ソロステーカーはイーサリアムのバリデータを実行するために2 TB以上のストレージが必要になるということです。これにより、ハードウェアのほとんどは2の累乗で販売されているため、要件は実質的に4 TBのストレージに引き上げられます。逆説的に言えば、これはイーサリアムが追加のストレージを利用する必要があることを意味します。なぜなら、ガスリミットが増加するかどうかに関係なく、バリデータは既により高容量のハードウェアに投資する必要があるからです。
注意:ストレージに関する平均対最悪ケースの分析はありません。なぜなら、長期間(数週間から数ヶ月)にわたってブロックを一貫して操作することは非常に高額な取り組みです。
ストレージコストが指数関数的に減少していると主張する根拠として、過去4年間のSSD 1GBの価格変動をUSDで見てみるということができます。
申し訳ありませんが、品質が悪いですが、私が参照した出版物はこのようになっていました
GBのSSDの価格は、おそらく2年ごとに半分になる傾向があるようです。
これをストレージと状態の成長と比較すると、その違いは無視できるレベルです。イーサリアムの現在の成長は線形ですが、ハードウェアコストは指数関数的に低下する傾向があります。
この傾向について、ストレージコストでよりわかりやすいグラフを見つけましたが、これはRedditの投稿からのものであり、実際の科学出版物からのものではありません(結果は一致していますが)。
Ethereumにおける帯域幅の平均ケースは、2MB / s程度であり、この数字の大部分はCLゴシップブロブとアグリゲートから来ています。ガスリミットを増やすことに関しては、ブロックサイズのみを見る必要があります。
現在、記録されている最大ブロックサイズは270 KBで、現在のデネブ後のブロックサイズは75 KBです。これを倍にすると、過去の最大値や現在の平均値と比較して0.5〜2ブロブ増加に相当し、ノードの帯域幅(着信および送信)の≈2〜5%の増加に相当します。したがって、平均的なケースでは、それほど大きな変化ではありません。実際、追加の3つのブロブの方がずっと悪化します。
最悪のケースは1.7MBと計算されており、3.4MB(スパイクに必要な帯域幅は+50%)になります。これはそれほど多くはありませんが、それでも重要です。これがそれほど多くないと思う理由は、そのようなDoSは非常に高価であり、スパイクは現在の平均要件の+50%であり、これはすでに説明されていることです。さっきも言ったように、1500万ガス相当のブロックを何個も連続して満たすのは、非常にコストがかかります。そのため、攻撃者が数ブロックの間DoSを発動する可能性はありますが、そのためには多額の費用を費やす必要があります。さらに、ブロックに入るために他のトランザクションと競合する必要があり、これはさらに高価になります。
いずれにせよ、数字に関する意見にかかわらず、コールデータのコストが増加すれば、この問題は完全に解決されるため、私はいずれにせよ心配していません。さらに、EIP-7783を通じてガスリミットが引き上げられれば、これらのリスクは無視でき、コントロール可能です。
計算とブロック時間は最初から問題ではありませんでしたが、ここで行きます。
ブロック計算の平均ケースは通常1秒未満であり、ディスクが遅いマシンでも同様です。ここにはあまり議論の余地はありません。平均して、これは決してボトルネックにはなりませんでした。
最悪の場合、不明確でクライアントに依存するようです。いくつかのクライアントチームと話した後、唯一の問題は、一部のオペコード(MODEXPなど)がスケーリングされないという点のようです。
ただし、ここでのDoSベクトルは価格改定で修正でき、ガスリミットの増加がEIP-7783で行われる場合、これらのリスクはごくわずかです。
全体として、ストレージなどのハードウェアはアップグレードが容易であるため、ストレージの増加はガスリミットを増やすためのボトルネックではないようです。ただし、帯域幅は拡張がはるかに難しいため、より大きな脅威をもたらします。幸いなことに、EIP-7783では、帯域幅と計算の潜在的な増加に関連するリスクが効果的に軽減されます。それにもかかわらず、安全性を高めるためにコールデータコストの価格を再設定するのが賢明かもしれません(ただし、私の意見では、必要ではない可能性があります)。
私の個人的な意見では、EIP-7783で導入された段階的な増加によって、現在ガスリミットを33%増やすことさえも可能であり、今日それを倍にすることさえ可能です。
EIP-7782を通じてそれを行うのはまだ早すぎると思います。なぜなら、それはDVTとSSFに対して厳罰になる可能性があるからです。ただし、それらが解決されると、スロット時間の減少は間違いなく必要です。
オリジナルタイトルを転送する「ガスリミットの増加について、ついに準備が整いましたか?」
ガスリミットを上げるか、スロット時間を短縮することにより、Ethereumのガススループットを増やす可能性についての議論が盛り上がっています。これに賛成する主な理由は、バリデータを実行するためのハードウェア要件が過去4年間で着実に低下していることです。
ガスリミットを増やす2つのアプローチが追加されました。
この投稿では、ガスリミットが倍になった場合の帯域幅、計算、およびストレージ要件における潜在的な最悪のケースと平均のケースを分析します。
イーサリアムが2015年にローンチされた当初、ガスリミットは最初に設定されました。ブロックあたりのガスリミットは5,000ガスです。時間の経過とともに、この制限は大きく変化しました。
- タンジェリン・ホイッスルのハードフォークと具体的にはEIP-150の実装に続いて、ガスリミットは550万に増加しました。この調整は、DoS(サービス拒否)攻撃への対応として、特定のI/O負荷の高いオペコードの価格設定の一環として行われました。
2017年7月には、ガスリミットが670万に引き上げられ、さらに増加し続けました:
– December 2017: ~8 million
– 2019年9月:~1,000万
– 2020年8月:1250万
– 2021年4月:1500万
EIP-1559では、最大(または「ハードキャップ」)のガスリミットも設定されており、これはターゲットの2倍に設定されています。つまり、ブロックには最大で3000万ガスを含むトランザクションが含まれる可能性があります。
そして、ほぼ4年間、ガスリミットは一切増加していません。
この質問に答えるためには、帯域幅、計算、およびストレージの3つの側面を分析する必要があります。もしガスリミットが今日の6000万に引き上げられるとしたら。
ガスリミットの引き上げを考えるとき、イーサリアムネットワークにとって最大のボトルネックであり、懸念事項としてストレージが際立っています。その理由は、イーサリアムの歴史的な州規模の拡大と、これがバリデーターに与える継続的な負担にあります。
イーサリアムには2つの「成長」のタイプがあります:
ステート成長
成長の歴史
イーサリアムの状態は、すべての口座残高、スマートコントラクトコード、およびストレージのコレクションとして、より多くのトランザクションが処理され、スマートコントラクトが展開されるにつれて拡大し続けています。創設以来、状態のサイズは大幅に拡大し、ネットワークの混雑、トランザクション活動の増加、分散型金融(DeFi)およびNFTの台頭による加速成長期間がありました。現在、状態の成長は約1か月あたり2.5GB、年間30GB程度です。
この状態の成長は、次の問題を引き起こす可能性があります:
– ディスクへのアクセス時間が遅くなります
– ハードウェア要件の増加
ただし、執筆時点では、これらの問題のどちらも特に重要ではありません。実際、数十ギガバイトしか異ならないストレージシステム間のアクセス時間の差は、通常対数的なクエリのアルゴリズム的複雑さにより非常に無視できるものです。また、ストレージ要件も無視できるもので、新しいハードウェアのコストは年間30 GBの状態サイズの比較的小さな成長を遥かに上回る速度で減少しています。たとえ60 GB/年に引き上げられた場合でも、その違いはおそらく目立たず、ハードウェアの技術的進歩によって依然として追い越されるでしょう。
この状態のサイズの増加は、技術の進歩による余裕を持ってまだ追いついていません。ガスリミットが倍になったとしても、ハードウェアのコストは指数関数的に減少し続けるため、必要なハードウェアは時間と共により安価になります。
ただし、注意すべきは、近いうちに、ソロステーカーはイーサリアムのバリデータを実行するために2 TB以上のストレージが必要になるということです。これにより、ハードウェアのほとんどは2の累乗で販売されているため、要件は実質的に4 TBのストレージに引き上げられます。逆説的に言えば、これはイーサリアムが追加のストレージを利用する必要があることを意味します。なぜなら、ガスリミットが増加するかどうかに関係なく、バリデータは既により高容量のハードウェアに投資する必要があるからです。
注意:ストレージに関する平均対最悪ケースの分析はありません。なぜなら、長期間(数週間から数ヶ月)にわたってブロックを一貫して操作することは非常に高額な取り組みです。
ストレージコストが指数関数的に減少していると主張する根拠として、過去4年間のSSD 1GBの価格変動をUSDで見てみるということができます。
申し訳ありませんが、品質が悪いですが、私が参照した出版物はこのようになっていました
GBのSSDの価格は、おそらく2年ごとに半分になる傾向があるようです。
これをストレージと状態の成長と比較すると、その違いは無視できるレベルです。イーサリアムの現在の成長は線形ですが、ハードウェアコストは指数関数的に低下する傾向があります。
この傾向について、ストレージコストでよりわかりやすいグラフを見つけましたが、これはRedditの投稿からのものであり、実際の科学出版物からのものではありません(結果は一致していますが)。
Ethereumにおける帯域幅の平均ケースは、2MB / s程度であり、この数字の大部分はCLゴシップブロブとアグリゲートから来ています。ガスリミットを増やすことに関しては、ブロックサイズのみを見る必要があります。
現在、記録されている最大ブロックサイズは270 KBで、現在のデネブ後のブロックサイズは75 KBです。これを倍にすると、過去の最大値や現在の平均値と比較して0.5〜2ブロブ増加に相当し、ノードの帯域幅(着信および送信)の≈2〜5%の増加に相当します。したがって、平均的なケースでは、それほど大きな変化ではありません。実際、追加の3つのブロブの方がずっと悪化します。
最悪のケースは1.7MBと計算されており、3.4MB(スパイクに必要な帯域幅は+50%)になります。これはそれほど多くはありませんが、それでも重要です。これがそれほど多くないと思う理由は、そのようなDoSは非常に高価であり、スパイクは現在の平均要件の+50%であり、これはすでに説明されていることです。さっきも言ったように、1500万ガス相当のブロックを何個も連続して満たすのは、非常にコストがかかります。そのため、攻撃者が数ブロックの間DoSを発動する可能性はありますが、そのためには多額の費用を費やす必要があります。さらに、ブロックに入るために他のトランザクションと競合する必要があり、これはさらに高価になります。
いずれにせよ、数字に関する意見にかかわらず、コールデータのコストが増加すれば、この問題は完全に解決されるため、私はいずれにせよ心配していません。さらに、EIP-7783を通じてガスリミットが引き上げられれば、これらのリスクは無視でき、コントロール可能です。
計算とブロック時間は最初から問題ではありませんでしたが、ここで行きます。
ブロック計算の平均ケースは通常1秒未満であり、ディスクが遅いマシンでも同様です。ここにはあまり議論の余地はありません。平均して、これは決してボトルネックにはなりませんでした。
最悪の場合、不明確でクライアントに依存するようです。いくつかのクライアントチームと話した後、唯一の問題は、一部のオペコード(MODEXPなど)がスケーリングされないという点のようです。
ただし、ここでのDoSベクトルは価格改定で修正でき、ガスリミットの増加がEIP-7783で行われる場合、これらのリスクはごくわずかです。
全体として、ストレージなどのハードウェアはアップグレードが容易であるため、ストレージの増加はガスリミットを増やすためのボトルネックではないようです。ただし、帯域幅は拡張がはるかに難しいため、より大きな脅威をもたらします。幸いなことに、EIP-7783では、帯域幅と計算の潜在的な増加に関連するリスクが効果的に軽減されます。それにもかかわらず、安全性を高めるためにコールデータコストの価格を再設定するのが賢明かもしれません(ただし、私の意見では、必要ではない可能性があります)。
私の個人的な意見では、EIP-7783で導入された段階的な増加によって、現在ガスリミットを33%増やすことさえも可能であり、今日それを倍にすることさえ可能です。
EIP-7782を通じてそれを行うのはまだ早すぎると思います。なぜなら、それはDVTとSSFに対して厳罰になる可能性があるからです。ただし、それらが解決されると、スロット時間の減少は間違いなく必要です。