EIP-3074 will grant smart contract functionality to regular EOA addresses, including batch transactions, wallet asset recovery, gas subsidies, and more, greatly improving user experience. This article is sourced from an article written by cygaar, an advisor to Mocaverse, and compiled, translated, and written by Odaily.
Table of Contents:
Transaction Process Diagram for EIP-3074
Three Major Reforms Brought by EIP-3074
What Risks Does EIP-3074 Pose?
On April 12th of this week, the Ethereum Core Developers Execution Meeting (ACDE) held its 185th meeting, continuing the discussion on the content planning of the two subsequent major version upgrades of Ethereum (Prague Upgrade, Osaka Upgrade).
The most important outcome of this meeting was that EIP-3074, which adds smart contract functionality to regular addresses, has been confirmed to be included in the Prague Upgrade. The following is an analysis of the utility and significance of EIP-3074.
In summary, the functionality of EIP-3074 can be described as granting smart contract functionality to regular EOA addresses (i.e., the wallet addresses we most commonly use), including batch transactions, wallet asset recovery, gas subsidies, authorization of individual transactions, and more, making the user experience on the wallet side more concise, cost-effective, and rich.
First, let’s talk about the problems that currently exist with regular wallets. @lightclients has done an excellent analysis of EIP-3074, and I will directly quote their PPT here. The following image shows some user experience problems faced by current regular wallets.
Transactions for authorizing tokens are done one by one.
All operations are often associated one-to-one with transactions.
There is no protection against lost private keys.
Transactions cannot be executed without ETH.
The above problems can be solved by smart contract wallets, but this would force users to migrate addresses, resulting in a poor user experience and consuming a significant amount of costs for chain migration. So this is not a good solution.
So how can we give existing regular addresses smart contract functionality? The answer is to achieve new functionality by adding two new opcodes (computer instructions): AUTH and AUTHCALL. These two opcodes will work together, allowing smart contracts to perform specific operations instead of regular addresses.
The following is a brief overview of the working mechanisms of the AUTH and AUTHCALL opcodes.
AUTH is responsible for accepting the user’s signature and the intended action and verifying if the signature is correct. It will also set a variable indicating the starting address of the transaction initiator.
AUTHCALL is responsible for calling the target contract and allowing the starting address of the transaction initiator to replace the caller address (i.e., the smart contract address actually calling the target contract) as the calling source.
Users sign an information (off-chain operation that does not consume gas).
The user or the gas subsidy provider (the address that helps the user pay for gas) can send this information as a transaction to a caller address.
The caller address uses AUTH and AUTHCALL to verify and set the starting address of the user initiating the transaction as the calling source, and then calls the target contract.
Through this completely new transaction process, we will enable some new functionalities.
For example, the first potential new functionality is the realization of “gas subsidies.” After EIP-3074, major applications can assist users in paying for gas if there is no ETH in the user’s wallet, eliminating the need for users to purchase or bridge ETH themselves. This functionality is crucial for Ethereum to achieve mass adoption on the consumer side.
The second potential new functionality is executing multiple operations in a single transaction. Currently, when a user trades a new token on Uniswap, they must first authorize Uniswap to use the token before they can actually execute the transaction.
This experience is also poor, but with EIP-3074, both operations can be completed in a single transaction.
The third potential new functionality is asset recovery. With EIP-3074, users can set a special caller contract, and if they lose their private keys, they can use verified social media information to recover assets. If the recovery conditions are met, users can submit a signature to the caller contract for asset transfer from the original address.
However, in addition to these significant advantages, the emergence of EIP-3074 also brings some new risks. The biggest risk comes from the caller contract—it must be thoroughly audited, non-upgradable, and trustless; otherwise, users’ funds can easily be stolen. In addition, some existing reentrancy checks may not be applicable to EIP-3074.
Since 3074 adds two new opcodes, a hard fork upgrade is required to add this update. This is one of the reasons why EIP-3074 has been delayed until now and why ERC-4337 (an asset standard for account abstraction) was adopted first.
ERC-4337 does not require a hard fork because it is purely a change at the smart contract and off-chain system level.
This is a summary of the contents of ACDE#185 compiled by Tim Beiko, and you can see from the image below that EIP-3074 is now officially included in the scope of the Pectra hard fork upgrade.
Thank you very much to @lightclients for their contributions to this work. They are also one of the original authors of EIP-3074, and for many years, @lightclients has been committed to promoting the implementation of this EIP.
If you want to further understand the content of EIP-3074, you can start with the following information.
Official proposal of EIP-3074:
https://eips.ethereum.org/EIPS/eip-3074
Video analysis by @lightclients:
https://www.youtube.com/watch?v=AffftIs6XFE
In summary, EIP-3074 is expected to significantly change the current on-chain interaction mode. The EVM environment will introduce two new opcodes that almost allow regular addresses to function as smart contracts. Looking ahead, how developers utilize this paradigm shift will be an exciting thing.
Related Reports
Vitalik Buterin: Ethereum Blobs Towards Mass Adoption, L2 Needs Improvement in Four Major Directions
How much does Vitalik Buterin love Taiwan? Visiting Taiwan twice this year, taking photos at Elephant Mountain and 101, praising the Taiwan developer community
Latest Interview with Vitalik Buterin: Advantages of AI+Cryptocurrency, Challenges for Ethereum, Advice for Taiwanese Developers, Favorite Farcaster?