# イーサリアムアカウント抽象トラックの過去と未来を深く解読する本文は二つの大きな部分に分かれています:まず、2015年の最初のAA提案から始めて、システムはこれまでのEIP提案の主要内容を整理し、AAの歴史的提案の経緯を振り返り、各提案の長所と短所を総合的に評価します。次に、EIP4337が提案された後に直面した市場の低迷に対するフィードバックを重点的に比較し、次回のイーサリアムのアップグレードに含まれるEIP7702を深く分析します。この提案が統合されると、オンチェーンアプリケーションの形態が全面的に変わります。EIP-7702は画期的な意義を持ちます。それについて詳しく見てみましょう。## 1. アカウントの抽象的な背景### 1.1 アカウントの抽象的な意味の位置付けイーサリアム創設者Vitalikは2023年末に再びETHの発展ロードマップを更新しましたが、アカウント抽象の位置付けは変わりませんでした。現在の主流モデルはEIP-4337から次の段階の自発的なEOAアカウントへの移行を進めています。EIP4337が発表されてから1年以上が経ち、(は2023年3月1日にデンバーで開催されたWalletConで正式に発表されました)。ユーザーから広く認知されていますが、まだ広く使われていません。このような矛盾した市場環境の中で、EIP-7702の進捗は大幅に前倒しされ、次回のアップグレードで統合されることが確定しました。### 1.2 アカウント抽象的市場現状 1年半の発展を経て、EIP4337は主流チェーン上で1200万のアカウントしかなく、その中でイーサリアムメインネット上の活発なアカウントはわずか6,764で、EOAおよびCAアカウントの数を大きく下回っています。イーサリアムメインネットの独立したアカウント数は2.7億に達しており、EIP4337はメインネット上でほとんど実質的な発展がなかったと言えます。しかし、これはAAの本質的な価値には影響しません。EIP4337の設計当初から、メインネットの前方互換性の問題をうまく解決するのは難しいことが決まっていました。さまざまなL2がAAにネイティブに組み込まれる中、EIP4337のアドレス数はL2上で爆発的に増加し、BaseとPolygonのチェーンでは7月のアクティブユーザー数がそれぞれ100万人と300万人に達し、相当なものとなっています。したがって、EIP4337の設計に誤りはなく、多くの利点があります。現在の状況は、メインネットとL2の違いに起因しており、それぞれに適したソリューションが必要です。! [イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈](https://img-cdn.gateio.im/social/moments-cecbf67df71971d38b0a927be5e4c4d90192837465674839201## 2. アカウント抽象とは何ですか?アカウントの抽象化は本質的に所有権の分離の問題を解決することです。イーサリアム仮想マシン)EVM(には2種類のアカウントがあります: 外部アカウント)EOA(と契約アカウント)CA(です。EOAの所有権と署名権は実際には同一の主体によって保持されています。秘密鍵を持つ人は、アカウントの「所有権」を持つだけでなく、「すべての資産の移転に署名する」権利も持っています。これはイーサリアムアカウントの取引構造によって決定されます。標準取引構造にはFromフィールドがなく、資金の転送はVRSパラメータ)ユーザー署名(からFromアドレスを逆解釈して行われます。これにより、現在のEOAアドレスの所有権の統合の困難が生じています。EIP4337の核心的な効果は、取引フィールドに送信者アドレスを追加することで、秘密鍵と操作アドレスを分離することです。所有権の分離の重要性は次のとおりです:1. 秘密鍵の保護が難しい: 秘密鍵を失うと、すべての資産を失うことを意味します。2. 署名アルゴリズムが単一:ネイティブプロトコルはトランザクションの検証にECDSAアルゴリズムのみを使用できます。3. サイン権限が高すぎる: ネイティブのマルチシグがなく、シングルサインで任意の操作を実行できる。4. 取引手数料はETHでのみ支払い可能であり、バッチ取引はサポートされていません。5. 取引のプライバシー漏洩: 一対一の取引はアカウント保有者の情報を分析しやすい。これらの制約は、一般のユーザーがイーサリアムを利用することを難しくします:- どのアプリケーションを使用するにも、ETHを保有し、価格変動リスクを負う必要があります。- 複雑な手数料ロジックを処理する必要があり、ガス価格、ガスリミット、ノンスなどの概念が複雑すぎます。- ウォレットアプリはユーザー体験の最適化を試みていますが、効果は限られています。したがって、打破の道はアカウント抽象を実現し、すべての所有権)Owner(と署名権)Signer(をデカップリングすることにあり、上述の問題を徐々に解決することです。歴史上、さまざまな方案があり、最終的に二つのルートに集約された。! [イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈])https://img-cdn.gateio.im/social/moments-65d1ef9656425666ee30c38bbb63e769(## 3. AAヒストリカルプロポーザルコンテクストコーミング問題の解決法は多くのEIP提案があるように見えますが、結局のところ2つの核心的な考え方に集約されます。未通過のEIPで考慮された問題は最終的に既存のソリューションに集約されました。) 3.1 第一種ルート:EOAアドレスをCAアドレスに変換する2015年11月15日、ヴィタリックはEIP-101でアカウントの新しい構造としてコントラクトを提案しました。アドレスをコードとストレージスペースのみとし、ERC20で手数料を支払うことをサポートし、プリコンパイルされたコントラクトを通じてネイティブトークンをERC20に類似した形で残高を保持し、トランザクションフィールドをto、startgas、data、codeのみに簡素化しました。これは大躍進的な変革であり、基盤設計を大幅に変更し、各アカウントアドレスが自分自身の「コード」ロジック###を持つことを可能にします。まさに現在EIP-7702が実現しようとしている効果(です。他の機能を派生させることもできます:1. 取引はより多くの暗号アルゴリズムを使用し、アドレス内部のCodeによって署名検証方法が指定されます。2. 量子攻撃耐性を備えており、コードはアップグレード可能です。3. イーサリアムのERC20と同様の機能を持たせる、例えば代わりに引き落とす権限の付与4. アカウントのカスタマイズスペースを強化し、ソーシャルリカバリー、SBTサポート、キーの回収などに対応する未続行の理由は簡単で、明らかに歩みが大きすぎて、現在の取引ハッシュ衝突問題やセキュリティリスクについての考慮が不十分だったため、ずっと保留されていました。しかし、すべての利点の理念は、以降のEIP4337およびEIP7702のコア機能の一つとなっています。その後、いくつかのEIPがこの論理を改善しようとしました:EIP-859:メインチェーンアカウント抽象)2018-01-30(Codeのデプロイメント問題を解決しようとしています。取引先の契約がデプロイされていない場合は、取引に添付されたcodeパラメータを使用して契約ウォレットのデプロイを実行します。また、ガスの支払いに加えて、取引パラメータ内の検証部分と実行部分の区切りとしても機能する新しいPAYGASオペコードが提案されています。当時は無事に終わらなかったが、現在のEIP7702の核心的な論理の一つとなった。EIP7702の各トランザクションは特殊なトランザクション構造を組み合わせ、一定のコードを添付することができ、EOAアドレスがこのトランザクションにおいてコントラクト機能を持つことができる。EIP-7702:EOAアカウントコード)2024-05-07( これは本記事の後続の議論の核心EIPで、ヴィタリックによってEIP-3074の代替案として発表されました。EIP-3074は廃止され、EIP-7702は今後のETH Prague/Electraハードフォークに組み込まれることが決定しています。) 3.2 第二のルート:EOAアドレスがCAアドレスを駆動させるEIP-3074: AUTH および AUTHCALL オペコード ###2020-10-15( を追加EVMに2つの新しいOpCodeを追加しました:AUTHとAUTHCALL。これにより、EOAはこれらのOpCodeを通じて契約に権限を与え、EOAの代わりに他の契約を呼び出すことができます。概括すると、EOAは署名されたメッセージ)を自分が信頼する契約(に送信し、これをInvoker)と呼びます。Invoker契約は、AUTHとAUTHCALLを利用してEOAに代わって取引を発行することができます。EIP-4337:取引メモリプールを使用してアカウント抽象(2021-09-29)MEVにインスパイアされた設計で、核心的な価値は合意層プロトコルの変更を完全に回避することです。EIP4337は新しいトランザクションオブジェクトUserOperationを提案し、ユーザーはこのオブジェクトをメモリプールに送信します。バンドラーはマイナーの観点からトランザクションをバッチ処理して契約の実行に渡します。本質的には、基盤となるトランザクションとアカウントの操作を契約レベルで実行させるものです。EIP-5189:バックエンドオペレーターによる抽象アカウント(2022-06-29)EIP4337のロジックを最適化し、資金罰金の裏付け(endorser)メカニズムを構築することで、悪意のあるBundlerのDoS攻撃を防止します。( 3.3 その他のAAをサポートする提案EIP-2718:新しい取引タイプのパッケージ封筒)2020-06-13###すでにFinalな提案は、新しい取引タイプを将来の追加取引タイプの封筒として定義します。新しい取引タイプを導入する際には、特定のコーディングで区別し、後方互換性を維持するだけで、前方互換性は必要ありません。最も一般的な例はEIP1559で、取引手数料を区別し、新しい取引タイプのコーディングを使用し、最初のレガシー取引タイプには影響を与えません。EIP-3607:EOAアドレスによる契約の展開を禁止(2021-06-10)AAパス上の補完策で、契約のデプロイ先アドレスとEOAアドレスの衝突を防ぎます。契約生成方法を制御し、コードをすでにEOAであるアドレスにデプロイすることを許可しません。このリスクは非常に小さく、イーサリアムのアドレスは160ビットの長さを持っています。指定された契約アドレスの秘密鍵を衝突させる方法は存在しますが、ビットコインの全算力を投入してもおそらく1年の時間が必要です。( 3.4 アカウントの抽象化の発展過程をどのように理解するか?まず、CAに変換された価値を理解する必要があります。基本的にEIP-4337の実際の効果であり、実現可能です:- ソーシャルリカバリー- ガスなし取引- バッチ取引- 代付ガス- アカウントロック- カスタム署名しかし、EIP-4337の核心的な欠点は、人間の動機原則に反していることです。見た目は良くなったが、市場の発展の悪循環に陥っている: 多くのDappはまだ互換性がなく、ユーザーはCAアドレスを使用したがらず、CAを使用することで逆に取引コストが高くなっている)通常の送金シーンでは取引手数料が倍増###、Dapp自体の互換性に依存しすぎている。したがって、イーサリアムのメインネットでは今まで普及していません。コストはユーザーにとって最も重要な評価基準であり、コストを削減する必要があります。GASを本当に削減するためには、イーサリアム自体でソフトフォークアップグレードを行い、GAS計算やオペコードのGAS消費などのモジュールを変更する必要があります。ソフトフォークを行うのであれば、EIP-7702を直接検討する方が良いでしょう。! [イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈](https://img-cdn.gateio.im/social/moments-3503a168bb61430839419efb40e130de)## 4. EIP-7702 は完全に解析されます( 4.1 EIP-7702とは何ですか新しい取引タイプを通じて、EOAが単一の取引で一時的にスマートコントラクト機能を持つことを可能にし、バッチ取引、ガスなし取引、カスタム権限管理などをサポートし、新しいEVM opCode)を導入することなく前方互換性に影響を与えない###。ユーザーがスマートコントラクトを展開することなく、大部分のAA機能を得ることができ、さらには第三者がユーザーに代わって取引を開始する能力を提供することも可能であり、ユーザーが秘密鍵を提供する必要はなく、署名された権限情報だけで済みます。( 4.2 データ構造新しい取引タイプ0x04を定義し、TransactionPayloadは以下の内容のRLPエンコーディングされたシリアライズ結果です:rlp)[ chain_id、 ノンス, max_priority_fee_per_gas、 max_fee_per_gas、 ガス制限, 行き先 価値 データ、 アクセスリスト, authorization_list、 signature_y_parity、 signature_r、 signature_s]###重要なのは、署名者がそのEOAで実行したいコードを保存するauthorization_listオブジェクトが新たに追加されたことです。ユーザーは取引に署名すると同時に、実行する契約コードにも署名します。これは二次元リストとして存在し、複数の操作情報をバッチで保存でき、バッチ操作を実行できます。authorization_list = [[chain_id, 住所, nonce, y_parity, r, s], ...]( 4.3 取引ライフサイクル)# 4.3.1 検証フェーズ実行トランザクションの開始時に、各authorization_listのタプル [chain_id, address, nonce, y_parity, r, s] について:1. 署名のr、sから署名者のアドレスをecrecoverを使って復元する。2. チェーンID###のフォーク防止チェーンリプレイ###。3. authorityの署名者コードが空であるか、(に委託されているかを確認し、取引が有効な7702取引)であるかどうかを検証します。4. 機関の署名者を確認しnonce(機関の署名のリプレイ)を防ぎます。5. オーソリティ署名者コードを 0xef0100 に設定する || address(バイパスEIP3607衝突回避戦略)。6.権限署名者nonce(反部分署名リプレイ)を追加しました。7. authority署名者アカウントをアクセス済みアドレスリスト(に追加し、熱いアドレスに転送し、クエリストレージのガス代)を削減します。(# 4.3.2 実行フェーズ"新"バージョンはコードのデプロイ動作のみを変更します。アカウントコードをcontract_codeとして設定するのではなく、authorization_listからコードaddressを取得してアカウントコードとして設定します。権限コードを実行する際、authorization_listのaddressフィールドから指定されたアドレスにコードをロードし、署名者アカウントのコンテキストで実行します。ユーザーコントラクトコードは実際にチェーン上の特定のアドレスに保存されており、取引には直接含まれていません。操作コマンドと関連パラメータは、トランザクションペイロードのdataフィールドに保存されます。) 4.4EIP-7702の値Web3ウォレットの全体的な変更があり、ユーザーエクスペリエンス
EIP-7702の解析:アカウントの抽象化の新しい時代とEOAの能力向上
イーサリアムアカウント抽象トラックの過去と未来を深く解読する
本文は二つの大きな部分に分かれています:
まず、2015年の最初のAA提案から始めて、システムはこれまでのEIP提案の主要内容を整理し、AAの歴史的提案の経緯を振り返り、各提案の長所と短所を総合的に評価します。
次に、EIP4337が提案された後に直面した市場の低迷に対するフィードバックを重点的に比較し、次回のイーサリアムのアップグレードに含まれるEIP7702を深く分析します。この提案が統合されると、オンチェーンアプリケーションの形態が全面的に変わります。
EIP-7702は画期的な意義を持ちます。それについて詳しく見てみましょう。
1. アカウントの抽象的な背景
1.1 アカウントの抽象的な意味の位置付け
イーサリアム創設者Vitalikは2023年末に再びETHの発展ロードマップを更新しましたが、アカウント抽象の位置付けは変わりませんでした。現在の主流モデルはEIP-4337から次の段階の自発的なEOAアカウントへの移行を進めています。
EIP4337が発表されてから1年以上が経ち、(は2023年3月1日にデンバーで開催されたWalletConで正式に発表されました)。ユーザーから広く認知されていますが、まだ広く使われていません。このような矛盾した市場環境の中で、EIP-7702の進捗は大幅に前倒しされ、次回のアップグレードで統合されることが確定しました。
1.2 アカウント抽象的市場現状
1年半の発展を経て、EIP4337は主流チェーン上で1200万のアカウントしかなく、その中でイーサリアムメインネット上の活発なアカウントはわずか6,764で、EOAおよびCAアカウントの数を大きく下回っています。イーサリアムメインネットの独立したアカウント数は2.7億に達しており、EIP4337はメインネット上でほとんど実質的な発展がなかったと言えます。
しかし、これはAAの本質的な価値には影響しません。EIP4337の設計当初から、メインネットの前方互換性の問題をうまく解決するのは難しいことが決まっていました。さまざまなL2がAAにネイティブに組み込まれる中、EIP4337のアドレス数はL2上で爆発的に増加し、BaseとPolygonのチェーンでは7月のアクティブユーザー数がそれぞれ100万人と300万人に達し、相当なものとなっています。
したがって、EIP4337の設計に誤りはなく、多くの利点があります。現在の状況は、メインネットとL2の違いに起因しており、それぞれに適したソリューションが必要です。
! [イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈](https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp0192837465674839201
2. アカウント抽象とは何ですか?
アカウントの抽象化は本質的に所有権の分離の問題を解決することです。
イーサリアム仮想マシン)EVM(には2種類のアカウントがあります: 外部アカウント)EOA(と契約アカウント)CA(です。EOAの所有権と署名権は実際には同一の主体によって保持されています。秘密鍵を持つ人は、アカウントの「所有権」を持つだけでなく、「すべての資産の移転に署名する」権利も持っています。
これはイーサリアムアカウントの取引構造によって決定されます。標準取引構造にはFromフィールドがなく、資金の転送はVRSパラメータ)ユーザー署名(からFromアドレスを逆解釈して行われます。これにより、現在のEOAアドレスの所有権の統合の困難が生じています。
EIP4337の核心的な効果は、取引フィールドに送信者アドレスを追加することで、秘密鍵と操作アドレスを分離することです。
所有権の分離の重要性は次のとおりです:
秘密鍵の保護が難しい: 秘密鍵を失うと、すべての資産を失うことを意味します。
署名アルゴリズムが単一:ネイティブプロトコルはトランザクションの検証にECDSAアルゴリズムのみを使用できます。
サイン権限が高すぎる: ネイティブのマルチシグがなく、シングルサインで任意の操作を実行できる。
取引手数料はETHでのみ支払い可能であり、バッチ取引はサポートされていません。
取引のプライバシー漏洩: 一対一の取引はアカウント保有者の情報を分析しやすい。
これらの制約は、一般のユーザーがイーサリアムを利用することを難しくします:
したがって、打破の道はアカウント抽象を実現し、すべての所有権)Owner(と署名権)Signer(をデカップリングすることにあり、上述の問題を徐々に解決することです。
歴史上、さまざまな方案があり、最終的に二つのルートに集約された。
! [イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(
3. AAヒストリカルプロポーザルコンテクストコーミング
問題の解決法は多くのEIP提案があるように見えますが、結局のところ2つの核心的な考え方に集約されます。未通過のEIPで考慮された問題は最終的に既存のソリューションに集約されました。
) 3.1 第一種ルート:EOAアドレスをCAアドレスに変換する
2015年11月15日、ヴィタリックはEIP-101でアカウントの新しい構造としてコントラクトを提案しました。アドレスをコードとストレージスペースのみとし、ERC20で手数料を支払うことをサポートし、プリコンパイルされたコントラクトを通じてネイティブトークンをERC20に類似した形で残高を保持し、トランザクションフィールドをto、startgas、data、codeのみに簡素化しました。
これは大躍進的な変革であり、基盤設計を大幅に変更し、各アカウントアドレスが自分自身の「コード」ロジック###を持つことを可能にします。まさに現在EIP-7702が実現しようとしている効果(です。
他の機能を派生させることもできます:
未続行の理由は簡単で、明らかに歩みが大きすぎて、現在の取引ハッシュ衝突問題やセキュリティリスクについての考慮が不十分だったため、ずっと保留されていました。しかし、すべての利点の理念は、以降のEIP4337およびEIP7702のコア機能の一つとなっています。
その後、いくつかのEIPがこの論理を改善しようとしました:
EIP-859:メインチェーンアカウント抽象)2018-01-30(
Codeのデプロイメント問題を解決しようとしています。取引先の契約がデプロイされていない場合は、取引に添付されたcodeパラメータを使用して契約ウォレットのデプロイを実行します。また、ガスの支払いに加えて、取引パラメータ内の検証部分と実行部分の区切りとしても機能する新しいPAYGASオペコードが提案されています。
当時は無事に終わらなかったが、現在のEIP7702の核心的な論理の一つとなった。EIP7702の各トランザクションは特殊なトランザクション構造を組み合わせ、一定のコードを添付することができ、EOAアドレスがこのトランザクションにおいてコントラクト機能を持つことができる。
EIP-7702:EOAアカウントコード)2024-05-07(
これは本記事の後続の議論の核心EIPで、ヴィタリックによってEIP-3074の代替案として発表されました。EIP-3074は廃止され、EIP-7702は今後のETH Prague/Electraハードフォークに組み込まれることが決定しています。
) 3.2 第二のルート:EOAアドレスがCAアドレスを駆動させる
EIP-3074: AUTH および AUTHCALL オペコード ###2020-10-15( を追加
EVMに2つの新しいOpCodeを追加しました:AUTHとAUTHCALL。これにより、EOAはこれらのOpCodeを通じて契約に権限を与え、EOAの代わりに他の契約を呼び出すことができます。
概括すると、EOAは署名されたメッセージ)を自分が信頼する契約(に送信し、これをInvoker)と呼びます。Invoker契約は、AUTHとAUTHCALLを利用してEOAに代わって取引を発行することができます。
EIP-4337:取引メモリプールを使用してアカウント抽象(2021-09-29)
MEVにインスパイアされた設計で、核心的な価値は合意層プロトコルの変更を完全に回避することです。
EIP4337は新しいトランザクションオブジェクトUserOperationを提案し、ユーザーはこのオブジェクトをメモリプールに送信します。バンドラーはマイナーの観点からトランザクションをバッチ処理して契約の実行に渡します。本質的には、基盤となるトランザクションとアカウントの操作を契約レベルで実行させるものです。
EIP-5189:バックエンドオペレーターによる抽象アカウント(2022-06-29)
EIP4337のロジックを最適化し、資金罰金の裏付け(endorser)メカニズムを構築することで、悪意のあるBundlerのDoS攻撃を防止します。
( 3.3 その他のAAをサポートする提案
EIP-2718:新しい取引タイプのパッケージ封筒)2020-06-13###
すでにFinalな提案は、新しい取引タイプを将来の追加取引タイプの封筒として定義します。
新しい取引タイプを導入する際には、特定のコーディングで区別し、後方互換性を維持するだけで、前方互換性は必要ありません。最も一般的な例はEIP1559で、取引手数料を区別し、新しい取引タイプのコーディングを使用し、最初のレガシー取引タイプには影響を与えません。
EIP-3607:EOAアドレスによる契約の展開を禁止(2021-06-10)
AAパス上の補完策で、契約のデプロイ先アドレスとEOAアドレスの衝突を防ぎます。契約生成方法を制御し、コードをすでにEOAであるアドレスにデプロイすることを許可しません。このリスクは非常に小さく、イーサリアムのアドレスは160ビットの長さを持っています。指定された契約アドレスの秘密鍵を衝突させる方法は存在しますが、ビットコインの全算力を投入してもおそらく1年の時間が必要です。
( 3.4 アカウントの抽象化の発展過程をどのように理解するか?
まず、CAに変換された価値を理解する必要があります。
基本的にEIP-4337の実際の効果であり、実現可能です:
しかし、EIP-4337の核心的な欠点は、人間の動機原則に反していることです。
見た目は良くなったが、市場の発展の悪循環に陥っている: 多くのDappはまだ互換性がなく、ユーザーはCAアドレスを使用したがらず、CAを使用することで逆に取引コストが高くなっている)通常の送金シーンでは取引手数料が倍増###、Dapp自体の互換性に依存しすぎている。
したがって、イーサリアムのメインネットでは今まで普及していません。
コストはユーザーにとって最も重要な評価基準であり、コストを削減する必要があります。
GASを本当に削減するためには、イーサリアム自体でソフトフォークアップグレードを行い、GAS計算やオペコードのGAS消費などのモジュールを変更する必要があります。ソフトフォークを行うのであれば、EIP-7702を直接検討する方が良いでしょう。
! イーサリアムアカウント抽象化トラックの過去と未来の詳細な解釈
4. EIP-7702 は完全に解析されます
( 4.1 EIP-7702とは何ですか
新しい取引タイプを通じて、EOAが単一の取引で一時的にスマートコントラクト機能を持つことを可能にし、バッチ取引、ガスなし取引、カスタム権限管理などをサポートし、新しいEVM opCode)を導入することなく前方互換性に影響を与えない###。
ユーザーがスマートコントラクトを展開することなく、大部分のAA機能を得ることができ、さらには第三者がユーザーに代わって取引を開始する能力を提供することも可能であり、ユーザーが秘密鍵を提供する必要はなく、署名された権限情報だけで済みます。
( 4.2 データ構造
新しい取引タイプ0x04を定義し、TransactionPayloadは以下の内容のRLPエンコーディングされたシリアライズ結果です:
rlp)[ chain_id、 ノンス, max_priority_fee_per_gas、 max_fee_per_gas、 ガス制限, 行き先 価値 データ、 アクセスリスト, authorization_list、 signature_y_parity、 signature_r、 signature_s ]###
重要なのは、署名者がそのEOAで実行したいコードを保存するauthorization_listオブジェクトが新たに追加されたことです。ユーザーは取引に署名すると同時に、実行する契約コードにも署名します。これは二次元リストとして存在し、複数の操作情報をバッチで保存でき、バッチ操作を実行できます。
authorization_list = [[chain_id, 住所, nonce, y_parity, r, s], ...]
( 4.3 取引ライフサイクル
)# 4.3.1 検証フェーズ
実行トランザクションの開始時に、各authorization_listのタプル [chain_id, address, nonce, y_parity, r, s] について:
署名のr、sから署名者のアドレスをecrecoverを使って復元する。
チェーンID###のフォーク防止チェーンリプレイ###。
authorityの署名者コードが空であるか、(に委託されているかを確認し、取引が有効な7702取引)であるかどうかを検証します。
機関の署名者を確認しnonce(機関の署名のリプレイ)を防ぎます。
オーソリティ署名者コードを 0xef0100 に設定する || address(バイパスEIP3607衝突回避戦略)。
6.権限署名者nonce(反部分署名リプレイ)を追加しました。
(# 4.3.2 実行フェーズ
"新"バージョンはコードのデプロイ動作のみを変更します。
アカウントコードをcontract_codeとして設定するのではなく、authorization_listからコードaddressを取得してアカウントコードとして設定します。
権限コードを実行する際、authorization_listのaddressフィールドから指定されたアドレスにコードをロードし、署名者アカウントのコンテキストで実行します。
ユーザーコントラクトコードは実際にチェーン上の特定のアドレスに保存されており、取引には直接含まれていません。
操作コマンドと関連パラメータは、トランザクションペイロードのdataフィールドに保存されます。
) 4.4EIP-7702の値
Web3ウォレットの全体的な変更があり、ユーザーエクスペリエンス