通往更友好以太坊的两条轨道: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
合约执行。
这实现了三个关键组件:
- 智能合约账户(SCA):这些账户拥有自己的逻辑,定义交易何为有效,支持自定义签名方案(如 Passkey 或多签)、游戏会话密钥、消费上限以及社交恢复机制。规则由账户本身而非网络强制执行。
- Paymaster:这些特殊合约可以为用户赞助燃气费,或允许用户使用 ERC-20 代币支付。这是实现真正 “钱包里没有 ETH” 入门体验的关键,并通过批量多调用实现一次点击完成多个操作。
- 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 与一键加入流程。以下是本季度的实现路线:
- 分享 UI:分发类似
web3://club.eth/home
的链接。用户打开时,客户端解析 URL,调用合约并渲染链上 UI,展示当前会员白名单和铸造价格。 - 一键加入:用户点击 “加入” 按钮。钱包生成一个由你的 Paymaster 赞助的 ERC-4337
UserOperation
,该操作批量执行三步:部署用户的智能账户(若尚未拥有)、支付铸造费用、注册其个人资料数据。 - 可验证收据:交易确认后,用户看到的确认视图也是另一个
web3://
链接,如web3://club.eth/receipt/<tokenId>
,形成永久的链上会员证明链接。
更大的图景
这两项标准标志着以太坊构建方式的根本转变。账户正成为软件。ERC-4337 与 EIP-7702 正将 “钱包 UX” 变成真实 的产品创新空间,超越了单纯的密钥管理教学。与此同时,链接正成为查询。ERC-4804 让 URL 再次成为指向可验证 事实 的原语,而非仅指向代理它们的前端。
二者合力,缩短了用户点击与合约执行之间的距离。过去这段距离由中心化的 Web 服务器和信任假设填补。现在,它可以由可验证的代码路径和开放、无许可的 mempool 填补。
如果你在构建面向大众的加密应用,这是让用户第一分钟即感到愉悦的机会。分享链接,渲染真实,赞助首个动作,将用户锁在可验证的闭环中。轨道已经到位——现在是交付体验的时候。