Sign In
Learning Center

ERC-4337 Explained

The adoption of cryptocurrencies and blockchain technology has experienced a meteoric rise. But despite that, attracting users’ attention and assisting them in utilizing crypto and blockchain applications is a formidable obstacle. The introduction of ERC-4337’s fundamentals intends to address this challenge. 

The lack of interoperability between centralized and decentralized systems, as well as the complexity of smart contracts and comprehensive working modules, have been the primary obstacles to crypto and blockchain adoption. By implementing account abstraction via ERC-4337 and EIP-4337, Ethereum intends to increase the accessibility of every facet of the crypto world. This blog provides a comprehensive overview of ERC-4337 and how it facilitates account abstraction.

What Is ERC-4337? 

Vitalik Buterin, co-founder of Ethereum, and other developers proposed ERC-4337 in 2021 to establish account abstraction. It was deployed on the Ethereum mainnet in March 2023 and is anticipated to usher in wallet designs that are user-friendly. 

Account abstraction in Ethereum seeks to combine the characteristics of the protocol’s two existing account types: Externally owned accounts (EOA) and smart contract accounts. The result is a singular contract account that can simultaneously transact with tokens and create contracts. This modification enables innovative wallet designs, including social recovery, customization, and upgradeability.

ERC-4337 can also be understood as bringing smart contract functionality to a singular wallet account. This simplifies the configuration of services such as multi-factor authentication and automatic payments.

Background and Origins of ERC-4337

Beginners can gain a thorough comprehension of ERC-4337’s objectives by examining its historical context. How did the idea of account abstraction originate? EIP-86 was the first attempt at account abstraction; it aimed to enable smart contracts for initiating and authorizing transactions. EIP-2938, which was proposed in 2020, was the next stage in the move toward account abstraction. It focused on creating a new type of top-level account using address-specific smart contracts. EIP-3074, a 2020 EIP for account abstraction, intended to create smart contracts that could execute themselves. Additionally, EIP-196 emphasized enhancing the effectiveness and safety of smart contracts. 

All these account abstraction attempts never became Ethereum Requests for Comment and instead remained EIPs or proposals. All account abstraction enhancement proposals were rejected because they required alterations to the Ethereum consensus layer. EIP-4337 was effectively transformed into ERC-4337 by providing account abstraction for consensus layer protocols without modification. It enabled the addition of a higher infrastructure layer on top of the existing backend. ERC-4337 is applicable for account abstraction across EVM-compatible ecosystems. 

register LCX

Why Is ERC-4337 Needed? 

Unlike the Unspent Transaction Output (UTXO) module of the Bitcoin network, the Ethereum protocol employs an account-based model. As transactions are confirmed, the Ethereum protocol monitors and updates account balances accordingly.

The two categories of Ethereum accounts have distinct functionalities. EOAs are owned and administered by their users, whereas smart contract accounts are deployed on smart contracts. Both accounts are capable of receiving, holding, and sending ether or tokens.

The majority of existing Ethereum crypto wallets, such as MetaMask, are EOAs, meaning they are constrained by the laws governing EOAs. These restrictions include accessing accounts solely via private keys and requiring all transactions to be signed. Consequently, wallet creation procedures and private key security measures are typically complicated and difficult to use. Typically, if users lose their seed phrase, they will lose access to their wallet.

ERC-4337 eliminates such restrictions. Smart contract wallets, such as UniPass and Safe, are administered by smart contract accounts as opposed to EOAs and can accomplish the same objective. To pay for gas, however, users must manage their ether across two accounts or rely on a centralized relay system. ERC-4337 eliminates these restrictions by combining the functionalities of the two accounts into one, making it simpler to deploy desired wallet features.

How Does ERC-4337 Work? 

The Ethereum community has been pursuing account abstraction for quite some time. Prior to EIP-4337, the community submitted EIP-2938, a proposal aimed at achieving account abstraction. EIP-2938 was comparable to ERC-4337 but required consensus-layer modifications. ERC-4337 evades this limitation. It achieves this by introducing a pseudo-transaction object at a higher layer called a UserOperation, which is analogous to rollups in that both involve variants of the concept of bundling. Different users send UserOperation objects to a distinct mempool in ERC-4337. 

These objects are packaged by bundlers into a transaction, which is then included in a block. The bundlers pay petroleum for the bundled transactions and receive fees from the executions of the individual user operations. Similar to validators, bundlers select which objects to include based on fee-prioritization logic. Additionally, new functions, including validateUserOp, are being introduced to enable a wallet to function as a smart contract. In addition, a new contract dubbed EntryPoint will be implemented to serve as a security gate for the execution of these new functions.

What Goals Does ERC-4337 Achieve?

ERC-4337 aims to accomplish the following objectives: 

Account abstraction: Allow users to enjoy a singular account with the smart contract and EOA functionality. 

Decentralization: Permit participation from all so-called bundlers. 

Avoid consensus changes: The Ethereum consensus layer focuses on scalability-oriented upgrades, thereby preventing consensus changes and enabling quicker adoption.

Enable innovative use cases: Such as aggregated signature, transaction limit setting, emergency account suspension, whitelisting, and privacy-protecting applications.

Save time and gas: Bundlers’ ability to consolidate UserOperation objects into a single transaction could save time and gas.

What Does ERC-4337 Mean for Users?

ERC-4337 could bring an end to the convoluted user experience of crypto wallets, thereby increasing adoption. Here are a few examples of what ERC-4337 could facilitate: 

Quick wallet setup: No need to jot down seed phrases during wallet setup. With only a few clicks, setup can be quick and simple.

Account recovery: Users no longer need to be concerned about losing their seed phrases, as multi-factor authentication and account recovery are now possible. 

User-friendly wallet functions: Users can take advantage of a variety of customizable services, including auto-pay, pre-approve transactions, and bundled transactions. The limit is the heavens. 

Better security: Wallets may be more secure as the likelihood of human error decreases; no more concealing seed phrases under the mattress! Theoretically, ERC-4337 should result in a smoother and friendlier user experience, thereby removing a significant barrier to mass adoption.

Gas flexibility: Wallets enabled by ERC-4337 are now able to pay gas fees with any ERC-20 token and beyond. Developers can create purses that allow payment of gas fees in any token or even fiat currency. 

Conclusion

ERC-4337 provides the technical foundation for innovative cryptocurrency purses. What developers create based on this could alter the primary point of interaction between crypto and consumers. In any case, the impact that ERC-4337 will have on user experience and crypto as a whole in the coming years is something to keep a watch on.

20231108-ERC-4337-Blog-Post
Login @ LCX