イーサリアム上海アップグレードの機能とメリットについて語る
W3.Hitchhiker
2022-11-08 07:34
本文约1642字,阅读全文需要约7分钟
今回のアップグレードに関わるEIPの機能とメリットを簡単に整理

原作者: Xiang、W3.ヒッチハイカー

イーサリアム上海のアップグレードについて、どのようなメリットがあるのか​​簡単に整理してみましょう。

最新のイーサリアムを参照公開情報、上海アップグレードに関連する EIP は次のとおりです。

  • 含まれる EIP を決定します: EIP-3651、EIP-3855、EIP-3860、EIP-4895

  • 含まれる可能性のある EIP: EIP-3540、EIP-3670

  • 最初のレベルのタイトル

EIP-3651: ウォームコインベース

EIP-3651 について言えば、まず EIP-2929 に変更を導入する必要があります。

ターゲットが accessed_addresses にない場合は、COLD_ACCOUNT_ACCESS_COST (コールド アカウント アクセス コスト) のガスをチャージし、そのアドレスを accessed_addresses に追加します。それ以外の場合、WARM_STORAGE_READ_COST (ウォーム ストレージ読み取りコスト) ガスが課金され、ウォーム読み取りによって消費されるガスは比較的低くなります。

現在、COINBASE 直接支払いはますます人気が高まっていますが、COINBASE へのアクセス料金は現在高くなっています。これは、EIP-2929 によって導入されたアクセス リスト フレームワークの下で、COINBASE が EIP でコールド アカウント アクセスのコストに応じてガスを計算するためです。 - 3651 以降、accessed_addresses には COINBASE (0x41) によって返されたアドレスが含まれます。

利点:

最初のレベルのタイトル

EIP-3855: PUSH0 命令

EIP-3855、新しい命令 (0x5f) を導入し、定数値 0 をスタックにプッシュします。イエローブックの PUSH の命令セットは、現在 PUSH1 ~ PUSH32 のみです。関数は 1 バイトをスタックにプッシュし、プッシュします。スタックに 32 バイト

値 0 をスタックにプッシュする既存の命令の実装では、PUSH1 0 を実行する必要があります。これは実行時に 3 ガスを消費し、さらに 200 ガス (ストレージ コストの 2 バイト) を消費します。

image

PUSH0命令を使用すると、余分な200ガスを消費する必要がありません。

利点:

最初のレベルのタイトル

EIP-3860: 初期化コードを制限および計算する

現在、最大の initcode は MAX_CODE_SIZE: 24576 (EIP-170)、新しい initcode の最大は (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152) です。これは、コントラクト サイズを 2 倍にすることができ、コントラクト開発者はより豊富な機能をデプロイできることを意味します。 (コントラクト コードが大きすぎるため、デプロイは失敗します。追記: コントラクト サイズの上限をサポートするために、L2 プロジェクトも部分的に変更されました)

さらに、jumpdest 分析のコストを表すために、32 バイトの initcode チャンクごとに 2 つのガス料金が導入されます。コントラクトの作成中、クライアントは実行前に initcode に対してジャンプデスト分析を実行する必要があるためです。実行は initcode のサイズに比例して行われます。

これは、initcode の各バイトに 0.0625 ガスのコストがかかり、契約デプロイメントのガスコストがわずかに増加することを意味します。

利点:

最初のレベルのタイトル

EIP-4895: ビーコン チェーンの撤回

主な内容は、ビーコンチェーンからEVMへ資金を出金する主なプロセスを決定することで、デプロイ完了後、イーサリアムビーコンチェーンの誓約出金機能が有効になります。

利点:

最初のレベルのタイトル

EIP-3540: EVM オブジェクト フォーマット (EOF) v1

この EIP には大きな変更が含まれており、必ずしも上海アップグレードに含まれているわけではありません。

この EIP で説明されている形式は、シンプルで拡張可能な形式を導入し、検証を導入しています。契約コードとデータの分離を実現。

新しい EVM オブジェクトの形式は次のとおりです: magic、version、(section_kind、section_size)+、0、

利点:

バージョン管理は、将来の新機能 (アカウント抽象化の導入など) の導入または廃止に役立ちます。

契約コードとデータの分離は、L2 検証 (op) にとって有益であり、L2 バリデーターのガスコストを削減します。

最初のレベルのタイトル

EIP-3670: EOF — コード検証

この EIP は上海アップグレードに必ずしも含まれているわけではなく、EIP-3540 契約の作成時にコード検証が導入されます。未定義の指示を拒否する契約。

利点:

元のリンク

元のリンク

W3.Hitchhiker
作者文库