EIP-7702の分析: イーサリアムアカウントの抽象化の重大なブレークスルーと未来の展望

イーサリアムアカウントの抽象化の発展の歴史と未来の展望

本文は二つの大きな部分に分かれています:

上半分は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アドレスを逆推します。これにはECDSAなどの非対称暗号および一方向しきい値関数などの概念が関与し、暗号学によって安全性が保障されていますが、現在のEOAアドレスの所有権の統合の困難さも引き起こしています。

EIP4337の核心は、取引フィールドに送信者アドレスを追加し、秘密鍵と操作アドレスの分離を実現することです。

権利の分離の重要性は次の通りです:

  1. 秘密鍵の保護が難しい: 秘密鍵を失うことは、すべての資産を失うことを意味します。

  2. 署名アルゴリズムが単一:ネイティブプロトコルはECDSA署名検証のみをサポートしています。

  3. サイン権限が高すぎる:ネイティブのマルチシグ機能がなく、シングルサインで任意の操作を実行できる。

  4. 取引手数料はETHでのみ支払い可能であり、バッチ取引には対応していません。

  5. 取引のプライバシー漏洩: 一対一の取引はアカウント保有者のプライバシー情報を分析しやすい。

これらの制限により、一般ユーザーがイーサリアムを使用することが難しくなっています:

まず、ユーザーは価格変動リスクを負うために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日、VitalikはEIP-101において契約をアカウントの新しい構造として提案しました。アドレスをコードとストレージスペースのみのものに変更し、ERC20による手数料の支払いをサポートし、プレコンパイル契約を通じてネイティブトークンをERC20類似のストレージ残高に変更し、取引フィールドを簡素化しました。

この大躍進的な変革は、基盤設計を大幅に変更し、各アカウントアドレスが独自の「コード」ロジックを持つことを可能にします###。これはまさにEIP-7702が実現しようとしている効果です(。

派生機能には次が含まれます:

  1. 取引はより多くの暗号アルゴリズムをサポートし、アドレス内部のコードによって署名検証認証方法が指定されます。

  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-7702をEIP-3074の代替案として提案しました。EIP-3074は廃止され、EIP-7702は今後のETH Prague/Electra)Pectra(ハードフォークに組み込まれます。

) 3.2 第二のルート: EOAアドレスがCAアドレスを駆動する

EIP-3074: AUTH および AUTHCALL オペコード ###2020-10-15( を追加

EVMに新しいオペコードAUTHとAUTHCALLを追加し、EOAがこれらの2つのオペコードを通じて契約に対してEOAのアイデンティティを代わりに使用して他の契約を呼び出すことを可能にします。

EOAは、署名済みメッセージ)取引(を信頼できるコントラクト)Invoker(に送信できます。このInvokerコントラクトは、AUTHおよびAUTHCALLオペコードを使用してEOAの代わりに取引を送信できます。

EIP-4337:トランザクションメモリプールを使用してアカウントの抽象化)2021-09-29(

MEVに触発されて設計され、コアの価値はコンセンサスレイヤープロトコルの変更を完全に回避することです。

新しいトランザクションオブジェクトUserOperationを提案します。ユーザーはこのオブジェクトをメモリプールに送信し、バンドラーがマイナーの観点からまとめて契約実行トランザクションをパッケージ化して配信します。実質的に、基盤となるトランザクションとアカウントの操作を契約レベルで実行します。

EIP-5189:背書者によるアカウントの抽象化)2022-06-29(

EIP4337のロジックを最適化し、資金罰金の背書endorserメカニズムを構築することで、悪意のあるBundlerによるDoSブロッキング攻撃を防ぎます。

) 3.3 その他のAAをサポートする提案

EIP-2718:新しい取引タイプのパッケージ封筒###2020-06-13(

完了した提案、新しい取引タイプを将来追加される取引タイプの封筒として定義します。

新しい取引タイプを導入する際には、特定のエンコーディングで区別し、後方互換性を保つ必要があります。例えば、EIP1559は取引手数料を区別しており、新しい取引タイプのエンコーディングを使用しても、元々のレガシー取引タイプには影響を与えません。

