What is Account Abstraction in Crypto?
Account abstraction (AA) enables wallets to function like smart contracts, removing complicated wallet requirements like seed phrases and enabling features like batching complex actions or automatic payments.
Key Takeaways
-
Account abstraction enables personal wallets to function similarly to smart contracts. It allows a good level of automation for some core operations including transfers and access to wallet.
-
Account abstraction for smart contracts follows the provisions of ERC-2938 and seeks a way to bypass the rigid ECDSA signature verification protocol and instead executes an arbitrary EVM bytecode to validate transactions. The bypass system enables smart contract accounts to perform a few tweaks and set the gas fees they are willing to pay.
-
EIP-4337 proposes a protocol that completely abstracts wallet operations from the network’s consensus layer, allowing a set of commands to be bundled and validated away from the consensus layer. This makes for more flexibility in how Externally Owned Accounts (EOA) operate and are controlled.
-
Account abstraction could open up the Ethereum network and other EVM platforms that implement it to a whole new level of adoption and application.
Blockchain wallet management system is rigid; you have to verify every single transaction and you’ll lose access to your wallet and everything within if you lose your private keys. While blockchains offer a secure asset management system, the above challenges hinder its adoption as a widely accepted method of payment and routinely used infrastructure.
And this is where account abstraction comes in. Account abstraction applies the automation architecture used in smart contracts to crypto wallets, which are Externally Owned Accounts (EOAs). As seen in smart contracts, account abstraction allows wallet owners to modify their wallets. Possible modifications include set-ups for recurring payments, access management protocols, and changes to how users pay for network charges.
Account abstraction has been a subject of discussion amongst blockchain communities since it was proposed and could finally come to life in the near future. Layer 2 networks like zkSync and Starknet are rumored to be working on applications for this technology.
Let’s dive into account abstraction and how it works.
Account Abstraction, EOAs, and Smart Contracts
Account abstraction separates Externally Owned Accounts (EOA) and smart contracts from the original and rigid ECDSA (Ecliptic Curve Digital Signature Algorithm) digital signature scheme and the network’s consensus layer. ECDSA defines the validation system for EOAs and smart contract accounts. It uses the private and public key pairing system to dictate access management and task execution structure for blockchain accounts. Every transaction must also go through the consensus layer for validation.
There’s so much to unpack here, so let’s break it down.
First, what are EOAs and smart contract accounts and what is the ECDSA signature? To better understand these, we look at the two types of accounts on Ethereum and other EVM networks.
Types of Accounts on Ethereum and EVM Networks
The two types of accounts on Ethereum and EVM networks are:
Externally Owned Accounts (EOAs)
EOAs are personal accounts. They are owned and controlled by individuals on the network and are represented by cryptographic addresses. The addresses representing EOA are known as wallet addresses and are used to receive and track transactions by the EOA.
The EOA works via a public and private key pairing system to encrypt information such that only the participants of a transaction or the public key holders can access the full data for a transaction and account. The private key is the sole route to gaining control of an EOA, where the private key holder is the rightful owner of the EOA and can sign transactions without limits. This structure is defined by the ECDS algorithm.
The ECDS algorithm generates a signature using the transaction and the EOA’s private key, this signature encodes the transaction and its proof and allows the receiver to verify the transaction using the corresponding public key to complete the decryption. The transaction goes through the network’s consensus layer and proceeds to finality if these conditions are validated.
Smart Contracts
The EVM works as a virtual computer – it turns code bits into state-changing instructions like a vending machine. These code bits are used to define a smart contract. Similar to EOAs, smart contracts are also represented by addresses. A major difference, however, is that smart contracts do not use the same signature system as EOAs. As such, transactions can take place without the mandatory private and public key requirements. This allows developers to engineer automation using smart contracts.
Having understood EOAs, smart contracts, and the difference between them, let’s go back to understanding account abstraction.
How Account Abstraction Works
Account abstraction attempts to make EOAs automatable like smart contracts. But EOAs are originally structured in a different way and must work according to this original design if the rules of the network must be followed. But this design is too rigid and cumbersome, even for a technically inclined user. To achieve this goal, the EOA needs to be abstracted (separated) from this rigid system, hence the name account abstraction.
A similar system was proposed for smart contracts (EIP-2938) and defines a set of implementations that allows 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 modify the gas price and limits to an amount they are willing to pay.
EIP-4337 defines an account abstraction system for EOAs that can be achieved by bypassing the consensus layer using an alternate mempool, a pseudo-transaction, and bundlers to package the transactions and include them in a block for validation. Vitalik Buterin, co-founder of Ethereum, tweeted about the advantages of EIP-4337 in October 2022.
The good news is that we’re narrowing down toward an actual path for account abstraction, something we’ve always wanted but have not managed to actually have!
And with the “carrot” of cost savings in rollups with signature aggregation, there’s finally an incentive to adopt it.
Avoiding the consensus layer enables accounts to go against certain (original) rules of the blockchain and perform a number of adjustments. But what does this mean for users?
Possible Use Cases and Benefits for Account Abstraction
Industry leaders and novel projects are exploring ways to apply account abstraction and open up new opportunities for blockchain technology and drive mass adoption. Here are possible use cases for account abstraction:
Improved User Experience
Blockchain technology and cryptocurrency have shown signs of maturing into an alternative to traditional financial systems. A major contributor to this is the tight security system it operates. However, this comes at the cost of a rigid design that is not only tricky but could lead to irrecoverable losses.
Blockchain users need to know how to accept and remove permissions from dApps, manage seed phrases and wallets while verifying every transaction that occurs. This creates a rather poor user experience and is daunting for someone who is looking to enter the space (hence the popularity of centralized exchanges).
Account abstraction might not completely fix this, 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-designed flexible features that make it easier for less technically-inclined users to carry out basic operations.
No Seed Phrases
One of the use cases of account abstraction is to reduce the need for a private key. It is important to note that account abstraction is currently not able to completely strike out the need for a private key, but certain contracts and protocols could be implemented to reduce the need for seed phrases and also simplify how blockchain enthusiasts manage their seed phrases.
One way it does this is by allowing EOAs to set up multiple points of control for their accounts and also set up a recovery system for their accounts in case they lose their private keys. Smart contracts could be written that allow users to fill alternative routes to their accounts that involve other authentication alternatives that aren’t seed phrases.
Access to accounts can be protected using 2-factor authentication systems and EOAs can set a recovery account for the wallets. The recovery accounts can act like your personal emails when you use the ‘Reset password’ option to set up a new password for your accounts on Web 2.0 platforms.
Another way to utilize account abstraction for this purpose is by using smart contracts to design a recovery system that posts questions to the user and allows access to anyone who correctly fills in the answers to these questions.
Account abstraction could also limit the need for seed phrases where it is utilized to develop an infrastructure that allows users to create multiple accounts that use the same seed phrases. The main account’s seed phrases will be able to unlock the sub-accounts, while an extra recovery option is used to back up the seed phrase for the main account. This then makes it possible for users to create accounts managed by a group without the seed phrase being known to all parties.
Revising the Current Fee 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 they can interact with the network. Faucet projects attempt to promote adoption by helping out new users with drips of native tokens to get started on the network, but this is hardly sufficient and opens up the potential for abuse. Account abstraction can fix this in two major ways.
One is an alternate payment structure. This can be developed using smart contracts to allow accounts to pay consensus-layer fees using a currency of their choice.
Account abstraction allows an account to pay the transaction charges for another account. A user could select this account or it could be automated through smart contracts. Cryptocurrency projects could use this feature to cover transaction fees or gas fees for users interacting with their smart contract or reduce the fees paid for each transaction by covering a percentage of the fee via smart contracts.
Setting Up Automatic Payments
Currently, EOAs must sign a transaction before they are validated on the blockchain. Even transactions initiated through smart contracts must be approved before they are executed. Recurring transactions must also be approved as many times as required. This might not be an issue for one-off transactions, however, it could get cumbersome for recurring and multiple transactions.
With account abstraction, EOAs will be able to set up an automatic confirmation protocol for recurring transactions and have them confirmed promptly without the EOA owner needing to do anything. This can also be used to set up payments intended for the future. Automated payment systems powered by account abstract could also use a different authentication mechanism like biometrics and 2-FA to simplify transaction approval.
Batching Complex Actions
Similar to the previously discussed scenario, the need for EOAs to actively put their signature on every transaction is tiresome. This is where account abstraction comes in. It can be programmed to batch multiple operations and sign them all at once, instead of clicking Approve multiple times, such as approving and executing a swap in one transaction on a decentralized exchange.
Barriers to Account Abstraction Acceptance
The possibilities discussed above are impressive and blockchain enthusiasts are looking forward to experiencing the improvements and the new opportunities that might emerge from these.
However, as account abstraction is still new, it’s possible that there may be compatibility issues with existing smart contracts, potentially making it more expensive to interact with the blockchain network. Also, as smart contracts require greater computational power, it may also lead to higher gas fees.
While blockchain-level security is currently impossible to bypass, we have seen a rise in hack incidents from decentralized applications built on the blockchain. Account abstraction and products that utilize it could mark another level of exposure for blockchain wallets, creating new exploitable gaps. The alternative account management system and external authentication systems that could be implemented through account abstraction might bring down the security level of blockchain wallets to that seen in web 2.0
Final Thoughts
Thanks to blockchain technology and cryptocurrency, f433″you are your bank.” Over the years, the irregularities in the banking system have shown just how important a personalized financial system like this is. But a perfect system doesn’t exist; the design currently presented by blockchain technology works for the ultimate security and virtualization of assets but unfortunately falls through in areas where a more flexible user-friendly system is sought.
Decentralized finance doesn’t offer the possibility and ease of account recovery enjoyed by users of traditional finance and centralized exchanges, and account abstraction looks to provide a solution to improve blockchain adoption.
It is hard to guess what the shortfalls of this technology would be since it has yet to fully come into effect. Critics suggest that a flexible access management system means more exposure for accounts and lesser security, but this is only an assumption. However, it is important to note that account abstraction is an emerging technology in its earliest stage of development. Always do your own research and risk management before interacting with protocols, and this article is only educational and not financial advice.