构建更好的钱包:ERC-4337如何改变以太坊账户管理

理解基础

以太坊改进提案 (EIPs) 在以太坊生态系统中建立技术标准。在此框架内,以太坊评论请求 (ERC) 规范定义了管理智能合约和代币接口的应用级标准。与协议级升级不同,ERC 代表开发者和行业利益相关者之间的社区共识。

ERC-4337作为一个重要的应用层标准,通过在以太坊主网上部署智能合约实现账户抽象。它最初于2021年作为EIP-4337提交,并于2023年3月正式采用和部署。尽管一些文档提到原始提案编号,ERC-4337表示当前的标准名称。

当前钱包问题

今天的以太坊生态系统有两种不同的账户模型:通过私钥管理的外部拥有账户(EOAs),以及包含可执行代码的智能合约账户。这种双账户结构在多个领域造成了摩擦。

大多数钱包——例如MetaMask——完全依赖于EOA私钥管理。用户面临繁琐的恢复程序、对密钥丢失的脆弱性以及有限的程序灵活性。智能合约钱包理论上提供了更优越的功能,但它们迫使用户 juggling 两个独立账户:一个持有资金,另一个用于支付燃气费用。这种碎片化大大降低了用户体验。

当前的实现通常依赖于称为中继者的集中式中介进行交易处理,这引入了额外的信任假设和操作复杂性。这些限制阻碍了主流采用,令寻求增强安全功能的经验用户感到沮丧。

ERC-4337解决方案框架

由Vitalik Buterin和以太坊开发者社区提议,ERC-4337作为一个生产就绪的框架推出,启用可编程钱包功能。与早期尝试如EIP-2938所需的共识层修改不同,ERC-4337完全在应用层运行,实现了无需协议更改的更快速部署。

该标准通过一种创新的交易架构实现这一目标。UserOperations 代表一种新的交易原语,提交到一个单独的链外内存池。被称为打包者的专门参与者收集这些 UserOperations,将它们聚合成常规以太坊交易,支付相关的 gas 费用,并从嵌入的 UserOperation 费用中获得补偿。

EntryPoint 智能合约作为安全验证网关,执行并确认用户操作与自定义授权逻辑。每个钱包实现验证函数 (,例如 validateUserOp),在交易执行之前强制执行自定义授权规则。这种架构保留了以太坊的安全模型,同时提供了前所未有的可编程性。

能力与战略目标

ERC-4337 使几个变革性功能成为可能:

统一账户模型:合并EOA和智能合约的优势,用户在一个界面内接收一个可编程账户,发起交易、管理代币及部署合约。

去中心化基础设施:多个打包者独立参与用户操作处理,创建一个开放、无许可的生态系统,而不是依赖于中心化的运营商。

协议兼容性:在共识层之上运行消除了采用障碍,使得在整个生态系统中能够快速实施。

高级功能:该框架支持聚合签名、每日支出限额、紧急账户冻结、白名单功能以及以隐私为中心的应用程序。

成本优化:将多个用户操作聚合为单个交易可以减少燃气消耗,并提高网络的吞吐量。

用户体验转型

对于日常参与者而言,ERC-4337 从根本上重塑了钱包交互:

简化入门:手动种子短语管理变为可选,加速钱包创建,降低新手的入门门槛。

弹性账户恢复:多签名方案和社交恢复机制显著减少永久性访问丧失的场景。

功能灵活性:自动付款、交易预先批准、操作批处理及类似服务的部署几乎没有摩擦。

强化安全性:可编程账户模型减少了用户错误的脆弱性,特别是种子短语暴露和私钥泄露。

原生代币灵活性:用户可以通过ERC-20代币或通过第三方支付方结算燃气费用,从而消除对原生ETH的独占依赖。

当前状态和未来方向

自2023年3月部署以来,ERC-4337的采用持续扩大,开发者们正在构建创新的钱包实现和基础设施服务。尽管技术挑战和生态系统成熟仍然是持续关注的问题,但该标准代表了朝着以用户为中心、确保安全的钱包设计迈出的重要进展。

ERC-4337框架展示了应用层标准如何在没有共识层复杂性的情况下提供显著的用户体验改善。随着采用的加速,开发者将解锁当前受传统账户模型限制的用例,最终推动加密货币的可及性,使更广泛的人群受益。

ETH2.16%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)