EIP-7702:EOAとAAの垣根をなくす新トランザクションタイプ

2025/05/09

今までは、2つのうちどちらかを選ぶ必要がありました:
1)従来の外部所有アカウント(EOA)のまま、単一の秘密鍵で運用を続ける方法、2)EIP-4337 をベースにしたアカウントアブストラクション(AA)対応のスマートウォレットへ移行する方法

しかし、2025年5月7日の Ethereum Mainnet「Pectra」 アップグレードで導入された EIP‑7702 によって、この二者択一は不要になりました。

EIP-7702 では新たに トランザクションタイプ 4 が追加され、EOA が一時的にコントラクトコードを「借りられる」ようになります。実質的には、1つのアドレスが従来のEOAとしても、スマートウォレットとしても使えるようになり、複数トランザクションのバッチ処理、ガス代の肩代わり、独自の支払いルールなどが可能になります。

アカウントアブストラクションの本質

アカウントアブストラクションの狙いはユーザー体験の改善です:

  • ガス代の見えない化

  • 必要クリック数の削減

  • 安定コインでのガス支払い

  • アカウント復旧の簡易化

ERC-4337 ウォレットはその概念実証としては成功しましたが、新しいアドレスへの移行や専用インフラが必要という課題がありました。一方、EIP-7702 はプロトコル変更や新しい opcode を必要としない 後方互換性の高いアプローチ で、既存の ERC-4337 ロジックを指し示すことも、ERC-4337 のbundleに乗せることもできます。そのため、アプリ側・bundler側のコード変更は最小限に抑えられます。

EOA vs. ERC-4337 vs. EIP-7702

従来の EOA ウォレット

MetaMask のような EOA ウォレットでは、アプリが生成した未署名トランザクションをユーザーが確認し、ウォレットの秘密鍵で署名してブロックチェーンに送信します。EOA がガス代を支払い、同時に実行できるのは基本的に 1 トランザクション。ユーザーは毎回承認操作が必要で、秘密鍵(通常はシードフレーズ)の管理も欠かせません。

EOA ウォレットとトランザクション

ERC-4337 ウォレット

ERC-4337 の正式名称は"Account Abstraction Using Alt Mempool"です。「代替mempool」とは、ERC-4337を使用したトランザクションがブロックチェーン上のトランザクションにユーザー操作を収集し、その後、実行のために標準のエントリーポイントスマートコントラクトに提出されるオフチェーンサービス、Bundlerによって処理されることを指します。この方式は、さまざまなコンポーネント間の標準インターフェースに依存しており、オフチェーンEOAの代わりにオンチェーンスマートウォレットを使用します。利点には、代替的なガス支払いスキームとトランザクションバッチ処理が含まれますが、その代償として、各ウォレットに対してスマートコントラクトをデプロイする必要があります。

ERC-4337 における承認ステップは、より柔軟で高度なものになります。ウォレットはトランザクションの内容をより深く把握でき、アプリとの結びつきも強いため、ユーザーは複数のトランザクションをまとめて包括的に承認したり、一定額以下のトランザクションを自動的に許可したりといった操作が可能です。

ERC-4337 ウォレットとトランザクション

EIP-7702 に対応した EOA ウォレット

EIP-7702 対応ウォレットでは、ユーザーが「set code」認可を署名し、指定のコントラクトを EOA の代理として動かせるようにします。この認可は、別の認可に置き換えられるか、ゼロアドレスを設定することで取り消せます。

認可には EOA の nonce と chain ID が含まれ、リプレイ攻撃を防ぎます。複数の認可をまとめて送ることができ、認可を含むトランザクション自身は EIP-1559 のタイプ 2 として扱われ、ETH の送金やスマートコントラクト呼び出しも可能です。

EIP-7702 は、

  • 従来のEOAとして振る舞える

  • スマートウォレットとしても使える

  • 既存EOAに後付けでスマートウォレット機能を与えられる
    といった「良いところ取り」の手法です。初期段階では、EIP-7702 ウォレットの多くが既存の ERC-4337 インフラを利用することが想定されていますが、標準上はその必要はありません。

IP-7702 ウォレットの2種類のトランザクション:タイプ4(7702)とタイプ2(EOA)

セキュリティと設計思想

ウォレットソフトウェアと delegate 先のスマートコントラクトは、EOA と同等の権限を持つため完全に信頼できる必要がありますEIP本文でも、第三者アプリに認可の制御を委ねる安全な方法は存在しないと警告しています。

ユーザーが悪意のあるスマートコントラクトを delegate として誤って認可し、資産を奪われる、といった攻撃は高い確率で発生すると考えられます。

設計思想として、EIP-7702は「EOAスクリプト」よりも「スマートウォレット」としての位置づけを優先しており、将来の AA 拡張と実装負荷のバランスが取られています。そのため、タイプ4トランザクションでは以下のような操作はできません:

  • 新規コントラクトのデプロイ

  • プリコンパイルを delegate に指定

  • blob の添付

  • 認可リストを空にすること(※一部 L2 は現時点でこの制約を無視する実装がある模様)

まとめ

リリース時点で、EIP-7702 を標準サポートすると公表しているウォレットは Ambireのみですが、今後他のウォレットも追随することは確実です。

MultiBaas ではタイプ4トランザクションと Cloud Wallet を使った認可リスト署名に対応しています。EIP-7702 を活用した開発を検討されている場合は、ぜひお気軽にお問い合わせください。

最後に補足です:
ERC-4337 はスマートコントラクト層のみで完結するため、ERC-20 や ERC-721 と同じ“ERC” (Ethereum Request for Comments) のカテゴリに属します。

一方、EIP-7702 はコンセンサスルールに変更を加えるため、プロトコルレベルのアップグレードに与えられるより正式な “EIP” (Ethereum Improvement Proposal) の名称が使われています。