1. 星空财经BlockGlobe首页
  2. 星空荐读

EIP-3074,能否让以太坊再次变得简单?

围绕 EIP-3074 的辩论是以太坊账户抽象轨迹的一个关键节点。

EIP-3074,能否让以太坊再次变得简单?

原文作者:LUKAS SCHOR & SAFE

原文编译:白话区块链

本文要点:

以太坊核心开发者已经达成一致,计划将 EIP-3074 纳入即将到来的硬分叉升级 Prague/Electra(预计在 2024 年第四季度 /2025 年初)。EIP-3074 允许外部拥有的账户(EOA)将其交易能力委托给智能合约,增强了交易赞助和批量处理等功能。虽然 EIP-3074 作为一种短期修复措施,旨在改善 EOA 的用户体验,但大多数以太坊社区仍然一致认为,最终目标是将所有用户迁移到智能账户。EIP-3074 对智能账户带来了一些改进,并成为实现完全 AA(账户抽象,也称为智能合约账户)的一个步骤,但它绝对需要 EIP-5003 的全面支持。如果没有 EIP-5003,我们将进一步确立 EOA 的地位。

1、什么是 EIP-3074?

EIP-3074 修改了以太坊协议,允许外部拥有的账户(EOA)将其交易能力委托给智能合约(称为「调用者」),从而实现以下额外功能:

赞助交易:dapp 或其他参与方可以赞助交易的燃料费用。

批量交易:这允许在同一笔交易中执行两个或多个合约调用。例如,用户可以在单个交易中调用 approve 和 transferFrom。

访问委托:用户可以将对其 EOA 的控制委托给可能具有不同安全属性的其他密钥。例如,用户可以向其账户添加一个每日额度的手机热钱包密钥。

这些功能目前只能在智能账户上使用,这意味着应用程序必须为 EOA 和智能账户构建两种不同的用户体验。

2、智能合约账户(AA)的机会

EIP-3074 主要赋予了 EOAs 更多权力,但它也为智能账户带来了一些新的有益副作用:

更容易的迁移:借助赋予 EOAs 更多权力,用户可以更轻松地迁移到智能账户。迄今为止,用户转换为智能账户的一个重要挑战是迁移现有资产的工作量和燃料成本。EIP-3074 允许在单个批量和赞助交易中更平滑地进行迁移。

统一的用户体验和开发体验:dapp 可以构建更好的用户体验,而无需排除 EOAs。这大大增加了利用赞助交易和交易批处理的动力,以及围绕它们的标准。dapp 通常需要调整为更灵活的账户逻辑,这将使智能账户功能(如会话密钥或多签)更好地适应整体开发框架。

混合账户:EOAs 可以将智能账户设置为调用者。例如,这将使智能账户能够控制 EOA,而 EOA 的私钥仍然保持优势,并可以禁用安全的控制。这可能导致有趣的新型混合托管用例,或者允许 EOA 用户在迁移资产之前「测试」智能账户。

3、EIP-5003:弥合与智能账户之间的差距

尽管 EIP-3074 允许将对 EOA 的控制委托给智能账户,但原始私钥仍然可以对 EOA 上的任何操作进行授权。这导致 EIP-3074 无法引入任何(安全)功能,例如:

多签名:多重签名钱包或链上多因素认证仍需要智能账户,因为 EIP-3074 的 EOA 始终由原始私钥控制。

恢复:虽然某些恢复方案可能是可行的,但使用 EIP-3074 无法恢复(更改)控制 EOA 的主要私钥,因此许多恢复方案需要完整的智能账户。

量子抗性:最终,我们无论如何都需要将用户迁移到智能账户,以实现量子抗性,无论是自然迁移还是通过紧急硬分叉。

其他功能:拒绝列表、共同签名者 / 保护者、根据用例要求不同签名方案的回退处理程序。

有一种可行的迁移路径被讨论,可以弥合这一差距,并允许将现有 EOA 完全迁移到智能账户中:EIP-5003。此升级扩展了 EIP-3074,允许在 EOA 地址部署智能合约代码的同时,撤销原始私钥的访问权限。这样可以将 EOA 完全转换为智能账户,同时保留公共地址、不可转让的 Token 和声誉,并在未来的账户抽象路线图中通常保证向前兼容性。

然而,对于这种升级路径的可行性存在一些关切,特别是与以下边际情况相关的问题:即假定已撤销的私钥仍然可以授权对账户的操作:

跨链:撤销的 EOA 密钥在其他网络上仍然有效,包括未来可能出现的网络。这可能允许任何人通过访问原始私钥,在不同的网络上声明同一账户并转移资产。

