EIP-3074 has been approved for inclusion in the Prague/Electra Ethereum hard fork, scheduled for Q4 2024. The proposal aims to streamline transaction processes and decrease expenses by introducing third-party transaction sponsorship. EIP-3074 represents an advancement in Ethereum’s account model, paving the way for future developments.

So, what exactly is EIP-3074, what implications does it hold for Ethereum, and how is it different from EIP-4337?

What Is EIP-3074?

EIP-3074 is an Ethereum Improvement Proposal (EIP) that revolutionizes account management within the Ethereum network. It allows externally owned accounts (EOAs) to delegate control to smart contracts, enabling more advanced transaction strategies.

EIP-3074 was introduced in 2020 by Ethereum core developers and researchers Sam Wilson, Ansgar Dietrichs, light clients, and Micah Zoltu.

It introduces two new operations, “AUTH” and “AUTHCALL,” to empower EOAs to transition seamlessly into smart contracts without requiring the deployment of new contracts. 

The primary goal of implementing EIP-3074 is to enhance the wallet user experience by enabling gas sponsorship, facilitating batch transactions, and enabling wallet asset recovery processes.

See the illustration below to understand the flow of transactions.

EIP-3074 Proposal
Illustration by @0xCygaar

How Does EIP-3074 Aim to Improve Ethereum?

EIP-3074 proposes delegating control of EOAs to smart contracts which offers developers a flexible framework for innovative EOA transaction strategies. This transformation is facilitated by two instructions: “AUTH” and “AUTHCALL.” 

The AUTH establishes the “authorized” context variable based on ECDSA signatures. On the other hand, AUTHCALL initiates authorized account transfers, allowing for additional logic to be implemented around “AUTHCALL” without compromising security or user experience. 

The AUTHCALL opcode functions similarly to the existing CALL opcode within Ethereum. It establishes the authorized address as the message sender in the subsequent call, effectively permitting the invoker contract to act on behalf of an EOA when interacting with other contracts.

In practice, the process involves the EOA address user signing the transaction off-chain, then either the EOA user or a gas sponsor sending the transaction to the invoker contract, which verifies and calls each target contract using “AUTH” and “AUTHCALL.”

That way, EIP-3074 enables any EOA to function as a smart contract wallet without contract deployment, facilitating more complex transaction schemes. This introduces various exciting use cases to Ethereum, such as gas sponsorship, batch transactions, and wallet asset recovery.

Gas sponsorship allows dapps, projects, and third parties to cover gas costs for users, removing the need for users to hold ETH themselves, which is particularly user-friendly for new Web3 users.

In addition, EIP-3074 supports executing multiple operations in a single transaction, streamlining non-ETH token trading by eliminating the token approval process. Hence, this enhances transaction efficiency and reduces costs.

For wallet asset recovery, EIP-3074 allows users to recover assets via a special invoker contract when they lose their private keys through a social recovery mechanism.

EIP-3074 vs. EIP-4337: What’s the Difference? 

EIP-3074 and EIP-4337 tackle unique aspects of account abstraction on Ethereum. They are similar in that they both address execution abstraction, enabling functionalities such as batching multiple calls to multiple destinations, ensuring atomicity, and enhancing dapp-specific user experiences.

However, they are quite different in how they work.

EIP-3074, primarily focused on enhancing the capabilities of EOAs, introduces a novel approach by supercharging EOAs with arbitrary execution logic through invokers. It extends the functionalities of EOAs without necessitating asset migration to new accounts. 

However, EIP-3074 only addresses execution abstraction and doesn’t deal with decentralized access. It prioritizes simplicity and aims to streamline transaction processes for existing EOAs.

EIP-4337 takes a broader approach, aiming to abstract the entire account, involving all five functionalities. It looks to preserve Ethereum’s core properties of decentralization and censorship resistance while mitigating potential vulnerabilities, such as DoS and griefing attack vectors. 

Unlike EIP-3074, EIP-4337 necessitates migration to a smart account as it cannot extend the capabilities of EOAs. It aspires to achieve full account abstraction without compromising the fundamental tenets of the Ethereum network.

Reasons For and Against EIP-3074

Let’s take a look at the benefits that will come with the new EIP-3074 token standard proposals.

Reasons For EIP-3074

  • New Opcodes: EIP-3074 introduces new Ethereum opcodes, enabling EOA users to authorize smart contracts to execute actions on their behalf within a single transaction. This improves security and control, as users don’t need to permanently transfer their private keys.
  • User-Friendly Utilities: The new opcodes enable various user-friendly utilities, including transaction batching, sponsored transactions, conditional transactions, meta-transactions, and delegated security. These utilities streamline transaction processes, improve efficiency, and expand possibilities for decentralized applications (dapps) and users.
  • Easier Migration: EIP-3074 allows easier migration to smart accounts by empowering EOAs. Previously, the effort and gas cost of migrating existing assets posed a challenge for users switching to smart accounts. With EIP-3074, migration is smoother and in a single batched and gas-sponsored transaction.
  • Unified User Experience (UX) and Developer Experience (DevEx): dApps can enhance user experiences without excluding EOAs, thereby increasing incentives to leverage sponsored transactions and transaction batching. This introduces standardization around these features and allows for the integration of smart account functionalities into development frameworks.
  • Hybrid Accounts: EOAs can designate smart accounts as invokers, enabling hybrid custody use cases and facilitating testing of smart accounts before asset migration. This flexibility gives users more control over their assets and opens up new possibilities for custody solutions.

Reasons Against EIP-3074

While EIP-3074 provides many advantages, it also has some potential downsides.

  • Security Concerns: The security of invokers is a significant concern associated with EIP-3074. Poorly implemented invokers could pose a threat to user funds. To address this risk, rigorous audits of invokers and safeguards in EOA wallets need to be implemented.
  • Requirement for Hard Fork: The adoption of EIP-3074 necessitates a hard fork due to new opcodes. This requires agreement and integration, which can be a lengthy process and has brought some resistance to the EIP-3074 proposal.

The Bottom Line

The decision to implement EIP-3074 came from the community’s recognition that the journey of achieving full account abstraction (AA) through proposals like EIP-4337 and RIP-7560 may require more time than initially anticipated.

At this time, focusing on enhancing EOAs offers immediate benefits. By fixing EOAs, EIP-3074 enables greater on-chain flexibility and execution abstraction within the existing Ethereum ecosystem.

The seamless integration of EIP-3074 into the Ethereum ecosystem and its reception by wallets and decentralized applications (dApps) will be crucial to its success. Moreover, ongoing efforts to address security concerns and ensure safe, user-friendly operations will be important for the widespread adoption and sustained effectiveness of EIP-3074.