作者:Rui,区块链爱好者
账户抽象(Account Abstraction,简称AA)技术,尤其是ERC-4337标准,有望彻底改变自托管钱包的用户体验,并推动其大规模应用。然而,这一标准仍处于早期阶段,机遇与风险并存。
请注意,随着技术快速演进,本文内容可能很快过时,且仅代表个人观点。
核心观点速览
关于ERC4337:AA标准虽处于早期,但众多创新者正积极推动其发展。在生态支持和MetaMask等大型产品采用的推动下,AA的普及进程有望加速。
关于L2解决方案:不同L2对账户抽象的支持程度各异。Optimism和Arbitrum等大型L2尚未原生支持AA,而ZKSync和Starknet则已支持。
理解加密货币钱包
钱包分类
以太坊网络中存在两种账户类型:
- 外部拥有账户(EOA)钱包:如MetaMask,由用户通过私钥控制。
- 合约账户(CA)钱包:如Safe,由智能合约控制,支持更复杂的规则和特定用途。
现有痛点
使用EOA钱包时,用户需承担保护私钥的责任,任何失误都可能导致资金损失。操作复杂、无法跳过或外包Gas支付、功能有限等问题,都令用户感到困扰。
智能合约钱包虽能解决部分问题,但以太坊目前要求所有操作必须由ECDSA保护的EOA发起交易,这导致:
- 额外交易费用:每笔用户操作都需由EOA包装,增加21000 Gas开销。
- 复杂性和中心化风险:用户需在单独EOA中持有ETH支付Gas,或依赖通常中心化的中继系统。
这些痛点推动了ERC-4337新标准的诞生。
ERC4337的提案与机制
CA钱包的问题
尽管合约钱包已能实现许多功能,但以太坊要求所有操作必须由EOA发起交易,这带来额外开销和复杂性。过去多年,已有多次尝试在以太坊上实现账户抽象(如EIP-86和EIP-2938),但因需修改共识层而难以实现。
4337机制
ERC-4337通过引入称为UserOperation的高层伪交易对象实现账户抽象,其模块化设计将智能合约钱包的功能分为多个端口:
- Bundler:作为EOA,允许用户触发智能合约钱包交易而无需创建和记忆私钥。其职责包括验证UserOperation、打包一组UserOperation对象为单笔“捆绑交易”,并将已验证的UserOperation广播到公共或私有内存池。
- Entry Point:全局合约,所有Bundler需调用以执行UserOperation。作为Bundler和智能合约钱包之间的中介,通过
handleOp函数验证和执行操作。 - 智能钱包本身:主合约分离UserOperation的验证和执行步骤,允许Bundler离线验证,过滤恶意交易而无需支付Gas。
- Paymaster:定义Gas抽象逻辑,包括用ERC20代币支付以太坊Gas和无Gas交易。
- Wallet Factory:公共合约,创建智能合约钱包。用户可通过提交包含
initCode的UserOperation请求Bundler创建CA钱包。 - Signature Aggregator:将多个交易签名聚合为字节,以加快验证和执行速度,节省Gas。
AA的优势与劣势
优势:
- Gas抽象:支持无Gas交易和用任何ERC20代币支付Gas。
- 社交恢复:私钥丢失或被盗时,用户可授权新密钥作为合法钱包所有者。
- 批量交易:允许用户在单笔链上交易中执行多个操作。
- 法币通道和跨链桥集成:进一步与支付合约(Paymaster)集成,提升用户体验。
- 模块化设计:Bundler、Paymaster等部分可灵活组合,提供高度定制化服务。
劣势:
- 费用可能较高:简单转账比传统钱包更昂贵,因为需进行合约调用。但在Rollup上,ERC4337可能更便宜,因为可聚合签名减少主网数据量。
- 标准尚未最终确定:扩展交易可扩展性可能增加攻击向量,迁移到新标准时可能存在未知错误或安全风险。
L2解决方案的AA支持情况
- Optimism:❌ 不支持原生AA。
- Arbitrum:❌ 不支持原生AA。
- Starknet:✅ 仅支持智能合约账户,需实现验证和执行功能,但与以太坊存在差异。
- zkSync:✅ 不区分EOA和合约账户,账户模型类似EIP 4337,包含独立的验证和执行功能。
AA基础设施:Bundler与Paymaster服务
目前,Stackup、Etherspot、Candide、Infinistism、Pimlico等项目正积极构建AA基础设施。
Bundler服务
构建者:
- Stackup的Golang实现
- Candide的Python实现
- Infinitism的TypeScript实现
- Etherspot的Skandha - TypeScript实现
共识与挑战:
- 公共物品服务:开源性质使Bundler非独占且难盈利。
- 重要基础设施:需更多Bundler服务提供商以更好地去中心化。
- 机制:Bundler具有过滤垃圾邮件的重要功能,并为自身经济理由监控内存池安全。
Paymaster服务
- 相对中心化(与Bundler相比),开源合约但后端封闭。
- 有盈利模式,可通过与法币存款、兑换、跨链桥、自动支付等功能结合,提升dApp可用性。
AA钱包与SDK:产品与商业评估
产品评估维度:
- 密钥管理系统:多签逻辑、简单权限管理、基于角色的权限管理。
- 社交恢复方式。
- Gas赞助:自建Relayer或设置Bundler + PayMaster。
- 多链账户同步与地址统一。
- 支持的区块链。
商业考量:
- 商业模式:ToB、ToB+ToC或ToC。
- 与dApp合作:与各链大型基础设施类dApp(如稳定币或DeFi)合作。
- 实用功能:集成NFT市场、Launchpad等。
- 外部支持:获得以太坊基金会或其他大型风投的支持。
常见问题
什么是账户抽象(AA)?
账户抽象是一种允许智能合约作为独立账户操作的技术,无需依赖外部拥有账户(EOA)发起交易。它通过模块化设计提升钱包功能和用户体验。
ERC4337如何改善用户体验?
ERC4337支持Gas抽象、社交恢复、批量交易等功能,减少操作复杂性和安全风险,使区块链交互更直观和便捷。👉 探索更多用户场景应用
L2解决方案是否都支持AA?
并非所有L2都原生支持AA。目前,ZKSync和Starknet支持,而Optimism和Arbitrum尚未支持。不同L2的实现细节也存在差异。
Bundler和Paymaster的作用是什么?
Bundler负责验证和打包用户操作,Paymaster处理Gas支付逻辑。两者共同支撑AA基础设施,提供灵活且可定制的服务。
AA钱包如何实现社交恢复?
AA钱包通过智能合约定义恢复逻辑,允许用户在私钥丢失时授权新密钥。恢复方式可包括多签、MPC或社交登录等。
AA技术的未来发展趋势是什么?
随着生态支持和大型产品采用,AA技术将加速发展。模块化设计和跨链集成将成为关键方向,推动区块链大规模应用。