如果将 EOA 迁移到特定网络上的智能账户,不能假设 EOA 会自动迁移到新网络上。智能账户今天已经面临类似的问题,无法在新网络上部署,以及状态更改(密钥旋转)无法同步。像密钥存储滚动这样的跨链方法可能在一定程度上缓解这个问题。

离链签名:被泄露的密钥仍然可以在离链系统中被滥用,例如 dapp 的登录流程或 permit2 令牌的批准,这些流程会验证签名。虽然这些系统可能支持 EIP-1271 等智能合约签名标准,但通常只在标准 ecrecover 失败时才使用它们,这给已撤销的密钥可能破坏账户留下了空间。

明智的做法是,在 EIP-5003 中,对于已迁移到智能账户的 EOA,始终使 ecrecover(以太坊中的一个函数)失败。迁移到智能账户应该是对新的身份验证逻辑的明确和完整的转移。

4、EIP-3074 对 AA 是好还是坏?

在过去几个月里,社区倾向于将 ERC-4337 作为实现完整 AA 的第一步。它为开发者生态系统的启动提供了帮助,稳定了规范和打包工具,并创造了一些经验教训。随后计划在 Layer 2 上实现原生 AA(RIP-7560),并最终在 Layer 1 上引入类似的 EIP。

ERC-4337 最初开始时期望值被夸大了,这有助于吸引动力和吸引开发者。有积极的信号表明我们接近一个临界点,主要交易平台(OKX,Coinbase)和钱包(Trust,Metamask)正在投资支持 ERC-4337。但夸大的期望也意味着不可避免的清醒时刻,即实现完整 AA(通过 RIP-7560 或类似方式)将比最初预期的时间更长,因为目前对于 Layer 2 来说,致力于 RIP-7560 的兴趣和紧迫性仍然很小。

EIP-3074,能否让以太坊再次变得简单?
AA 相关的以太坊标准 / 升级正在经历各自的「炒作周期」。

这就是部分社区转向 EIP-3074 的原因之一。由于将用户迁移到智能账户似乎还为时过早,一些声音变得响亮起来,至少在此期间部分修复 EOA 问题。EIP-3074 并不取代 ERC-4337,它们实际上具有相当的协同效应,但它确实将焦点进一步转移离开 ERC-4337/RIP-7560。

为了实现完整的 AA,我们需要找到将现有 EOA 迁移的方法。由于 EOA 仍然占据以太坊用户的大多数,这影响了开发者和团队的优先事项。这可以通过两种方式实现:(1)让用户手动切换到智能账户,或者(2)实施将 EOA 转换为智能账户的方式。

包含 EIP-3074 存在着将我们进一步远离实现完整 AA 的风险。它增强了 EOA,对于(1)起到了消极的作用,同时并没有真正解决(2)的问题。

没有 EIP-5003,EIP-3074 目前缺乏实现完整 AA 的明确路径,并对 AA 的采用产生了负面影响。更重要的是,在下一个硬分叉升级 Prague/Electra 之后,可能不会再有一个为期 2 年的窗口来包含与 AA 相关的升级,因为重点将转向 verkle 树。因此,我们应该在 Prague/Electra 升级中包含 EIP-5003,以防止进一步确立 EOA 的地位。

EIP-3074,能否让以太坊再次变得简单?
EIP-3074 对 AA 路线图的影响,包括有 / 无 EIP-5003

5、总结

围绕 EIP-3074 的辩论是以太坊账户抽象轨迹的一个关键节点。

原始的 AA 路线图:尝试应用层的 AA(ERC-4337),通过 L2 展示原生 AA(RIP-7560),最终在 L1 上引入原生 AA。通过迁移交易(EIP-5003,EIP-7377 甚至强制迁移)解决旧版 EOA 问题。这条路径可能比预期时间长得多,并受到 EOA 的主导地位的阻碍。

我们应该采取的行动:实施 EIP-3074,但同时在布拉格 / 电气硬分叉中包含 EIP-5003,以实现对智能账户的完整迁移。这样可以确保不让遗留用户被落下,同时又确保他们不会阻碍 AA 的努力。

我们目前计划要做的事情(最糟糕的情况):仅实施 EIP-3074,并冒着确立 EOA 的风险,或者至少会严重阻碍智能账户的采用。

EIP-3074,能否让以太坊再次变得简单?
以太坊 AA 路线图的十字路口(感谢 Vitalik 提供的改进思路)

本文来自白话区块链,经授权后发布,本文观点不代表星空财经BlockGlobe立场,转载请联系原作者。