Account abstraction (AA) allows wallets to function like smart contracts. And also; It eliminates complex wallet requirements like basic expressions and enables features like grouping complex actions or automatic payments.
What is Account Abstraction?
Account abstraction allows personal wallets to work similarly to smart contracts. It provides a good level of automation for some basic operations including transfers and wallet access. Account abstraction for smart contracts follows the provisions of ERC-2938 and looks for a way to bypass the strict ECDSA signature verification protocol and instead executes an optional EVM bytecode to validate transactions. The bypass system allows smart contract accounts to make a few tweaks and set the gas fees they are willing to pay.
EIP-4337 proposes a protocol that completely abstracts wallet transactions from the consensus layer of the network, allowing a series of commands to be packaged and verified away from the consensus layer. This provides more flexibility in how Externally Held Accounts (EOA) work and are controlled. Account abstraction could open up the Ethereum network and other EVM platforms that apply it to a whole new level of adoption and implementation.
Blockchain wallet management system is strict; you have to verify each transaction individually and if you lose your private keys you will lose access to your wallet and everything in it. While blockchains offer a secure asset management system, the above challenges hinder its adoption as a widely accepted payment method and routinely used infrastructure.
This is where computational abstraction comes into play. Account abstraction applies the automation architecture used in smart contracts to crypto wallets that are External Accounts (EOAs). As seen in smart contracts, account abstraction allows wallet holders to exchange their wallets. Possible changes include setups for recurring payments, access management protocols, and changes in how users pay network fees.
Account abstraction has been a topic of discussion among the blockchain communities since it was proposed and may finally come to fruition in the near future. Layer 2 networks like ZkSync and Starknet are said to be working on applications for this technology.
How AA Wallets Work
Account abstraction attempts to automate EOAs like smart contracts. However, EOAs are initially configured differently and must work according to this original design if the rules of the network are to be followed. However, this design is too rigid and impractical even for a technically inclined user. To achieve this goal, EOA needs to be abstracted (separated) from this rigid system, hence the name account abstraction.
A similar system has been proposed for smart contracts (EIP-2938) and defines a set of implementations that allow a smart contract to bypass the signature algorithm and extend transaction validity by executing an arbitrary EVM bytecode. This was intended to allow smart contracts to change the price of gas and limits to an amount they were willing to pay.
EIP-4337 defines an alternative mempool for EOAs, an account abstraction system that can be achieved by bypassing the consensus layer by using wrappers to bundle pseudo-transactions and transactions and include them in a block for validation.
Account Abstraction Benefits
Industry leaders and new projects are exploring ways to implement account abstraction and create new opportunities for blockchain technology and drive mass adoption. Possible use cases for account abstraction are:
Enhanced User Experience
Blockchain technology and cryptocurrency have shown signs of maturation as an alternative to traditional financial systems. The biggest contribution to this is the tight security system it operates. But this comes at the expense of a rigid design that can result in both difficult and irreparable losses.
Blockchain users need to know how to accept and remove permissions from dApps, how to manage seed statements and wallets while verifying every transaction that takes place. This creates a rather poor user experience and is daunting for someone looking to enter the field (hence the popularity of centralized exchanges).
Account abstraction may not fix this completely, but it has the potential to go a long way in improving the way blockchain wallets are used. Blockchain projects can leverage account abstraction to deliver products with pre-engineered flexible features that make it easier for less technically inclined users to perform basic transactions.
No Seed Phrases
One of the use cases of account abstraction is to reduce the need for private keys. It’s important to note that computational abstraction currently cannot completely eliminate the need for a private key, but certain conventions and protocols can be implemented to reduce the need for core statements while also simplifying the way blockchain enthusiasts manage core statements.
One way to do this is to allow EOAs to set up multiple checkpoints for their accounts and set up a recovery system for their accounts in case they lose their private keys. Smart contracts can be written that allow users to fill in alternate routes to their accounts that include other authentication alternatives that are not seed phrases.
Access to accounts can be protected using 2-factor authentication systems, and EOAs can set up a recovery account for wallets. When you use the ‘Reset password’ option to set a new password for your accounts on Web 2.0 platforms, recovery accounts can act as your personal emails.
Another way to use account abstraction for this purpose is to use smart contracts to design a recovery system that gives the user access to anyone who posts questions and fills in answers to those questions correctly.
Account abstraction can also limit the need for core expressions where it is used to develop an infrastructure that allows users to create multiple accounts using the same core expressions. An extra recovery option is used to back up the core emote for the main account, while core emotes of the main account will be able to unlock subaccounts. This then makes it possible for users to create accounts managed by a group without the source statement being known to all parties.
Revision of the Current Wage Payment System
To execute a transaction, EOAs must pay a fee in ETH. This means that new users must fund their account with ETH before interacting with the network. Faucet projects try to encourage adoption by helping new users get started on the network with native token drops, but this is hardly enough and leads to the potential for abuse. Account abstraction can fix this in two main ways.
One is the alternative payment structure. This can be enhanced using smart contracts to allow accounts to pay reconciliation layer fees using a currency of their choice.
Account abstraction allows one account to pay transaction fees for another account. A user can choose this account or it can be automated via smart contracts. Cryptocurrency projects can use this feature to cover transaction fees or gas fees for users interacting with their smart contracts, or to reduce the fees paid for each transaction by covering a percentage of the fee via smart contracts.
Setting Up Automatic Payments
Currently, EOAs are required to sign a transaction before it can be verified on the blockchain. Even transactions initiated via smart contracts must be confirmed before they can be executed. Duplicate transactions should also be approved as needed. This may not be an issue for one-time transactions, but can be cumbersome for recurring and multiple transactions.
With account abstraction, EOAs will be able to set up an automatic approval protocol for recurring transactions and have them approved immediately, without the EOA owner needing to do anything. This can also be used to set future payments. Automated payment systems powered by bank statements may also use a different authentication mechanism such as biometrics and 2-FA to simplify transaction confirmation.
Grouping Complex Actions
Similar to the scenario discussed earlier, the need for EOAs to actively sign every transaction is tedious. This is where computational abstraction comes into play. It can be programmed to group multiple transactions and sign them all at once, rather than clicking Confirm multiple times, like approving and executing a swap in a single transaction on a decentralized exchange.