
Account Abstraction(AA)は、Ethereumエコシステムを革新する技術として登場し、ユーザーのアカウント管理やブロックチェーン操作のあり方を根本的に変えています。本ガイドでは、アカウント抽象化の技術概要、利点、導入方法について詳しく解説し、特にEIP-4337という、Ethereumプロトコル自体の変更を伴わずAAを可能にする最新提案に重点を置いています。
アカウント抽象化は、Ethereumにおけるユーザーアカウント管理手法の転換を意味します。AAを理解するには、Ethereum上の「外部所有アカウント(EOA)」と「コントラクトアカウント(CA)」という2種のアカウント構造の違いを把握する必要があります。EOAは秘密鍵やシードフレーズで管理される従来型アカウントで、ユーザー自身が暗号資格情報を保護します。対してコントラクトアカウントは、スマートコントラクトコードによって制御され、プログラム可能なロジックでアカウント運用が可能です。
アカウント抽象化は、トランザクション元を署名から分離し、EOAをCAのようにアップグレードする技術です。これによりスマートコントラクトがEOAを制御できるようになり、スマートコントラクトウォレットが成立します。従来型EOAの厳しい制約を解消し、柔軟でユーザーフレンドリーなアカウント管理環境が実現します。AAによるアップグレードは、セキュリティ強化や柔軟な認証、ユーザー体験向上など、アカウント保有者に多様な新機能をもたらします。
Ethereumコミュニティは、アカウント抽象化がアカウント管理全体の効率化・利便性向上に資することから高く評価しています。最大のメリットは、オンチェーン取引の柔軟性が大幅に向上する点です。従来のEOAは機能が限定的でしたが、AAでは用途に応じてプログラム可能なアカウントロジックが利用できます。
AAによるセキュリティ強化も大きな利点です。マルチシグやソーシャルリカバリーなど、従来EOAでは利用できなかった高度なセキュリティ機能を導入可能となり、秘密鍵やシードフレーズ紛失による資産喪失リスクを大幅に低減します。さらにAAは、ETHによるガス代支払いやバッチ処理非対応といった従来の課題も解決し、仮想通貨非利用者でもEthereumを容易に活用できる環境を提供します。
Ethereumのアカウント抽象化の進展は、複数の重要なEthereum Improvement Proposal(EIP)によって形作られてきました。これらの経緯を理解することで、EIP-4337の意義が明確になります。
EIP-2938は、コントラクトアカウントを独立して手数料支払や取引実行できる「トップレベル」アカウントとしてAAを実装しようとした初期提案です。EIP-3074はAUTH・AUTHCALLという2つの新OpCodeを導入し、EOAがコントラクトへ動作委任できる仕組みを提案しました。これにより、開発者はより柔軟なトランザクション設計や検証ロジック構築が可能となります。
アカウント抽象化はEIP-2938・EIP-3074によって大きな関心を集めましたが、いずれもコンセンサスレイヤーの大幅な変更が必要で、リスク・実装難易度が高いため延期されました。EIP-4337は、プロトコルレベルの変更を伴わずAAを実現できる点で、実用性と安全性を両立させた転機となりました。
AAソリューションを比較検討する際、EIP-4337が主流となった理由を理解することが重要です。EIP-3074は魅力的な機能を持っていましたが、コンセンサスレイヤーへの新OpCode追加が必要で、ハードフォークやプロトコル全体の大規模な変更が求められるため技術的・運営的課題が大きいものでした。
一方、EIP-4337はコンセンサスレイヤーを変更せずにAAを高次レイヤーで実現します。これにより導入リスクが低く、問題発生時も柔軟な対応が可能です。バンドラーやペイマスターなど新たなインフラ要素は追加されますが、これらはコアプロトコル外部で運用され、ネットワーク全体の合意変更不要で改修できます。
EIP-4337はAAを実現するために複数の重要コンポーネントを導入しています。これらの理解が提案内容の把握に不可欠です。主な要素は以下です。
UserOperationオブジェクトはEIP-4337の基盤となる存在で、従来の取引とは異なり、ユーザーによる取引実行に必要な情報を網羅した疑似トランザクションです。これらは従来の署名とは異なる方法で検証されます。
EntryPointはバンドル済みUserOperationを調整・実行する中心的スマートコントラクトです。EntryPointがユーザーオペレーションを検証・処理し、実行基準を満たしたもののみ実行します。
バンドラーは専用メモリプールからUserOperationを収集・まとめ、バンドルトランザクションとしてパッケージ化するノードです。ブロックビルダーとして動作したり、既存ブロック生成インフラと連携したりします。バンドラーはUserOperationをブロックに組み込む重要な役割を担います。
ウォレットコントラクトはユーザー所有のスマートコントラクトアカウントであり、署名検証やUserOperationに基づく取引実行ロジックを持ちます。
ウォレットファクトリーは、必要なタイミングでスマートコントラクトウォレットを新規デプロイするスマートコントラクトです。ユーザーは必要に応じて独自ウォレットを作成できます。
アグリゲーターは署名集約検証を行う補助的コントラクトで、複数オペレーションの検証時のガスコスト削減に寄与します。
ペイマスターはEIP-4337の中でも革新的な要素で、柔軟なガス支払いを可能にします。トランザクションのスポンサーやERC-20トークンによる支払い、独自ガス支払いロジックも実装可能で、ユーザー体験を大きく向上させます。
EIP-4337によるトランザクションフローは従来のEthereumトランザクションと大きく異なります。この流れを理解することで、AAの実運用を把握できます。プロセスは複数段階に分かれ、それぞれが取引ライフサイクルの中で重要な役割を果たします。
ユーザーがEIP-4337で取引を開始する際は、まずUserOperationオブジェクトを作成します。ここには送信者アドレスやmaxFeePerGas、maxPriorityFeeなどのガス関連パラメータ、取引固有データが含まれます。署名フィールドは従来と異なり、アカウント実装側で検証され、プロトコル自体では判定されません。
作成したUserOperationは専用のメモリプールへ送信されます。従来の取引メモリプールとは完全に分離されており、UserOperationの特有処理を妨げません。
UserOperationがメモリプールに格納されると、バンドラー(検証ノード)が処理を開始します。バンドラーは複数のUserOperationを収集しバンドルトランザクションとしてまとめます。ブロックビルダーとして稼働する場合は、これらのバンドル取引を直接ブロックに追加可能です。ブロックビルダーでない場合も、mev-boostや提案者・ビルダー分離機構、eth_sendRawTransactionConditionalなど実験的RPC APIと連携して処理できます。
このバンドル処理はEIP-4337の効率化に不可欠であり、複数UserOperation同時処理によるコスト削減とスループット向上を実現します。
バンドルされたUserOperationがEntryPointコントラクトに送られると、識別・検証処理が始まります。EntryPointコントラクトはUserOperationバンドルを実行する際、まず各操作を検証します。UserOperationを受け付けるために、バンドラーはvalidateUserOp関数でスマートコントラクトウォレット固有の署名や検証基準をチェックします。
バンドラーは信頼できるEntryPointコントラクトのみを処理対象とするホワイトリストを維持し、セキュリティを確保します。この検証工程は不正・無効な操作の実行防止に不可欠です。
トランザクションの最終段階では、スマートコントラクトウォレットがUserOperationを実行します。ウォレットはExecuteUserOp関数を実装し、取引を遂行します。バンドラーはUserOperation群をまとめて取引化し、EntryPointスマートコントラクトのhandleOps関数を呼び出します。これがブロックに記録されて一連の処理が完了します。
この多段階フローにより、UserOperationの厳格な検証と安全な実行が担保され、AAの柔軟な機能・高度なセキュリティが維持されます。
AAウォレットの優位性を理解するには、他のウォレットタイプとの比較が有益です。EOAウォレットは従来型で、外部所有アカウントを用い、作成コストやガス代は低い一方、秘密鍵管理が必須でリカバリ機能がなく、セキュリティはユーザーの管理能力に依存します。
MPC(Multi-Party Computation)ウォレットはEOAを利用しつつ、鍵管理を複数者で分散することで単一障害点を排除します。標準EOAよりセキュリティは高いですが、ECDSA署名限定・エコシステム互換性が限定的で、オフチェーン認可ポリシーや透明性にも注意が必要です。
AAウォレットはコントラクトアカウント上に構築され、最も先進的です。EOAより作成コスト・ガス代は高いものの、多通貨ガス支払い・バッチ処理・多様な署名方式・リカバリ機能が標準装備され、秘密鍵管理不要・チェーンレベルのセキュリティを実現します。オンチェーンコントラクトや需要プールの厳格な監査が必要ですが、互換性も今後拡大が期待されます。
EIP-3074とEIP-4337の違いを理解することで、EthereumコミュニティがEIP-4337を支持する理由が明確になります。EIP-3074はコンセンサスレイヤー変更が必要なコアEIPであったため保留となりました。EOAがコントラクト機能を活用できるよう2つの新OpCode追加が提案され、利点と同時に大きな課題も抱えていました。
EIP-3074は、EOAの制御をコントラクトに委任できることで、開発者が新しい取引スキーム(バッチ取引・パッケージ取引・柔軟なガス支払い等)を柔軟に設計できる点が最大のメリットです。新規コントラクトのデプロイ不要で実現可能です。
ETH以外のトークン支払いが可能なインボーカーコントラクトの利用も利点で、スポンサー間取引の仲介やガス支払いの多様化が進みます。既存EOAが新規コントラクトなしでスマートコントラクトウォレット機能を得られるため、既存エコシステムとの互換性も維持できます。
一方、EIP-3074はコンセンサスレイヤー変更が必須であり、問題発生時はハードフォークが必要となるため、ネットワークへのリスクが大きく、広範な調整が求められます。
また、EOAにコントラクトアカウント的機能を持たせても、署名方式は固定のECDSA依存となり、より先進的な署名方式によるセキュリティ強化やガスコスト削減が制限されます。ECDSA以外を採用できないことはアカウント抽象化の柔軟性にとって大きな障害です。
EIP-3074は保留となりましたが、その発想は活かされています。EIP-5003はEIP-3074を土台にAUTHUSURP OpCodeを追加し、EIP-3074で認可されたアドレスへのコードデプロイを可能にします。この提案はEIP-3607と組み合わせて、EOAからコントラクトアカウントへの移行ルートを構築します。
EIP-5003では、EOAがEIP-3074を通じて他アドレスに代理権限を与えた場合、その認可アドレスがAUTHUSURP OpCodeでEOAのコードを書き換えられます。これによりEOAがコントラクトアカウント化し、ECDSA以外の高度な署名方式利用も可能となります。既存EOAエコシステムとアカウント抽象化の未来を接続する橋渡しとして期待されますが、現時点では開発段階です。
アカウント抽象化、特にEIP-4337による導入は、Ethereumにおけるユーザー操作の進化を象徴します。トランザクション元と署名を分離し、スマートコントラクトによるアカウント制御を可能にすることで、従来の障壁を多数解消しました。主なメリットは、プログラム可能なアカウントロジックによるセキュリティ強化、多通貨・第三者スポンサーによるガス支払い、バッチ処理、秘密鍵紛失リスク排除のリカバリ機能など多岐にわたります。
EIP-4337はコンセンサスレイヤー変更不要でAAを実現でき、EIP-3074等と比較してリスク・導入難易度が低いのが特徴です。バンドラー・ペイマスター・専用UserOperationメモリプールといった要素はコアプロトコル外で運用され、ネットワーク合意変更不要で柔軟に進化できます。Ethereumエコシステムが成熟するなか、EIP-4337によるアカウント抽象化導入は新規参入障壁を下げ、経験豊富なユーザーにも強力なオンチェーン管理ツールを提供します。AAウォレットの普及はEthereumの大規模普及と一般化へ向けた重要な一歩となるでしょう。
EIP-4337は、アカウント抽象化のためのEthereum標準規格であり、ソーシャルログインやガスレス取引が可能なスマートコントラクトウォレットを実現します。UserOperation・Bundler・EntryPoint・Contract Accountなどを活用し、ユーザー体験向上を図ります。
EIP 4337はアカウント抽象化機能を構築するためのツールキットであり、EIP 7702は既存外部所有アカウントでこれら機能を利用可能にする提案です。
ERC-4337はアカウント抽象化のためのEthereum標準規格で、スマートコントラクトによるユーザーアカウント・取引管理を可能とします。従来のウォレット鍵に依存せず、セキュリティと利便性を向上させます。
いいえ、EIPとERCは異なります。EIP(Ethereum Improvement Proposal)はプロトコル改定提案であり、ERC(Ethereum Request for Comment)はトークンやスマートコントラクトの標準規格です。