EIP-3607:EOAアドレスによる契約の展開を禁止)2021-06-10(

AAパス上の補完策、契約デプロイ先アドレスとEOAアドレスの衝突を防ぐ。契約生成方法を制御し、コードを既にEOAであるアドレスにデプロイすることを禁止する。リスクは小さく、イーサリアムアドレスは160ビットの長さであり、指定された契約アドレスの私鍵を衝突させる方法は存在するが、ビットコインの全算力を投入してもおそらく1年の時間が必要である。

) 3.4 アカウントの抽象化の発展の歴史をどのように理解すればよいですか?

まず、CAに変換された価値を理解する必要があります。

基本的にEIP-4337の実際の効果であり、実現可能です:

  1. ソーシャル復元
  2. マルチシグウォレット
  3. gas代としてトークンを支払う
  4. バッチ取引
  5. 時限取引
  6. プラグイン型ウォレット
  7. サイン検証拡張

しかし、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、 ガスリミット, 行き先 価値 データ、 アクセスリスト, 認証リスト, signature_y_parity、 signature_r、 signature_s ]###

authorization_listオブジェクトを追加し、署名者がEOAで実行したいコードを保存します。ユーザーは取引に署名する際、実行する契約コードにも署名し、二次元リストとして存在し、複数の操作情報を一括で保存し、一括操作を実行できます。

authorization_list = [[chain_id, 住所, nonce, y_parity, r, s], ...]

( 4.3 取引ライフサイクル

)# 4.3.1 検証フェーズ

取引実行の開始時に、[chain_id, address, nonce, y_parity, r, s] タプルの各authorization_listについて、次のようになります。

  1. 署名のr、sからecrecoverを使用して署名者のアドレスを復元します。
  2. チェーンID###の分岐防止チェーンリプレイ###を検証する。
  3. authority署名者コードが空であるか、または委任されているかを確認します。
  4. 機関の署名者を確認しnonce(機関の署名のリプレイ)を防ぎます。
  5. オーソリティ署名者コードを 0xef0100 に設定する || アドレス。
  6. authority署名者のnonce(を追加して部分署名のリプレイ)を防ぎます。
  7. authorityの署名者アカウントをアクセス済みアドレスリストに追加します。

(# 4.3.2 実行フェーズ

"新"バージョンはコードのデプロイ動作のみを変更します。

アカウントコードをcontract_codeとして設定せず、authorization_listからコードaddressを取得してアカウントコードとして設定します。

承認リストのアドレスフィールドから指定されたアドレスをロードし、署名者アカウントのコンテキスト内でコードを実行します。

ユーザー契約コードは、実際にはチェーン上の特定のアドレスに保存されており、取引に直接含まれているわけではありません。

操作指令と関連するパラメータは、取引ペイロードのdataフィールドに保存されます。

) 4.4EIP-7702の値

Web3ウォレットの全体的な流れに変化があり、ユーザー体験が大きく変わります。EOAが通常の取引を開始することで、契約の実行のようにさまざまなロジックが可能になります。たとえば、一括転送などです。これにより、CeFiシーンでの取引の識別に影響を及ぼし、入出金の手数料集約にも影響します。

複数の定石を打破する:

  1. アカウントの残高は、そのアカウントに由来しない取引によって減少する可能性があります。
  2. 取引実行開始後、EOAノンスが複数増加する可能性があります。
  3. tx.origin と msg.sender の比較のための保護ロジック
ETH3.43%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 8
  • 共有
コメント
0/400
ChainMaskedRidervip
· 08-01 10:45
感じはすべて机上の空論です。市場の反応を見てみましょう。
原文表示返信0
FrogInTheWellvip
· 07-31 03:59
突然、以前の4337が弟のように感じられた。
原文表示返信0
DeFiChefvip
· 07-30 12:32
理解できない新しい提案がまた来ました
原文表示返信0
CrossChainBreathervip
· 07-30 12:30
4337これだけ?7702こそ真の神
原文表示返信0
ContractExplorervip
· 07-30 12:30
AAは本当に大丈夫なのか、疲れてしまった。
原文表示返信0
OldLeekMastervip
· 07-30 12:25
AAは本当に使いにくい、いつ良くなるのだろうか
原文表示返信0
GasGrillMastervip
· 07-30 12:18
このガスは本当に燃えすぎている
原文表示返信0
BlockchainWorkervip
· 07-30 12:14
炒作、まだ炒作、ただのウォレットの入れ替えじゃないか
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)