EIP-7702の紹介:アカウント抽象を最適化してイーサリアムの採用を加速する
著者:QuickNode
翻訳:深潮TechFlow
EIP-7702は、そのスリムでシンプルな実装を通じて、Ethereum上でのアカウント抽象化の大規模な適用を実現することを目指しています。
最近、アカウント抽象化(Account Abstraction, AA)の登場が広く注目されており、Ethereumのユーザーエクスペリエンスの問題を解決するための重要なソリューションと見なされています。しかし、AAは大きな潜在能力を持つと考えられているにもかかわらず、実際の適用においては常に課題があり、最近になってようやく突破口が開かれました。
現在、EIP-7702の登場は希望をもたらしています。この提案は、Vitalik Buterinや他のコアEthereum開発者によって提案された革新的なもので、アカウント抽象化の実装を簡素化することを目的としています。
この記事では、EIP-7702の詳細、その必要性、もたらす改善、そしてそれがEthereumの主流アプリケーションにどのように道を開くのか、ユーザーフレンドリーで未来に適応できるものにするのかを深く探ります。特に、Ethereum ETFの申請が最近承認された後、この目標はより実現可能に思えます。
しかしまず、アカウント抽象化とは何でしょうか?
アカウント抽象化とは?
アカウント抽象化は、外部所有アカウント(Externally Owned Account, EOA)を持たずに取引を開始し、実行するためのスマートコントラクトアカウントを作成することを可能にします。簡単に言えば、アカウント抽象化はWeb3の体験をWeb2のようにシームレスにし、日常のユーザーがそれを使用していることに気づかないほどにしつつ、そのすべての利点を享受できるようにすることを目指しています。
Web2時代において、顧客がチェックアウト端末でカードをスワイプする際、すべてのバックエンドシステムとメカニズムは静かに動作しています。顧客は支払いを完了できるかどうかにしか関心がなく、取引プロセスの複雑な詳細には気を配りません。同様に、アカウント抽象化の目標は、さまざまな潜在的なアプリケーションシナリオを通じて、できるだけシームレスで簡便なWeb3ユーザーエクスペリエンスを提供することです。
アカウント抽象化の潜在能力
アカウント抽象化の強みは、開発者が自動取引やウォレット復元メカニズムなどの複雑な機能をユーザーアカウントに直接統合できることです。QuickNodeは、開発者がアカウント抽象化をさらに探求したり、実践的なガイダンスを求めたりするための詳細ガイドを提供しています。プロジェクトでアカウント抽象化を実現したい場合は、QuickNodeのマーケットプレイスからStackupのプラグインを取得して、このプロセスを簡素化できます。
この概念は多くの関心を集めており、アカウント抽象化をサポートするウォレットが増えていることが証明していますが、Ethereumのネイティブ実装の欠如は、固有の採用課題を浮き彫りにしています。
アカウント抽象化の課題
Ethereum上でアカウント抽象化を実現するには、いくつかの課題があります。ERC-4337標準には固有の問題があり、実装中にも追加の課題が発生します。主なリスクは以下の通りです:
所有権と管理権の分離のリスク:アカウント抽象化は、アカウントの所有権と管理権を「EntryPoint」コントラクトに分離することができ、未承認の取引やスマートコントラクトの脆弱性のリスクをもたらします。開発者はこれらのリスクを軽減するための技術的な防護策を実施する必要があり、複雑性が増します。
ERC-4337 互換性 の物流リスク:既存のEOAはERC-4337が提供する複雑な機能よりもはるかにシンプルであり、大量のバックエンドロジックやコードの再構築が必要です。セキュリティのために分散化されたバンドルとMetaMaskのような人気のインフラの更新は、物流上の課題を増加させます。
(出典:EIP-4337公式文書)
- EntryPointコントラクトの 単一障害点 :ERC-4337はユーザー操作を処理し検証するためにEntryPointコントラクトに高度に依存しており、これは単一障害点となり、安全リスクや信頼性の問題に影響されやすくなります。
さらに、スマートコントラクトアカウントの取引は従来のEOA取引よりも高価であり、複雑性が増します。
EIP-7702:提案された解決策
EIP-7702は、ERC-4337、EIP-3074、EIP-5003の最良の特性を組み合わせ、それぞれの制限を軽減することで、これらの課題を解決します。このアプローチにより、アカウント抽象化の実装がより効率的で互換性のあるものになります。
主要コンポーネント:
ERC-4337 - スマートコントラクト アカウント:スマートコントラクトをユーザーアカウントとして機能させ、開発者が複雑な取引ロジックやユーザーエクスペリエンスの改善を構築できるようにします。しかし、EOAをスマートコントラクトアカウントに変換するためのネイティブサポートが欠如しており、後方互換性がないため、取引コストが高くなります。
EIP-3074 - AUTHとAUTHCALL:新しいオペコードAUTHとAUTHCALLを導入することでEOAの機能を強化し、一時的にスマートコントラクトアカウントとして機能させます。しかし、ハードフォークが必要であり、呼び出し元に依存するため、集中化リスクが生じます。
EIP-5003 - AUTHUSURP:AUTHUSURPオペコードを導入し、EOAをスマートコントラクトアカウントに永久に移行します。これは、EIP-3074の許可されたアドレスにスマートコントラクトコードをデプロイし、元の秘密鍵アクセスを撤回することで実現されます。
さらに、EIP-7702は新しい取引タイプを導入し、EOAが単一の取引内で一時的にスマートコントラクトウォレットとして機能することを可能にします。この一時的なコード割り当ては無信任であり、既存のERC-4337インフラと互換性があり、機能的な設計は統合を容易にし、将来的に拡張可能で、ハードフォークを必要としません。
EIP-7702がEthereumの採用を加速する方法
EIP-7702は、以下の特徴を通じてEthereumにおけるアカウント抽象化の採用の可能性を大幅に高めます:
無信任性:EIP-7702は、単一の取引内でEOAにスマートコントラクトコードを一時的に割り当てることで、中央の信頼点への依存を排除します。この無信任アプローチは、取引後にアクセスやコントラクト署名を排除します。
互換性 :EIP-7702は既存のERC-4337インフラと完全に互換性があり、ハードフォークや新しいオペコードを必要としません。EOAとスマートコントラクトアカウントの間でシームレスに機能し、Ethereum上のアカウント抽象化を統一します。
機能ベースの検証:EIP-7702は、検証(AUTH)と実行(AUTHCALL)を緊密に結合して設計されており、干渉を減少させ、移行を簡素化します。この機能ベースのアプローチは、学習曲線を低下させることで開発者エクスペリエンスを向上させます。
将来的な拡張性:EIP-7702はERC-4337アカウントとの後方互換性を確保し、技術的負債が低くなります。ハードフォークなしでメンテナンスが可能で、開発者が長期的なソリューションを自信を持って構築できるようにします。
開発者に優しいアカウント抽象化の道
これまでのところ、アカウント抽象化の約束は、実装の複雑性、ネイティブサポートの欠如、および異なるアプローチのために実現されていません。EIP-7702は、これらのコア問題を直接解決する開発者に優しいソリューションを提供し、EOAにスマートコントラクトアカウントの機能を持たせ、無信任、互換性、将来的な拡張性を実現します。
Ethereumの進化に伴い、EIP-7702はアカウント抽象化の真の潜在能力を実現するための重要なステップを示し、よりユーザーフレンドリーで開発者フレンドリーなエコシステムへの道を開きます。