EIP-7702
EIP-7702とは、外部所有アカウント(EOA)の機能強化のために設計された改善提案を指します。
Ethereumネットワーク上の基本的なアカウントであるEOAでは、トランザクションの送信および
スマートコントラクトとのやり取りが可能です。一方、同アカウントでは、トランザクションの一括処理や
ガス代の提供などの一部の暗号資産ウォレットで見られる特定の機能は利用できません。
EIP-7702では、EOAが一時的に単一のトランザクション内でスマートコントラクトアカウントと同様に動作できるようにすることを目指しています。これにより、通常はスマートコントラクトウォレット用に予約されている機能を導入できるようになります。EIP-7702は、
EIP-3074の一部の制限および批評に対応するために開発されました。
EIP-7702は現在実用化されていないものの、コミュニティから大きな支持を得ており、多くの人はEIP-3074改善提案に取って代わる可能性があると考えています。これが実現した場合、2024年後半に予定されているEthereum Pectraアップグレードにおいて、EIP-7702が実装される可能性があります。
EIP-7702では、contract_codeと呼ばれる特別なフィールドを含むEthereumネットワーク上の新しいトランザクション形式が提供されます。これにより、トランザクションの期間中、EOAに特定のスマートコントラクトのプロパティが付与されます。この仕組みについて、以下で詳しく見ていきます。
トランザクションの準備
ユーザーは最初に、送信先の
アドレス、ガス代の制限、送信に必要なその他のデータなどの通常入力が必要な詳細情報を含むトランザクションを準備します。こうした詳細情報に加え、
contract_codeフィールドに特別なスマートコントラクトコードを入力します。同コードは、EOAに一時的に割り当てられるスマートコントラクト機能の概要を示しています。
権限付与
続いて、ユーザーはトランザクションに署名します。この署名により、トランザクションが承認されます。また、同署名は検証リストを含むため、極めて重要となります。同リストには、contract_codeと実行条件の詳細が記述されています。まとめると、同リストに基づき、EOAに一時的に割り当てられたスマートコントラクトコードの検証および承認が行われます。
実行
該当のトランザクションがEthereumに送信されると、同ネットワークでは特別なcontract_codeをEOAに一時的に割り当てることで、トランザクションを処理します。この段階では、EOAをスマートコントラクトと同様であるとみなして、contract_codeが提供する機能を用いてトランザクションが処理されます。
原状回帰
トランザクションが完了すると、Ethereumネットワーク上で、EOAから一時的なcontract_codeが自動的に削除されます。EOAは元の状態に戻り、一時的なスマートコントラクト機能が外されます。
ボブが、小包のみを運搬できる一般車を持つ配送ドライバーであると仮定します。ある日、ボブは大きな荷物の配送リクエストを受領しました。このため、ボブはリクエストを拒否する代わりに、車に連結するための追加の荷台をレンタルすることにしました。ボブは荷物を配送し、荷台をレンタルショップに返却して、車を元の状態に戻しました。
この例え話をEthereumでの一連の流れに合わせると、以下のようになります。
セキュリティ
トランザクション後に一時的なコントラクトコード(contract_code)を自動的に削除することにより、EIP-7702では不正操作のリスクが軽減されます。これにより、拡張機能がトランザクション期間中にのみ有効となり、潜在的な脆弱性が制限されます。
柔軟性
EIP-7702により、トランザクションのバッチ処理(複数の操作を1件のトランザクションに統合すること)をはじめとする幅広いユースケースが実現します。また、同改善提案により、ガス代の提供(あるアカウントが別のアカウントのトランザクション手数料を支払うこと)も可能となります。
スマートウォレットの採用
EIP-7702では、EOAがスマートコントラクトと同様に機能することにより、EOAに永久的な変更を加えることに関連するセキュリティ上のリスクを冒すことなく、スマートウォレット機能の利用を推進できます。
EIP-7702とは、EOAにスマートコントラクト機能を一時的に付与することにより、EOAの制限に対処するための改善提案を指します。同改善提案では、スマートコントラクト機能の有効期間を単一のトランザクションの期間に制限することにより、Ethereumのセキュリティを強化できます。また、トランザクションのバッチ処理、ガス代の提供、その他の機能の実現により、同ネットワークの柔軟性が高まります。
確定事項ではないものの、EIP-7702に対するコミュニティの支持の大きさは、2024年後半に予定されているEthereum Pectraアップグレードにおける同提案の採用可能性を示すものとなっています。