Ethereum account abstraction is a feature that allows a smart contract to manage multiple accounts, each with its own balance of ether and non-fungible tokens (NFTs). This feature is a key component of the Ethereum Virtual Machine (EVM) and is used to simplify the process of managing assets and transactions in decentralized applications (dApps).
In this blog post, we will explore everything you need to know about Ethereum account abstraction. We will cover the following topics:
- What is an account in Ethereum?
- How does account abstraction work?
- The benefits of using account abstraction
- Limitations of account abstraction
What is an account in Ethereum?
In Ethereum, an account is a container that holds a balance of ether and non-fungible tokens (NFTs). Each account has its own unique address and balance, and it can be controlled by a smart contract.
An account is similar to a bank account in traditional finance, in that it holds a balance of assets and can be used to make transactions. However, in the case of Ethereum, accounts are managed by smart contracts, which are self-executing programs that run on the Ethereum blockchain.
Ethereum accounts can be further divided into two categories:
- Externally Owned Accounts, or EOA, are simply wallets that you create on Metamask, Trust Wallet, etc – EOAs are controlled by private keys.
- Contract Accounts or CA, are contracts deployed on the network account – CAs are controlled by code.
How does account abstraction work?
Account abstraction allows a smart contract to manage multiple accounts, each with its own balance of ether and NFTs. This is achieved by creating a single smart contract that contains multiple account variables, each of which corresponds to a separate account.
When a user interacts with a smart contract that uses account abstraction, they must specify which account they want to interact with. The smart contract then retrieves the balance of the specified account and performs the desired transaction.
Role of EIP 4337
In an attempt to replace Externally Owned Accounts (EOAs) with smart contract wallets, Account Abstraction, aka ERC4337, is a proposal to allow users to use smart contracts as wallets. Using smart contracts as wallets make wallets smarter: more reliable, more secure, and with more features!
AA works by dissociating the idea of an address from the idea of an account. An account in a traditional blockchain system has a balance of cryptocurrency or tokens and is identified by an address. Account abstraction enables the assignment of a smart contract to an abstract account that can receive funding from various addresses.
Since AA wallets are managed by smart contracts, users will not be required to play directly with their private keys.
If you don’t have a private key, you’ll never lose one (note: the wallet will still have a key that it uses to sign transactions). But then, how does one manage a wallet? Simply with an email or mobile number. Yes, AA wallets can enable users to manage their wallets using their email or mobile number, as you do on Instagram or Twitter, making the process of creating a wallet 10x more beginner friendly and easy to manage.
But what if someone somehow loses their wallet? Social recovery comes into play here. AA wallets enable social recovery, in which you can set guardians for your wallet. And if you somehow lose your account, you can request your guardians to change the signing key of the wallet to a new one. There will be multiple guardians, and the majority set of guardians will need to agree upon generating a new key to do so. Guardians can be your own wallets or even your friends or family, thus making wallet recovery possible. AA wallets can also enable security features like 2FA for your wallet.
AA wallets also enable gasless transactions, aka gas-sponsored transactions. It means you can do a transaction by paying the gas fee for it from some other wallet.
For example, you need to perform a swap but have no $ETH left in your wallet to pay for gas. In the current system, you’d need to transfer some $ETH from some other wallet or CEX to your wallet to do the swap. But AA wallets can enable you to do the swap by paying the gas fee for it from one of your other wallets.
Account Abstraction mainly involves three participants: the smart wallet or AA wallet, the bundler, and the paymaster (the wallet you pay your gas fee with). AA wallet signs the transaction, bundlers include them in Mempool, they pay gas fees from their end, and Paymaster compensates them.
One of the other top features AA can enable is bundled transactions. AA wallets can enable users to seamlessly bundle multiple transactions into one transaction, thus saving you the gas fee and the time you would have had to wait to get each transaction processed. This is a big deal, especially for chains like Ethereum where transaction time and the gas fee are always through the roof.
AA wallets can also enable monthly, weekly, or daily automatically recurring payments, like EMI, and also enable spending limits.
How do the users benefit from EIP 4337?
There are several benefits to using account abstraction in Ethereum smart contracts. Some of the main benefits include:
- Simplified contract design: With account abstraction, a smart contract can be designed to manage multiple accounts, which can simplify the contract’s logic and reduce the amount of code that needs to be written.
- Increased scalability: By allowing a smart contract to manage multiple accounts, it becomes possible to scale decentralized applications (dApps) more easily. This is because the load of managing assets and transactions can be distributed across multiple accounts.
- Improved security: By using account abstraction, it is possible to segregate assets and transactions across multiple accounts, which can improve the security of a dApp. For example, if a hacker were to gain control of one account, they would not be able to access the assets or transactions in other accounts.
Conclusion
In conclusion, Ethereum’s account abstraction is a powerful feature that allows smart contracts to manage multiple accounts – each with their own balance of ether and NFTs. The benefits of this feature include simplified contract design, increased scalability, and improved security.
However, account abstraction also has some limitations such as complexity, higher gas costs, and limited flexibility. As with any technology, it is essential to comprehend both the benefits and limitations of account abstraction when designing and implementing decentralized applications on the Ethereum blockchain.
Account Abstraction (AA) proposes that users utilise smart contracts as wallets, replacing Externally Owned Accounts (EOAs). This proposal offers greater flexibility, reduced transaction costs, better security, and improved scalability.
However, there are potential drawbacks to Account Abstraction, including a lack of transparency, complexity in working mechanisms, and the possibility of introducing new security vulnerabilities. Moreover, implementing this mechanism could require significant changes to existing blockchain infrastructure, which can be challenging and time-consuming, especially for non-web3 natives.
Nevertheless, Account Abstraction has a huge potential to bridge the gap between retail and Web3 in such a way that most people will use blockchain in the real world without even realising it, making the transition and adoption of blockchain technology more accessible by ushering in the next wave of 500 million + users to Web3 a more achievable goal.