Vitalikの最新のブログ投稿:多次元ガス価格設定ディスカッション

著者:イーサリアムの創設者:0xjs@作作作作

イーサリアムでは、最近までリソースが限られており、「ガス」と呼ばれる単一のリソース価格が使用されています。ガスは、特定のトランザクションまたはブロックに必要な「計算」の量です。ガスは、さまざまなタイプの「努力」を一緒に統合します。

  • 元の計算(追加、乗算など)

  • Ethereum Storage(Sstore、Sloadeth Transferなど)を読んで書き込みます

  • データ帯域幅

  • ブロックを生成するためのZK-SNARKを生成するコスト

たとえば、私が送信したトランザクション(https://etherscan.io/TX/0XC5195B64CC333B8098D71FBD032E05D4545917E3BE8D123AB06E1AD7998E))))))> “>合計47,085ガスが使用されました。これは、(i)2149ガスの生成ログの「基本コスト」です。ユーザーが支払わなければならない取引手数料は、取引によって消費されるガスに直接比例します。> “>ブロックには最大3,000万ガスを含めることができ、ガス価格はEIP-1559ターゲットメカニズムを介して継続的に調整され、ブロックに平均1500万ガスが含まれていることを確認します。

この方法には主な効率があります。すべてが仮想リソースに統合されるため、非常にシンプルな市場設計につながります。最適化されたトランザクションは、可能な限り最小化されたブロックを最小限に抑えます(MEVを除く)。

しかし> “>また、この方法には大きな非効率的な問題があります。異なるリソースを相互変換と見なしますが、ネットワークが処理できる実際の潜在的な制限はそうではありません。この問題を理解する1つの方法は、この写真を見ることです。

ガスは次の制約を制限します:x1*データ+x2*計算&n。実際の基礎となるセキュリティの制約は、通常、Max(x1*データ、x2*計算)に近いです。この違いにより、ガスは実際のセキュリティブロックの不必要な除外を制限するか、実際の安全でないブロック、または2つの特定のミックスを受け入れます。

セキュリティ制限が異なるリソースがある場合、1次元ガスは1つの要因のスループットを減らす可能性がありますか?したがって、人々は長い間、EIP-4844を通じて多次元ガスの概念に興味を持っています。この記事では、この方法の利点と、この方法をさらに強化する見通しについて説明します。

ブロブ:デンコンの多次元ガス

今年の初め、イーサリアムの平均ブロックサイズは150 kbでした。このサイズの大部分はロールアップデータです。セキュリティ上の理由から、第2層プロトコルはチェーン上にデータを保存します。これらのデータは非常に高価です。ロールアップトランザクションのコストは、Ethereum L1の対応するトランザクションの約5〜10倍低いですが、このコストは多くの場合依然として高すぎます。

CallDataのコストを削減してみませんか(現在、非番号バイトあたり16ガス、バイト数あたり4ガス)、ロールアップは安価ですか?私たちは以前にこれを行ったことがあります、そして私たちはそれをもう一度することができます。ここでの答えは次のとおりです。最悪の場合のブロックサイズは300,000/16 = 1875000非番号バイトであり、ネットワークはこのサイズのブロックを処理することはほとんど不可能です。コストが4倍削減されると、最大容量が7.5 MBに増加し、セキュリティリスクが大きくなります。

この問題は、各ブロックに個別の簡単なロールアップデータスペースを導入することにより、別のデータスペース(「ブロブ」と呼ばれる)を導入することにより、最終的に解決されます。これらの2つのリソースには異なる価格と異なる制限があります。Dencunハードフォークの後、イーサリアムブロックには(i)3,000万のガスを含めることができます。両方のリソースは、EIP-1559の価格設定メカニズムと同様の個別の価格設定メカニズムによって調整されています。

その結果、ロールアップのコストは100倍削減され、ロールアップのトランザクションボリュームは3倍以上増加し、理論的な最大ブロックサイズはわずかに増加しました。

ロールアップ取引料金は、growingepie.xyzによって提供されます。Dencun Forkは2024年3月13日に発生し、多次元価格設定BLOBを導入しました。

多次元ガスとステートレスクライアント

近い将来、州のないクライアントのないストレージ証明書に関する同様の問題も発生します。ステートレスクライアントは、多くのデータをローカルに保存することなくブロックチェーンを検証できる新しいタイプのクライアントです。Statelessクライアントは、ブロック内のトランザクションのEthereum固有の部分の証明を受け入れることにより、これを実装します。

状態のないクライアントはブロックを受け取り、ブロック実行の実行に関与する状態の特定の部分(アカウント残高、コード、ストレージなど)の現在の値の証明を証明します。これにより、ノードはストレージ自体なしでブロックを検証できます。

読み取りの種類に応じて、一度に読書を保管するには2100〜2600のガスが必要であり、ストレージの書き込みコストが高くなります。平均して、ブロックは約1,000のストレージと読み取り(ETHバランスチェック、SSTOREコールスロード、契約コードの読み取り、その他の操作を含む)を実行します。ただし、理論的最大値は30000000/2100 = 14285です。状態のないクライアントの帯域幅負荷は、数に比例します。

今日、この計画は、ステートレスクライアントをサポートするためにイーサリアム州の樹木を設計することにより、マークルパトリシアの木からヴェルクルツリーに移されます。ただし、Verkle Treeには量子抵抗がなく、更新されたStark Proof Systemに最適な選択肢ではありません。したがって、多くの人々は、デュアルマークルツリーを介して州のないクライアントをサポートし、ベルクルを完全にスキップすることに興味があります。

バイナリハッシュツリーのスタークには多くの利点がありますが、生成するのに長い時間がかかる重要な弱点があります。バークルツリーは、1秒あたり100,000以上の価値を証明できますが、ハッシュベースのスタークは通常のみであることを証明できます。ハッシュベースのスタークのみは、通常、1秒あたり数千のハッシュを証明できるだけで、各値に多くのハッシュ値を含む「分岐」が必要であることを証明します。

超最適化された認証システム(BiniusやPlonky3など)と特別なハッシュ(Vision-Mark-32など)から、個々の値の状態になる可能性があります14,285ではありません。各ブロックは問題ありませんが、最悪のケース(攻撃者によって公開される場合があります)がネットワークを破壊します。

この状況に対処する「デフォルト」方法は、再価格を再価格にすることです。各ブロックの最大値をより安全なレベルに減らすために、ストレージの読み取りをより高価にします。ただし、これを何度も行っています。> “>より良い方法は、多次元ガスです。ストレージアクセスの制限と料金は、それぞれ各ブロックで1,000のストレージアクセスの平均使用を維持しますが、各ブロックの制限を2,000回に設定します。

より一般的な多次元ガス

検討する価値のあるもう1つのリソースは、州の成長です。イーサリアム状態の動作を増やすには、ノード全体が完全な状態を保持する必要があります。国家の成長の独自性は、国家の成長を制限する理由は、ピークではなく、正確に長期的な継続的使用であるということです。したがって、状態スケールの増加の増加のために別のガス寸法を追加すると(たとえば、ゼロから非ゼロのSSTORE、契約作成まで)、目標は異なる場合があります。 、それはまったく設定されていません。

これは、マルチビタミンガスの強力な特性の1つを示しています。次の質問をすることができます。> “>i)各リソースの理想的な平均使用と(ii)各ブロックの最大安全使用法は何ですか。各ブロックの最大値に基づいてガス価格を設定しません。

