Hero Circle Shape
Hero Moon Shape
Hero Right Shape
Blog Details Image

TokenPocket冷钱包下载|帐户抽象关键》EIP-3074 如何让以太坊变更简单,开启智能合约钱包? | 动区动趋-最具影响力的区块链新闻媒体

  • 作者 :TokenPocket冷钱包下
  • 2024年04月19日

以太坊下一步硬分叉升级 Prague/Electra 需同时包含 EIP-3074 及 EIP-5003,兼顾 EOA 迁移和 AA 发展。本文源自 LUKAS SCHOR & SAFE 所着文章,由白话区块链整理、编译及撰稿。 (前情提要:以太坊下一步:EIP-3074纳入布拉格升级,智能合约引入钱包带来三大改革) (背景补充:以太坊下个升级「Pectra」有什么料?质押者救济机制、钱包用户体验..)

本文目录

  • 什么是 EIP-3074?
  • 智能合约帐户(AA)的机会
  • EIP-5003:弥合与智慧帐户之间的差距
  • EIP-3074 对 AA 是好还是坏?
  • 总结

以太坊核心开发者已经达成一致共识,计划将 EIP-3074 纳入即将到来的硬分叉升级 Prague/Electra(预计在 2024 年第四季度 /2025 年初)。EIP-3074 允许外部拥有的帐户(EOA)将其交易能力委託给智慧合约,增强了交易赞助和批量处理等功能。

虽然 EIP-3074 作为一种短期修复措施,旨在改善 EOA 的使用者体验,但大多数以太坊社群仍然一致认为,最终目标是将所有使用者迁移到智慧帐户。EIP-3074 对智慧帐户带来了一些改进,并成为实现完全 AA(帐户抽象,也称为智能合约帐户)的一个步骤,但它绝对还需要 EIP-5003 的全面支援。

什么是 EIP-3074?

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

  • 赞助交易:DApp 或其他参与方可以赞助交易的燃料费用。
  • 批量交易:这允许在同一笔交易中执行两个或多个合约呼叫。例如,使用者可以在单个交易中呼叫 approve 和 transferFrom。
  • 访问委託:使用者可以将对其 EOA 的控制委託给可能具有不同安全属性的其他金钥。例如,使用者可以向其帐户新增一个每日额度的手机热钱包金钥。

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

智能合约帐户(AA)的机会

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

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

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

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

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(以太坊中的一个函式)失败。迁移到智慧帐户应该是对新的身份验证逻辑的明确和完整的转移。

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 的兴趣和紧迫性仍然很小。

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 对 AA 路线图的影响,包括有 / 无 EIP-5003。

总结

围绕 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 的风险,或者至少会严重阻碍智慧帐户的採用。

以太坊 AA 路线图的十字路口。



标签 智慧合约   以太坊   EIP-5003   EIP-3074   EOA   Pectra 升级