Ethereum’s recent ACDE conference has frequently mentioned EIP-3074. Why will Ethereum’s next Pectra upgrade reintegrate the previously abandoned EIP-3074? How does it differ from the existing account abstraction scheme ERC-4337? This article provides an overview and explanation of this technology by ChainFeeds Research.
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 adds opcode to implement EOA account proxies
What is the difference between EIP-3074 and ERC-4337?
Why is EIP-3074 needed despite the existence of ERC-4337?
What changes can be expected from the implementation of EIP-3074?
Are there any potential risks with EIP-3074?
Ethereum begins to improve user experience
In Ethereum’s 183rd ACDE conference, EIP-3074, which has been dormant for three years, has gained wide recognition from the Ethereum community and has been officially included in the scope of the next Ethereum hard fork upgrade, Pectra. This is expected to drive the development of Account Abstraction (AA) technology.
Recommended reading: Intent-Centric Design for Venture Capital NGC Summarizes Industry Trends
Reason for recommendation: Account abstraction is the first step in intent-centric design. This article explains the meaning 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 introductions and development status of mainstream projects in the industry, recommended for readers unfamiliar with this field.
EIP-3074 was proposed by Ethereum researchers Sam Wilson and Go Ethereum developer Matt Garnett. Its core mechanism allows externally owned accounts (EOA) to function like smart contract wallets without the need for additional contract deployment or manual upgrades by users.
EOA is a type of Ethereum account directly controlled by users, such as wallet accounts created by MetaMask. Although EOA supports fewer features than smart contract accounts, the latter generally requires EOA to trigger.
EIP-3074 introduces two new Ethereum virtual machine opcodes: AUTH and AUTHCALL, allowing EOAs to connect to smart contracts and delegate transaction control to smart contracts:
AUTH: An opcode used to verify the elliptic curve digital signature algorithm (ECDSA) signature. It sets a variable called “authorized” based on the signature result. If the signature is valid and the signer’s address matches the 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, it 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’s address. This means that AUTHCALL uses the authorized EOA as the sender, rather than the authorized contract itself.
The overall process is as follows: a user signs an authorization message with an EOA, the contract receives and verifies it, the contract uses AUTH and AUTHCALL instructions to send the transaction on behalf of the EOA, replacing the user’s direct use of the private key, and then returns the result to the user. Through EIP-3074, users can authorize the delegation of account operation permissions 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) design, allowing custom functionality to be encoded into smart contract wallets. Its main goal is to achieve account abstraction, enabling smart contract accounts to have the ability to initiate transactions similar to EOAs.
On the other hand, EIP-3074, due to the introduction of new opcodes, needs to be implemented through a hard fork in the Ethereum Virtual Machine (EVM). Its main goal is to give EOAs similar functionality to smart contract wallets, allowing the delegation of control over EOAs to smart contracts, enabling smart contracts to perform transactions on behalf of users.
Although ERC-4337 has attracted many projects, supporting ERC-4337 on each chain in the multi-chain era requires a significant amount of development work. Migration transactions proposed by EIP-7377, which allow 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 the functionality of smart contracts and can be used directly on all chains without requiring users to manually upgrade. It is expected that EIP-3074 will drive the development of account abstraction applications.
The advantage of EIP-3074 is its simplicity, as it only requires modifications to the Ethereum virtual machine opcodes, enabling faster advancement of Ethereum’s account abstraction development.
Previously, the Ethereum community had concerns about the technical security issues of EIP-3074. After improvements and testing, the community now widely supports the inclusion of EIP-3074 in the next Ethereum upgrade, which will have an impact on various areas of the Ethereum ecosystem.
When EIP-3074 is successfully upgraded on Ethereum, users are expected to be able 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 blockchain 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 each transaction on the chain. Game developers or other third parties can replace users in executing transactions, with users only needing to authorize once, improving the smoothness of the game.
Although EIP-3074 has developer support, introducing this mechanism still carries inherent risks:
In Ethereum transactions, node validators need to know the transaction details accurately in order to process transactions correctly and ensure network security and stability. However, in EIP-3074, smart contracts are allowed to execute transactions on behalf of EOAs, and interacting with other contracts or accounts during sponsored transactions may change the account state before and after transaction execution, making it difficult for node validators to accurately predict the impact of the transaction, resulting in security risks of network inconsistency.
In addition, although users can authorize third parties to operate their accounts through signatures, this also means that third parties can manipulate users’ accounts to some extent, leading to potential security issues. If the permissions of third parties 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 previous updates have primarily focused on network security and efficiency, with updates related to user experience often being deprioritized.
Recommended reading: Ethereum Releases 2024 Roadmap, Continues to Advance as a World Settlement Layer
Reason for recommendation: This article provides a comprehensive explanation of Ethereum’s recent development roadmap and direction, allowing readers to understand where account abstraction and user experience-related work fit into the Ethereum Foundation’s development blueprint.
However, through the 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 beginning 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, Significantly Reducing Transaction Gas Fees
Blockchain is a Social System! Vitalik Discusses whether Ethereum Should be a Universal L1 or Build a Multi-Purpose L2