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