Account abstraction EIP-3074 sparks debate in the Ethereum community, Vitalik proposes new improvement proposal EIP-7702

share
Account abstraction EIP-3074 sparks debate in the Ethereum community, Vitalik proposes new improvement proposal EIP-7702

Recently, there has been a lot of debate within the Ethereum community regarding the Account Abstraction proposal EIP-3074, which is set to be included in the upcoming Pectra upgrade. Opponents including Vitalik have expressed concerns about its compatibility with the future. As a result, Vitalik proposed a new solution yesterday — EIP-7702.

Background: Account Abstraction

Account Abstraction: Enhancing User Experience on the Blockchain

Account Abstraction (AA) in Ethereum focuses on improving user experience during blockchain interactions. Account Abstraction optimizes the way users interact with the blockchain, making operations easier and more practical, with the aim of promoting mass adoption.

How does Account Abstraction enhance user experience? For example:

  • Batch Transactions: Allows a single user to perform multiple operations in one atomic transaction. For instance, on a decentralized exchange, users can simultaneously approve and trade.
  • Sponsorship Transactions: Third-party accounts can pay transaction fees on behalf of the transacting account, which can be used for user subsidies in projects.
  • Permission Management: Users can sign subkeys and grant specific permissions. For example, users can grant permission to use a specific ERC-20 token but not ETH, set a daily spending limit, or restrict interactions to specific applications.

As Ethereum addresses critical issues such as network security and decentralization, proposals to enhance user experience have gained prominence. Key proposals include EIP-2938, EIP-3074, and EIP-4337.

ERC-4337 Considered Final but Requires Lengthy Development

EIP-4337 introduces the concept of User Operations, allowing smart contract wallets to customize transaction functions, such as sponsorship transactions or batch transactions.

User Operations will enter an alternative memory pool, alt mempool, created by EIP-4337, separating it from the regular transaction memory pool.

Operation Structure of EIP-4337 Source

However, implementing ERC-4337 to the extent of widespread adoption requires considerable effort, including infrastructure design and manual updates to user wallets.

EIP-3074: A Controversial Proposal

EIP-3074 aims to introduce two new opcodes, AUTH and AUTHCALL, enabling externally owned accounts (EOAs) to authorize contract invokers to call external contracts on their behalf, effectively granting EOAs smart contract capabilities.

Recommended Read: What is Ethereum's upcoming EIP-3074? How does it achieve Account Abstraction?
Reason for recommendation: This article explains the basic operation principles of EIP-3074 and highlights the differences from EIP-4337, providing a deeper understanding of the potential risks behind the principles.

Although EIP-3074 was proposed three years ago, the emergence of EIP-4337 as a seemingly "final" perfect solution has overshadowed it within the community.

With the increasing importance of user experience and the accelerating competition from other public chains, implementing EIP-4337 and successfully operating it on the Ethereum mainnet still requires significant development work and resources. The Ethereum community believes that implementing EIP-3074 first may be more feasible.

What is Chain Abstraction? Enhancing user experience more comprehensively than Account Abstraction.

EIP-3074 allows externally owned accounts (EOAs) to operate like smart contract wallets without deploying additional contracts or requiring manual upgrades, leading the Ethereum community to include it in the next hard fork upgrade.

Controversies Surrounding EIP-3074

Although EIP-3074 has been slated for the Pectra upgrade, it has faced significant controversies, including public opposition from Vitalik.

Key Controversies of EIP-3074

Vitalik points out future compatibility issues with EIP-3074:

  • The introduction of the AUTH and AUTHCALL opcodes, which Vitalik believes are unnecessary in the context of the final Account Abstraction proposal, EIP-4337.
  • The development of the ecosystem for invokers in EIP-3074's caller contracts may diverge from the ecosystem of smart contract wallets, leading to technical fragmentation.
  • Community member Yoav Weiss also notes that EIP-3074 requires complete trust in invokers' contracts, increasing trust risks and necessitating the delayed implementation of an Inclusion Lists mechanism for censorship resistance.

Vitalik views EIP-3074 as an extension of EOAs rather than a necessity, suggesting that if it could have negative implications for Ethereum's future development, it may be better left unimplemented.

Supporters of EIP-3074 argue: "Those advocating for the delay or removal of EIP-3074 often believe that Ethereum's user experience, while not ideal, is currently acceptable." Failure to significantly enhance Ethereum's user experience in the upcoming Pectra update could lead to falling behind competitors.

The main controversy surrounding EIP-3074 lies in the question of whether EIP-4337 is Ethereum's most suitable final solution. If the answer is affirmative, then EIP-3074 should be opposed; if negative, then it should be supported.

However, such arguments are narrow in scope and do not resolve community disputes. Vitalik understands this and has not only engaged in verbal debates but also proposed new solutions, enabling the ongoing discussion of EIP-3074's controversies.

Vitalik Proposes EIP-7702 as an Alternative to EIP-3074

EIP-7702's design aims to replace the two opcodes, AUTH and AUTHCALL, required by EIP-3074 by calling EOAs:

  • AUTH will be replaced by a call to verify, setting authorized[msg.sender, …]
  • AUTHCALL will be replaced by a call to execute, verifying authorized[msg.sender, …] and executing.

The proposal suggests that these minor changes in EIP-7702 can prevent potential negative impacts on protocol updates post EIP-3074 implementation.

EIP-7702 aims to achieve all the use cases of EIP-3074 without the two opcodes that could pose issues.

Could Ethereum's Future Development Include EIP-7702?

Now, in addition to simply supporting or opposing EIP-3074, a third option has emerged - EIP-7702. If it can indeed simultaneously address the need for a rapid and effective user experience solution for Ethereum without affecting the progress of future protocols like EIP-4337, it may become a consensus direction for the community.

The proposal is still under discussion, with the latest developments possibly emerging at the next Ethereum ACDE conference.

Regardless, the Ethereum community is undeniably striving to progress in the best possible manner.