What is Ethereum's upcoming EIP-3074 update? How does it achieve account abstraction?

share
What is Ethereum

Ethereum's recent ACDE conference has been frequently mentioning EIP-3074. Why is Ethereum's next Pectra upgrade going to reintegrate the previously abandoned EIP-3074? What are the differences between it and the existing account abstraction proposal ERC-4337? ChainFeeds Research has compiled and explained this technology in this article.

EIP-3074 Revival: Account Abstraction Technology Becomes Focus of Ethereum's Next Upgrade

During the 183rd ACDE meeting of Ethereum, the long-dormant EIP-3074 has regained widespread approval from the Ethereum community and has officially been included in the scope of the next Ethereum hard fork upgrade, Pectra, with the expectation of driving the development of Account Abstraction, AA technology.

EIP-3074 Ethereum Virtual Machine Upgrade: Introducing Opcodes to Implement EOA Account Delegation

EIP-3074 was proposed by Ethereum researcher Sam Wilson and Go Ethereum developer Matt Garnett, among others. Its core mechanism allows externally owned accounts (EOAs) to function like smart contract wallets without the need for deploying additional contracts or manual upgrades by users.

EOA is a type of Ethereum account controlled directly by the user, such as wallet accounts created by MetaMask. While EOA accounts support fewer functions compared to smart contract accounts, generally the latter requires an EOA to trigger.

EIP-3074 introduces two new Ethereum Virtual Machine opcodes: AUTH and AUTHCALL, enabling EOAs to connect to a smart contract and delegate transaction control to the smart contract:

  • AUTH: An opcode used for verifying Elliptic Curve Digital Signature Algorithm (ECDSA) signatures, setting a variable authorized based on the signature result. If the signature is valid and the signer's address matches the given authorized address, authorized is set to the authorized address. AUTH allows a smart contract to act on behalf of an EOA, enabling delegated authorization control.
  • AUTHCALL: Similar to the existing CALL instruction, AUTHCALL is used to execute an external call. The key difference is that AUTHCALL uses the authorized EOA address set through the previous AUTH instruction as the caller's address, representing AUTHCALL using the authorized EOA as the sender, rather than the authorized contract itself.

The overall process involves a user signing an authorization message with an EOA, which is received and verified by the contract. The contract then uses AUTH and AUTHCALL instructions to send a transaction on behalf of the EOA, replacing the user's direct execution of the transaction without using the user's private key, and returns the result to the user. Through EIP-3074, users can authorize third-party Invokers to operate account permissions.

EIP-3074: Allowing EOAs to delegate control to smart contracts.

Differences Between EIP-3074 and ERC-4337

ERC-4337 involves changes at the protocol level without requiring modifications to the consensus layer. ERC-4337 introduces User Operations and an alternative design to the alt mempool, allowing custom functionalities to be encoded into smart contract wallets, primarily aiming to achieve account abstraction to enable smart contract accounts to actively initiate transactions like EOAs.

On the other hand, EIP-3074, with the addition of new opcodes, requires implementation through an Ethereum hard fork, aiming to provide EOAs with similar functionalities to smart contracts, delegating the control of EOAs to smart contracts to allow smart contracts to transact on behalf of users.

ERC-4337 enables smart contracts to have EOA-like functionalities through protocol design adjustments, while EIP-3074 modifies the EVM to grant EOAs the functionalities of smart contract wallets, while the accounts remain EOAs.

Why EIP-3074 is Needed Despite ERC-4337?

Although ERC-4337 has seen significant project involvement, supporting ERC-4337 on each chain in a multichain era requires substantial development work. Proposals like EIP-7377 for migration transactions, allowing EOA users to migrate their accounts to smart contracts, require users to manually send a transaction for migration, hindering widespread adoption and advancement.

Intent-driven design advantages and challenges, along with infrastructure, still have a long way to go.

In contrast, EIP-3074 enables EOAs to natively possess smart contract functionalities, usable across all chains without requiring manual upgrades by users. It is expected that EIP-3074 will drive the development of account abstraction applications.

The advantage of EIP-3074 lies in its simplicity, requiring only modifications to Ethereum's virtual machine opcodes to swiftly advance Ethereum's account abstraction development.

Prior concerns within the Ethereum community regarding the technical security issues of EIP-3074 have been addressed and tested, with the community now widely supporting the inclusion of EIP-3074 in the next Ethereum upgrade, which will have implications for various sectors within the Ethereum ecosystem.

Changes Ethereum Can Expect After Implementing EIP-3074

Upon the successful upgrade of Ethereum with EIP-3074, users can expect to utilize batch transactions and sponsored transactions on the network:

  • In the DeFi space, the batch transaction feature of EIP-3074 will enhance efficiency for liquidity providers and traders, reducing participation costs.
  • In the realm of all-chain gaming, users can authorize account operations to third parties, avoiding the need for users to confirm on-chain and pay gas fees for each transaction. Game developers or other third parties can replace users in executing transactions, requiring users to authorize once, thus enhancing the smoothness of gameplay.

Potential Risks of EIP-3074

While EIP-3074 has developer support, introducing this mechanism still carries established risks:

  • In Ethereum transactions, node validators need to know transaction details precisely to handle transactions correctly, ensuring network security and stability. However, EIP-3074 allows smart contracts to execute transactions on behalf of EOAs, potentially altering account states before and after transaction execution when dealing with sponsored transactions. This may make it challenging for node validators to accurately predict the impact of transactions, leading to security risks of network inconsistency.
  • Furthermore, while users can authorize third parties to operate accounts through signatures, this also means that third parties can manipulate user accounts to a certain extent, posing potential security issues. If third-party permissions are abused or subjected to hacking attacks, user funds and personal information could be at risk.

Ethereum Initiates Improvements in User Experience

Account abstraction technology and intent-driven design have been topics of community discussion for years. However, due to Ethereum's past updates primarily focusing on network security and efficiency, updates related to user experience have often taken a back seat.

Recommended Read: Ethereum Releases 2024 Roadmap, Continues Progress in the World Settlement Layer Direction
Reason for Recommendation: This article comprehensively explains Ethereum's recent development roadmap and direction, providing insights into where account abstraction and user experience-related work fit within the Ethereum Foundation's development blueprint, offering a systematic understanding of Ethereum's development.

Through recent ACDE meetings, many developers have begun prioritizing the importance of EIP-3074, indicating that Ethereum may finally be starting to address user experience issues, with EIP-3074 being just the first step.