ERC-7702

KEYRING PROウォレットにおけるERC-7702

ERC-7702は、Ethereumにおける新しい標準仕様であり、通常のウォレットアドレス(EOA:Externally Owned Account)に対して、1回のトランザクション内で一時的にスマートコントラクトのような機能を付与する、軽量かつ後方互換性のある方法を提供します。

従来のスマートコントラクトウォレットとは異なり、ERC-7702では、新しいコントラクトのデプロイやアドレス変更なしに、高機能なスマートウォレットの特性をEOAに付与することができます。

なぜ重要なのか

MetaMaskなどのEOAはシンプルですが、機能が限定されています。各トランザクションに毎回署名が必要で、複数のステップを伴う操作は面倒です。スマートコントラクトウォレットならこれらを解決できますが、新しいアドレスの作成と資産移動が必要になります。

ERC-7702は、現在のアドレスのままでスマートウォレット機能を利用可能にします。

主な機能

  • 一時的なスマートコントラクト化:approveとswapを一括で実行するなど、複雑な操作を1回のトランザクションで処理可能。

  • セッションキー:限定的な権限を持つ一時キーを発行し、特定操作を委任可能。

  • ガススポンサー:dAppやサービスがガス代を肩代わり可能。

  • アカウントアブストラクション互換:ERC-4337と併用可能な軽量構造。

  • プロキシやアドレスの変更不要:元のEOAアドレスを保持したまま使用可能。

KEYRING PROでの仕組み

KEYRING PROウォレットでERC-7702機能(ガススポンサーやセッション委任など)を有効にすると、EOAは一時的にスマートウォレットのように振る舞います。これは、特定のスマートコントラクトロジックにデリゲート(委譲)されることによって実現されます。

現在、KEYRING PROではUniswapのCaliburを活用しています。これは、ERC-7702のために設計されたシングルトン型のスマートコントラクトで、バッチトランザクションやセッションキー、ガススポンサー付き実行などに対応しています。

署名ベースの実行フロー

ユーザーはトランザクションを直接送信する代わりに、オフチェーンで署名したバッチ命令を生成します。それをリレイヤーがCaliburのexecute()関数に送信し、Caliburが以下の処理を行います:

  • 署名と権限の検証

  • 指定されたロジックの実行

  • 必要に応じて一括リバート

詳細はこちら:

スマートアカウント解除:Dismiss Smart Account

ERC-7702機能を使用すると、EOAは一時的に「スマートアカウントモード」になります。KEYRING PROでは、「Dismiss Smart Account」機能で元の状態に戻すことができます。

スマートアカウントを解除

補足と制限事項

  • 一部のdAppや中央集権型取引所はスマートコントラクト型アドレスに対応していません。

  • ERC-7702のツールサポートはまだ発展途上です。

  • nonce管理やリプレイ防止、セッションキーのスコープ設定には注意が必要です。

とはいえ、ERC-7702が注目を集めている理由は以下のとおりです:

  • 既存のアドレスを維持できる

  • 複雑さを増やさずにスマート機能を追加できる

  • 必要な機能だけを選んで導入可能(モジュール式)

結論

ERC-7702は、Ethereumのアカウント設計における大きな前進です。EOAを一時的にスマートアカウント化することで、シンプルさと柔軟性を両立し、Web3体験をよりスムーズで安全なものにします。

KEYRING PROでは、ERC-7702を活用することで、ガススポンサー、セッションキー、UX向上など、強力な機能を提供しながら、ユーザーの完全なコントロールを維持します。

Last updated