EIP-3074 与维护无需许可的创新

EIP-3074 提案允许 EOA 授权智能合约代表其进行交易,有望提升用户体验,但同时也存在潜在风险,例如恶意调用者可能损害用户利益。文章探讨了 EIP-3074 为智能账户采用带来的机遇与挑战,强调了在保证用户安全的前提下,实现无需许可的创新的重要性,并提出了去中心化调用者注册表的概念,同时认为 EIP-5003 提案可以缓解 EIP-3074 的一些问题。

感谢 Ahmed , Alex , BenDerek 提供的 反馈和审查。

EIP-3074 可能会被包含在下一个以太坊硬分叉 Pectra 中。Rhinestone 仍然乐观地认为,这可能有助于智能账户的采用(不仅仅是 EOA 用户体验的改进),并帮助我们到达理想之地(每个用户都有一个模块化的智能账户),但有几个考虑因素。

什么是 3074?

EIP-3074 允许 EOA 授权一个智能合约代表其进行交易。这个被授权的智能合约被称为调用者(invoker)。调用者合约可以是一个专门构建的智能合约,用于解锁特定功能,例如批量处理或 gas 补贴,或者它可以是一个智能账户(但会有折衷)。

用户体验的好处

对于现有用户,EIP-3074 是用户体验的明显升级,没有安全方面的提升(参见 Safe 的 博客文章)。我们认为,大多数智能账户功能都可以通过调用者合约实现(注意:原型设计和验证正在进行中)。明显的例外包括任何可以被 EOA 私钥否决的功能(例如,多重签名)或需要密钥轮换的功能。管理 EOA 私钥的风险并没有通过 3074 解决。

对于新用户,EIP-3074 几乎没有带来好处。你仍然需要记录助记词以进行恢复,并管理一个附带所有焦虑的私钥。

EIP-3074 和许可式创新

最重要的考虑是,如果调用者是恶意的,它们可以以 精彩的全新方式坑害用户。虽然这个问题的解决方案很简单——钱包 UI 通过只接受来自受信任来源的请求来保护用户——但这是围绕 EIP-3074 设计空间最重要的限制因素。要使用调用者进行创新,合约必须经过钱包供应商的白名单和许可。

EIP-3074 倾向于这样一种情况:调用者由现有钱包供应商构建,要么是为了解决所有 dApp 都能从中受益的通用用户体验需求(很可能被社区构建为新标准),要么是为了与 dApp 合作以促进独特的产品功能。后者几乎肯定会偏向最大的 dApp,以确保任何“ специализированный invoker”都具有广泛的影响力。这可能会导致来自较小/较新的 dApp 的实验和创新减少,因为它们与最大的钱包供应商没有建立关系,从而将市场力量集中在最大的钱包供应商和最大的 dApp 手中。

用于调用者的去中心化注册表

生态系统可以从诸如批量处理和 gas 抽象之类的基本 3074 实用程序的标准化方法中受益。悬而未决的问题是,是否允许任何开发人员构建一个可以安全地为用户提供新产品体验的调用者是否具有重要的优势。换句话说,调用者可以或应该变得多么富有表现力?

这个概念类似于 模块化账户抽象叙事。一个 无需许可的模块注册表 可以在模块化智能账户生态系统内释放开放式创新,允许任何开发人员构建一个可以轻松安装在任何智能账户上的独立组件。

这样的注册表可以被重新用于满足调用者合约的需求。使用调用者注册表可以为使用 EIP-3074 进行创新开辟一条无需许可的途径。钱包供应商选择一个或多个受信任的证明者,他们审核并确保调用者合约的安全性。任何人都可以提交一个调用者,如果他们能够承担所需的审计费用,就可以获得由可信证明者(或多个)做出的证明。关键的区别在于,没有办法强制执行注册表检查(与智能账户不同)。注册表检查将由钱包 UI 执行,因此,用户信任仍然放在供应商身上。

这在实践中会是怎样的?

  1. Dapp-/特定功能的调用者: 开发人员编写专门的调用者合约,以启用某些功能。各个功能调用者在注册表上列出,由受信任的实体证明,并由任何 dapp 或钱包重用。
  2. 模块化调用者: 像模块化智能账户一样,模块化调用者可以通过具有独立功能的专门构建的智能合约(即,模块)来扩展。这些模块在注册表上列出,由受信任的审计员证明,并且可以安装在模块化调用者上以解锁新的钱包功能。

第二种选择似乎是最理想的:A)它减少了对作为白名单看门人的钱包供应商的依赖(只需要将一个模块化调用者列入白名单),并且 B)模块化调用者可以从模块化智能账户领域的研发中汲取灵感,并对扩展其功能的智能合约强制执行严格的权限系统。

确保正和发展轨道

开发一个允许使用模块化智能账户进行无需许可的创新,同时保持互操作性和用户安全的系统是困难的。在 AA 生态系统中,关于模块化智能账户的架构及其权限系统已经有很多争论(参见 此处此处此处)。我们如何为调用者解决这个问题,并且与为模块化智能账户构建的系统并行运行这个系统的成本是多少?

如果我们要使用调用者启用无需许可的创新,理想的结果是最大限度地重用围绕模块化智能账户的现有基础设施和工具。Safe 有一个经过实战测试且高度安全的智能账户,并且 ERC-6900 和 ERC-7579 都为模块互操作性和权限控制提供了框架。

我们最大的担忧是,双轨并行推进这些计划将延迟我们期望的最终目标——模块化智能账户成为 web3 的主导界面,解锁强大、安全和无缝的自主数字所有权。

EIP-5003 可以缓解上述一些担忧吗?

在下一个硬分叉中将 EIP-5003 与 EIP-3074 结合使用将提供一个完整的智能账户迁移路径(Safe 的博客是一个有用的参考)。EIP-5003 允许在 EOA 的地址上部署智能合约代码,同时撤销原始私钥。将 EOA 完全转换为智能账户。但是,根据我们目前的理解,它并没有消除钱包供应商将可以 AUTHUSURP 的调用者列入批准的智能账户列表的需求。为了确保新的账户供应商可以轻松地向现有 EOA 用户提供他们的产品,我们需要一种开放的市场方法来维护这个“批准的智能账户”迁移列表。

即使有了 EIP-5003,人们仍然应该期望 EIP-3074 会被独立使用。考虑到这一点以及前一段,应该探索用于调用者合约的去中心化权限系统。

结论

对于 EOA 用户来说,EIP-3074 是一个令人兴奋的升级,说实话,他们仍然占据了加密用户的大多数。尽管如此,我们不应该忽视这会将权力转移到钱包供应商手中的中心化现象,尤其是在决定以太坊智能账户转型命运方面。我乐观地认为,钱包供应商拥有相同的愿景(智能账户是最终目标),但不应忽视激励措施。应建立无需信任的措施来维持无需许可的创新。

我们正 heading 向何处

  • 原文链接: blog.rhinestone.wtf/eip-...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Rhinestone
Rhinestone
Infrastructure and APIs for seamless wallet abstraction. Built on smart accounts. Powered by intents. https://linktr.ee/rhinestonewtf