
EIP-7702は、標準アドレスが1回のトランザクション限定でコントラクトアカウント同様のプログラム機能を一時的に持てるよう設計されたEthereum Improvement Proposal(イーサリアム改善提案)です。署名による認可で実行権限を指定した「インボーカコントラクト」に委譲し、バッチ処理やガス代スポンサー支払いなどの複雑な操作を実現します。
イーサリアムにおけるEIP(Ethereum Improvement Proposal)は、コミュニティ主導でプロトコルをアップグレードするための公開プロセスです。標準アドレス(EOA=Externally Owned Account)は基本的な送金しかできません。コントラクトアカウントは、定義されたコードルールに従いバッチ処理や支出上限設定など多様な操作が可能です。EIP-7702は、EOAが資産移動なしでこれら高度な機能を一時的に利用できるようにすることを目的としています。
EIP-7702は、次の2つの課題を解消するために提案されました:
過去には、EIP-3074が新命令を導入しEOAにコントラクト的な制御権限を与えようとしましたが、セキュリティや将来の互換性への懸念がコミュニティ内で根強くありました。EIP-7702は、より統合しやすくアカウントアブストラクション・エコシステムに適した解決策として、同様の課題に対応します。
EIP-7702の基本は、1回のトランザクションでEOAが認可済み署名を使い「インボーカコントラクト」を指定することです。実行時、イーサリアムはそのアドレスを一時的に特定のコードを持つコントラクトアカウントとして扱います。トランザクション完了後、アドレスは標準状態に戻り、資産移動は不要です。
「認可済み署名」は「このトランザクションに限り、このコントラクトが自分のルールで代理実行することを許可する」という明示的な同意です。「インボーカコントラクト」は、バッチ処理や支出上限、スポンサー支払いなど、事前設定されたロジックに従って実際の操作を実行します。
代表的なEIP-7702認可フローは以下の通りです:
ステップ1:EIP-7702対応ウォレットで、希望の操作(例:approve+swap+transferの一括実行など)を選択。
ステップ2:ウォレットがインボーカコントラクトアドレス、有効期間やリプレイ防止情報を含む認可メッセージを生成し、署名を促します。
ステップ3:ユーザーが確認・送信すると、オンチェーンでアドレスが一時的にプログラム可能なアカウントとして扱われ、インボーカコントラクトがバッチ操作を実行します。
ステップ4:トランザクション終了後、アドレスは通常のEOAに戻ります。以降の操作には標準署名が必要で、認可は継続しません。
例えば、Gateからセルフカストディウォレットに出金後、通常は「トークン承認→スワップ→送金」と3工程を踏みますが、EIP-7702認可を使えばインボーカコントラクトが一括実行し、確認やガスコストを削減できます。
どちらもEOAがコントラクトに実行権限を委譲できますが、アプローチが異なります。
EIP-3074は新たな仮想マシン命令(AUTH/AUTHCALL)を導入し、EOAが直接制御権限を委譲できるようにしますが、こうした低レイヤーの変更は長期的な互換性やセキュリティ複雑性への懸念が指摘されています。
EIP-7702はトランザクションタイプと一時的なコード割り当てを利用し、「一時的なプログラム可能アカウント化」を新命令なしで実現します。この方式は既存のアカウントアブストラクションエコシステムと統合しやすく、実行後は自動的に標準状態へ戻るため、認可の残存リスクを抑えます。
EIP-7702のプログラム性により、以下のような高頻度ニーズに対応できます:
EIP-4337は現在広く使われている「オフプロトコル型」アカウントアブストラクションソリューションで、EntryPointコントラクトやバンドラーを通じてスマートウォレット体験を提供します。EIP-7702はEIP-4337の代替ではなく、EOAが1回のトランザクションで同様の機能を享受できる、よりネイティブなプロトコルレベル認可方式を導入します。
両者は連携可能です。インボーカコントラクトはEIP-4337ウォレットと同様のルール(上限やバッチ処理など)を採用できます。ウォレット開発者は「4337経由」と「7702単回認可」の両方を同一UIで提供でき、エコシステムの成熟度を維持しつつ互換性とUXを向上できます。
ウォレットは、トランザクションに一時的な認可が含まれる場合、インボーカコントラクトアドレス・権限範囲・有効期間を明確に表示し、迅速な権限取り消しや制限オプションを提供すべきです。開発者は、権限最小化やリプレイ攻撃防止のため堅牢なインボーカコントラクトとメッセージフォーマットを設計する必要があります。
開発者の一般的な統合手順は以下の通りです:
金融認可にはリスクが伴います。EIP-7702の主なリスクは以下の通りです:
リスク対策として、必ずインボーカコントラクトアドレスと権限内容を確認し、信頼できるウォレットやDAppのみで認可に署名してください。短期・低額の認可や取り消し可能な設定を優先し、高額資産は別アカウント・多段階確認で管理しましょう。
コミュニティの公開情報によると、EIP-7702は2024年5月にEIP-3074の代替案として提案され、今後のイーサリアム「Pectra」アップグレードへの採用が検討されています。2024年10月時点で活発な議論と改良が続いており、最終的なメインネット導入時期はコア開発者会議やテストネット結果次第です。
進捗確認は、EIPドキュメントの更新、イーサリアムコア開発者会議の議事録、主要クライアントの実装状況、テストネット検証結果のモニタリングが有効です。これらの情報はEthereum Foundationやクライアントチームが公開チャネルで発信しています。
EIP-7702は、EOAが1回のトランザクションでコントラクト同等の機能を一時的に獲得できる軽量な道筋を提供し、冗長な署名や操作を削減しつつアカウントアブストラクションの利便性・互換性を向上させます。EIP-4337との連携により、従来のスマートウォレット体験を維持しながら、必要に応じて複雑なタスクの一時的な認可も可能です。今後はEIPの進捗やコア開発者会議、テストネット状況を継続的にチェックし、認可内容を明確に表示するウォレットを選び、権限範囲・有効期間を厳格に管理し、常にセキュリティを最優先してください。
はい。EIP-7702では、外部所有アカウント(EOA)が署名によりスマートコントラクトに一時的な権限を委譲し、トランザクション中にコントラクトが代理実行します。この委譲は一時的かつ制御されており、ウォレット所有権の移転ではなく「信頼できる代理人が1回だけあなたの承認で操作する」イメージです。
いいえ。秘密鍵は引き続き唯一の認証情報です。EIP-7702は、スマートコントラクトが代理でトランザクションを実行できるだけで、秘密鍵自体が公開されたり危険にさらされたりすることはありません。ただし、必ず監査済みかつ信頼できるコントラクトのみを利用してください。
即時移行は不要です。EIP-7702はオプション機能であり、既存ウォレットやEOAは従来通り利用できます。バッチ処理や自動化など高度な機能を使いたい場合のみ、EIP-7702対応ウォレットやサービスを任意で導入できます。
はい。EIP-7702による権限委譲で、スマートコントラクトが範囲内で複数の操作を都度確認なしに実行できるため、反復作業を大幅に効率化します。ただし、各委譲には最初の署名が必須です。
主に3点に注意しましょう。1つ目は、アプリやコントラクトが専門監査を受けているか(監査報告書を確認)。2つ目は、委譲権限の範囲・有効期間が明確かつ限定的か(狭く短いほど安全)。3つ目は、Gateなどのプラットフォームで評判を確認し、まずは少額で試してから大きな金額を預けることです。


