首页 交易指南 文章详情
交易指南

UserOperation 是什么?ERC-4337 账户抽象核心概念详解

B
币安 资讯团队
· 2026年08月27日 · 阅读 3330

UserOperation 的定义与背景

UserOperation(简称 UserOp)是以太坊 ERC-4337 账户抽象标准中定义的一种新型数据结构,用于描述用户希望智能合约账户执行的意图。与传统以太坊交易不同,UserOperation 是一种“伪交易”对象,它本身并非真实上链的交易,而是需要经过打包处理后才能真正进入区块链网络。

ERC-4337 由 Vitalik Buterin 等人于 2021 年提出,其核心目标是实现账户抽象(Account Abstraction),使用户可以使用包含任意验证逻辑的智能合约账户,而无需依赖传统的外部拥有账户(EOA)。这一方案无需修改以太坊底层共识协议,而是通过引入更高层的伪交易对象——UserOperation 来实现。

UserOperation 的核心结构

一个标准的 UserOperation 包含了多个关键字段,用于描述交易的完整执行流程:

  • sender:发起操作的智能合约账户地址;
  • nonce:防重放参数,通常由 192 位密钥和 64 位序列组成;
  • initCode:部署新账户所需的初始化代码(若账户已存在则为空);
  • callData:发送给账户执行的数据;
  • callGasLimit:主执行阶段分配的 Gas 上限;
  • verificationGasLimit:验证阶段分配的 Gas 上限;
  • maxFeePerGasmaxPriorityFeePerGas:类似 EIP-1559 的费率参数;
  • paymasterAndData:用于指定赞助 Gas 费用的 Paymaster 合约;
  • signature:用于验证操作合法性的签名数据。

UserOperation 的工作原理

UserOperation 的运作流程分为几个关键环节。首先,用户构建并签署 UserOperation,将其发送到独立的 UserOp 内存池(Mempool),而非传统的以太坊交易内存池。随后,被称为 Bundler 的特殊节点从内存池中收集多个有效的 UserOperation,将其打包成一笔真实的以太坊交易,并通过 EntryPoint 合约调用 handleOps() 函数批量执行。

开启您的加密交易之旅

注册即享新人福利,加入全球数百万用户的选择

立即免费注册

在验证阶段,EntryPoint 会调用账户合约的 validateUserOp() 方法检查签名与 nonce 是否有效;若配置了 Paymaster,还会调用其验证逻辑。只有验证通过的操作才会进入执行阶段,由账户合约解析 callData 并执行相应动作。整个过程是原子性的,即打包的多个 UserOperation 要么全部成功,要么整体失败。

UserOperation 的主要优势

引入 UserOperation 为区块链用户体验带来了质的提升,主要体现在以下几个方面:

  • Gas 抽象:用户可以使用 ERC-20 代币支付 Gas,或由 Paymaster 代为赞助,实现无 Gas 交易;
  • 灵活签名:支持多签、Passkey、生物识别等多样化验证方式;
  • 批量操作:可将多个操作打包在一个 UserOperation 中,提升效率并节省 Gas;
  • 账户恢复:通过自定义逻辑实现社交恢复和监护人机制;
  • 无 Gas 入门:新用户无需持有 ETH 即可完成首次账户创建和交易。

UserOperation 的应用场景与前景

目前,UserOperation 已在众多 Web3 钱包和去中心化应用中得到广泛应用。游戏项目可以批量处理玩家交互并由项目方赞助 Gas,DAO 可以实现更复杂的链上治理流程,DeFi 协议则能够提供更流畅的聚合交易体验。随着 ERC-6900、ERC-7579 等模块化账户标准的推进,以及 RIP-7560 对原生账户抽象的探索,UserOperation 有望成为未来区块链交互的基础设施,进一步提升 Web3 的可用性与去中心化程度。

对于普通用户而言,理解 UserOperation 有助于更好地把握账户抽象技术如何改善钱包体验、降低使用门槛。随着生态不断成熟,基于 UserOperation 的智能账户将成为连接用户与链上应用的重要桥梁。

UserOperation 和普通以太坊交易有什么区别?

UserOperation 是一种伪交易对象,并非直接上链的真实交易。它描述了用户的执行意图,需要经过 Bundler 打包并通过 EntryPoint 合约处理后才能上链。普通交易由 EOA 直接签名并广播,而 UserOperation 支持更灵活的签名方式、Gas 赞助和批量操作等高级功能。

UserOperation 是谁提出的?

UserOperation 是 ERC-4337 账户抽象标准的核心概念,由 Vitalik Buterin、Yoav Weiss、Dror Tirosh 等人于 2021 年共同提出。该标准旨在无需修改以太坊底层共识协议的情况下,实现账户抽象,让用户能够使用包含任意验证逻辑的智能合约账户。

UserOperation 的打包者(Bundler)有什么作用?

Bundler 是从 UserOp 内存池中收集并打包 UserOperation 的特殊节点。它负责验证操作的有效性、模拟执行结果,并将多个 UserOperation 打包成一笔真实交易提交到链上。Bundler 需要承担 Gas 成本风险,并通过向用户或 Paymaster 收回费用获得补偿。

什么是 Paymaster,它与 UserOperation 有何关系?

Paymaster 是 ERC-4337 中的可选辅助合约,负责代替用户支付 Gas 费用。当 UserOperation 中包含 paymasterAndData 字段时,EntryPoint 会调用 Paymaster 的验证逻辑;验证通过后,Paymaster 将承担网络的执行费用,从而实现无 Gas 交易或使用 ERC-20 代币支付 Gas 的功能。

UserOperation 支持哪些签名验证方式?

UserOperation 的签名验证逻辑完全由智能合约账户自主定义,因此支持多种方式。常见的有传统 ECDSA 签名、多签验证、Passkey/WebAuthn 生物识别、社交恢复、监护人机制以及聚合签名等。用户可以根据需求选择或组合不同的验证策略。

如何发送一个 UserOperation?

用户需要先构建并签署一个 UserOperation,包含 sender、nonce、callData、Gas 参数和 signature 等字段。然后将该操作提交给支持 ERC-4337 的 Bundler 节点,Bundler 会将操作加入 UserOp 内存池,经过验证和模拟后打包成交易,通过 EntryPoint 合约执行。

UserOperation 的 nonce 是如何工作的?

UserOperation 的 nonce 是一个 256 位值,分为 192 位密钥和 64 位序列两部分。这种半抽象 nonce 机制允许账户针对不同操作类型使用独立的密钥通道,同时保持序列的单调递增以防止重放攻击。账户可以灵活定义自己的 nonce 使用逻辑。

UserOperation 对未来 Web3 发展有何影响?

UserOperation 是账户抽象落地的基础,它让智能合约钱包能够像普通账户一样便捷使用。未来它将推动无 Gas 交易、批量操作、跨链 Gas 支付、社交恢复等功能的普及,大幅降低新用户进入 Web3 的门槛,并可能成为链上交互的标准基础设施。