What is EIP 3074?

This EIP allows externally-owned accounts (EOAs) to operate like smart contract wallets.

Sam Wilson (@SamWilsn), Ansgar Dietrichs (@adietrichs), Matt Garnett (@lightclient), and Micah Zoltu (@micahzoltu) are the authors of this EIP from October 15, 2020.

This EIP aims to enhance and improve the UX of Ethereum. This improvement introduces two EVM instructions: AUTH and AUTHCALL. The first sets a context variable authorized based on an ECDSA signature. The second sends a call as the authorized account.

This EIP-3074, along with EIP-2935, has been officially validated by the core dev execution of Ethereum during the 183rd All Core Dev Execution for the next Pectra Hardfork.

All Core Dev Execution Recap
All Core Dev Execution Recap

It's a huge step for EIP creators who have been pushing this since 2021, and now it has been accepted in the official next hardfork of Ethereum, which is scheduled for the end of 2024, beginning of 2025.

What are the benefits?

The main benefits are clear because they are similar to what we have been building in the past 8 months with Zyfi on zkSync. By enabling EOAs to operate like smart contract wallets, EOA users will be able to:

  • Batch transactions in the same signature (e.g. approval and swap).

  • Pay with any ERC-20 tokens as gas, not just ETH.

  • Have transactions sponsored by a third party, e.g. dApps.

All of them are here to truly improve the UX of DeFi on Ethereum and are made possible with EIP-3074. Like they mentioned in the official document, "The leading motivation for this EIP is 'sponsored transactions'. This is where the fee for a transaction is provided by a different account than the one that originates the call." and it’s exactly what we are providing since the start at Zyfi.

What is the Architecture?

Technically, the high-level flow is as follows:

Users sign messages with an invoker contract, which will verify the message and execute it according to the sponsorship rules it may have.

High level flow of EIP-3074
High level flow of EIP-3074

The two new EVM instructions, AUTH and AUTHCALL, represent the "invoker" contract and technically serve precise functions:

  • AUTH takes a user's signature based on ECDSA and intended action (commit) and verifies that it was signed properly. It sets a variable that states the originating address of the transaction.

  • AUTHCALL then calls the target contract(s) with the originator's address as the caller rather than the actual msg.sender.

The commit is the hash of the action to be performed by the invoker contract. You could imagine any type of rules to add to perform the transactions (e.g. hold an NFT to have a free swap)

To fully understand what is going on when you send a transaction thanks to this EIP:

  1. User signs a message (off-chain, not a tx).

  2. User or sponsor sends the message to an invoker contract as a tx.

  3. Invoker uses AUTHCALL to verify and call each target contract with the user's address as the sender.

EIP 3074 Workflow
EIP 3074 Workflow

With this workflow, a dApp can now sponsor gas fees for Bob’s transactions if he doesn't have any gas in his wallet. Moreover, the batching of transactions between the approval and the transaction is now possible thanks to this architecture and the invoker contracts.

What are the risks?

In terms of risks, the authors of this EIP warn us about different pitfalls to avoid.

  1. The first one is the biggest one. Invokers need to be fully audited, non-upgradeable, and trustless; otherwise, users' funds can easily be stolen. Zyfi meets all these conditions.

  2. Ether in EOA cannot be spent

  3. Flash loan mechanisms remain effective.

  4. With invoker contracts for those EOAs, this could also pose a greater challenge for the next hardfork/upgrades of the Ethereum mainnet and reduce its flexibility.

We could also highlight different risks regarding this EIP and its impact on Account Abstraction (AA) adoption. Simply put, this could have a net-negative effect on AA adoption because it could reduce incentives for Layer 2 solutions to work on RIP-7560 or ERC-4337. Instead of promoting AA with smart contract wallets, this EIP will improve the UX on EOA wallets.

How could Zyfi be relevant for that EIP 3074?

Today, on-chain activity on Ethereum represents over $2.5 billion in volume each day. Maintaining the current level of complexity with such high volumes is not sustainable. This EIP, along with invoker contracts, could significantly enhance the user experience across all of DeFi on Ethereum and its broader ecosystem.

Zyfi aims to be the most flexible paymaster-as-a-service solution.

We have created an API which allow any dApp to offer a gas abstracted experience to their user. Users can pay with any ERC-20 tokens as gas on zkSync, or they can enjoy sponsored transaction according to any off-chain custom logic.

4 months ago we deployed our solution on zkSync mainnet - the only EVM blockchain that supported native account abstraction.

  • 405k Transactions

  • 82k Total paymaster users

  • 5k Daily Active users

Dune Dashboard: https://dune.com/zyfi/zyfi-usage-overview
Dune Dashboard: https://dune.com/zyfi/zyfi-usage-overview

Our initial vision was to become omnichain and abstract the gas for the entire DeFi ecosystem. With this new EIP which will be implemented by the end of this year, beginning of 2025, it’s our opportunity to showcase what paymasters/invokers can really offer to DeFi and the decentralized ecosystem in general.

As we always say, the Paymaster Revolution has just started ⛽️


Subscribe to Zyfi
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
This entry has been permanently stored onchain and signed by its creator.