Ali Bertay SOLAK|EN
3 min readMay 13, 2024

EIP-3074, which was proposed in 2021 and has since divided the community, recently came back into the spotlight. It is discussed that EIP-3074 will be included in the upcoming Ethereum Pectra, expected towards the end of 2024 or the beginning of 2025. Tim Beiko even stated in a tweet that EIP-3074 has been included in the Pectra update.

EIP-3074 was previously tested on the Ropsten network but could not be implemented on the mainnet. Currently, its inclusion in Pectra also seems unlikely. Although it has been suggested that EIP-3074 will be included in the Pectra update, Vitalik Buterin recently proposed EIP-7702 instead.

Intended to offer similar functionality to EIP-3074.

Let’s take a closer look at EIP-3074 and EIP-7702. We will examine what both proposals offer simply and without getting bogged down in technical details.

Motivation

At their core, both EIP-3074 and EIP-7702 aim to make Ethereum wallets more user-friendly and enhance the user experience in web3 applications. In short, they seek to bring the benefits of account abstraction to the Ethereum network.

The two EIPs achieve this through different methods, which we will now examine in detail.

EIP-3074: AUTH and AUTHCALL

EIP-3074 essentially proposes adding two new opcodes to the EVM: AUTH and AUTHCALL. These opcodes allow one externally owned account (EOA) to "authorize" another, or to perform transactions through an authorized wallet.

For example, if Alice uses the AUTH opcode to grant authority to Bob, Bob can then create transactions signed by Alice using the AUTHCALL opcode and broadcast these transactions to the network, executing them. In this scenario, Bob would be responsible for paying the transaction fees.

As you can see, a major issue with EIP-3074 is managing these authorizations, and it is also quite vulnerable to censorship.

Imagine a wallet provider that utilizes the EIP-3074 infrastructure. This provider obtains an auth from every wallet it creates and executes users' transactions using AUTHCALL.

In this scenario, the wallet provider can control which applications users interact with, reducing resistance to censorship.

EIP-7702: contract_code

Vitalik Buterin proposed EIP-7702 as an alternative that can offer the same benefits as EIP-3074 without adding new opcodes to the EVM. The fundamental reason for this proposal is the vision of ultimately transitioning all Externally Owned Accounts (EOAs) to use account abstraction. In this architectural framework, opcodes like AUTH and AUTHCALL might become obsolete with new updates and turn into rarely used opcodes within the EVM. Additionally, there's a concern about the ECDSA cryptographic method used by EOAs potentially being vulnerable to quantum attacks one day. Since EIP-3074 relies on EOA usage, a quantum-resistant method is desired. Thus, a different approach from EIP-3074 was considered necessary to achieve the ideal of account abstraction.

What is Vitalik's proposal? In essence, it allows EOA wallets to act like a smart contract for a single transaction and then revert to an EOA. This means users can manage their wallets as if they are using a smart contract, and the features promised by EIP-3074 can be achieved without adding new opcodes. Furthermore, wallet usage can become more dynamic compared to EIP-3074.

EIP-7702 suggests a new type of transaction that includes a `contract_code` field, which allows EOAs to act as smart contracts for the duration of a transaction. This `contract_code` field contains the smart contract code that will be executed or activated during the transaction. This enables users to use their wallets like smart contracts.

EIP-3074 and EIP-7702 are two significant proposals aimed at enhancing user experience and security on the Ethereum network, each offering different approaches to these goals. EIP-3074 introduces transaction authorization mechanisms through the AUTH and AUTHCALL opcodes, allowing users to delegate permissions to each other. However, it has also sparked debates due to security concerns and potential issues with censorship.

EIP-7702, proposed by Vitalik Buterin, offers a solution that allows EOA wallets to temporarily act like smart contracts during transactions without adding new opcodes to the EVM, which could increase both usability and security. Both proposals have the potential to play significant roles in shaping the future of the Ethereum ecosystem, yet the community's response to these innovations and debates over which proposal will be more effective on the network continue.