DAOrayaki: How Account Abstraction Can Ensure Ethereum Mass Adoption
Author: Fifty Finney
Original title: Account Abstraction — A pivotal step in ensuring Ethereum's adoption.
Account abstraction has been a recurring topic this year, yet few market participants understand what it is and how it can change the game. According to Vitalik, account abstraction is "something we've always wanted," and it's been a "long-term dream of the Ethereum community."
In this post, we will discuss the role of account abstraction in scaling the Ethereum blockchain and ensuring mass adoption.
First, to fully understand the account abstraction, we first need to understand what an abstraction is in computer science:
Abstract Art:
Abstraction refers to removing the physical, spatial or temporal details of a system and focusing on more important properties.
image description

Source: TIBC
For example, when developers write software, they write high-level programming languages like Python, Java, etc. Programmers don't need to know how to write the 0s and 1s that make up machine code.
Ethereum account abstraction
Account abstraction is a form of data abstraction. To understand what abstracts away from Ethereum accounts, we must first understand how accounts work on Ethereum. There are two types of accounts on Ethereum, namely:
Externally Owned Account (EOA), Contract Account (CA)
Externally Owned Account (EOA)
These are essentially user-controlled accounts consisting of a pair of encryption keys, a public key and a private key. They are generated and controlled by whoever holds the private keys. There is no fee to create such an account, and account users can initiate transactions.
Contract Account (CA)
Contract accounts are smart contracts controlled by code on the Ethereum network. Contracts do not have private keys, but are controlled by the logic of smart contract code on the Ethereum network. Since you are using network storage, you need to pay a certain fee to open a contract account. Such accounts can only send transactions in response to receiving transactions.
Ethereum account has four fields, namely:
Nonce - This acts as a counter indicating the number of transactions sent from the account. The nonce is an important feature because it ensures that the transaction happens only once on the EOA. On the CA, the nonce represents the number of contracts created by an account.
Balance - This represents the amount of eth owned by the address measured in wei.
Codehash - This refers to the account code on the Ethereum Virtual Machine (EVM). Different pieces of code have different unique functions, and once the hash of the code is invoked, it comes into play. For EOA, this is represented by a hash of the empty string.
image description

Source: Ethereum Documentation
Now that we know the two types of accounts on Ethereum, we can define the account abstraction. Account abstraction is the process of simplifying Ethereum’s two types of accounts (externally owned accounts and contract accounts) into a single type—contract accounts. The resulting contract account will be able to initiate transactions, pay transaction fees, and can be customized to a user's unique needs. The contract account will have the functions of traditional CA and EOA.
implementation technology
Ethereum founder Vitalik Buterin described several ways to achieve account abstraction on the network. These methods include:
Lazy Full Abstraction: This is the often discussed form of abstraction. It is to reduce the Ethereum account from EOA and CA to only CA. Users store funds in contract accounts, and contract code interprets and executes data encoded in nonces, balances, code hashes, signatures, gas prices, and storage hashes.
advantage:
shortcoming:
shortcoming:
Very complex code needs to be hardwired into each account to verify nonce signatures and pay gas.
Additional logic is required before miners can create new accounts for senders.
Since accounts are created in a non-standard way, transactions with the same hash can be included multiple times.
Removal of the nonce abstraction: In this implementation technique, the nonce is abstracted by making the transaction nonce equal to the account nonce.
advantage:
shortcoming:
shortcoming:
It complicates the underlying protocol.
Standardized Signature Scheme: This abstraction adds byte array field signatures to transactions.
advantage:
shortcoming:
shortcoming:
It increases the complexity of the base layer.
Some other account abstraction techniques outlined by Vitalik include adding breakpoint opcodes, adding paid gas opcodes, inserting gas price + panic opcodes, combining panic and paid gas opcodes, combining salt + codes in transactions, new creation account payment.
Benefits of account abstraction
At this point, you may be wondering how this affects you, and how this will make the Ethereum blockchain better. Let's look at some benefits of account abstraction:
1. Implementation of multi-call functionality: Currently, when interacting with the Ethereum blockchain, you have to make a new transaction for each operation. With abstraction, all transactions can be completed with one click, saving users' Gas and time.

2. Session keys: Session keys allow users to specify rules when interacting with decentralized applications (Dapps). These rules will guarantee greater security as users are restricted to pre-approved rules, ensuring that malicious actors cannot modify accounts and steal your funds. Some of the parameters that can be specified using a session key include the maximum time an account can remain connected to a Dapp, the maximum gas that can be consumed, and a security threshold for the number of tokens that can be traded. Some of the teams implementing this feature include loot realm, briq, matchboxDAO, and ledger.
3. Social recovery. Account abstraction allows to end the popular use of metamask for seed phrases. Social Recovery allows users to specify recovery methods through a trusted contact or reliable third-party service. If a user changes their mind while trying to restore their account, they can also set a delay timer before restoring. Argent is implementing this and allowing users to back up their encrypted seed phrases on Google Drive.
4. Multi-factor authentication: some traditional financial institutions are promoting the standardization of two-factor authentication. This security model can be implemented through account abstraction, allowing users to specify and create multi-signature wallets.
5. Plugins: Account abstraction allows third-party developers to plug in new functionality when creating an account.
6. Multi-token fee payment: Account abstraction will enable users to pay gas fees in any token other than Ethereum.
7. Fee Delegation: Account abstraction will allow users to pay fees on behalf of others. Projects and protocols can pay for gas on behalf of users, making the onboarding process more seamless.
8. Diversified signature schemes: Account abstraction will allow different signature schemes than the current ECDSA scheme. Only abstraction will allow this kind of change. this will:
Introduce quantum resistance to ensure that Ethereum cannot be forged or attacked by quantum computers.
Create a more efficient signature algorithm, which may lead to lower Gas fees.
Allow contract accounts to be upgradable.
We believe account abstraction can make the Ethereum chain more available to the network to enable the next wave of users into DeFi.