2つのリソースのいくつかの蓄積されたセキュリティに関する考慮事項など、より複雑なケースは、動作コードまたはリソースコストを特定の数のガスにすることで処理できます(たとえば、ゼロから非ゼロのSSTOREまでは5,000のステートレスクライアントプルーフガスと20000年のコストがかかる場合があります貯蔵ガス)。

各トランザクションの最大値:多次元ガスを取得するための弱いが単純な方法

X1はデータのコストであり、X2は計算されたガスコストであり、1次元ガスシステムでは、トランザクションガスコストガス= X1*データ+X2*計算を書くことができます。

新しいプランでは、トランザクションのガスコストを次のように定義します。GAS= MAX(X1*データ、X2*計算)

言い換えれば、取引はデータプラスの計算に基づいて請求されるのではなく、消費する2つのリソースのリソースに基づいてさらに請求されます。これは、より多くの寸法をカバーするために簡単に拡張できます(例:max(…、x3*straige_access))。

安全性を確保しながら、これがスループットをどのように増加させるかを簡単に見ることができます。ブロック内のデータの最大量はまだGaslimit/x1であり、これは1次元ガス溶液とまったく同じです。同様に、理論的最大計算量はGaslimi/X2であり、これは1次元ガス溶液とまったく同じです。ただし、消費および計算されたトランザクションのデータのコストは削減されます。

