ERC-4337 UserOp / Bundler / EntryPoint フロー詳解
ウィキ上の位置づけ
この項目は システム基盤 配下に位置する。ピア比較・対照の文脈では ERC-4337 概観 · Account Abstraction のアプリケーション層実装 と照らして読み、より広いシステム境界・規制境界については フィンテック を参照する。
重要ポイント
- UserOp はトランザクションではなく、Bundler によってパッケージされる sub-unit である •
- Bundler は block builder に類似する。ただし UserOp mempool で動作する •
- EntryPoint はシングルトン契約であり、すべての UserOp が必ず通過する入口である •
- Paymaster はオプションの契約であり、gas を代行支払いするか、ERC-20 での gas 支払いを受け付ける •
- Aggregator はオプションであり、複数署名をバッチ検証する(BLS / その他) •
仕組み / 動作
エンドツーエンドフロー(典型的な USDC gas 代行支払いシナリオ):
-
ユーザーが UserOp を構築: ユーザー(または dApp)が UserOperation オブジェクトを生成する。
sender(SCW アドレス)noncecallData(具体的な呼び出し · 例: USDC.transfer)callGasLimit/verificationGasLimit/preVerificationGasmaxFeePerGas/maxPriorityFeePerGaspaymasterAndData(Paymaster を使う場合)signature(SCW オーナーの署名)
-
UserOp を alt-mempool に送信: ユーザーは Bundler RPC(
eth_sendUserOperation)経由で送信する。 -
Bundler がシミュレーション + パッケージング: Bundler はローカルで状態を fork して UserOp を実行し、gas 見積もりが正しいことを確認する。その後、N 個の UserOp を標準トランザクション 1 件にパッケージし、EntryPoint.handleOps() を呼び出す。
-
EntryPoint が実行:
- SCW factory をコールして SCW をデプロイする(SCW がまだ存在しない場合)
- SCW.validateUserOp() をコールして署名 + nonce を検証する
- Paymaster.validatePaymasterUserOp() をコールして Paymaster の代行支払い同意を検証する
- callData(主たる業務ロジック)を実行する
- gas を精算する: Paymaster から徴収 / Bundler に支払い
-
オンチェーンの結果: ユーザーは SCW の実行結果を確認できる。ETH を保有する必要はない。
コアイノベーションのポイント: UserOp がトランザクションではないため、Bundler は「バッチ処理最適化」を行える。つまり、10 件個の UserOp を 1 件個のトランザクションにパッケージし、オンチェーンの base cost を分散させる。
起源と発展
UserOp 構造は 4337 ドラフト期間中(2021-2022)に複数回イテレーションされた。初期バージョンには、より多くのフィールド(wallet、initCode 分離など)があったが、後に現在の形へ簡素化された。v0.6(2023-03 公開バージョン)から v0.7(2026)での主な簡素化は次のとおり。
initCodeをsender生成ロジックに統合- Paymaster フィールドを calldata から切り出して明示化
- gas オーバーヘッドを 20-30% 削減
Bundler の経済モデルは v0.7 以降で priority fee オークションメカニズムを導入し、初期の「Bundler が収益化困難」という問題を緩和している。
関連項目
- Wiki Index
- ERC-4337 概観 · Account Abstraction のアプリケーション層実装
- ERC-4337 埋め込みウォレット採用マップ · Privy / Coinbase / Alchemy / Safe
- ERC-7702
出典
- ERC-4337 EIP v0.6 / v0.7 spec
- ERC-4337 (Account Abstraction) — https://eips.ethereum.org/EIPS/eip-4337
Discovery
続けて読む
次に読む
- 形式化仕様 ↔ 実装の co-design この項目は systems index に属する。隣接・対照領域として Threshold BFT コンセンサス Rust 化トレンド(Tempo Simplex / Arc Malachite) を参照し、より広いシステム境界・規制境界については fintech index とあわせて読む。 systems/formal-spec-implementation-codesign
- Hook-Enforced Compliance この項目は systems index に属する。ピア比較・対照の文脈では Threshold BFT 共识 Rust 化潮流(Tempo Simplex / Arc Malachite) と合わせて読み、より広いシステム境界・規制境界については fintech index を参照する。 systems/hook-enforced-compliance
- Hyperlane Interchain Security Modules(ISM)· プラガブルな検証レイヤー この項目は systems index 配下に位置する。ピア比較・対照の文脈では cross chain four poles overview とあわせて読み、より広いシステム境界・規制境界については fintech index を参照する。 systems/hyperlane-ism-modular-security
ここへリンク
- Crossmint エージェント SDK · AI エージェント向けの NFT とウォレット抽象化 本項目は AI Agent payment protocols seven-protocol overview の下に位置する。同類のウォレットスタックについては Privy embedded ウォレット および Coinbase CDP を、市場の文脈については embedded ウォレット consolidation を、価値捕捉のフレーミングについては embedded... agent-economy/crossmint-agent-sdk
- AI エージェントのための ERC-4337 アカウント抽象化入門 ERC-4337 は、Ethereum アドレスが単一の secp256k1 鍵ではなく任意のコードによって制御されることを可能にする、アプリケーション層のアカウント抽象化標準である。AI エージェントにとって、これは 「エージェントにユーザーのシードフレーズを渡さなければならない」(安全でなく、取り消し不能)と 「エージェントは、スコープ付き・取り消し可能・スポンサー可能な実... agent-economy/erc-4337-account-abstraction-primer-for-agents
- ERC-7702 AI エージェント向け EOA 委任入門 ERC-7702 (Pectra 以降に稼働、2025-05)は、既存の外部所有アカウント(EOA)に対し、アドレスを変更することなく、一時的に — あるいは持続的に — スマートコントラクトウォレットであるかのように実行することを可能にする。AI エージェントにとってこれが重要なのは、EOA(MetaMask、Rabby、ハードウェアウォレット、取引所の出金アドレス)に存在す... agent-economy/erc-7702-eoa-delegation-primer-for-agents
- ERC-7715 概観 · ウォレット Permissions と AI Agent 自動決済 本項目は AI Agent 決済プロトコル全体図 · 7プロトコル俯瞰 の下に位置する。ピア / 対比の文脈については payments index と、より広いシステム / 規制の境界については systems index と照らし合わせて読まれたい。 agent-economy/erc-7715-overview
- x402 · HTTP 402 を復活させた AI agent 決済プロトコル(総覧) 本エントリは AI Agent 決済プロトコル全体図 · 7プロトコル俯瞰 の配下にある。同位/対比の文脈として Coinbase CDP · 開発者プラットフォーム · AI agent on-chain ウォレット基盤 と、より広いシステム/規制境界として payments index と併せて読むこと。 agent-economy/x402-http-payment-overview