What is Account Abstraction (AA)? Is it beneficial for Ethereum?
Account Abstraction is an improvement proposal (EIP-4337) for the Ethereum platform, proposed by developers within the Ethereum community, aiming to enhance the network's performance and flexibility.
Hello everyone,
At the ETH Denver 2023 event, Ethereum developer Vitalik Buterin focused heavily on Account Abstraction (EIP-4337) - a notable trend with significant potential for the development of Ethereum and the blockchain industry. Read on to understand the importance of Account Abstraction and its influence in the future.
So, what is Account Abstraction? Let's delve into it in the article below! I’m Neo — Admin — Community Manager of Optimus Finance and Growth Marketing of LECLE Vietnam.
1. What is Account Abstraction (AA)?
Account Abstraction is an improvement proposal (EIP-4337) for the Ethereum platform, proposed by developers within the Ethereum community, aiming to enhance the network's performance and flexibility. The main point of Account Abstraction is to change the way transactions are processed within Ethereum.
Instead of storing the private key of an account on the blockchain, Account Abstraction allows registering a simple text address to represent that account.
An Ethereum Account is a concept within the Ethereum blockchain that defines objects storing data and assets on the Ethereum network. Each Ethereum Account has a unique identifier address (represented by a long 40-character hexadecimal string) and is stored on the Ethereum blockchain.
2. Ethereum Account
There are 2 types of Ethereum Accounts on the Ethereum blockchain: External Owned Account (EOA) and Contract Account (CA).
2.1. External Owned Accounts (EOA):
With EOAs, users are provided with a pair of public and private keys, where only those with access to the private key can initiate transactions. Familiar EOA wallet products in the market include Metamask, WalletConnect, Phantom, Martian, etc.
EOAs are blockchain accounts that allow for easy, convenient, and user-friendly transactions. However, they come with security vulnerabilities such as the risk of private key compromise when interacting with DApps, requiring users to manage them regularly, and the potential loss of assets in the wallet if passwords/seed phrases/private keys are forgotten.
2.2. Contract Accounts (CA):
In contrast, CAs are accounts controlled by code logic via smart contracts. They can only receive messages from users (from EOAs) and execute pre-programmed commands. Examples of CAs include smart contracts of DApps such as Uniswap, LIDO, and other applications on the blockchain.
3. The Purpose of Account Abstraction
The purpose of implementing AA is to significantly improve user experience when interacting with the Ethereum blockchain through wallets, DApps, and DeFi. Account abstraction also serves as a base layer on Ethereum to determine when an account can self-pay gas fees and how gas fee payments occur.
In other words, users' wallets will be transformed into smart contracts, combining the advantages of both types of crypto wallets, making it easier and more convenient for users to use. Specifically, Account Abstraction will allow for the execution of multiple tasks simultaneously and complex functions such as token locking/unlocking contracts or DeFi smart contracts and liquidity pools.
Deployment on Ethereum aims to address limitations in various areas, including:
Enabling smart contracts to use signature verification methods other than ECDSA (such as Schnorr, BLS).
Creating smart contracts with features like multisig verification, social recovery, reducing the risk of asset loss or theft.
Implementing privacy protection systems like tornado.cash.
Improving gas fee efficiency in DeFi protocols by preventing transactions that don't meet high-level requirements from being included in the chain.
Allowing users to use a different token to pay fees instead of being required to use ETH (for example, converting that token to ETH needed to pay gas fees directly in real-time transactions).
An example to illustrate Account Abstraction is as follows:
Suppose users want to create an Ethereum wallet to store ETH and other tokens. During the wallet creation process, users typically generate a wallet address (e.g., 0x123456789abcdef) and record the private key to access their assets.
With Account Abstraction, users no longer need to worry about the private key. Instead, they can register a simple text address (e.g., "0xneoneil.eth"), making it much easier to interact with the blockchain.
When users want to make a transaction, the Ethereum wallet will decrypt the private key to create a signature for the transaction. However, with Account Abstraction, users no longer need to store the private key because registering the address ensures the security of their assets.
This enhances convenience and security for users while reducing the risk associated with managing wallet private keys.
4. Issues Addressed by Account Abstraction
Here are some aspects that Account Abstraction is targeting:
Enhanced Security: With Account Abstraction, users no longer need to manage and store their private keys, reducing the risk of asset loss or theft. Instead, users can register with a simple text address to interact with the blockchain.
Convenience: Account Abstraction enhances user convenience by eliminating the need to manage and store private keys. Registering a simple text address makes interacting with the blockchain much easier.
Integration of New Features: Account Abstraction allows for the integration of new features into Ethereum smart contracts that were previously impossible. For example, multisig verification, privacy protection, and using a different token to pay gas fees.
Developing the DeFi Ecosystem: Account Abstraction helps develop the DeFi ecosystem by improving the efficiency of gas fee usage in DeFi protocols, preventing transactions that do not meet high-end requirements from being placed on the chain, and allowing users to use a different token to pay gas fees instead of ETH.
5. How Account Abstraction works
When users want to make a transaction, they provide this address to identify the target account of the transaction.
When the transaction is sent, it will be transferred to a smart contract. This contract will determine the validation and computation parts of the transaction. For the validation part, the contract will check if the provided address is valid and verify the conditions of the transaction. Then, the contract will execute the computation part of the transaction.
This feature helps improve the security of the account, as there is no longer a need to store private keys on the blockchain. It also helps reduce the load on network nodes by reducing the amount of data that needs to be stored. However, Account Abstraction is still in development and has not been fully deployed on Ethereum.
6. Notable technical changes
Account Abstraction requires changes to some technical aspects of Ethereum to achieve its goals. Specifically, these changes include:
Changing the structure of the Ethereum Virtual Machine (EVM) to support access to accounts through a text address instead of only being accessible through a private key as before.
Protocol changes to allow registration of text addresses and mapping them to account addresses on the blockchain.
Updating Ethereum clients (such as Geth and Parity) to support Account Abstraction and provide new APIs to access accounts through text addresses.
Other changes related to smart contract standards like ERC-20 and ERC-721 to support the use of text addresses instead of private keys in transactions.
These changes require coordination between developers, researchers, and the Ethereum community to deploy and test Account Abstraction before it is rolled out on the Ethereum main network.
https://twitter.com/VitalikButerin/status/1576199533155221505
7. Closing thoughts
Account abstraction has long been a shared dream of the Ethereum developer community. Instead of EVM code lines being used only to deploy logic for applications/DApps, it can also be used to deploy logic for individual user wallets.
This could open the door to creativity in wallet design, bringing users many new important features without relying too much on private keys. Let's look forward to the developments of AA in general and EIP-4337 in particular in the future!
What about your thoughts? If you want to know further about it, don’t hesitate to share it with us! 😀
This post is for educational purposes only. All materials I used were the different reference sources. Hope you like and follow us and feel free to reach out to us if there is an exchange of information. Cheers! 🍻
#AA #AccountAbstraction #Ethereum #ETH