EIP-3074 成为以太坊社群争论点,Vitalik 抛出新改进方案 EIP-7702

近期以太坊社群针对未来将纳入 Pectra 升级的帐户抽象提案 EIP-3074 有不少的争论,包含 Vitalik 等人在内的反对方认为其对于未来的相容性有疑虑,因此昨日 Vitalik 直接提出一个新的方案 — EIP-7702

背景知识:帐户抽象

帐户抽象:提升区块链使用者体验

帐户抽象 (Account Abstraction, AA) 是以太坊针对区块链互动过程中的使用者体验改进方向,帐户抽象是指将用户与区块链互动的方式优化,使操作变得更加容易与实用,期待可以借此迎来大规模采用。

到底帐户抽象如何提升使用者体验?举例来说:

  • 批量交易:允许同一使用者在一个原子交易中进行多个操作。举例来说在去中心化交易所上,用户可以同时完成批准与交易。
  • 赞助交易:第三方帐户可以代表交易帐户支付交易燃料费用,可以用于专案对于使用者的补贴。
  • 权限管理:使用者可以签署子金钥,并授予特定权限。例如用户可以使用给出某个 ERC-20 代币的使用权限但不包含 ETH 使用的权限,或是每日最高花费总额,或限定仅能与特定应用程式互动。

推荐阅读:意图导向设计 intent-centric|创投 NGC 汇整产业趋势
推荐原因:帐户抽象是意图导向设计的第一步,该文章从意图导向设计与帐户抽象的意涵与重要性出发,讲述现有技术的实作方向与区块链结合的具体作法,并且盘点产业主流专案的技术介绍与发展现状,建议对此领域不熟悉的读者阅读。

随著以太坊网路安全性与去中心化等重要议题逐渐获得解决,使用者体验的提案因此近期渐渐被搬上台面讨论。包含 EIP-2938、EIP-3074、EIP-4337 等提案都是重点提案。

ERC-4337 被视为终局但开发周期长

EIP-4337 引入 User Operations 的概念,让智能合约钱包 (smart contract wallet) 可以自定义交易功能,例如赞助交易或是批量交易。

User Operations 会进入替代内存池 (alt mempool),后者是 EIP-4337 创造的一个新的内存池,以原有的一般交易与内存池分开。

EIP-4337 运作架构 (资料来源)

不过要实做 ERC-4337 甚至到可以大规模采用的光景,还需要很多的努力,包含基础设施的设计、用户钱包的手动更新等等。

EIP-3074 的载浮载沉

EIP-3074 预期加入两个新的操作码 (opcode):AUTH 和 AUTHCALL,让 EOA 能透过这两个操作码授权合约 (invokers) 代替自身去呼叫外部其他合约与互动。也就是让现行的 EOA 拥有智能合约功能的意思。

推荐阅读:以太坊下次更新的 EIP-3074 是什么?如何做到帐户抽象?
推荐原因:该文章介绍 EIP-3074 基本的运作原理还有与 EIP-4337 的差异点,可以对于原理背后所带来的潜在风险有更多理解。

EIP-3074 虽然早在三年前被提出,但是后来出现 EIP-4337 这个「最终」的完美解决方案,让前者淡出社群视野。

近期因为使用者体验的重要性逐渐增加,且其他公链的竞争逐渐加快,但是若要实做出 EIP-4337 并且顺利在以太坊主网路上运作,仍需要许多的开发工作与资源。以太坊社群则认为应该可以先实做 EIP-3074。

(链抽象是什么?比起帐户抽象更全面提升使用者体验)

EIP-3074 可以使外部拥有帐户 (EOA) 能像智能合约钱包一样运作,过程无需部署额外的合约,用户也不需要手动升级,以太坊社群因此将之纳入下一次的硬分叉升级之中。

EIP-3074 争议不断

虽然目前已经被安排至 Pectra 升级,但其实 EIP-3074 的争议其实不小,甚至 Vitalik 也公开反对。

EIP-3074 争议点

Vitalik 指出 EIP-3074 存在未来更新相容性问题:

  • 引入的两个操作码 AUTH 和 AUTHCALL 在 Vitalik 认为终局的帐户抽象提案 EIP-4337 是没有且不需要的。
  • EIP-3074 呼叫者合约的生态系统的发展,可能会与智能合约钱包生态系统分开,导致技术分散。
  • 另外也有社群成员 Yoav Weiss 指出 EIP-3074 需要完全信任 invokers 合约,增加信任风险,也需要因此延后抗审查的 Inclusion Lists 机制。

Vitalik 认为 EIP-3074 可以视为是 EOA 的扩充而非必要,如果对于以太坊未来发展有负面影响那干脆不要。

支持 EIP-3074 的一方表示:「延后或删除 EIP-3074 的人,往往认为以太坊使用者体验虽然不理想但目前还不错。」如果没办法在下次 Pectra 更新中有意义的提升以太坊的使用者体验,可能会落后其他竞争者。

EIP-3074 最大的争议点其实就是「EIP-4337 是否为以太坊最适合的终局?」如果答案是肯定的,那么就该反对 EIP-3074;如果答案是否定的则该支持。

不过上述这样的论述过于狭隘,该问题无法解决社群的争议,Vitalik 深知此道理而不仅是打打嘴皮子还直接实做出新的方案,这才让 EIP-3074 的争议得以继续讨论下去。

Vitalik 提出 EIP-7702 欲取代 EIP-3074

EIP-7702 的设计会借由呼叫 EOA,取代掉 EIP-3074 所需要使用的两个操作码 AUTH 和 AUTHCALL:

  • AUTH 将会被替换为呼叫 verify,设定 authorized[msg.sender, …]
  • AUTHCALL 将被替换为呼叫 execute,验证 authorized[msg.sender, …] 并执行。

该提案内容表示此两个小小的改动,将可以避免 EIP-3074 为协议后续更新带来潜在的负面影响。

EIP-7702 的目的是实现 EIP-3074 的所有用例,而却没有这两个可能带来问题的 opcode。

以太坊未来发展可能纳入 EIP-7702?

现在出现除了单纯支持与反对 EIP-3074 的第三种方案 — EIP-7702,若其确实可以同时解决「以太坊需要快速有效的使用者体验解决方案」与「不影响未来 EIP-4337 与其他协议发展的进程」,或许将会变成社群有共识的方向。

目前该提案仍在讨论中,或许可以期待下一次的以太坊 ACDE 会议掌握最新进展。

不过无论如何,以太坊社群确实仍在尝试以最好的方式进步,这点无庸置疑。

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论