EIP-3074 to EIP-7702: Advancing Ethereum Account Abstraction

Joan Alavedra3 min read
In this article
EIP-3074 to EIP-7702: Advancing Ethereum Account Abstraction

Ethereum's account management is evolving with the introduction of EIP-7702. This upgrade refines earlier proposals like EIP-3074 to offer a more secure and flexible way for traditional accounts (EOAs) to use smart contract features.

What is EIP-7702?

EIP-7702 is a proposal that allows an Externally Owned Account (EOA) to temporarily adopt the capabilities of a smart contract during a transaction. Unlike previous attempts, it is designed to be fully compatible with ERC-4337 (Account Abstraction). This means a regular wallet can suddenly perform complex tasks like batching multiple transactions or having someone else pay for their gas (sponsorship), then revert to its normal state once the action is complete.

Sponsored transactions are achieved through the introduction of two new opcodes, AUTH and AUTHCALL, which allow EOAs to delegate their authority to smart contracts, enabling more flexible and efficient transaction types.

EIP-3074 initially faced increasing security challenges and technical limitations.

Key issues included potential authorization abuses and consequent security vulnerabilities, particularly when dealing with large-scale or high-value transactions.

3074flow.svg

EIP-7702 is forward-compatible with standards like ERC-4337, supporting advanced AA features without overcomplicating the underlying architecture.

Core Mechanisms of EIP-7702

Here's what it does:

  • Batch transactions: Allows EOAs to execute smart contract-like actions.
  • Gas Sponsorship: Enables third parties to cover transaction costs. For a deeper understanding of how gas sponsorship can enhance user experience, explore our solutions for gasless transactions.
  • Custom Logic: Supports tailored transaction rules.

To allow EOAs to temporarily act as smart contracts, two main components are used:

Contract Code

The contract_code field in a transaction specifies the smart contract code that the EOA will execute, temporarily enhancing its capabilities.

This allows the EOA to perform operations that are typically exclusive to smart contracts, like executing multi-step transactions or interactions with other contracts.

Once a transaction completes, the EOA discards the temporary code, reverting to its original, simpler state to ensure security and maintain its standard functionality.

Signature

A standard Ethereum signature (using v, r, s) accompanies the transaction to verify the identity of the account holder and authorize the temporary transformation.

The signature secures the transaction against unauthorized actions and confirms the account holder's consent for the temporary enhancement.

Innovations and potential of EIP-7702

EIP-7702 introduces significant innovations and advancements for AA:

- Enhanced Flexibility and Security: By allowing EOAs to act temporarily as smart contracts, EIP-7702 facilitates complex operations while maintaining the security and simplicity of traditional transactions.

- Reduction in Operational Complexity: This proposal simplifies transactions by reducing the need for multiple transaction steps and interactions, thereby decreasing gas costs and enhancing UX.

- Forward Compatibility: EIP-7702 prepares a better underlying architecture for future developments in account abstraction.

Final Thoughts

EIP-7702 represents a forward-thinking approach to solving existing challenges in Ethereum's account management and transaction execution.

By addressing the limitations of EIP-3074 and introducing robust mechanisms for account abstraction, the implementation of EIP-7702 in upcoming network upgrades, such as the Prague/Electra upgrade, remains promising.

Share this article

Keep Reading