これは、最大ブロックサイズを削減し、BLOBカウントをさらに増加させるために、提案されたEIP-7623で提案されたスキームに関するものです。EIP-7623の正確なメカニズムは、わずかに複雑です。現在の16ガスのコールダタ価格を維持しますが、バイトあたり48ガスの「予備価格」を追加します。したがって、EIP-7623は、ほとんどのアプリケーションのコストを変更せずに、ブロック内の最大トランザクション呼び出しデータを約1.9 MBから約0.6 MBに削減します。この方法の利点は、現在の1次元ガスソリューションと比較してほとんど変化していないため、達成するのは非常に簡単です。

2つの欠点があります。

1.ブロック内の他のすべてのトランザクションが非常に少ないリソースしか使用していない場合でも、リソースを占める多数のトランザクションは、多くの料金を請求する必要はありません。

2.コストを節約するために、バンドルパッケージへのデータ集約型および計算された密なトランザクションを刺激します。

私の意見では、EIP-7623スタイルのルールは、これらの欠点があっても、トランザクションの呼び出しデータや他のリソースに十分な利点をもたらすことができます。ただし、(大小を問わず)開発努力を喜んで投資する場合、より理想的な方法があります。

多次元EIP-1559:より難しいが理想的な戦略

まず、「従来の」EIP-1559の作業原則をレビューしましょう。EIP-4844でBlobによって導入されたバージョンに焦点を当てます。これは、数学でよりエレガントであるためです。

パラメーターexpres_blobsを追跡します。各期間中、私たちはセットアップします:

expres_blobs< -max(expred_blobs + len(block.blobs)-target、0)

ここでターゲット= 3。言い換えれば、ブロックのブロックの数がターゲットよりも多い場合、expres_blobsが増加し、ブロック内のブロックの数がターゲットよりも少ない場合、それは減少します。次に、blob_basefee = exp(expres_blobs / 25.47)を設定します。ここで、EXPはインデックス関数のおおよその値exp(x)です。

言い換えれば、超過_BLOBが約25倍増加するたびに、BLOBの基本コストは約2.7倍増加します。BLOBが高すぎると、平均使用量が減少し、超過_Blobsが減少し始め、それにより自動的に価格が再び減少します。Blobの価格は、ブロックが半分いっぱいになるように常に調整されています。つまり、各ブロックには平均3つのブロブが含まれています。

使用量が短期に見える場合、制限があります。各ブロックには、最大6個のBLOBしか含まれていません。ただし、通常の状況では、各BLOBはblob_basefeeを支払い、インスピレーションとして少し優先度のある料金を追加するだけです。

このガス価格設定は長年にわたってイーサリアムにありました。2020年には、EIP-1559は非常に類似したメカニズムを導入しました。EIP-4844を通じて、2つの個別のガスと塊が浮かぶ価格があります。

