Vitalik抛出新改进方案EIP-7702、帐户抽象EIP-3074成为以太坊社群争论点!

来源:211COIN

2024-05-09 08:59:27

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

Vitalik抛出新改进方案EIP-7702、帐户抽象EIP-3074成为以太坊社群争论点!

背景知识:帐户抽象

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

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

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

批量交易:允许同一使用者在一个原子交易中进行多个操作。举例来说在去中心化交易所上,用户可以同时完成批准与交易。

赞助交易:第三方帐户可以代表交易帐户支付交易燃料费用,可以用于专案对于使用者的补贴。

权限管理:使用者可以签署子金钥,并授予特定权限。例如用户可以使用给出某个ERC-20代币的使用权限但不包含ETH使用的权限,或是每日最高花费总额,或限定仅能与特定应用程式互动。

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

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

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

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

Vitalik抛出新改进方案EIP-7702、帐户抽象EIP-3074成为以太坊社群争论点!

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

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

EIP-3074的载浮载沉

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

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会议掌握最新进展。

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

211COIN发布此信息目的在于传播更多信息,与本网站立场无关,文章内容仅供参考,不代表任何确定性判断,且不构成投资建议,请谨慎对待,风险自担。
微信:yelbtc 请注明来意 | 邮箱:[email protected]

Copyright © 2018-2022 211COIN版权所有.

京ICP备17000885号-3