跳到主要内容

3 篇博文 含有标签「ERC-4337」

查看所有标签

通往更友好以太坊的两条轨道:ERC‑4337 智能账户 + ERC‑4804 Web3 URL

· 阅读需 9 分钟
Dora Noda
Software Engineer

![](https://opengraph-image.blockeden.xyz/api/og-blockeden-xyz?title=通往更友好以太坊的两条轨道:ERC‑4337 智能账户 + ERC‑4804 Web3 URL)

TL;DR

以太坊刚刚获得了两项强大的原语,推动用户体验超越助记词和可书签的 dapp,迈向“可点击的链上体验”。

  • ERC-4337 为当今的以太坊引入 账户抽象,无需核心协议更改。这使得智能合约账户、燃气赞助、批量调用以及类似 Passkey 的身份验证等功能成为钱包的原生特性。
  • ERC-4804 引入 web3:// URL——人类可读的链接,直接解析为合约 读取 调用,甚至可以渲染链上 HTML 或 SVG,全部不依赖传统的 Web 服务器作为中间人。可以把它看作 “EVM 的 HTTP”。

当两者结合使用时,ERC-4337 负责动作,ERC-4804 负责地址。这种组合让你可以分享一个链接,验证其用户界面来源于智能合约。当用户准备执行操作时,流程交给可以赞助燃气并将多个步骤批量化为一次点击的智能账户。


为什么现在很重要

这不仅是理论上的未来;这些技术已经上线并获得显著关注。ERC-4337 已经在真实环境中规模化并得到验证。 标准的 EntryPoint 合约于 2023 年 3 月 1 日部署在以太坊主网,至今已支撑数千万智能合约账户并处理超过 1 亿次用户操作。

与此同时,核心协议也在向这些理念靠拢。Pectra 升级(2025 年 5 月)引入了 EIP-7702,允许标准的外部拥有账户(EOA)暂时表现为智能账户。这与 ERC-4337 互补,帮助现有用户平滑过渡,而不是取代标准。

在地址层面,web3:// 已正式化。ERC-4804 明确定义了 URL 如何映射为 EVM 调用,且 web3 已被 IANA 列为临时 URI 方案。实现这些 URL 所需的工具和网关已可用,将链上数据转化为可分享、可链接的资源。


快速入门:ERC-4337 一页概览

ERC-4337 本质上为以太坊引入了一条并行的交易轨道,专为灵活性而设计。用户不再发送传统交易,而是将 UserOperation 对象提交到替代的 mempool。这些对象描述账户想要执行的操作。称为 “Bundler” 的专用节点会拾取这些操作,并通过全局 EntryPoint 合约执行。

这实现了三个关键组件:

  1. 智能合约账户(SCA):这些账户拥有自己的逻辑,定义交易何为有效,支持自定义签名方案(如 Passkey 或多签)、游戏会话密钥、消费上限以及社交恢复机制。规则由账户本身而非网络强制执行。
  2. Paymaster:这些特殊合约可以为用户赞助燃气费,或允许用户使用 ERC-20 代币支付。这是实现真正 “钱包里没有 ETH” 入门体验的关键,并通过批量多调用实现一次点击完成多个操作。
  3. DoS 安全与规则:公共 ERC-4337 mempool 受标准化的链下验证规则(ERC-7562)保护,防止 Bundler 在注定失败的操作上浪费资源。虽然可以为特定场景创建专用 mempool,但这些共享规则确保生态系统保持一致且安全。

思维模型:ERC-4337 将钱包变成可编程的应用。用户不再仅仅签名原始交易,而是提交 “意图”,由账户代码验证并由 EntryPoint 合约安全、原子地执行。


快速入门:ERC-4804 一页概览

ERC-4804 提供了从 web3:// URL 到 只读 EVM 调用的直接映射。URL 语法直观:web3://<name-or-address>[:chainId]/<method>/<arg0>?returns=(types)。名称可以通过 ENS 等系统解析,参数会根据合约 ABI 自动类型化。

示例:

  • web3://uniswap.eth/ 将调用 uniswap.eth 地址的合约,使用空 calldata。
  • web3://.../balanceOf/vitalik.eth?returns=(uint256) 会 ABI 编码一次对 balanceOf 的调用,传入 Vitalik 的地址,并返回类型化的 JSON 结果。

关键是,此标准目前仅用于 只读 调用(等同于 Solidity 的 view 函数)。任何会改变状态的操作仍需交易——这正是 ERC-4337 或 EIP-7702 发挥作用的地方。web3 已被 IANA 注册为临时 URI 方案,为原生浏览器和客户端支持铺平道路,虽然目前多数实现仍依赖扩展或网关。

思维模型:ERC-4804 将链上资源变成可链接的 Web 对象。把 “将此合约视图分享为 URL” 当作分享仪表盘链接一样自然。


合二为一:“可点击的链上体验”

将这两项标准结合,可为当下的去中心化应用解锁强大的新模式。

首先,你提供 通过 web3:// 的可验证 UI。不再把前端托管在 S3 等中心化服务器,而是将最小化的 HTML 或 SVG 界面直接存链上。类似 web3://app.eth/render 的链接让客户端解析 URL 并直接从合约渲染 UI,确保用户看到的正是代码所规定的内容。

随后,从该可验证界面触发 通过 ERC-4337 的一键操作。一个 “Mint” 或 “Subscribe” 按钮可以生成一个由 Paymaster 赞助的 UserOperation。用户通过 Passkey 或生物识别确认,EntryPoint 合约批量执行调用——如果是首次使用,还会部署其智能账户,并在一次原子步骤中完成所需操作。

这形成了无缝的深度链接交接。UI 可以嵌入基于意图的链接,直接由用户钱包处理,省去跳转到外部站点的步骤。内容即合约,操作即账户

这带来:

  • 免燃气试用和“一键即用”入门:新用户无需先拥有 ETH,即可开始使用。你的应用可以赞助他们的前几次交互,大幅降低摩擦。
  • 可分享的状态web3:// 链接本质上是对区块链状态的查询,适用于仪表盘、所有权证明或任何需要可验证防篡改的内容。
  • 对 Agent 友好的流程:AI 代理可以通过 web3:// URL 获取可验证状态,并使用 ERC-4337 的会话密钥提交交易意图,无需脆弱的屏幕抓取或不安全的私钥管理。

构建者的设计要点

实现这些标准时,需要考虑若干架构选择。对于 ERC-4337,建议从最小化的智能合约账户模板起步,通过受保护的模块逐步添加功能,以保持核心验证逻辑简洁安全。Paymaster 策略应当稳健,明确燃气赞助上限并对可调用方法进行白名单管理,以防止滥用攻击。

对于 ERC-4804,优先使用 ENS 名称生成易读链接。务必显式声明 chainId 以避免歧义,并加入 returns=(…) 参数确保客户端收到类型化、可预期的响应。虽然可以在链上渲染完整 UI,但通常建议保持链上 HTML/SVG 简洁,仅作为可验证的外壳,重资产可从 IPFS 等去中心化存储获取。

最后,记住 EIP-7702 与 ERC-4337 是相辅相成的。随着 Pectra 升级激活 EIP-7702,现有 EOA 用户可以在不部署完整智能账户的情况下委托合约逻辑。账户抽象生态的工具链已在对齐,平滑迁移路径正在形成。


安全、现实与约束

虽强大,这些系统仍有权衡。EntryPoint 合约本身是设计上的中心点——它简化了安全模型,却也集中风险。务必使用经过审计的官方实现。ERC-7562 的 mempool 验证规则是一种社会约定,而非链上强制执行的规则,不能假设每个替代 mempool 都具备相同的审查抵抗或 DoS 防护。

此外,web3:// 仍在成熟阶段。它目前仅限只读,任何写操作仍需交易。协议本身去中心化,但解析这些 URL 的网关和客户端仍可能成为故障或审查点。真正的 “不可阻断” 仍依赖广泛的原生客户端支持。


具体实现蓝图

设想你想构建一个基于 NFT 的会员俱乐部,拥有可分享、可验证的 UI 与一键加入流程。以下是本季度的实现路线:

  1. 分享 UI:分发类似 web3://club.eth/home 的链接。用户打开时,客户端解析 URL,调用合约并渲染链上 UI,展示当前会员白名单和铸造价格。
  2. 一键加入:用户点击 “加入” 按钮。钱包生成一个由你的 Paymaster 赞助的 ERC-4337 UserOperation,该操作批量执行三步:部署用户的智能账户(若尚未拥有)、支付铸造费用、注册其个人资料数据。
  3. 可验证收据:交易确认后,用户看到的确认视图也是另一个 web3:// 链接,如 web3://club.eth/receipt/<tokenId>,形成永久的链上会员证明链接。

更大的图景

这两项标准标志着以太坊构建方式的根本转变。账户正成为软件。ERC-4337 与 EIP-7702 正将 “钱包 UX” 变成真实的产品创新空间,超越了单纯的密钥管理教学。与此同时,链接正成为查询。ERC-4804 让 URL 再次成为指向可验证 事实 的原语,而非仅指向代理它们的前端。

二者合力,缩短了用户点击与合约执行之间的距离。过去这段距离由中心化的 Web 服务器和信任假设填补。现在,它可以由可验证的代码路径和开放、无许可的 mempool 填补。

如果你在构建面向大众的加密应用,这是让用户第一分钟即感到愉悦的机会。分享链接,渲染真实,赞助首个动作,将用户锁在可验证的闭环中。轨道已经到位——现在是交付体验的时候。

钱包革命:探索账户抽象的三条路径

· 阅读需 6 分钟
Dora Noda
Software Engineer

多年来,加密世界一直被一个关键的可用性问题所困扰:钱包。传统钱包,即外部拥有账户(EOA),容错率极低。一次种子短语丢失就意味着资金永远失去。每一次操作都需要签名,且必须使用链的原生代币支付 gas 费。这种笨拙且高风险的体验是主流采用的主要障碍。

账户抽象(AA) 作为一种范式转变,正在重新定义我们与区块链的交互方式。其核心是将用户账户转变为可编程的智能合约,从而解锁社交恢复、一键交易以及灵活的 gas 支付等功能。

通往这一更智能未来的旅程正沿着三条不同的路径展开:经受实战检验的 ERC-4337、高效的 Native AA,以及备受期待的 EIP-7702。下面我们逐一解析每种方案对开发者和用户的意义。


💡 路径 1:先驱 — ERC-4337

ERC-4337 是将账户抽象引入以太坊及 EVM 链的突破性方案,无需更改底层协议。可以把它看作在现有系统之上添加了一层智能层。

它引入了全新的交易流程,涉及:

  • UserOperations:一种新对象,表示用户的意图(例如 “将 100 USDC 换成 ETH”)。
  • Bundlers:链下角色,收集 UserOperations,将其打包并提交到网络。
  • EntryPoint:全局智能合约,负责验证并执行打包后的操作。

优势:

  • 通用兼容性:可部署在任何 EVM 链上。
  • 灵活性:支持游戏会话密钥、多签安全、以及通过 Paymaster 实现的 gas 赞助等丰富功能。

权衡:

  • 复杂度与成本:需要运行 Bundlers,基础设施开销显著;且由于每笔操作都要经过额外的 EntryPoint 逻辑,gas 成本在三种方案中最高。因此,它的采用主要集中在 gas 友好的 L2 上,如 Base 和 Polygon。

ERC-4337 为其他 AA 方案铺平了道路,验证了需求并奠定了更直观 Web3 体验的基础。


🚀 路径 2:理想实现 — Native Account Abstraction

如果 ERC-4337 是插件,Native AA 则是将智能特性直接嵌入区块链底层。zkSync EraStarknet 等链从一开始就把 AA 设为核心原则。在这些网络上,每个账户本身就是智能合约。

优势:

  • 效率:AA 逻辑已内置于协议,省去额外层级,gas 成本显著低于 ERC-4337。
  • 开发者友好:无需管理 Bundlers 或独立的 mempool,交易流程更像标准交易。

权衡:

  • 生态碎片化:Native AA 是链特有的。zkSync 上的账户与 Starknet 上的账户不同,也都不是以太坊主网的原生账户。这导致跨链用户和开发者的体验被割裂。

Native AA 展示了效率的“终局”,但其普及度取决于所在生态的成长。


🌉 路径 3:务实桥梁 — EIP-7702

计划在以太坊 2025 年的 “Pectra” 升级中引入的 EIP-7702,旨在为海量现有 EOA 用户带来 AA 功能。它采用混合方式:允许 EOA 临时委托其权限给智能合约,以完成单笔交易。

可以把它看作给你的 EOA 加上临时的超能力。无需迁移资金或更换地址,只需在交易中添加授权,即可实现批量操作(如一次点击完成批准 + 兑换)或获得 gas 赞助。

优势:

  • 向后兼容:适用于已有的数十亿美元资产的 EOA,无需迁移。
  • 低复杂度:使用标准交易池,无需 Bundlers,基础设施大幅简化。
  • 大众采纳催化剂:让每个以太坊用户瞬间拥有智能特性,可能快速推动更佳 UX 模式的普及。

权衡:

  • 非“完整” AA:EIP-7702 并未解决 EOA 本身的密钥管理问题,私钥丢失仍然导致资金不可用。它更侧重于增强交易能力,而非彻底改造账户安全。

对比概览

功能ERC-4337(先驱)Native AA(理想)EIP-7702(桥梁)
核心思路通过 Bundlers 的外部智能合约系统协议层面的智能账户EOA 临时委托给智能合约
Gas 成本最高(因 EntryPoint 额外开销)低(协议优化)中等(单笔交易的少量额外开销)
基础设施需求高(需运行 Bundlers、Paymasters)低(链验证者自行处理)极低(使用现有交易基础设施)
关键用例任意 EVM 链的灵活 AA,尤其是 L2为专为 AA 设计的 L2 提供高效实现为所有现有 EOAs 添加批量与 gas 赞助功能
适用场景游戏钱包、需要免 gas 入门的 dApp仅在 zkSync、Starknet 等链上构建的项目为主流用户快速引入批量交易与 gas 赞助功能

未来:融合与以用户为中心

这三条路径并非相互排斥,而是正趋向于一个钱包不再是摩擦点的未来。

  1. 社交恢复成为标准 🛡️: “钥匙丢失,资金消失” 的时代即将结束。AA 让基于守护者的恢复成为可能,使自托管的安全性和宽容度堪比传统银行账户。
  2. 游戏体验再造 🎮:会话密钥将实现无缝游戏,无需频繁弹出 “批准交易” 窗口,让 Web3 游戏的体验接近 Web2。
  3. 钱包成为可编程平台:钱包将实现模块化。用户可以添加 “DeFi 模块” 实现自动收益,或添加 “安全模块” 为大额转账提供 2FA。

对于 Blockeden.xyz 这样的开发者与基础设施提供商而言,这一演进充满机遇。Bundlers、Paymasters 以及各种 AA 标准的复杂性,为提供稳健、可靠且抽象化的基础设施创造了巨大的市场空间。目标是打造统一体验:开发者只需简单接入 AA 功能,钱包会根据链的支持情况在 ERC-4337、Native AA 或 EIP-7702 之间智能切换。

钱包终于迎来了应有的升级。从静态的 EOA 到动态、可编程的智能账户,这不仅是一次改进,更是一场革命,将使 Web3 对下一代十亿用户变得可访问且安全。

ERC-4337:通过账户抽象革新以太坊

· 阅读需 3 分钟
Dora Noda
Software Engineer

大家好,欢迎再次来到我们的区块链博客!今天,我们将深入探讨一个令人振奋的新提案——ERC-4337,它在无需任何共识层协议更改的情况下为以太坊引入账户抽象。该提案依赖于更高层的基础设施来实现其目标。让我们一起了解 ERC-4337 能提供什么,以及它如何解决当前以太坊生态系统的局限性。

ERC-4337 是什么?

ERC-4337 是一个提案,通过使用独立的 mempool 和一种称为 UserOperation 的新型伪交易对象,将账户抽象引入以太坊。用户将 UserOperation 对象发送到替代的 mempool,特殊类别的参与者——捆绑者(bundlers)将其打包成交易,并调用专用合约的 handleOps 方法。这些交易随后被包含进区块。

该提案旨在实现以下目标:

  1. 让用户能够使用具有任意验证逻辑的智能合约钱包作为其主要账户。
  2. 完全消除用户拥有外部拥有账户(EOA)的需求。
  3. 通过允许任何捆绑者参与包含账户抽象用户操作的过程,确保去中心化。
  4. 使所有活动都在公共 mempool 上进行,消除用户需要了解特定参与者直接通信地址的需求。
  5. 避免对捆绑者的信任假设。
  6. 无需任何以太坊共识层的更改,以实现更快的采纳。
  7. 支持其他用例,例如隐私保护应用、原子多操作、使用 ERC-20 代币支付交易费用以及开发者赞助的交易。

向后兼容性

由于 ERC-4337 不改变共识层,对以太坊没有直接的向后兼容性问题。然而,ERC-4337 之前的账户由于缺少必要的 validateUserOp 函数,难以直接兼容新系统。可以通过创建一个兼容 ERC-4337 的账户,将验证逻辑重新实现为包装器,并将其设置为原始账户的受信任操作提交者来解决此问题。

参考实现

想深入了解 ERC-4337 技术细节的朋友,可以在 https://github.com/eth-infinitism/account-abstraction/tree/main/contracts 查看参考实现。

安全性考虑

ERC-4337 的入口点合约必须经过严格审计和形式化验证,因为它是整个系统的核心信任点。虽然这种方式降低了单个账户的审计和形式化验证负担,但也将安全风险集中在入口点合约上,必须进行稳健的验证。

验证应覆盖两个主要声明:

  1. 防止任意劫持的安全性:入口点仅在 validateUserOp 对特定账户通过后才通用调用该账户。
  2. 防止费用耗尽的安全性:如果入口点调用 validateUserOp 并通过,它还必须使用 calldata 等于 op.calldata 的通用调用。

结论

ERC-4337 是一个令人振奋的提案,旨在无需共识层协议更改就为以太坊引入账户抽象。通过使用更高层的基础设施,它为去中心化、灵活性以及各种用例打开了新可能。虽然仍需解决安全性问题,但该提案有望显著提升以太坊生态系统和用户体验。