コンテンツへスキップ
0%

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

Lisa Ma headshot

執筆者 Lisa Ma

2025年5月19日 公開読了時間 1 分

Ethereum PectraアップグレードにおけるEIP-7702は、EOAにスマートアカウント機能を付与する
EIP-7702はEOAにスマートアカウント機能を付与する

TL;DR? わかります。手っ取り早い説明とデモはXでの連載をチェックしてください。

主流の暗号資産採用に向けたEthereumのロードマップが、Pectraハードフォークに含まれる**EIP-7702によって波を起こしています。このアップグレードは、Ethereumのアカウント抽象化**への歩みにおける重要な節目であり、オンチェーン体験をよりスムーズで、賢く、アクセスしやすいものにするための画期的な変更です。具体的には、EIP-7702はExternally Owned Accounts(EOA)がスマートコントラクトアカウントの機能を使えるようにします。

開発者であるあなたは、次世代のオンチェーンイノベーションの設計者です。私たちは、あなたがEIP-7702を最大限に活用できるよう支援します。何百万ものオンチェーンアプリケーションを支えるインフラの構築者として、私たちはあなたを導きます。

これは、あなたのようなアプリケーション開発者向けにEIP-7702を深掘りするシリーズの第1回です。この提案がなぜこれほど大きな影響を持つのか、内部でどのように動作するのか、そしてこれらの最先端機能をアプリケーションに統合するかどうか(そしてなぜ統合すべきか)を判断するための重要な技術的検討事項を一緒に見ていきます。未来を作りましょう——一つずつアップグレードを重ねて。

tl;dr:

  • EIP-7702は、EOAが自身のアドレスから直接コードを実行できるスマートコントラクトアカウントに制御を委任できるようにします
  • 既存のAA標準であるERC-4337と互換性があるため、既存のウォレットは新しいアドレスを作成したり資産を移動したりすることなくスマートコントラクトウォレットになれます
  • ユーザーにとっては、アカウント復旧やパスキーによるサインインといったよりシンプルな認証を含むweb2的な機能や、ガス代のスポンサー付きトランザクションやETHに限らず任意のトークンでガス代を支払えるといったweb3的なメリットが実現します

Ethereumアカウントの現状

2024年5月、Vitalik ButerinはEIP-7702を発表しました。これはEthereumアカウントの仕組みを根本的に変える可能性のある提案です。all core dev callの前に書かれた22分間のドラフトから始まったこの提案は、今やPectraアップグレードに含まれています。EIP-7702は、当面の使いやすさの課題を解決しながら、完全なアカウント抽象化に向けた重要な一歩となります。

しかし、Ethereumが向かう先を理解するには、現在のアーキテクチャを理解する必要があります。

現在、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には1つの制約があります。

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

EIP-7702はこの制約を取り除きますが、EVMのコンセンサスロジックに深い変更を加えることはありません。

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

EIP-7702の実行フロー

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

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

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

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

delegation designatorは、通常のデータと区別するために禁止されたオペコードである0xefを使用し、コード実行操作が指定されたアドレスからコードを読み込むことを保証します。

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

アプリケーション開発者にとっての採用とセキュリティの検討事項

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

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

EIP-7702によって実現されるウォレット機能をどのように統合するかは、いくつかの要因によって決まるべきです。アプリケーションの開発段階、対象とするユーザーの種類、そして複数のチェーンにアプリケーションをデプロイする際にどれだけの柔軟性が必要かです。

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

すでに埋め込みウォレットをお持ちであれば、ちょうど良いタイミングです。私たちのsmart accountsを通じて、さまざまなユーザータイプの管理をサポートします。

  • 既存のEOAユーザーはERC-4337アカウントにアップグレードできる
  • 新規ユーザーは最初から純粋なERC-4337アカウントを利用できる
  • システムはスマート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など、最も広く使われているウォレットの多くが、今年中にスマートウォレット機能を組み込む予定です。検討すべきトピックをいくつか挙げます。

  • バッチ処理: 1回の承認で複数のアクションをアトミックに実行できる機能。例えばDEXでユーザーがERC-20を承認した後にその承認分を使用する場合など
  • 委任のリスク
  • 外部スマートウォレットとの接続を簡素化するために私たちのSDKの利用を検討する

その他の検討事項

既存のEOAをEIP-7702でアップグレードすることを決めたアプリケーション開発者で、7702が実現する機能を *すべて*利用したい場合、リレイヤーが必要です。 リレイヤーのアーキテクチャにはさまざまな種類がありますが、私たちのおすすめは4337バンドラーです。理由は以下の通りです。

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

4337バンドラーが必要な場合は、Alchemy Bundlerがお使いいただけます。

今後の展望: 主流採用への道

EIP-7702はEthereumをよりweb的なものにすることを約束していますが、開発者は、メインネットでの最初のローンチ後の採用がウォレットによる機能統合に依存していることに留意すべきです。そのため、EIP-7702の使いやすさは当面限定的なものになるでしょう。Ethereum開発者が議論している内容について最新情報を追いたい場合は、こちらの最新の投稿をチェックしてください。

EIP-7702の統合をサポートします

スマートウォレットがユーザーとトランザクションを増やす
スマートウォレットがユーザーとトランザクションを増やす

Smart walletsは、世界をゼロフリクションでオンチェーンにもたらす手助けをします。EIP-7702を今すぐ活用して、EOAをアップグレードしたり、新しいERC-4337アカウントをデプロイしたりできます。

  • ゼロフリクションのオンボーディング: 埋め込みウォレットによる、おなじみのメールやソーシャルログインを実装
  • ガスレストランザクション: ユーザーのガス代をスポンサーし、ワンクリックトランザクションを実現
  • スマートアカウント統合: 簡単なSDK統合と、ERC-4337、ERC-6900、EIP-7702のサポート

学び、構築し、リリースするお手伝いをします。

  1. 探索する: ドキュメントを読んで、構築を始めましょう。
  2. サポートが必要ですか?: お問い合わせください! 私たちのチームは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に限らず任意のトークンでのガス代支払い、複数のアクションを1つのトランザクションにまとめるバッチ処理など、Web2的な機能を実現します。

EIP-7702の機能を利用するにはリレイヤーが必要ですか?

EIP-7702が実現するすべての機能を利用したい場合は、リレイヤーが必要です。標準化されたインターフェース、ビルトインのペイマスターシステム、将来の互換性の保証があるため、4337バンドラーの利用をおすすめします。

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

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

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

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

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

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

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。