Blockchain in general has had a lot of improvements since Bitcoin was first launched in 2009, but one thing that cannot change is that each blockchain needs to use a native token as a fee for transactions and transactions. Account Abstraction was born to solve that problem. So what is Account Abstraction? Will Account Abstraction bring blockchain to mass adoption in the future?
What is Account Abstraction?
Users when interacting with blockchains at the present time are required to own a certain amount of native tokens as transaction fees. Take Ethereum for example, when we want to send a transaction or initiate a smart contract, the wallet must have a certain ETH balance to pay the fee.
This has limited people’s access to and use of blockchains as it requires a few extra steps and holding a meaningless amount of money. Account Abstraction (AA) was also born from there to help users easily pay transaction fees on networks with any token.
Definition of Account Abstraction
Account Abstraction is a proposal on Ethereum that aims to increase flexibility in the management and behavior of accounts. It includes special smart contracts called smart accounts, which are used for defining and managing user wallets.
The components that make up an Account Abstraction include:
- Externally Owned Accounts (EOA): This is an account, also known as a wallet, managed by a pair of public key (wallet address) and private key.
- Contract Accounts (CA): This is an account deployed as a smart contract managed by code instead of private keys.
Operating Mechanism Account Abstraction
There are two main components involved in operating Account Abstractions:
- UserOperation mempool: Similar to regular mempool but it contains transactions created by Contract Account..
- Bundler: The person responsible for paying ETH fees, sorting transactions from the UserOperation mempool and putting transactions into blocks similar to a validator.
The operating mechanism of Account Abstractions will basically follow the following steps:
- Users send transactions from Contract Accounts.
- Transactions are put into the UserOperation mempool.
- Bundler picks up transactions from the UserOperation mempool and arranges them into a Bundle transaction (Bundler transaction).
- Bundler will pay fees for all those transactions (based on ERC-4337) in ETH and place Bundle transactions in the block.
Historical Development of Account Abstraction
EIP-86
EIP-86 is the first Ethereum improvement proposal targeting Account Abstractions, proposed in 2016. These changes will allow users to build ‘Contract Accounts’ that can be designed to handle transactions. translated using any signature or nonce method, rather than being written in hardware to enhance regular information methods.
EIP-2938
According to EIP-2938 is an effort to increase gas efficiency for DeFi protocols and proposes to divide Account Abstraction into 2 types including:
- Single-tenant AA: Supports wallets or use cases with a small number of participants.
- Multi-tenant AA: Supports dApps with a large number of users.
EIP-3074
EIP-3074 takes a slightly different approach by adapting to Externally Owned Accounts, instead of trying to convert smart contracts into EOAs. “Sponsored transactions” is the main driving force behind this EIP.
Currently, proposal EIP-3074 is still in the review stage and has not been approved by the Ethereum community.
EIP-4337
EIP-4337 proposes to remove all EOAs and replace them with smart contracts without affecting any changes to the consensus algorithm, however it is not yet enabled and is only in the development stage.
Basically, proposal EIP-4337 will take Ethereum one step closer to mass adoption by allowing everyone to access this blockchain without having to hold any amount of ETH.
Purpose of Use of Account Abstraction
Social Recovery
When using regular Externally Owned Accounts, users are required to store their private key to be able to restore the wallet. As for Contract Accounts, users simply put some wallet addresses of trusted people in the whitelist, then they can access their wallets with the help of those wallet addresses.
Session Keys
This feature allows Contract Accounts to grant access to any smart contract to access their wallet and use it for a certain period of time or use a fixed amount of gas or transaction volume.
Other features
- Pay for gas with any token.
- Enhance hiding ability.
- Allows phones to become hardware wallets.
Featured Applications With Account Abstraction
OKX Wallet
OKX Web3 is a branch that builds products of the OKX exchange, the most prominent of which is OKX Wallet. Recently, OKX Wallet also teased the launch of a product called Account Abstraction that allows users to create Account Abstractions.
zkSync Lite
zkSync Lite, also known as zkSync 1.0, is the first Layer 2 blockchain version developed by the founding team of Matter Labs. The zkSync Lite network serves the main purpose of payment, so applying Account Abstraction will bring a lot of convenience to users.
Argent
Argent is the first wallet project on the Starknet ecosystem using a completely new programming language. Argent has also developed features related to Account Abstraction allowing users to use Social Recovery to restore their wallets.
Summary
Above is the necessary information to understand what Account Abstraction is as well as its potential for future development. Weakhand hopes that this article will bring a lot of useful content to serve everyone’s research process in the crypto market.