2024年5月8日の1時間以内のガスの基本コスト、ユニットはGWEIです。出典:ultrasonic.money

原則として、ストレージの読み取りやその他の種類の操作にソロコストを追加することができますが、次のセクションで詳細に説明するという警告があります。

ユーザーの場合、このエクスペリエンスは今日と非常に似ています。基本的な料金を支払うことはありませんが、2つの基本的な費用を支払うことはできませんが、ウォレットはそれを抽象化できます。 。

ブロックビルダーの場合、ほとんどの場合、最良の戦略は今日と同じです。効果的なコンテンツを含みます。ほとんどのブロックはいっぱいではありません – ガスであろうとブロブであろうと。挑戦的な状況は、ブロック制限を超えるのに十分なガスまたは十分な塊がある場合、ビルダーは、その利益を最大化するために多次元ナップサックの問題を潜在的に解決する必要があることです。ただし、非常に良い近似アルゴリズムがある場合でも、この場合、独自のアルゴリズムを策定することで利益を最適化することで得られる利点は、同じ操作にMEVを使用するよりもはるかに小さいです。

開発者にとって、主な課題は、EVMとその周辺インフラストラクチャの機能を再設計することです。これらのインフラストラクチャは現在、1つの価格と1つの制限付き設計を中心に設計されており、複数の価格と複数の制限に適応することです。アプリケーション開発者が直面している問題の1つは、最適化がわずかに困難になることです。場合によっては、Aがより多くのcallDataを使用し、Bがより多くの実行を使用し、その後より多くの実行を使用してから使用し、それからより多くの実行を使用してから、AがBよりも効率的であると明確に言うことができなくなります。 Calldataが安い場合、Calldataが高価な場合はより高価です。ただし、開発者は、長期の歴史的平均価格を最適化することで、非常に良い結果を得ることができます。

多次元価格設定、EVMおよびサブコール(サブコール)

1つの問題はBLOBには現れませんし、EIP-7623にも表示されません。また、CallDataの「完全な」多次元価格設定の実装にも表示されませんが、価格設定またはその他のリソースを試みる場合は、価格設定ステータスまたは他のリソース。この問題が発生します。

EVMのガスは2つの場所に制限されています。まず、各トランザクションはガス制限で設定され、これにより、トランザクションで使用できるガスの総量が制限されます。第二に、ある契約が別の契約を呼び出すと、コールは独自のガス制限を設定できます。これにより、契約は信頼していない他の契約を呼び出すことができ、他の計算を実行するために電話をかけた後も残りのガスを持っていることを保証します。

アカウントの抽象トランザクションのトレースは、アカウントの1つが他のアカウントを呼び出し、発信者に限られた数のガスを提供して、コールが割り当てられたすべてのガスを消費しても、外部呼び出しが実行され続けることができることを確認する。

課題は、さまざまなタイプの実行間の多次元になります。

これが、多次元ガス提案が通常、データと実行という2つの次元にとどまる理由の1つです。データ(取引がCallDataまたはBLOBであるかどうか)はEVMの外側のみに割り当てられているため、EVM内のコンテンツを変更してCallDataまたはBLOBの価格を個別に変更する必要はありません。

この問題を解決するために、「EIP-7623ソリューション」を考え出すことができます。これは簡単な実装です。実装中に、ストレージ操作の充電コストは分析を簡素化するために、各ストレージ操作が10,000ガスであると仮定します。トランザクションの最後に、払い戻し最小(7500 * Storage_operations、execution_gas)。その結果、払い戻しを控除した後、ユーザーは次の費用を支払う必要があります。

execution_gas + 10000 * Storage_operations -min(7500 * Storage_operations、execution_gas)

これは次のとおりです。

max(execution_gas + 2500 * Storage_operations、10000 * Storage_operations)

