📘账户抽象与智能账户

以太坊早期的账户模型将用户行为与密钥控制紧密耦合,限制了钱包的灵活性与可扩展性。账户抽象(Account Abstraction, AA)试图打破这一耦合,让合约账户像外部账户一样发起交易、管理资产、实现自定义逻辑

📚 作者:Henry 🧱 系列:《以太坊工作原理全解析》 · 第 11 篇 👨‍💻 受众:Web3 开发者 / 区块链学习者 👉 系列持续更新中,建议收藏专栏或关注作者

本章将深入解析 AA 背后的动机、核心 EIP(特别是 EIP-4337)、核心组件(EntryPoint、UserOperation 等)与运行流程,并展示其对未来 Web3 用户体验、支付模型与安全性的深远影响。


✦ 1. 什么是账户抽象(Account Abstraction)?

账户抽象:让合约账户也能像外部账户(EOA)一样自主发起交易,并定义自定义验证逻辑。

传统以太坊账户模型:

类型 特点 限制
EOA(外部账户) 私钥控制,直接发交易 不能自定义签名方式;易丢失私钥
CA(合约账户) 只能被动接收调用 无法主动发交易;签名依赖外部账户

账户抽象的目标是融合两者优点:

✅ 安全性 + ✅ 灵活性 + ✅ 主动性


✦ 2. 为什么需要AA?

🔒 安全性需求

  • 私钥易丢失、被盗,缺乏恢复机制
  • 多签、社交恢复等只能通过复杂合约实现

🌍 用户体验

  • Gas 费用必须用 ETH 支付,不利于多链
  • 无法实现自动化签名、钱包内自动支付

🧩 可组合性

  • 无法构建统一的合约钱包标准,导致生态碎片化
  • 钱包逻辑受限,无法自由升级

账户抽象通过合约账户发起交易与验证器模块,使这些能力成为可能。


✦ 3. 账户抽象的技术路径演化

路线 状态 特点
EIP-86 早期尝试 提议修改协议层,未采纳
EIP-2938 协议层 AA 新交易类型 + opcode 扩展,复杂度高
✅ EIP-4337 应用层 AA 无需更改协议,已主网上线(2023)

✦ 4. EIP-4337 架构总览

11_eip_4337_arthi.png

用户 
→ 钱包(Smart Account)
→ 生成 UserOperation 
→ Bundler 
→ EntryPoint 合约 
→ 钱包验证执行 
→ 目标合约
元素 中文说明
👤 User / 钱包前端 发起交易请求,通常由合约钱包生成 UserOperation 并签名
🧾 **UserOper...

剩余50%的内容订阅专栏后可查看

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Henry Wei
Henry Wei
Web3 Frontend Dev. Exploring Social & Innovation.