---
title: "EIP-7702:Pectra後のEthereum開発者向けクイック統合ガイド"
description: "EthereumはEIP-7702という重要なアップグレードを目前に控えている。すべての開発者向けに、統合時の考慮点をまとめたクイックガイド。"
---

# EIP-7702:Pectra後のEthereum開発者向けクイック統合ガイド

<ImageBlock
  src="https://media.alchemy.com/1738616619-eip-7702-blog.jpg"
  alt="EthereumのPectraアップグレードにおけるEIP-7702、EOAにスマートアカウント機能を付与"
  width={3200}
  height={1600}
  caption="EIP-7702はEOAにスマートアカウント機能を付与する"
  priority
/>

<CalloutBlock>

TL;DRで十分という方へ。[Xでの解説シリーズ](https://x.com/Alchemy/status/1886965484383559972)で簡潔な説明とデモを確認できます。

</CalloutBlock>

[Ethereumのロードマップ](https://ethereum.org/en/roadmap/pectra/7702/)は、[**Pectraハードフォーク**](/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips)に含まれる**[EIP-7702](https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets)**によって、メインストリームでのcrypto採用に向けて大きく動いています。このアップグレードは、Ethereumのアカウント抽象化に向けた歩みにおける重要な節目であり、オンチェーン体験をよりスムーズに、賢く、アクセスしやすくすることを目指すブレークスルーです。具体的には、EIP-7702はExternally Owned Accounts（EOA）がスマートコントラクトアカウントの機能を利用できるようにします。

開発者であるあなたは、次世代のオンチェーンイノベーションの設計者です。私たちは、EIP-7702を最大限活用できるよう支援します。[<u>数百万のオンチェーンアプリケーションを支えるインフラ</u>](https://www.alchemy.com/)を構築してきた立場から、ガイドを提供します。

これは、アプリケーション開発者向けのEIP-7702深掘りシリーズの第一弾です。このプロポーザルが持つインパクト、その仕組み、そしてこれらの最先端機能をアプリケーションに統合する際の判断材料となる技術的なポイントを一緒に見ていきます。一歩ずつ、未来を築いていきましょう。

要点：

- EIP-7702は、EOAがスマートコントラクトアカウントに制御を委任し、自身のアドレスから直接コードを実行できるようにする
- 既存のAA標準であるERC-4437と互換性があるため、既存のウォレットは新しいアドレスを作成したり資産を移動したりすることなくスマートコントラクトウォレットになれる
- ユーザー向けには、アカウントリカバリーや認証を簡単にするパスキーサインインといったweb2的な機能、そしてガス代のスポンサーやETH以外の任意のトークンでのガス代支払いといったweb3の利点が実現される

## Ethereumアカウントの現状

2024年5月、Vitalik Buterinが[<u>EIP-7702</u>](https://eips.ethereum.org/EIPS/eip-7702)を提案しました。これはEthereumアカウントの仕組みを根本的に変える可能性を持つプロポーザルです。all core dev call前の22分間のドラフトとして始まったこの提案は、現在Pectraアップグレードに含まれています。EIP-7702は、直近の使い勝手の課題を解決しつつ、完全なアカウント抽象化に向けた重要な一歩を表しています。

しかし、Ethereumの向かう先を理解するには、[<u>現在のアーキテクチャを理解する</u>](https://www.alchemy.com/overviews/what-is-account-abstraction)必要があります。

現在、Ethereumユーザーは2種類のアカウントに依存しています。秘密鍵によって制御される**externally owned accounts（EOA）**と、コードを直接実行する**smart contract accounts（SCA）**です。

**Externally owned accounts**：

- トランザクションを開始できる
- 自身のアドレスから直接コードを実行できない
- 基本的な操作に限定される

**Smart contract accounts**：

- コードを実行できる
- トランザクションを開始できない
- より柔軟でプログラム可能

EIP-7702の目的は、_任意のアカウントがスマートコントラクトのように振る舞える_ようにすることで、この2つを統合することです。EOAが自身のアドレスから直接コードを実行できるようにすることで、Ethereum開発者はオンチェーンでWeb2水準のUXを構築できます。具体的には以下のような機能です：

- セッションキー
- アカウントのソーシャルリカバリー
- シードフレーズを必要としない認証メカニズム
- 複数のアクションをワンクリックにまとめるバッチ処理

EIP-7702の仕組みについて知っておくべきことは以下の通りです。

### EIP-7702とERC-4337について知っておくべきこと

EIP-7702は、Ethereumの既存のAA標準であるERC-4337を置き換えるものではありません。EIP-7702はERC-4337を補完し、これらのアカウント抽象化機能がユーザーに届きやすくなるよう設計されています。ただし、ERC-4337には一つの制約があります：

- EOAとの後方互換性がないため、新しいウォレットの作成が必要だった

**EIP-7702はこの制約を取り除きます**。EVMのコンセンサスロジックへの深い変更を伴わずに：

- 既存のウォレットを使用する
- 新しいアカウントや移行を必要としない
- ERC-4337のインフラとぴったり噛み合う
- 既存のEOAは、delegation designatorを介してスマートコントラクトのロジックを委任するだけでよい

### EIP-7702の実行フロー

EIP-7702は巧妙な委任メカニズムに依存しており、ユーザーがスマートコントラクトコードを実行するための認可を提供することが前提となります。この認可はユーザーが明示的に取り消すまで永続的であり、つまりユーザーは自分が認可するコードが悪意のあるものではないと信頼していることになります。

実行フローは以下の通りです：

1. **セットアップ**：EOAがスマートコントラクトウォレットへの制御委任を決定する
1. **検証**：委任が正しく署名されていることをシステムがチェックする
1. **実行**：EOAがスマートコントラクトの機能を得る
1. **クリーンアップ**：EOAがスマートコントラクトの制御を取り消す場合、委任を0に戻すために別の7702トランザクションを送信する必要がある

EOAは**delegation designator**を保存することで、スマートコントラクトアカウントのように振る舞えるようになります。このdesignatorは特殊なコード`0xef0100 \|\| address`であり、`address`が目的の機能やアクションを含むスマートコントラクトを指します。

このdelegation designatorは、禁止されたオペコード`0xef`を使って通常のデータと区別し、コード実行操作が指定されたアドレスからコードをロードすることを保証します。

トランザクションがEOAに送信されると、EOAは指定されたアドレスのコードを実行し、スマートコントラクトアカウントの機能を得ます。

### アプリケーション開発者向けの採用とセキュリティに関する考慮事項

EIP-7702の採用には、ウォレットプロバイダーという主要な依存関係があります。ウォレットはアプリケーションの上流に位置するため、ウォレットのサポートがなければ、EIP-7702が可能にする機能をアプリケーション開発者やそのユーザーが活用することはできません。

EIP-7702はまた、スマートコントラクトアカウントとは異なるセキュリティモデルを持ちます。主に、EIP-7702アカウントは元のEOAの秘密鍵を保持し続けるため、スマートアカウントのセキュリティルールを上書きできてしまいます。

EIP-7702によって可能になるウォレット機能をどのように統合するかは、いくつかの要因に依存します。アプリケーションの開発段階、対象とするユーザーのタイプ、そして複数チェーンにアプリケーションをデプロイする際に必要な柔軟性の度合いです。

#### 既存ユーザーと組み込みウォレットを持つ開発者向け

すでに組み込みウォレットをお持ちの場合は好都合です。私たちの[**smart accounts**](/smart-wallets)を通じて、異なるユーザータイプの管理を支援します：

- 既存のEOAユーザーはERC-4337アカウントにアップグレードできる
- 新規ユーザーは最初から純粋なERC-4337アカウントを利用できる
- システムはsmart EOA（EOA+7702）と純粋なERC-4337アカウントを同時にサポートする

#### まだアプリケーションをデプロイしていない開発者向け

新規アプリをゼロから始める場合：ERC-4337とEIP-7702はどちらもアカウント抽象化を可能にしますが、現代のブロックチェーンアプリケーションにおいて異なるニーズに応えます。

ERC-4337は、最大限のプログラマビリティ、豊富なトランザクションのカスタマイズ性、確立されたツールを備えた純粋なスマートコントラクトアカウントを提供し、アカウント機能が最優先となるシングルチェーンアプリケーションやほとんどのマルチチェーンアプリケーションに理想的です。

対照的に、EIP-7702はアカウントがEOAとスマートコントラクトの両方として機能できるハイブリッドなアプローチを提供し、即座のコントラクトデプロイが不要なため初期のガスコストを抑えつつ、シームレスなクロスチェーン互換性とネットワーク間で一貫したアドレスを実現します。

**次の場合はERC-4337を選択してください：**

- 深いアカウントのプログラマビリティが中核要件である
- マルチチェーンアプリを構築しているが、一部のチェーンでEOA、他のチェーンでSCAを使うといった柔軟性を必要としない
- ガスコストが主な懸念事項でない
- 豊富なトランザクションのカスタマイズが必要
- 既存の4337インフラを活用したい

**次の場合はEIP-7702を選択してください：**

- マルチチェーンアプリを構築しており、ネットワーク間で一貫したアドレスが重要な要件である
- 初期のガスコストが懸念事項である
- EOAインフラとの後方互換性が重要である
- シンプルに始めて段階的にアップグレードできる柔軟性が欲しい

EIP-7702の主な利点はその柔軟性です。EOAとスマートアカウントの機能のどちらかを選ばなければならないわけではないため、従来型と最新のブロックチェーンインフラの両方とやり取りする必要があり、かつクロスチェーン展開を計画しているアプリケーションにとって特に価値があります。

#### 外部のサードパーティウォレットと連携するアプリ向け

[MetaMask](https://www.alchemy.com/dapps/metamask)をはじめとする最も広く使われているウォレットの多くが、今年中にスマートウォレット機能を組み込む予定です。以下は検討すべきトピックです：

- [<u>バッチ処理</u>](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#self-sponsoring-allowing-txorigin-to-set-code)：単一の認可で複数のアクションをアトミックに実行する機能。例えば[DEX](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base)でユーザーがERC-20を承認し、その承認を使って支出する場合など
- [<u>委任</u>](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#secure-delegation)のリスク
- 外部スマートウォレット接続を簡素化するために[<u>私たちのSDK</u>](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useConnect)の利用を検討する

### その他の考慮事項

**EIP-7702を使って既存のEOAをアップグレードし、7702が可能にする**\***すべて**\***の機能を使いたいと考えるアプリケーション開発者には、リレイヤーが必要です。**リレイヤーのアーキテクチャにはいくつかの種類がありますが、私たちは4337 Bundlerの使用を推奨します。理由は以下の通りです：

- リレイ用の標準化されたインターフェースを提供する
- ビルトインのpaymasterシステムを含む
- 将来の互換性を確保する
- パブリックメンプールを通じた検閲耐性をサポートできる

4337 Bundlerが必要な場合は、[<u>Alchemy Bundler</u>](https://www.alchemy.com/bundler?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)をご利用ください。

## 今後の展望：メインストリーム採用への道

EIP-7702はEthereumをよりweb的にすると期待されていますが、開発者は、メインネットローンチ後の採用がまずウォレットによる機能統合に依存していることに留意すべきです。そのため、当面はEIP-7702の使い勝手が限定的になる可能性があります。Ethereum開発者が議論している最新の話題を追いたい場合は、[<u>こちら</u>](https://ethereum-magicians.org/t/eip-7702-set-eoa-account-code/19923/346)から最新の投稿を確認してください。

### EIP-7702の統合を支援します

<ImageBlock
  src="https://media.alchemy.com/1745712194-frame-1597879441.png"
  alt="スマートウォレットがユーザーとトランザクションを増やす"
  width={2160}
  height={910}
  caption="スマートウォレットがユーザーとトランザクションを増やす"
/>

[**Smart wallets**](/smart-wallets)は、摩擦ゼロで世界をオンチェーンに導く手助けをします。今日からEIP-7702を活用して既存のEOAをアップグレードしたり、新しいERC-4337アカウントをデプロイしたりできます。

- **摩擦ゼロのオンボーディング**：組み込みウォレットで馴染みのあるメールやソーシャルログインを実装
- **ガスレストランザクション**：ユーザーのガス代をスポンサーし、ワンクリックトランザクションを実現
- **スマートアカウント統合**：容易なSDK統合とERC-4337、ERC-6900、EIP-7702のサポート

学習、構築、リリースをお手伝いします！

1. **調べる**：[ドキュメント](https://www.alchemy.com/docs/wallets?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)を読んで[構築を始める](https://dashboard.alchemy.com/accounts?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)
1. **サポートが必要ですか？**：[お問い合わせください！](https://www.alchemy.com/contact-sales?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series)私たちのチームは24時間365日、これらの機能の実装をサポートします

## よくある質問

### EIP-7702とは何ですか？

EIP-7702は、Pectraハードフォークに含まれるEthereumのアップグレードで、Externally Owned Accounts（EOA）がスマートコントラクトアカウントに制御を委任できるようにし、トランザクションのバッチ処理、ガス代のスポンサー、ソーシャルリカバリーといったスマートアカウントの機能を付与します。

### EIP-7702は既存のEOAとどのように連携しますか？

EIP-7702により、既存のEOAは新しいアカウントを作成したり資産を移動したりすることなく、スマートコントラクトの機能を獲得できます。EOAはスマートコントラクトを指すdelegation designatorを保存し、自身のアドレスから直接コードを実行できるようになります。

### EIP-7702はERC-4337と互換性がありますか？

はい、EIP-7702はERC-4337を置き換えるのではなく、補完するように設計されています。ERC-4337が純粋なスマートコントラクトアカウントを提供する一方、EIP-7702はそれらのアカウント抽象化機能を、新しいウォレットの作成や移行を必要とせずに既存のEOAでも利用できるようにします。

### EIP-7702はユーザーにどのような機能を提供しますか？

EIP-7702は、アカウントリカバリー、認証を容易にするパスキーサインイン、ガス代のスポンサー付きトランザクション、ETH以外の任意のトークンでのガス代支払い、複数のアクションを単一のトランザクションにまとめるバッチ処理といったWeb2的な機能を実現します。

### EIP-7702の機能を使うにはリレイヤーが必要ですか？

EIP-7702が可能にするすべての機能を利用したい場合、リレイヤーが必要です。標準化されたインターフェース、ビルトインのpaymasterシステム、将来の互換性の確保という理由から、4337 Bundlerの利用を推奨します。

### EIP-7702とERC-4337、どちらを選ぶべきですか？

ネットワーク間で一貫したアドレスを必要とするマルチチェーンアプリを構築している場合、初期のガスコストが懸念事項である場合、EOAインフラとの後方互換性が重要な場合、あるいはシンプルに始めて段階的にアップグレードできる柔軟性が欲しい場合はEIP-7702を選択してください。

### EIP-7702の委任は取り消せますか？

はい、委任はユーザーが明示的に取り消すまで永続的です。スマートコントラクトの制御を取り消すには、委任を0に戻すための別の7702トランザクションを送信する必要があります。

### EIP-7702の採用における主な依存関係は何ですか？

主な依存関係はウォレットプロバイダーのサポートです。ウォレットはアプリケーションの上流に位置するため、ウォレットの統合がなければ、アプリケーション開発者やそのユーザーはEIP-7702の機能を利用できません。
