Revenue Share is now live! Enroll to earn 50% of Hord fees

Arrow go backTelegramTwitterWhatsappFacebook

What is EIP-3074?

Jon Ganor
Jon Ganor
What is EIP-3074?
Arrow go back

tl;dr

  • EIP-3074 is an EIP that introduces a significant upgrade to Ethereum wallets by allowing users to attach smart contracts to their accounts.

  • This enhancement brings several benefits, such as batch transactions, fee sponsorship, and task automation.

  • Invoker contracts are pivotal in expanding the functionality of EOAs on the Ethereum blockchain.

  • Comparatively, ERC-4337 emphasizes transaction relaying, while EIP-5003 proposes enabling the conversion of EOAs into full-fledged smart contract accounts.

Intro

Ethereum Improvement Proposals or EIPs are the backbone of Ethereum's governance, driving innovation and evolution within the network. These proposals range from introducing new features and token standards to enhancing scalability and improving user experience. Some EIPs, like ERC-20 and ERC-721, have become widely adopted token standards that facilitate creating and managing digital assets on Ethereum.

Ethereum's governance operates through a decentralized process where anyone in the community can propose an EIP, fostering inclusivity and collaboration. The community engages in open discussions to assess the merits and feasibility of proposals, with core developers playing a crucial role in evaluating technical aspects and aligning proposals with Ethereum's long-term vision. 

Consensus is built through community feedback, technical assessments, and developer consensus, ensuring that accepted EIPs contribute positively to Ethereum.

For more on EIPs and Ethereum’s governance.

What is EIP-3074 and Account Abstraction?

EIP-3074 introduces a significant upgrade to Ethereum wallets by allowing users to attach smart contracts to their accounts. This enhancement brings several benefits, such as batch transactions, fee sponsorship, and task automation. Batch transactions enable users to sign once for multiple transactions, enhancing efficiency. Fee sponsorship allows third parties to cover transaction fees, potentially reducing costs. 

Moreover, users can automate tasks like approving withdrawals and streamlining processes.

EIP-3074 essentially transforms Ethereum wallets into more versatile and user-friendly tools, providing users with greater control and convenience. The upgrade is due to take place shortly, as part of Ethereum’s upcoming Pectra hard fork.

Technical Breakdown

EIP-3074 introduces AUTH and AUTHCALL, two new EVM opcodes that enhance the functionality of Externally Owned Accounts or EOAs by bridging the gap with smart contracts.

AUTH sets a context variable, "authorized," via an ECDSA signature, providing temporary authorization to a specific EOA address. AUTHCALL, leveraging this authorization, executes transactions as if initiated by the authorized EOA, controlled by the smart contract.

This upgrade delegates control from EOAs to smart contracts without enabling smart contracts to initiate transactions independently. The EOA owner retains transaction signing responsibilities, ensuring security.

Historical Context

EIP-3074 has its roots in the growing demand for Account Abstraction within the Ethereum ecosystem. This concept stemmed from a recognition of the limited functionality of EOAs on Ethereum, which primarily served basic transactional purposes without the advanced capabilities of smart contracts. 

Developers and users alike began exploring ways to imbue EOAs with more versatility while maintaining security and user control.

The historical journey of EIP-3074 began with early discussions within the Ethereum development community, predating 2021, where the idea of Account Abstraction and EOA enhancements gained traction. In December 2021, Sam Wilson, Matt Garnett, and other contributors formally proposed EIP-3074, introducing the AUTH and AUTHCALL opcodes as a solution to empower EOAs.

Throughout 2022, efforts focused on integrating EIP-3074 into a future Ethereum hard fork, with discussions also considering complementary proposals like ERC-4337 for transaction relaying. Initially targeted for inclusion in the Shanghai hard fork post-merge, the specific timeline and hard fork integration for EIP-3074 may have shifted due to ongoing discussions and development considerations.

The Role of Invokers in EIP-3074

In EIP-3074, invokers, also known as invoker contracts, serve a pivotal role in expanding the functionality of EOAs on the Ethereum blockchain. Their responsibilities encompass several key aspects:

Delegation and Authorization: EOAs delegate control to the invoker contract using the AUTH opcode, typically by signing a message that verifies their ownership.

Signature Verification and Context Setting: Upon receiving the signed message, the invoker contract verifies the EOA owner's signature through the AUTH opcode. If successful, it sets a special context variable, "authorized," within the Ethereum Virtual Machine (EVM) to signify temporary authorization.

Transaction Execution with Control: Leveraging the "authorized" context, the invoker contract utilizes the AUTHCALL opcode to execute transactions on behalf of the EOA. This enables interactions with contracts, fund transfers, and other actions.

Security and Control Parameters: Invokers may implement additional security measures or limitations based on their design. For instance, they could impose transaction amount restrictions or require further confirmation steps for specific actions.

EIP-3074 Compared to other EIPs

EIP-3074 stands out within the EIP landscape because it focuses on empowering EOAs through delegation to smart contracts. The EIP enhances functionalities like batch transactions and fee sponsorship. Comparatively, ERC-4337 emphasizes transaction relaying, streamlining transaction submissions through third-party relays to reduce user interaction and gas fees.

The complementary nature of these EIPs is notable. EIP-3074 can enhance ERC-4337 contracts, providing advanced control over relayed transactions within the Ethereum network.

In contrast, EIP-5003 proposes a more permanent solution by enabling the conversion of EOAs into full-fledged smart contract accounts, offering even greater flexibility. EIP-3074 serves as a transitional model, allowing temporary delegation while maintaining EOAs' control and the ability to revoke authorization.

EIP 3074 and Security

One of the potential security benefits of EIP-3074 is the reduced complexity of EOAs. By delegating specific tasks to smart contracts through invoker contracts, users can minimize the risk of user errors that may lead to accidental fund loss. This streamlined interaction model could enhance user experience while maintaining security.

Moreover, invoker contracts can provide granular control over transaction processing, if implemented appropriately. They can enforce limitations such as restricted transferable amounts, specific permitted actions, or additional confirmation steps. These measures add layers of security by reducing the potential impact of unauthorized transactions or malicious activities.

However, EIP-3074 also comes with potential security concerns that require careful consideration. One significant concern is the reliance on the security and integrity of invoker contracts. A compromised or poorly designed invoker could lead to unauthorized transactions or fund loss, highlighting the importance of deploying invoker contracts from reputable and trusted sources.

Phishing risks may arise if malicious actors trick users into signing messages that grant excessive control to invoker contracts.

EIP vs. ERC

EIPs and ERCs (Ethereum Request for Comment) are essential components of the Ethereum ecosystem, each serving distinct purposes.

EIPs focus on proposing changes and enhancements to the Ethereum protocol itself. They deal with the foundational aspects of the network, such as block size adjustments, consensus mechanisms (how transactions are validated), and upgrades to the Ethereum Virtual Machine. Examples of notable EIPs include EIP-1559, which introduced fee burning, and EIP-2015, which introduced the Proof-of-Stake consensus mechanism.

On the other hand, ERCs define technical standards for building applications and smart contracts on Ethereum. They operate at the application layer, ensuring compatibility and smooth development practices. ERCs specify standards for various functionalities within the Ethereum ecosystem, such as tokens (like ERC-20 for fungible tokens), non-fungible tokens (like ERC-721 for NFTs), and even self-service marketplaces (like ERC-2067).