What is EIP-3074, the next update for Ethereum? How does it achieve account abstraction?
Ethereum recently mentioned EIP-3074 frequently at the ACDE conference. Why will Ethereum’s next upgrade, Pectra, include the previously abandoned EIP-3074? What is the difference between EIP-3074 and the existing account abstraction scheme, ERC-4337? ChainFeeds Research provides a technical summary and introduction to this technology.
Table of Contents:
Toggle
EIP-3074 Returns: Account Abstraction Technology Becomes the Focus of Ethereum’s Next Upgrade
EIP-3074 is an upgrade to the Ethereum Virtual Machine: It introduces new opcodes to implement Externally Owned Account (EOA) proxies.
What is the difference between EIP-3074 and ERC-4337?
Why is EIP-3074 needed when ERC-4337 already exists?
What changes can be expected after the implementation of EIP-3074?
Are there any potential risks with EIP-3074?
Ethereum begins to enhance user experience.
In Ethereum’s 183rd ACDE conference, EIP-3074, which has been dormant for three years, gained widespread recognition from the Ethereum community and was officially included in the scope of the next Ethereum hard fork, Pectra. This is expected to drive the development of Account Abstraction (AA) technology.
Recommended reading:
Intent-Centric Design in Venture Capital NGC’s aggregation of industry trends
Reason for recommendation: Account abstraction is the first step in intent-centric design. This article explains the implications and importance of intent-centric design and account abstraction, and discusses the implementation direction of existing technologies combined with blockchain. It also provides an overview of the technical introduction and development status of mainstream projects in the industry, and is recommended for readers who are unfamiliar with this field.
Advertisement – Please scroll down for the remaining content.
EIP-3074 was proposed by Ethereum researchers Sam Wilson and Go Ethereum developer Matt Garnett, among others. Its core mechanism allows Externally Owned Accounts (EOA) to function like smart contract wallets without the need to deploy additional contracts or require manual user upgrades.
EOA is a type of Ethereum account directly controlled by users, such as wallet accounts created by MetaMask. Compared to smart contract accounts, EOA supports fewer functions, but generally, the latter requires EOA to trigger.
EIP-3074 introduces two new Ethereum Virtual Machine (EVM) opcodes: AUTH and AUTHCALL, which enable EOAs to connect with a smart contract and delegate transaction control to the smart contract:
AUTH:
An opcode used to verify Elliptic Curve Digital Signature Algorithm (ECDSA) signatures. It sets a variable called “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. This allows a smart contract to execute operations 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 difference is that AUTHCALL uses the authorized address set by the previous AUTH instruction as the caller address. This means AUTHCALL uses the authorized EOA as the sender, rather than the authorized contract itself.
The overall process is as follows: The user signs an authorization message with an EOA, which is received and verified by the contract. The contract then uses the AUTH and AUTHCALL instructions to send the transaction on behalf of the EOA, replacing the user’s direct use of the private key. The result is returned to the user. Through EIP-3074, users can authorize the delegation of account operations to third parties (Invokers).
EIP-3074: Allowing EOAs to delegate control to smart contracts.
ERC-4337 is a protocol-level modification that does not require changes to the consensus layer. ERC-4337 introduces User Operations and alternative memory pools (alt mempool) to enable encoding custom functionalities into smart contract wallets. Its main goal is to achieve account abstraction and allow smart contract accounts to have the capability of initiating transactions like EOAs.
On the other hand, EIP-3074, due to the introduction of new opcodes, requires implementation through an Ethereum hard fork. Its main goal is to give EOAs similar smart contract functionalities and delegate control of EOAs to smart contracts, allowing smart contracts to transact on behalf of users.
Although ERC-4337 has seen many projects involved, supporting ERC-4337 for every chain in the multi-chain era requires a significant amount of development work. Proposals like EIP-7377, which suggests migration transactions (allowing EOA users to migrate their accounts to smart contracts), require users to manually send a transaction for migration, which is not conducive to large-scale adoption and promotion.
In comparison, EIP-3074 allows EOAs to natively have smart contract functionalities and can be used directly on all chains without the need for manual user upgrades. It is expected to drive the development of account abstraction applications.
The advantage of EIP-3074 is its simplicity. It only requires modifications to the Ethereum Virtual Machine opcodes, which can accelerate the development of Ethereum’s account abstraction.
Previously, the Ethereum community had concerns about the technical security issues of EIP-3074. After improvements and testing, the community now widely supports including EIP-3074 in the next Ethereum upgrade, which will have an impact on multiple areas within the Ethereum ecosystem.
When EIP-3074 successfully upgrades Ethereum, it is expected to enable users to use batch transactions and sponsored transactions on the network:
In the DeFi field, the batch transaction feature of EIP-3074 will improve the efficiency of liquidity providers and traders and reduce participation costs.
In the gaming field, users can delegate account operation permissions to third parties through authorization, avoiding the need for users to confirm and pay gas fees for every transaction on the chain. Game developers or other third parties can replace users in executing transactions, with users only needing to authorize once, thus improving game smoothness.
Although EIP-3074 has developer support, introducing this mechanism still has established risks:
In Ethereum transactions, node validators need to know the transaction details precisely in order to process transactions correctly and ensure network security and stability. However, in EIP-3074, allowing smart contracts to execute transactions on behalf of EOAs, interactions with other contracts or accounts may change the account state before and after transaction execution, making it difficult for node validators to accurately predict the impact of transactions, resulting in security risks of network inconsistency.
Furthermore, although users can authorize third-party account operations through signatures, this also means that third parties can manipulate user accounts to some extent, which may lead to potential security issues. If third-party permissions are abused or compromised by hackers, users’ funds and personal information may be at risk.
Account abstraction technology and intent-centric design have been discussed in the community for many years. However, Ethereum’s past updates have mainly focused on network security and efficiency, with updates related to user experience often being prioritized lower.
Recommended reading:
Ethereum Releases 2024 Roadmap, Continues to Advance as a Global Settlement Layer
Reason for recommendation: This article comprehensively explains Ethereum’s development roadmap and direction in recent years, allowing readers to understand where account abstraction and user experience-related work fall within the Ethereum Foundation’s development blueprint.
However, through these recent ACDE conferences, it can be seen that many developers are starting to prioritize the importance of EIP-3074, which may indicate that Ethereum is finally starting to address user experience issues. EIP-3074 is just the first step.
AA
EIP-3074
ERC-4337
Account Abstraction
Intent-Centric Transactions
Intent-Centric Design
Further reading:
UniswapX Officially Launches on the Frontend Interface, Significantly Reducing Transaction Gas Fees
Blockchain is a Social System! Vitalik Discusses Whether Ethereum Should be a Universal L1 or Build Multi-Functional L2