Quick Reading EIP-3074: What is it? What impact will it have on Ethereum?

BeginnerApr 25, 2024
EIP-3074 is an Ethereum Improvement Proposal (EIP) that introduces a novel approach to account management. It enables the delegation of control over regular user accounts (EOA) to smart contracts, facilitating more sophisticated transaction strategies. Proposed in 2020 by Ethereum core developers, EIP-3074 introduces two new opcodes, "AUTH" and "AUTHCALL," empowering EOAs to transform into smart contracts without the need to deploy new contracts. The implementation of EIP-3074 aims to enhance the overall user experience for wallet users by enabling gas sponsorship, batch transactions, and wallet asset recovery. While EIP-3074 presents promising advancements, it also raises some concerns such as increasing the risk of user asset theft, and possibly forming a parallel technology stack with the Account Abstraction (AA) proposal EIP-4337, which requires ensuring interoperability between the two.
Quick Reading EIP-3074: What is it? What impact will it have on Ethereum?

Forward the Original Title‘速读 EIP-3074:是什么?对以太坊有何影响?’

In the latest conference call conducted by Ethereum core developers, EIP-3074 proposal developers were included in the improvements that will be implemented in the Ethereum hard fork Pectra upgrade. The proposal supports delegating control of ordinary addresses to smart contracts to execute more complex transaction plans, thereby significantly enhancing the wallet user experience. So, what exactly is EIP-3074, and what does it mean for Ethereum?

What is EIP-3074?

In fact, as early as October 2020, EIP-3074 was proposed by Ethereum core developers and researchers Sam Wilson, Ansgar Dietrichs, lightclients, and Micah Zoltu. The core idea is to delegate the control of External Owned Accounts (EOAs) to smart contracts. This innovation provides developers with a powerful and flexible framework for designing and implementing novel EOA transaction strategies.

So, how exactly can existing EOAs be turned into smart contracts? According to the demonstration video released by lightclients two years ago, the key to achieving this transformation lies in the two instructions “AUTH” and “AUTHCALL”. Among them, the former sets the context variable “authorized” based on the ECDSA signature, and the latter is initiated as the “authorized” account transfer. At the same time, more logic can be implemented around the “AUTHCALL” instruction, providing more control for callers and sponsors, without compromising the security or user experience of the initiated.

In actual operation, the EOA address user first signs the transaction off-chain, and then the EOA user or Gas sponsor sends the transaction to the Invoker contract. The Invoker contract uses “AUTH” and “AUTHCALL” to verify and call each target contract.

Patrick McCorry, a team member of Arbitrum and Lemniscap, stated that EIP-3074 solves the “msg.sender” problem that plagues almost all transaction relay services, truly improving the user experience. Essentially, if a relay pays for a user’s transaction, the relay’s address is set as msg.sender instead of the user’s address. Among the methods to solve the above problem, one is for users to rely on smart contract wallets, and another is for smart contracts to have “meta-transaction capabilities” and can accept messages signed by users, but this kills startups that want to provide Gas-free transactions for users. Yet another alternative solution to the above problem is to change the transaction format, rename tx.origin to Gas.payer, and include two new fields “gas payer” and “nonce” in the transaction. When the transaction executes, it will increase the nonce of the user and the Gas payer, and deduct the fee from the Gas payer. This allows the relayer to forward the user’s transaction, but it still has limitations, mainly the ability to refund ERC-20 tokens after the transaction is complete. EIP-3074 is a clever solution because it allows ERC-20 tokens to be refunded to the relayer, allows the relayer to carry messages signed by users and be confirmed on Ethereum, without changing the transaction format and breaking existing tools.

What does EIP-3074 mean for Ethereum?

EIP-3074 allows any External Owned Account (EOA) to act as a smart contract wallet, without the need for contract deployment, thereby enabling more complex transaction schemes. This brings many exciting use cases to Ethereum, including Gas sponsorship, batch transactions, and wallet asset recovery.

Specifically, Gas sponsorship allows DApps, projects, and third parties to provide Gas for users, eliminating the need for users to hold ETH themselves. This is extremely user-friendly for new Web3 users who do not hold ETH, and aids in promoting mass adoption of Ethereum.

Also, since it supports executing multiple operations in a single transaction, users only need to sign one transaction when trading non-ETH tokens. There is no need to first go through a cumbersome token approval process and then sign the transaction, thereby improving transaction efficiency and reducing costs.

In terms of wallet asset recovery, EIP-3074 can also play a vital role. By setting up a special Invoker contract, users can recover assets via a social recovery mechanism when they lose their private keys.

However, EIP-3074 is somewhat controversial. As DefiLlama founder 0xngmi said, now a single erroneous signature can completely drain an address’s assets, including all tokens, all NFTs, all DeFi positions, etc.

Furthermore, it’s worth noting that although EIP-3074 supports delegating control of regular addresses to smart contracts, EIP-3074 is not an account abstraction proposal. Ethereum Foundation researcher ansgar.eth said his biggest concern is that we will now use 3074/EOA and 4337/AA to build two parallel account technology stacks, and a lot of effort and attention will be needed to make these interoperable. Uniswap founder Hayden Adams also emphasized that the industry should strive to ensure compatibility between 4337 wallets and 3074 contracts.

In conclusion, EIP-3074 is expected to bring unprecedented innovation and opportunities to Ethereum, but at the same time, it comes with some challenges and controversies. As it is about to be implemented in the Pectra upgrade, we look forward to seeing how it will shape the future of Ethereum, and bring a more rich and convenient user experience to the Web3 ecosystem. At the same time, we also need to recognize its potential risks and challenges, and ensure appropriate security measures are taken when using this feature.

Disclaimer:

  1. This article is reprinted from [Marsbit]. Forward the Original Title‘速读 EIP-3074:是什么?对以太坊有何影响?’. All copyrights belong to the original author [Karen]. If there are objections to this reprint, please contact the Gate Learn team, and they will handle it promptly.
  2. Liability Disclaimer: The views and opinions expressed in this article are solely those of the author and do not constitute any investment advice.
  3. Translations of the article into other languages are done by the Gate Learn team. Unless mentioned, copying, distributing, or plagiarizing the translated articles is prohibited.
Start Now
Sign up and get a
$100
Voucher!
Create Account