
Account Abstraction(AA)は、Ethereumエコシステムにおける大きな技術革新として登場し、ブロックチェーン上のアカウント管理を根本から変化させています。この新しい仕組みにより、従来暗号資産に不慣れなユーザーが感じていた課題が解消され、ブロックチェーン技術の利用が格段に容易になります。AAはトランザクションの発信元と署名を分離し、アカウントのセキュリティ管理に柔軟性を持たせることで、ブロックチェーンの利便性を大きく高めています。EIP-4337は、この進化の基盤となる主要な技術提案です。
Account Abstractionの理解には、まずEthereumアカウントの構造を押さえる必要があります。Ethereumでは、外部所有アカウント(EOA)とコントラクトアカウント(CA)の2種類が存在します。EOAは秘密鍵とシードフレーズによって管理され、ユーザーが自ら暗号情報を保管します。一方、CAはスマートコントラクトによって運用され、自動的にプログラムが実行されます。
Account Abstractionとは、トランザクションの発信元と署名を分離しつつ、EOAをCAのように機能させる仕組みです。これにより、スマートコントラクトがEOAを制御できるようになり、スマートコントラクトウォレットの構築が可能となります。これらのウォレットはアカウント管理の柔軟性やセキュリティを強化し、ユーザー体験を向上させます。
AAの導入によって、従来のブロックチェーンアカウント管理の限界が大きく改善されます。オンチェーン操作の柔軟性が高まり、多様なセキュリティオプションが利用できるため、Ethereumの利用環境が大きく向上します。ソーシャルリカバリやマルチシグ承認、トランザクション検証ロジックのカスタマイズなど、従来EOAでは不可能だった機能が実装可能です。
Account Abstractionの実現への歩みは、複数のEthereum Improvement Proposal(EIP)によって推進されてきました。これらの提案を知ることで、EIP-4337までのAA進化の流れが理解できます。
EIP-2938はAAの初期提案であり、コントラクトアカウントを独立した「トップレベルアカウント」として、手数料支払いやトランザクション実行を可能にするものでした。これにより、Ethereumのトランザクション実行モデルが大きく変わる可能性がありました。EIP-3074は、AUTHとAUTHCALLという新しいOpCodeを導入することで、EOAがコントラクトに操作を委託できる仕組みを提案しました。これによって、開発者は柔軟なトランザクション設計や検証が可能となります。
最も新しく重要な提案がEIP-4337です。ユーザーオペレーション(user ops)メモリプールの導入によって、Ethereumプロトコル自体の変更なくAAを実現できます。AAはEIP-2938やEIP-3074で2020年に構想されましたが、プロトコルの大幅な改修が必要だったため保留となりました。EIP-4337はコンセンサスレイヤーの変更を不要にしたことで、技術的な壁を突破しました。
EIP-4337と従来のAA提案(特にEIP-3074)を比較すると、EIP-4337の優位性が明確です。EIP-3074は新OpCode導入やコンセンサスレイヤーの大幅な変更が必要で、リスクや実装の複雑さが増していましたが、EIP-4337は既存のEthereumフレームワーク上で動作するため、実装性と安全性に優れています。
EIP-4337はEthereum上でAccount Abstractionを実現する最新かつ実用的な提案です。その構造と要素を理解することが、プロトコル変更なしでAAを達成する理由の理解につながります。複数の重要な概念とコンポーネントが連携して動作します。
UserOperationはEIP-4337の中核概念で、ユーザーのトランザクション実行に必要な全情報を含むオブジェクトです。EntryPointはユーザーオペレーションのバンドルトランザクションを実行するスマートコントラクトであり、中心的な実行ハブとなります。Bundlerはユーザーオペレーションをまとめてバンドルし、EntryPointトランザクションを有効な間ブロックに追加する特化ノードです。
ウォレットコントラクトはユーザーが所有するスマートコントラクトアカウントで、トランザクションの検証と実行ロジックを管理します。ウォレットファクトリーは新規スマートコントラクトウォレットを必要に応じて生成し、ユーザーのオンボーディングを簡略化します。アグリゲーターは署名の集約検証を担うサポートコントラクトで、バンドラーが対応するアグリゲーターをホワイトリスト登録します。ペイマスターは独自ロジックの実装や、あらゆる通貨でのガス支払いを可能にするコントラクトです。
これらのコンポーネントが連携し、EIP-4337による柔軟で強固なAccount Abstractionシステムを構築します。ユーザーがトランザクションを送信する際、必要な情報を含んだユーザーオペレーションを作成しますが、署名は未完了です。ユーザーオペレーションはバンドラーに送信され、複数のオペレーションがひとつのトランザクションにまとめられます。バンドラーはバンドルしたトランザクションをEntryPointコントラクトへ送り、スマートコントラクトウォレットに紐付いたユーザーオペレーションを識別・検証します。検証後、スマートコントラクトウォレットがExecuteUserOp関数でトランザクションを実行します。
AA対応下のトランザクションフローは、EIP-4337の各コンポーネントがどのように連携してユーザーオペレーションを処理するかを具体的に示しています。プロセスは複数の段階に分かれ、それぞれが重要な役割を担います。
トランザクションは、アカウントがユーザーオペレーションを作成して意志表示することから始まります。このユーザーオペレーションでは送信者アドレスの情報(maxFeePerGas、maxPriorityFeeなど)にアクセスできます。署名フィールドの使い方はアカウント実装ごとに異なり、認証方式を柔軟に選択できます。作成されたユーザーオペレーションは専用メモリプールに送られ、処理待ちとなります。
送信フェーズでは、バリデータがユーザーオペレーションをバンドルして別メモリプールにまとめます。バンドラーはブロックビルダーとして、EntryPointトランザクションが有効な間、ユーザーオペレーションをブロックに追加します。バンドラーが直接ブロックビルダーでなくても、mev-boost、proposer-builder separation、実験的なeth_sendRawTransactionConditionalなどの基盤を活用できます。
識別フェーズでは、ユーザーオペレーションがEntryPointコントラクトに送られ、バンドル実行が行われます。バンドラーはvalidateUserOp関数で署名検証し、ホワイトリスト登録されたEntryPointコントラクトのみが次段階に進みます。
最終的な実行フェーズでは、スマートコントラクトウォレットがExecuteUserOp関数でトランザクションを完了させます。バンドラーは複数のユーザーオペレーションをトランザクションとしてパッケージし、handleOps EntryPointコントラクトで関数呼び出しを行います。これらがブロックに含まれることで、EIP-4337によるAAトランザクションフローが完結します。
ウォレットの種類ごとの違いを理解することで、EIP-4337標準のAAウォレットの優位性が明確になります。EOAウォレット、MPCウォレット、AAウォレットは、それぞれ独自の特徴、利点、制限があり、用途に応じて選択されます。
EOAウォレットは従来型で、作成コスト・ガス代が低く、ECDSA署名を用いて秘密鍵を管理します。基本的なセキュリティを備えますが、バッチトランザクションやウォレットリカバリなど高度な機能は持たず、単一通貨のガス支払いのみ対応です。
MPC(Multi-Party Computation)ウォレットはEOAタイプを利用しつつ、秘密鍵を分散管理する暗号技術を導入しています。作成コストやガス代は低く、ECDSA署名と単一通貨ガス支払いのみ対応ですが、分散管理で単一障害点を排除できます。オフチェーン署名承認や透明性の検証が必要となり、エコシステム互換性は従来EOAより低い傾向です。
AAウォレットはコントラクトアカウント基盤でEIP-4337標準を活用し、最先端機能を備えますが、作成コストやガス代は高めです。第三者トークンなど複数通貨のガス支払い、バッチトランザクション、ECDSA以外の署名方式、秘密鍵不要の管理、ウォレットリカバリ、単一障害点排除などが特徴です。オンチェーンコントラクト監査やプール運用が必要ですが、チェーンレベルのセキュリティを保ちながらエコシステムとの互換性も中程度に維持します。
EIP-3074は保留となりましたが、そのAccount AbstractionアプローチはEIP-4337の設計意図を理解する上でも重要です。EIP-3074はコンセンサスレイヤー変更を必要とし、AUTH・AUTHCALLという新OpCodeの導入でEOAがコントラクト利用可能となるものでした。この方法には大きなメリットと課題があります。
EIP-3074の主なメリットは、EOAの制御権限をコントラクトに委譲できる点で、開発者がバッチトレードや柔軟なガス支払いなど新たなトランザクション設計を可能としました。さらに、ETH以外のトークンで支払い可能なインボーカコントラクトの利用や、EOAが即座にスマートコントラクトウォレットのように振る舞える即時アップグレードも実現しました。
一方、EIP-3074はコンセンサスレイヤー変更が必須で、問題発生時のハードフォークリスクが大きな懸念でした。また、固定ECDSA署名しか使えないため認証方式の自由度が低く、これらの制約とリスクがEIP-4337の採用に繋がりました。
EIP-3074が保留となった後も、そのアイデアは活かされています。EIP-5003はAUTHUSURP OpCodeの導入によって、EIP-3074で認証されたアドレスへのコード展開を可能にします。EIP-3607と連携し、既存EOAの移行経路を提供し、EIP-4337エコシステムを補完します。
EIP-5003はEIP-3607と組み合わせることでEOAの元署名鍵の権限を取り消します。たとえばEOA1がEIP-3074下でアドレス2に権限を与えた場合、AUTHUSURP OpCodeでアドレス2がEOA1のコード設定を可能にします。既存EOAをコントラクトアカウントにアップグレードし、ECDSA署名からより安全な署名方式への移行が容易になります。既存アカウントとの互換性を保ちながら、EIP-4337ベースのAccount Abstractionの拡張を実現します。
EIP-4337によるAccount Abstractionは、Ethereumの大規模普及に向けた重要な技術的進展です。従来の利用障壁を解消し、Ethereumが一般ユーザーにとって使いやすく実用的なプラットフォームへと進化します。AAの利点(セキュリティ強化、柔軟なガス支払い、ソーシャルリカバリ、バッチトランザクション等)は、Ethereum利用のハードルを大きく下げます。
初期提案(EIP-2938、EIP-3074)からEIP-4337実装への流れは、Ethereumコミュニティによる技術革新と実用性・安全性の重視を示しています。EIP-4337はコンセンサスレイヤー変更不要で実現可能なため、より安全かつ現実的な選択肢となりました。今後の技術進化と普及により、EIP-4337 AA基盤上でさらに高度なアプリケーションが登場し、Ethereumの新規ユーザー拡大が期待できます。EIP-5003など新提案も、Account Abstraction分野における継続的な革新を示しており、EIP-4337は次世代アカウント管理の基盤として機能拡張と利便性向上を牽引します。
Account Abstractionは、トランザクションの発信元と署名を分離し、外部所有アカウント(EOA)をコントラクトアカウント(CA)のように機能させる仕組みです。スマートコントラクトによるEOA制御が可能となり、スマートコントラクトウォレットの構築が実現します。ソーシャルリカバリやマルチシグ承認などの高機能セキュリティ、柔軟なアカウント管理、Ethereumブロックチェーンとの優れたユーザー体験を提供します。
EIP-4337はEthereum Improvement Proposalで、Ethereumプロトコルへの変更を加えずにAccount Abstractionを可能にします。ユーザーオペレーション(user ops)、バンドラー、EntryPointコントラクト、ペイマスターなどが連携することでトランザクション処理を実現します。従来のEIP-3074と異なり、コンセンサスレイヤー変更不要なため、安全性と実装性に優れ、柔軟なガス支払いやバッチトランザクションなどの機能も提供します。
EIP-4337標準のAAウォレットは、従来型EOAウォレットと比べて多機能かつ高い安全性を持ちます。複数通貨ガス支払い、バッチトランザクション、ウォレットリカバリ、多様な署名方式対応などが特徴です。作成コストやガス代は高くなりますが、セキュリティ強化や単一障害点排除、秘密鍵管理不要など、より使いやすく安全な設計が実現します。











