
著者:@web3mario
導入
Vitalikは、2024年5月13日にEIP-7706の提案を発表し、既存のガスモデルの補足計画を提案し、CallDataのガス計算を剥がし、L2 L2の運用コストをさらに削減するためにBLOBガスベース料金の価格設定メカニズムをカスタマイズしました。また、関連する提案は、2022年2月に提案されたEIP-4844にまでさかのぼる必要があります。
現在サポートされているイーサリアムガスモデルは、EIP-1559およびEIP-4844をサポートしています
最初の設計では、Ethereumは簡単なオークションメカニズムを使用して取引料金を価格設定しました。これにより、ユーザーは自分の取引、つまりガス価格を設定する必要があります。 。当時のコア開発者の観点から、このメカニズムは次の4つの質問に直面していました。
-
取引コストレベルのボラティリティとトランザクションコンセンサスコストと一致しないでくださいアクティブな状態のブロックチェーンの場合、トランザクションのパッケージングの需要は十分であり、ブロックを簡単に埋めることができますが、これは多くの場合、全体的なコストが非常にボラティリティであることを意味します。たとえば、平均ガス価格が10 GWEIの場合、ブロック内のトランザクションのためにネットワークによって生成される限界コストは、平均ガス価格が1 GWEIの10倍であり、受け入れられません。
-
ユーザーにとって不必要な遅延:各ブロックには、ガス制限の硬い制限と履歴取引の自然な変動があるため、トランザクションは通常、いくつかのブロックがパッケージ化されるのを待ちますが、これはネットワーク全体では許可されていません。リラクゼーション「大きなブロックと次のブロックの小さなブロックを備えたメカニズムは、ブロックの需要の違いを1つずつ満たします。
-
価格設定効率が低い:単純なオークションメカニズムは、公正価格の発見の効率が低いため、ユーザーにとっては合理的な価格設定を与えることは困難です。
-
ブロックの報酬のないブロックチェーン意思不安定:単純なハンドリング料金モデルを採掘して採用して採用することによってもたらされたブロック報酬がある場合、盗む取引コストを刺激し、より強力な利己的なマイニング攻撃ベクトルを開く「姉妹ブロック」など、多くの不安定性を引き起こす可能性があります。
EIP-1559の提案と実行まで、ガスモデルには、2019年4月13日にVitalikなどのコア開発者が提案し、2021年8月5日のロンドンアップグレードで最初のイテレーションであるEIP-1559がありました。 2021年8月5日にロンドンのアップグレードによってアップグレードされるようになりました。このメカニズムは、オークションメカニズムを放棄し、基本料金と優先料金の二重価格モデルを採用しました。親のブロックと浮遊ガスターゲットで生成された関係は、確立された数学モデルを通じて定量的に計算されます。供給と需要の関係をよりよく反映し、合理的なガスの予測をより正確にすることができます。ユーザーの自由。特定のコードは次のとおりです。
Parent_gas_useはparent_gas_targetよりも大きい場合、現在のブロックの基本料金と、ガス目標のオフセットとガスターゲットの最大値と比較して比較されることがわかります。および一定のバランスと1。ロジックは似ています。
さらに、基本料金は報酬として鉱山労働者に割り当てられなくなりましたが、ETHの経済モデルは縮小状態にあります。一方、優先料金は、ユーザーが鉱夫を自由に与えることに相当します。
時間が2021年に進むにつれて、ロールアップの開発は徐々に良好な領域に入りました。検証のために利用可能なデータを直接達成する。これにより、これらのロールアップソリューションはL2の最終的な性質を維持する際に大きなガスコストに直面することができ、これらのコストは最終的にユーザーに引き継がれます。
同時に、Ethereumは、各ブロックにガス制限があることを知っていますガス制限は300,000で計算され、理論的には30,000,000 / 16 = 1,875,000バイトの制限があります。最大では、スケールまでは約1.79 MBです。L2ソーターによって生成されたロールアップ関連データは通常データが大きいため、他のメインチェーンユーザーのトランザクション確認と競合するため、単一のブロックでパッケージ化できるトランザクションボリュームが少なくなり、メインチェーンに影響します。 TPS。
このジレンマを解決するために、コア開発者は2022年2月5日にEIP-4844の提案を提唱し、2024年の第2四半期のDencunアップグレードの後に実装されました。提案は、従来のタイプのトランザクションと比較して、BLOBトランザクションと呼ばれる新しいタイプのトランザクションを提案しています。CallDataタイプとは異なり、BLOBデータはEVMで直接的にすることはできませんが、versionedhashとも呼ばれるハッシュのみにアクセスできます。さらに、通常のトランザクションと比較して2つの設計があります。ただし、自然なインデックス関数は数学モデルで選択されて、トランザクションスケールの変動に応じてパフォーマンスを向上させるためです。これは、自然指数関数の勾配も自然なインデックス関数であるためです。状態は、ネットワークトランザクションの規模です。 、関数値は1です。
base_fee_per_blob_gas = min_base_fee_per_blob_gas*e **(expres_blob_gas / blob_base_fee_update_fraction)
その中で、min_base_fee_blob_gasとblob_base_fee_update_fractionsは2つの定数です。 1よりも、base_fee_per_blob_gasが大きくなり、それ以外の場合は小さくなります。
このようにして、Ethereumのコンセンサス機能を使用することのみを望んでいる一部のデータを低コストで実行して、可用性を確保するための可用性シナリオを確保することができます。ロールアップソーターを例にとると、BLOBトランザクションを介してL2の重要な情報をBLOBデータにカプセル化し、Excisite Designを使用して、BersionDhashを使用して、絶妙なデザインを使用してリンクチェーンのロジックを実現できます。
補足する必要があるのは、現在のTarget_blob_gas_per_blockおよびmax_blob_gas_per_blockがメインネットワーク、つまり各ブロックの3ブロブ(0.375 mb)の平均処理と最大6ブロブ(0.75 mb)の制限に制限をもたらすことです。これらの初期制限は、ネットワークへのEIPによって引き起こされる圧力を最小限に抑えるように設計されており、ネットワークが大きなブロックで信頼性を示しているため、将来のアップグレードで増加すると予想されます。
実行環境ガス消費モデル-EIP-7706の再構築
現在のイーサリアムガスモデルを明確にした後、EIP-7706提案の目標と実装の詳細を見てみましょう。この提案は、2024年5月13日に提案されました。BLOBデータと同様に、このデータフィールドはCallDataです。対応するコード実装ロジックを最適化します。
原則として、CallDataの基本料金コンピューティングロジックは、EIP-4844のBLOBデータの基本料金と同じです。これらはすべてインデックス関数を使用し、親ブロックの実際のガス値と目標値の偏差値を計算します。現在の基本料金のスケーリング比を計算します。
limit_target_ratios [0]は、limit_target_ratios [0]がオペレーティングクラスのターゲット比を示している、limed_target_ratios [1]を意味する、limit_target_ratios [0]を意味する新しいパラメーター設計limit_target_ratios = [2,2,4]を意味することは注目に値します。 2]このベクトルのターゲット比は、親ブロックの3種類のガスに対応するガスターゲット値を計算するために使用されます。ガス限界の制御:
gas_limitsの設定ロジックは次のとおりです。
GAS_LIMITS [0]は、既存の調整式に従う必要があります
Gas_limits [1]はmax_blob_gas_per_blockに等しくなければなりません
gas_limits [2]はgas_limits [0] // calldata_gas_limit_ratioに等しくなければなりません
現在のgas_limits [0]が30000,000であり、Calldata_gas_limit_ratioが4にプリセットされていることを知っています。つまり、現在のCallDataガスターゲットは約30000000 // 4 // 4 = 1875000です。非ゼロバイトは16のガスを消費し、ゼロバイトは4つのガスを消費します。段落のゼロバイトがバイトの分布の50%を占めていると仮定します。したがって、現在のCallDataガスターゲットは、現在の平均用量の約2倍の187500バイトのCallDataデータに対応する必要があります。
これの利点は、コールダタが経済モデルの状況に達する可能性を大幅に減らすことです。この設計の理由は、L2の開発のための障害を払拭するためです。