これは、EIP-7623の構造を反映しています。別の方法は、ストレージ_operationsとexecution_gasをリアルタイムで追跡することです。また、2500または10000ガスの量は、通話操作コードに従ってmax(execution_gas + 2500 * storage_operations、10000 * storage_operations)によって充電されます。これにより、スカイガスの過度の割り当てが必要なトランザクションが回避され、これらのガスは主に払い戻しによって回収されます。

サブコールのための微細なライセンスを取得していません。サブコールは、安価なストレージ操作のための取引のすべての「手当」を消費する場合があります。しかし、私たちは彼らの中で十分なものを得ることができます。

私が考えることができる最も単純な「完全な多次元価格設定ソリューション」は、私たちは子供のサブコールをガスを割合と見なしていることです。言い換えれば、それを仮定します

さまざまなタイプの実行、各トランザクションは多次元の制限を設定しますか?現在の実行ポイントを仮定すると、残りのガス

?コールがサブコールガス制限Sを使用して操作コードを呼び出すと仮定するとS1 = Sを、次にS2 = S1/G1*G2、S3 = S1/G1*G3などとします。

言い換えれば、最初のタイプのガス(実際には仮想マシンの実行)を特権「アカウントユニット」と見なし、各タイプのガスを呼び出すことができます。これは少し醜いですが、後方互換性を最大化します。スキームを異なるタイプのガス間でより「ニュートラル」にしたい場合、後方性を犠牲にする犠牲を払って、子供にガス制限パラメーターを呼び出すことができます。 。

> “>ただし、いずれにせよ、ガスの多次元実行が導入されると、固有のugさが増加し、回避が難しいと思われることを強調する価値があります。

したがって、私たちのタスクは、複雑な取引を行うことです。EVMレベルで醜いものの一部を受け入れて、重要なL1スケーラビリティ収入を安全にリリースします。

私が上で言及した人ではなく、よりエレガントでより良いものの余地がまだある可能性があります。

Ansgar Dietrichs、Barnabe Monoton、Davide Crapisのフィードバックとレビューをありがとう。

  • Related Posts

    イーサリアムの可能性は、その場で渡されるだけではありません

    ジェシー、ビッチンビジョンレルム Ethereumの全会一致…

    Ethereum Governance Reflection:なぜEIP-3074事件に不満を抱いているのですか?

    出典:Buyuは言った この記事では、コンテンツのレビューを…

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    You Missed

    8つの選択されたプロジェクトのポストWebアクセラレータの最初のバッチ

    • 投稿者 jakiro
    • 4月 17, 2025
    • 0 views
    8つの選択されたプロジェクトのポストWebアクセラレータの最初のバッチ

    Nubit、Babylon、Bitlayerの間の「ただ」のどちらですか?

    • 投稿者 jakiro
    • 4月 17, 2025
    • 0 views
    Nubit、Babylon、Bitlayerの間の「ただ」のどちらですか?

    ゴールデン百科事典|貿易戦争は株式や暗号市場にどのような影響を与えましたか?

    • 投稿者 jakiro
    • 4月 17, 2025
    • 0 views
    ゴールデン百科事典|貿易戦争は株式や暗号市場にどのような影響を与えましたか?

    ゴールデン百科事典| BTCは貿易戦争中の安全な避難所ですか?

    • 投稿者 jakiro
    • 4月 16, 2025
    • 5 views
    ゴールデン百科事典| BTCは貿易戦争中の安全な避難所ですか?

    アメリカ人が米国を去りたい理由:経済的、政治的、世界的な変化

    • 投稿者 jakiro
    • 4月 16, 2025
    • 5 views
    アメリカ人が米国を去りたい理由:経済的、政治的、世界的な変化

    データ:BTCマイニングは高度に集中化されており、6つの主要なマイニングプールがブロックの95%以上を採掘しています

    • 投稿者 jakiro
    • 4月 16, 2025
    • 5 views
    データ:BTCマイニングは高度に集中化されており、6つの主要なマイニングプールがブロックの95%以上を採掘しています
    Home
    News
    School
    Search