Ethereumストレージの分割価格設定とデュアルトラックEIP1559
この記事は約2315文字で、全文を読むには約4分かかります
イーサリアム状態モデルの最大の問題は、平均的な状態の成長と最悪の場合の状態の成長の間に大きな差があることです。
AI要約
イーサリアム状態モデルの最大の問題は、平均的な状態の成長と最悪の場合の状態の成長の間に大きな差があることです。
平均サイズと最悪の場合のストレージ サイズ
現在の(状態)プロトコル(一般に持続不可能であると考えられている)および状態の有効期限がある改良されたプロトコルにおける状態のモデリングの欠点の 1 つは、平均的な状態の増加と最悪の場合の状態の増加の間に大きな差があることです。現在のプロトコルを考えてみましょう。現在、状態の合計サイズは約 5 億 5,000 万オブジェクト、つまり約 32GB です (トライのオーバーヘッドは含まれません)。前年から手を付けていない州をすべて取り除くと、合計は簡単に半分以上減少する可能性があります。さて、何が最悪ですか?コントラクトコードの作成には 1 バイトあたり 200Gas の手数料がかかりますので、ブロックを 3 つのトランザクションに分割し、各トランザクションでコントラクトを作成すると、12334800Gas+3*55000Gas の 20558 バイトのコントラクトを 3 つ作成できます。契約作成のオーバーヘッド。このようにして、1 つのブロックで、ストレージ サイズを 20600*3=61800 バイト増やすことができます。平均ブロック生成時間が 13.1 秒であると仮定すると、年間 31556925/13.1=2408925 ブロックがあり、一般に、状態は 61800*2408925=148871600381.67938 バイト、つまり約 138 GB 増加する可能性があります。この差は約10倍です。 (ホワイトプランの注: 以下の 16GB のデータは、文脈によれば、1 年間のイーサリアムの現在の状態の合計サイズであると理解されます)非常に重要なことは、コンシューマー向けハードウェア RAM は実際のサイズを 16GB まで保持できますが (そうでない場合は、ガス価格や状態の有効期限を調整して適合させることができます)、138GB は格納できません。副題デュアルトラック EIP-1559
この問題に対する自然な解決策は、一時的コストと永続的コストに EIP-1559 価格設定を使用しますが、調整期間は異なります。一時的なコストの場合、価格は一度に 10% 以上調整できます。ただし、恒久的なコストの場合、価格調整は大幅に遅くなります。AMM コスト曲線メカニズムを基礎として考えると、ストレージについては、月あたり 1 GB を目標レートとする曲線を考えることができ、目標をどれだけ超えるかに応じてコストが増加します。たとえば、ストレージ コストは、目標を超える GB ごとに 2 倍になる可能性があります。この場合、ストレージ ブロックの価格が 2 倍になるまでに 3 日程度かかる場合があります。ストレージが 10 GB を超えて増加すると、ストレージ コストが通常の 1000 倍になり、経済的にストレージを継続することができなくなります。これを実現するには 2 つの方法があります。1. Gas でストレージを購入します。つまり、SSTORE を使用して新しいストレージ スロットを作成すると、現在と同様にガスが消費されますが、消費されるガスの量は変動します。この欠点は、ガソリン価格が安い週末にユーザーがストレージを補充する(偽装)インセンティブを生み出すことです。2. ETH でストレージを購入します。 Gas に加えて、トランザクション (および呼び出し) は別のリソース (マナと呼ぶことができます) を提供する必要があります。これは、Gas と同様のメカニズムを使用しますが、パラメーターが異なります。これには、呼び出しルールが複雑になり、新しい CALL オペコードの追加が必要になるという欠点があります。ここにはハイブリッド オプションがあることに注意してください。3. ストレージの価格は ETH で設定できますが、Gas で請求されます (したがって、基本料金が 2 倍になると、ストレージ スロットを埋めるのに必要な Gas は自動的に半分になります)。ストレージのスケーリングに使用される ETH を EIP 1559 ガス価格更新ルールから除外したり、ブロック制限から除外したりすることもできます。4. Gas を、Gas、Execution Point、Storage Point という 3 つの概念にさらに包括的に変換します。 1Gas=1wei; Gas を割り当てるトランザクションは、単にその wei の一部をリソースの支払いに使用できる特別な形式に変換していることを意味します。このフォームは、呼び出しとサブ呼び出しの間で受け渡される方法という点では、Gas と同じように機能します。ただし、AMM は実行ポイント コストとストレージ ポイント コストの 2 つのコストを管理するようになりました。実行プロセスが現在 N ガスを消費するオペコードを処理する場合、N 実行ポイントを消費します。これは、ガスを支払うために N* 実行ポイントコストが必要であることを意味します。ストレージ スロットを埋めるには 1 つのストレージ ポイントが必要なので、Gas をチャージするには storage_point_cost が必要です。最後に、払い戻しは州の期限ロードマップから削除される予定であることにも注意してください。これは技術的な理由によるものです。ストレージ スロットは「空」になって払い戻しの対象となることはできないため、ゼロにのみ設定でき、期間が終了して状態が期限切れになるまで、ゼロ レコードはその状態を維持する必要があります。これにより、ストレージをレンタルする以前の試みで発生した複雑さの問題が大幅に軽減されます。パブリックチェーン
Odaily公式コミュニティへの参加を歓迎します


