Understanding ERC-4337 and the Future of Ethereum User Experience: Account Abstraction
In Ethereum Improvement Proposal 4337 (ERC-4337), account abstraction simplifies user interaction and the blockchain. It eliminates the need for users to deal with the complexities of wallets, making blockchain applications (dApps) more accessible to users. For instance, users can use social login to interact with dApps, and there is no need for private keys or seed phrases anymore. In this series of posts, I will provide a high-level overview of the topic in this post and dive into the code in the following ones.
What is Account Abstraction?
In the current Ethereum framework, there are two different types of accounts:
- Externally Owned Accounts (EOAs) — controlled by user private keys, for instance Metamask;
- Contract Accounts — controlled by the smart contract code.
The new account abstraction proposal aims to combine two types of accounts, as explained in the ERC-4337 proposal. This addition will provide our users with better recovery options, an easier way to pay transaction fees, and the ability to enjoy multi-signatory rights. Ultimately, it will make Ethereum more accessible to a larger audience without dealing with private keys and seed phrase management.
An account abstraction proposal 4337, or in short ERC-4337, describes how the account abstraction works in the Ethereum Virtual Machine.
Let’s see it all together in a diagram that is taken from https://twitter.com/ProbablyNoam:
- Users can interact with the blockchain through a pseudo transaction object,
UserOperation, containing the necessary information, such as data and signatures.
- Bundlers group together user intents and merge multiple
UserOperationobjects into one transaction.
- When multiple user operations are included in a transaction, it is sent to the
EntryPointcontract for execution on the chain.
- When a bundle of user operations is…