Learn more
Introducing the Dynamic Global Wallet Kit: A powerful toolset for developers to build ecosystems around their apps or chains!
Table of contents
So Long, and Thanks for All the Fish
Douglas Adams, The Hitchhiker's Guide To The Galaxy, maybe referring to Account Abstraction?
On April 11th, a bombshell dropped in the EVM market. It was announced that EIP-3074 would be adopted into the next hard fork of Ethereum, likely scheduled for later 2024/early 2025. Bloggers went wild, tweets created some fomo, and in general a tiny bit of fun, chaos and excitement ensued.
But what is EIP-3074? is it really the killer of the Account Abstraction movement that has been picking up speed since the rollout of ERC-4337? In this blog post, we wanted to dive into some of the basics, put some misconceptions to rest, and in general give a quick overview of a fun topic in the market.
As a quick reminder, Account Abstraction really means that a smart contract is created for an end user, and this smart contract becomes the primary way of interacting with other smart contracts (instead of the standard wallet, i.e. externally owned account, or EOA).
This allows for a few magical things. The end user can take more complex actions such as having someone else pay gas fees on their behalf; they can pay for their transactions in USD; or even designate a group of trusted guardians to help them recover their wallet. The beauty too is that the end-user doesn't even know they are using account abstraction! They should just see more functionality that wasn’t possible before. You can read an overview of account abstraction here.
Besides the magical qualities above, account abstraction has one more thing going for it - it is an ERC which essentially does not require a hard fork or any coordination efforts on the network. As soon as the standard went into production, developers could hit the ground running, and ecosystems thrived abound.
Imagine a world where not only would you no longer need to worry about gas costs but you would also not have to worry about the complexity of Account Abstraction mentioned above. Mindblown. With Ethereum Improvement Proposal (EIP) 3074, this vision is closer to becoming a reality. But how exactly can EIP-3074 revolutionize the way we use Ethereum?
One of the most significant advantages of EIP-3074 is its ability to provide highly demanded features such as gas sponsorship, bundled transactions, and social recovery natively within your Externally Owned Account (EOA).
Think about that. Today, to get these features, you have to implement Account Abstraction. While great for some use cases, that additional complexity can introduce significant overhead, both for users and developers alike.
Essentially until EIP-3074, to enjoy these features, developers may have found themselves needing to manage, let alone comprehend, two different wallets: an EOA and a Smart Contract Wallet (SCW). This can be particularly challenging for existing users who have already established their EOAs and may need to transfer their assets to an SCW simply to access features such as gas sponsorship. EIP-3074 eliminates this complexity simply by removing the need for an additional SCW wallet, thus allowing users to access these features directly from their EOA. It is a good tool for new accounts, but a really great tool for existing ones.
EIP-3074 introduces two new Ethereum Virtual Machine (EVM) opcodes: AUTH and AUTHCALL. The AUTH opcode allows an externally owned account (EOA) to authorize actions via a signed message and a commit. AUTHCALL, on the other hand, executes transactions on behalf of the authorized EOA. This system utilizes smart contracts, referred to as invokers, to carry out complex functions for an EOA, but not as the direct account operators.
In practice, an EOA authorizes an invoker by signing a message that outlines the desired action and the parameters needed for execution. The invoker then processes these actions using the resources and permissions of the EOA. This framework enables functionalities such as social recovery — where designated contacts can help restore access to an EOA if the private key is lost — and gas sponsorship, which allows certain transactions to be executed without cost to the user by having the gas fees covered by approved sponsors.
While EIP-3074 provides many advantages, it's crucial to consider its potential downsides. A major concern is the security of invokers. If not carefully implemented, these invokers could threaten user funds. To mitigate this risk, invokers must undergo rigorous audits, and EOA wallets should implement safeguards against rogue invokers.
Additionally, the adoption of EIP-3074 requires a hard fork due to the introduction of new opcodes. This necessitates that each network must agree to and integrate this update before it becomes operational. The process can be lengthy and has been a contributing factor to some of the initial resistance to EIP-3074.
EIP-3074 is unlikely to make Account Abstraction (AA) and ERC-4337 obsolete. While it enhances user experience and accessibility, EIP-3074 doesn't aim to replace AA solutions like ERC-4337. Rather, it serves as a complementary option particularly suited for existing EOA users who may not need the extensive features AA provides. Together, EIP-3074 and AA can enrich the Ethereum ecosystem, benefiting both newcomers and experienced users.
However, if the market heavily adopts EIP-3074 and continues to develop AA-like features within it, this might pose challenges for AA initiatives. The implementation of EIP-3074, including its adoption by Layer 2 solutions, will take months and doesn't offer as comprehensive a framework as the systems being developed on top of EIP-7579 and EIP-6900. In summary, these standards are designed to function in tandem, but it's still too early to determine their long-term relationship definitively.
EIP-3074 represents a significant leap forward in improving the Ethereum user experience by eliminating the need for multiple wallets, introducing bundled transactions, and empowering EOAs with advanced functionality through invokers. By complementing (and potentially competing with) Account Abstraction and providing a user-friendly alternative, EIP-3074 is yet another impressive achievement for this ecosystem.
There are really great articles out there around EIP-3074, some of which serve as inspirations for our take in this blog post. We recommend reading:
Share this article