加密货币与区块链技术的应用正经历飞速发展。然而,吸引用户关注并帮助他们使用加密和区块链应用仍是一个巨大挑战。ERC-4337 的推出正是为了解决这一问题。
中心化与去中心化系统之间缺乏互操作性,以及智能合约和复杂工作模块的复杂性,一直是加密与区块链普及的主要障碍。通过 ERC-4337 实现的账户抽象,以太坊致力于提升加密世界各个层面的可访问性。本文将深入解析 ERC-4337 及其如何推动账户抽象的实现。
什么是 ERC-4337?
ERC-4337 由以太坊联合创始人 Vitalik Buterin 及其他开发者在 2021 年提出,旨在实现账户抽象。该标准于 2023 年 3 月部署在以太坊主网上,预计将引领用户友好的钱包设计新潮流。
以太坊中的账户抽象试图融合两种现有账户类型的特点:外部拥有账户(EOA)和智能合约账户。其结果是一个单一的合约账户,能够同时处理代币交易和创建合约。这一改变支持创新的钱包功能,包括社交恢复、自定义和可升级性。
简单来说,ERC-4337 将智能合约功能引入单一钱包账户,从而简化了多因素认证和自动支付等服务的配置。
ERC-4337 的背景与起源
了解 ERC-4337 的历史背景有助于初学者深入理解其目标。账户抽象的概念最初源于 EIP-86,旨在让智能合约能够启动和授权交易。2020 年提出的 EIP-2938 进一步推动了账户抽象的发展,专注于通过地址特定的智能合约创建新型顶层账户。同年的 EIP-3074 则试图创建能够自我执行的智能合约。
这些尝试均未成为正式的以太坊标准,仅停留在提案阶段。因为它们都需要修改以太坊共识层,所以之前的账户抽象提案均被否决。而 ERC-4337 通过在不改动共识层的情况下实现账户抽象,成功解决了这一问题。它在现有后端基础上增加了一个更高层次的基础设施层,并适用于所有与 EVM 兼容的生态系统。
为什么需要 ERC-4337?
与比特币网络的未花费交易输出(UTXO)模型不同,以太坊协议采用基于账户的模型。交易确认时,协议会相应更新账户余额。
以太坊的两类账户具有不同功能。EOA 由用户拥有和管理,而智能合约账户则部署在智能合约上。两种账户都可以接收、持有和发送以太币或代币。
目前大多数以太坊加密钱包(如 MetaMask)属于 EOA,因此受限于 EOA 的规则,包括仅能通过私钥访问账户,且所有交易必须签名。这导致钱包创建过程和私钥安全管理通常复杂且难用。如果用户丢失助记词,很可能会永久失去对钱包的访问权限。
ERC-4337 消除了这些限制。智能合约钱包(如 UniPass 和 Safe)由智能合约账户管理,能够实现相同目标,但用户仍需在两个账户之间管理以太币以支付 gas 费用,或依赖中心化中继系统。ERC-4337 通过将两种账户的功能合二为一,简化了所需钱包功能的部署。
ERC-4337 的工作原理
以太坊社区长期追求账户抽象。在 EIP-4337 之前,社区提交了 EIP-2938 提案,旨在实现账户抽象。EIP-2938 与 ERC-4337 类似,但需要共识层修改,而 ERC-4337 避免了这一限制。
ERC-4337 在高层次引入了一个名为“用户操作”(UserOperation)的伪交易对象,类似于 rollup 中的捆绑概念。不同用户将 UserOperation 对象发送到一个独立的内存池中,然后由捆绑器(bundler)将这些对象打包成一笔交易并纳入区块。捆绑器为打包的交易支付 gas 费用,并从单个用户操作的执行中获得费用。与验证者类似,捆绑器根据费用优先逻辑选择要包含的对象。
此外,新函数(如 validateUserOp)被引入,使钱包能够作为智能合约运行。同时,一个新的名为 EntryPoint 的合约将被部署,作为这些新功能执行的安全门。
ERC-4337 实现的目标
ERC-4337 旨在实现以下目标:
- 账户抽象:让用户享受同时具备智能合约和 EOA 功能的单一账户。
- 去中心化:允许所有所谓的捆绑器参与。
- 避免共识变更:以太坊共识层专注于扩展性升级,避免共识变更以加快采用速度。
- 支持创新用例:如聚合签名、交易限额设置、紧急账户暂停、白名单和隐私保护应用。
- 节省时间和 gas:捆绑器将 UserOperation 对象合并为单一交易,可节省时间和 gas 费用。
ERC-4337 对用户的意义
ERC-4337 可能终结加密钱包复杂的用户体验,从而推动更广泛的采用。以下是 ERC-4337 可能带来的变化:
- 快速钱包设置:无需在钱包设置时记录助记词,只需点击几下即可完成设置。
- 账户恢复:用户不再担心丢失助记词,因为多因素认证和账户恢复已成为可能。
- 用户友好的钱包功能:用户可以享受各种可定制服务,包括自动支付、预批准交易和捆绑交易。
- 更好的安全性:随着人为错误减少,钱包可能更加安全;不再需要将助记词藏在床垫下!
- Gas 灵活性:支持 ERC-4337 的钱包现在能够使用任何 ERC-20 代币及其他方式支付 gas 费用。开发者可以创建允许以任何代币甚至法币支付 gas 费用的钱包。
理论上,ERC-4337 应带来更顺畅、更友好的用户体验,从而消除大规模采用的主要障碍。👉 探索更多钱包创新功能
常见问题
什么是账户抽象?
账户抽象是以太坊的一项功能,允许智能合约充当用户账户,从而融合外部拥有账户(EOA)和智能合约账户的功能。它支持更灵活、更用户友好的钱包设计。
ERC-4337 如何改善用户体验?
ERC-4337 通过消除助记词需求、支持多因素认证和账户恢复、提供自动支付和捆绑交易等功能,显著简化了钱包的使用和管理。
ERC-4337 是否需要更改以太坊共识层?
不需要。ERC-4337 通过在高层次引入新基础设施实现账户抽象,无需修改以太坊共识层,从而加快了采用速度。
智能合约钱包与 EOA 钱包有何不同?
智能合约钱包由智能合约管理,支持更复杂的功能和更高的自定义性;而 EOA 钱包由私钥控制,功能较为有限。
ERC-4337 支持哪些创新用例?
ERC-4337 支持聚合签名、交易限额设置、紧急账户暂停、白名单和隐私保护应用等多种创新用例。
如何支付 ERC-4337 钱包的 gas 费用?
ERC-4337 钱包可以使用任何 ERC-20 代币甚至法币支付 gas 费用,提供了更大的灵活性和便利性。
结语
ERC-4337 为创新型加密货币钱包提供了技术基础。开发者基于此标准创建的应用可能改变加密技术与用户互动的主要方式。无论如何,ERC-4337 在未来几年对用户体验和加密领域的整体影响值得密切关注。