In our previous blog we’ve covered what Smart Contract Wallets are and how Account Abstraction came into the picture. An Ethereum Improvement Proposal (EIP) – Ethereum request for comment-4337 (ERC_4337) that accomplishes Account Abstraction was launched in recent years. EIP - 4337 enables account abstraction(AA) on the Ethereum network. Using AA, users can create smart contract accounts and interact directly with the smart contracts on ethereum without the hassle of creating a seperate account. It builds upon the successes of the ERC-20 standard and provides several improvements to enhance the security and efficiency of token transfers. ERC-4337 is a Smart Wallet standard on the Ethereum Blockchain.
It was proposed by a group of developers led by Yoav Weis, Dror Tirosh & Vitalik Buterin, the founder of Ethereum. This standard aims to make Ethereum wallets more user-friendly and prevent any loss of crypto keys.
Let’s take a look at the timeline of Account Abstraction proposals:
The idea for initial abstraction changes for Metropolis was proposed by Vitalik Buterin. This would allow for improved account security. Instead of relying solely on ECDSA and the default nonce scheme, this proposal suggests treating all accounts as contracts, giving users more control over their security settings.
Vitalik Buterin suggested EIP-86 to make transaction origin and signature more abstract. This means users can create account contracts that handle signature verification and nonce checking, instead of using the usual method.
Advantages of EIP-86:
- Simplifies multi-signature wallets: contracts can hold ETH and pay fees directly
- Enables custom cryptography: users can adapt their preferred signature schemes
EIP-2938 for account abstraction was proposed by Vitalik Buterin, Ansgar Dietrichs, Matt Garnett, Will Villanueva, and Sam Wilson. This was to allow a contract to act as the main account and pay transaction fees to start transactions.
EIP-3074 was proposed shortly following EIP2938, adopting a fundamentally different strategy. Rather than allowing smart contracts to function as primary accounts, it aims to make existing externally owned accounts(EOA) mimic smart contracts by permitting users to assign control of their EOAs to a contract.
The aim was to avoid consensus-layer protocol changes rather than relying on higher-layer infrastructure.
This latest proposal by Vitalik Buterin and the community is an ERC that aims to implement modifications that prevent consensus-layer protocol alterations, focusing instead on higher-layer infrastructure. The proposal seeks to achieve the following objectives:
- Account Abstraction: This allows users to employ smart contract wallets with custom verification logic as their main accounts, rather than using EOAs.
- Decentralization: Any bundler can partake in the inclusion of account-abstracted user actions without users needing to know specific communication addresses related to any activities in a public mempool.
- Avoiding Consensus Changes: To expedite adoption, this proposal steers clear of consensus alterations.
- Fee Payment for Transactions: This enables the use of ERC-20 tokens for transaction fee payments, and lets developers cover fees for their users.
What’s next for Account Abstraction?
As of March 2023, the implementation of the ERC-4337 proposal on the Ethereum mainnet has been successful, accomplishing the objective of abstracting accounts. It is now making crypto wallets easier to use, helping with account recovery, and offering custom services.
The journey of account abstraction in Ethereum has been marked by continuous innovation and collaboration, resulting in the development of the ERC-4337 standard.