EIP-3074 and EIP-7702: A New Era for Account Abstraction

·

Ethereum's account abstraction roadmap, launched in 2023, has become a major focus, especially with the recent announcement that EIP-3074 will be included in the upcoming Pectra hard fork. This upgrade aims to improve wallet functionality and enhance user experience. Let's explore how these changes will shape the future of Web3 interactions.

Understanding the Pectra Upgrade

The Ethereum Pectra upgrade is scheduled for early 2025. It represents the next significant improvement to the Ethereum network. Key objectives include increasing the maximum stake for validators, enhancing Ethereum Virtual Machine (EVM) efficiency, and potentially introducing user experience improvements for wallets.

As a Web3 enthusiast, you've likely heard about account abstraction. This concept promises to revolutionize how wallets operate by blending the capabilities of externally owned accounts (EOAs) and smart contract accounts (SCAs).

What Is Account Abstraction?

Account abstraction fundamentally means enabling smart contracts to perform actions beyond what traditional EOAs can handle. EOAs on Ethereum are controlled by private keys and can initiate transactions through signatures.

However, as user needs evolve, there's growing demand for systems that can handle complex transactions—something normal wallets cannot achieve. This challenge has led to the development of smart contract accounts (SCAs), which are program-controlled accounts that execute operations based on predefined logic.

Here's a quick comparison between EOAs and SCAs in Ethereum:

Account abstraction seeks to integrate the functionalities of both EOAs and SCAs, making interactions in Web3 more seamless.

Benefits of Account Abstraction

Several attempts have been made to implement account abstraction, showing significant adoption rates. Let's analyze the related EIPs and their success.

The Future of Account Abstraction: ERC-4337 and Beyond

ERC-4337 supports a range of features typically unavailable in EOAs, such as paying gas fees with non-ETH tokens, complex account recovery mechanisms, and advanced transaction batching and scheduling. These improvements greatly enhance user experience.

However, EOAs remain the most common type of account used via MetaMask wallets. The lack of methods to convert EOAs to smart contract accounts and insufficient native support for SCAs in Web3 applications mean most ERC-4337 smart contract accounts are controlled by a single EOA signer.

EIP-3074 addresses these issues by allowing EOAs to delegate control to smart contracts. This is a step toward migrating existing users from EOAs to SCAs. Additionally, EIP-5003 proposes a method for permanently converting EOAs to SCAs, enabling EOAs to delegate transaction execution authority to SCAs indefinitely.

What Is EIP-3074: Contributions to Account Abstraction

EIP-3074 introduces new Ethereum opcodes and functionalities that enable smart contracts to interact with EOAs securely and controllably. It primarily addresses limitations of traditional wallets like Trust Wallet. How? By allowing these wallets, which are EOAs, to integrate with smart contracts using account abstraction for a smoother user experience.

How EIP-3074 Works

EIP-3074 adds two new opcodes to the Ethereum Virtual Machine (EVM): AUTH and AUTHCALL.

Suppose you want to swap 10 DAI for ETH. You simply sign an authorization (AUTH) for the caller. The caller will:

Key Benefits of EIP-3074

EOA Control Delegation

The new opcodes effectively delegate control of EOAs to smart contracts, expanding their functionality without additional contract deployment. By delegating transaction execution to SCAs, EIP-3074 reduces private key exposure. Malicious callers cannot directly access EOA funds, lowering the risk of unauthorized transactions.

Impact on Sponsored Transactions

Third-party sponsors can provide necessary gas fees and submit transactions on behalf of users. As a result, users only need to sign transactions without paying gas fees on their end.

Improved User Experience

Users can now interact more efficiently with decentralized applications (dApps), granting EOAs capabilities similar to smart contract wallets. This simplifies the transaction process and reduces complexities associated with blockchain transaction execution.

Batch Transactions

EIP-3074 allows batch transactions by combining all individual transactions and executing them through a smart contract with a single signature. This feature saves gas fees, time, and effort.

Challenges and Considerations

While EIP-3074 brings significant advancements to Ethereum's account abstraction capabilities, it also presents challenges:

The Emergence of EIP-7702

Vitalik Buterin proposed an advanced version of EIP-3074 called EIP-7702. It introduces a new transaction type that accepts contract_code and signature fields. This allows temporary delegation of EOAs to smart contracts within a single transaction.

How EIP-7702 Works

EIP-7702 enables externally owned accounts (EOAs) to temporarily behave like smart contracts during one transaction:

  1. contract_code: The smart contract logic temporarily assigned to the EOA for the transaction.
  2. signature: An ECDSA signature authorizing the use of the smart contract code.

For example, if you want to perform a token swap and stake the resulting tokens in one transaction, EIP-7702 allows your EOA to include smart contract logic in the contract_code field and an ECDSA signature in the transaction. Once verified, the network temporarily treats the EOA as a smart contract, executing the provided contract_code to complete both the swap and stake operations together.

Key Benefits of EIP-7702

Trustless Execution

EIP-7702 eliminates the need for trusted callers, reducing the risk of malicious operations. Without a central party executing transactions, security risks associated with external callers are minimized.

Simplified Complex Transactions

Users can execute complex transactions, such as token swaps and staking, in a single transaction. This improves user experience and reduces complexity.

Future Compatibility

Fully compatible with ERC-4337 and future account abstraction proposals, ensuring smooth integration and adaptability to upcoming changes in the Ethereum ecosystem.

Here's a brief comparison of these AA-related EIPs:

👉 Explore more strategies for advanced Ethereum transactions

Frequently Asked Questions

What is account abstraction?
Account abstraction is a concept that allows smart contracts to perform actions typically reserved for externally owned accounts (EOAs). It aims to combine the security of EOAs with the flexibility of smart contracts, enabling features like gas sponsorship, batch transactions, and improved user recovery options.

How does EIP-3074 improve Ethereum transactions?
EIP-3074 introduces two new opcodes (AUTH and AUTHCALL) that allow EOAs to delegate transaction execution to smart contracts. This enables batch processing, gas sponsorship, and enhanced functionality without requiring users to migrate to completely new account types.

What makes EIP-7702 different from EIP-3074?
While both proposals enable temporary account transformation, EIP-7702 uses a new transaction type with contract_code fields rather than opcodes. This approach eliminates the need for trusted callers and provides better security guarantees while maintaining similar functionality.

Will these changes affect my existing Ethereum wallet?
Most existing wallets will continue to work normally. These upgrades are designed to be backward-compatible while offering new functionality for users who want to take advantage of advanced features. Wallet providers may need to update their software to support these new capabilities.

How do these EIPs relate to ERC-4337?
ERC-4337 provides a full account abstraction solution without requiring consensus-layer changes. EIP-3074 and EIP-7702 offer alternative approaches that work at the protocol level. All three can coexist and complement each other in the Ethereum ecosystem.

When will these changes be implemented?
EIP-3074 is scheduled for inclusion in the Pectra hard fork expected in early 2025. EIP-7702 is still under discussion and may be implemented in a future upgrade. The timeline depends on community consensus and technical development progress.

Conclusion

Account abstraction aims to make blockchain more accessible and versatile by eliminating complexities in transaction initiation and execution. EIP-3074 and EIP-7702 represent significant advancements that could transform how users interact with Web3 applications, enhancing the overall user experience in the ecosystem.

These developments demonstrate Ethereum's continued evolution toward greater usability and flexibility while maintaining security and decentralization principles. As these proposals move toward implementation, they promise to unlock new possibilities for developers and users alike.