What is Account Abstraction and How Does it Work?

BeginnerAug 23, 2023
Account Abstraction is a blockchain technology that unifies contract accounts and EOAs into programmable smart contracts and enables them to initiate transactions.
What is Account Abstraction and How Does it Work?

The internet is an essential part of our everyday lives, but before it became widespread, only a few users knew about it and used it accordingly. Blockchain technology finds itself in the same position and aims to attain the same status as Web2 and be useful in daily life. Account Abstraction is one project that could ensure the mass adoption of cryptocurrency. This article discusses this new technology, how it works, and cases of account abstraction.

Recap on Ethereum Accounts and Transactions

To fully grasp the idea behind account abstraction and its potential benefit to the Ethereum ecosystem and the cryptocurrency industry, we need to understand the different types of accounts we have in Ethereum and how account abstraction aims to improve things.

Firstly, Ethereum has two types of accounts:

Externally-owned account (EOA)

These accounts are controlled and managed by users outside the blockchain ecosystem. They are managed through public-private ley pairs and the user who owns the private key can use the assets stored in the EOA.

EOAs use 12, 18, or 24 string of words called seed phrases. These words are generated when a user is setting up their wallet. The EOA uses this seed phrase to generate a private key that the user uses to sign transactions.

The seed phrase is the key to the wallets, and users must safeguard their seed phrases to secure them against hacks and thefts. If the private key is eventually lost, the seed phrase is the only way the user can gain access to re-generate the private key, opening the doors to stored assets.

EOAs are an essential part of the design of the Ethereum system. EOAs power the network and can only go through a state transition when an EOA starts a transaction and uses ETH to pay gas fees. Although EOAs are essential to the Ethereum ecosystem, they are limited in features and flexibility.

EOAs can perform two basic functions:

  • EOAs can transfer tokens from one EOA to the other
  • EOAs can initiate transactions that trigger another smart contract transaction.

These functions, however essential to the Ethereum ecosystem, are not without their flaws. Some of these flaws include:

Poor Security

Seed phrases are the only security linked to EOAs. So when users lose their private keys and seed phrase, they lose access to their stored assets since there is no recovery option in case such things happen.

No Customization

Owners of EOAs must sign every transaction manually, leaving no room for automation or customization of transactions.

Gas fees

ETH is the token used to pay gas fees in the Ethereum network, and owners of EOAs must have a balance of EOAs must have ETH at their disposal to cover the gas fee for any transaction. They can not use any other token to make such payments.

Poor user experience

The ecosystem is not suitable for users who are just entering the system, leading to an overall poor user experience.

Contract Accounts

These are smart contracts functioning as crypto wallets. It allows users to code various logic into the smart contracts, making the transactions customizable, with the added advantage of adding other features to the accounts.

However, contract accounts can not function on their own. They can not initiate transactions and only execute certain actions when transactions from an EOA trigger the smart contract code. Contract accounts also don’t have private keys or seed phrases.

To operate a contract account, users have to possess an EOA with an ETH balance, making it easier for harder for users to operate a contract account than operating an independent EOA.

Source: Metamask

EOAs have shown their vulnerability over the years. Its major disadvantage is the long and tiring process required when initiating a transaction and the lack of security and account recovery services if the user loses their private key.

What is Account Abstraction?

Account abstraction is a proposal for a blockchain system paradigm that allows users to utilize smart contract wallets rather than the usual EOAs. This proposal suggests the elimination of EOAs in carrying out transactions.

Account abstraction unlocks several possibilities: signless transactions, co-owned wallets, bundle sign, whitelist smart contracts, outflow rate control, and easy wallet recovery when private keys are lost. These additions will make web3 safer, faster, and more flexible for users.

Where did Account Abstraction Come from?

Account abstraction dates back to the creation of Ethereum. Over the years, many blockchain account abstraction approaches have been tested. They came as Ethereum Improvement Proposals, EIP-86, and EIP-2938. These versions failed at practical application and are currently inactive.

EIP-3074 is another account abstraction proposal that proposed using sponsored transactions rather than trying to convert smart contracts to EOAs. It allowed users to give control of their EOA to a smart contract, allowing developers a fluid platform to build new transactional models for EOAs. Users could utilize the advantages that come with account abstraction without having to use a contract.

In 2021, Vitalik Buterin, the founder of Ethereum, and other prominent blockchain pros released a proposal on account abstraction, which aims to improve user experience, enhance the security of wallets, and many more. This new proposal, EIP-4337, shows how account abstraction can be achieved by relying on high-layer infrastructure rather than consensus-layer changes. It has been live on the main net for a while now, and now developers are focusing on developing wallets that support EIP-4337, making it EVM compatible.

How Does Account Abstraction Work?

What account abstraction does is merge externally-owned accounts and contract accounts into just one account. It can move different functions of both accounts, such as signature verification and gas payment, out of the core protocols into the Ethereum Virtual Machine (EVM).

The combination of these two accounts is called smart contracts or abstracted account wallets. Smart contracts act entirely differently from EOAs by using UserOperations rather than sending regular transactions like EOAs do. UserOperations represent operations conducted on behalf of the user.

The UserOperation object includes several data elements that specify the type of transaction, the token limit, and the gas fee at several transaction stages. Smart accounts send UserOperations to a common waiting area called mempool, which houses UserOperations.

These UserOperations are bundled by bundlers, which function similarly to nodes that verify regular transactions. They also use the same logic as mining and validator nodes to arrange transactions in an order that generates the most value. The bundler holding the UserOperations is then sent through an entry point where each separate UserOperation is verified by using different functions.

An example of how account abstraction works is its implementation in Argent Wallet. Argent is a smart contract wallet that provides users with a seamless, efficient, and secure experience. Argent has pioneered major features relating to account abstraction like social recovery, multi-call, or on-chain fraud monitoring.

Objectives of Account Abstraction

Account abstraction was first introduced as Ethereum’s latest solution for wallet security. Several popular blockchain experts, including Ethereum’s founder, wrote the account abstraction proposal, and this proposal was equipped with certain objectives that account abstraction aimed to accomplish.

Some of the objectives include:

  • Elimination of EOAs: Externally owned accounts (EOAs) are wallet solutions that depend on a pair of keys, one public key, and the other a private key, to initiate and execute wallet activities. EOAs tend to be less versatile and secure when compared to code-based accounts, which utilize smart contracts to validate wallet activities. EOAs can be eliminated by account abstraction by allowing users to turn their smart contract wallets into their primary accounts.
  • Further Decentralisation: Complete decentralization is one of the major goals of the crypto ecosystem, and account abstraction can help boost the decentralization plan that is the backbone of blockchain and cryptocurrency technology. Account abstraction will allow users to carry out wallet activities over a mempool and restrict access to direct communication addresses.
  • Back-Up For Other Use Cases: Account abstraction is also considered a major factor that could support Ethereum use cases like privacy securing apps, aggregated signatures, and atomic multi-operations. Ultimately, account abstraction is likely to become an important part of the Ethereum ecosystem, boosting scalability and evolution in the future.

Why is Account Abstraction Important?

Most cryptocurrency projects aim to enhance user experience and make it easier for users to join the ecosystem and use the numerous platforms seamlessly. Account abstraction makes that possible in the following ways:

Improved User Experience

Account Abstraction converts EOA into smart contracts with the logic used to set the requirements for the completion of a transaction. This means the signer who authorizes transactions with a private key and the account can be separated, leading to several possibilities for account use.

Account Abstraction could allow the EOA to perform various actions, such as using different or no keys to authorize transactions. It could also change the signer of the account every other week.

This makes things easier for users to modify and use their accounts however they like. Users no longer have to worry about backing up their private key due to the introduction of social recovery, giving them an account that is more flexible and accommodating, leading to a better experience for the user while using the platform and its services.

Increased Security

Account abstraction has various uses, one being increased wallet safety. EOAs are equipped with several limitations that restrict users unfamiliar with blockchain. Some limitations include:

  • Possible centralized failure due to lack of multi-signature validation options
  • Lack of spending laws and minimal customization
  • EOA gas fees
  • Few private transactions and interactions
  • No transactions in batches

These limitations are challenges facing the average user looking to participate in blockchain and web3 spaces. These limitations prevent users from securing their wallets and safeguarding their transactions, leading to mistakes that might jeopardize the funds’ safety in the accounts.

Most users are new to how crypto accounts and transactions work. As a result, they tend to make costly mistakes that might lead to them losing funds. Account abstraction gives users a more user-friendly platform, making it easier for them to navigate and understand how it operates, making it easier to guard their accounts safely.

Account abstraction fixes this by giving users the power to set clear transactional rules that dictate the transactional activities of a wallet by implementing programmable logic. Logic can be seen as a layer over the wallet before activities are carried out.

Downsides To Account Abstraction

Account abstraction, like every innovation, has its little flaws. Although it has numerous benefits and can greatly improve the experience of the users in areas of security and user experience, these smart contracts still come with disadvantages, such as:

  • Increased Gas Fees: In exchange for having more control over the conditions of their smart contract transactions and its easy-to-use user interface, users will have to pay higher fees. This is because smart contracts require higher computational power, leading to higher gas fees.
  • Compatibility Issues: Wallets that are not abstracted will likely not be compatible with account-abstracted wallets since they are new to the blockchain community. This could lead to a whole realm of issues while interacting with blockchain networks.
  • Adoption Challenges: The Ethereum ecosystem is built around EOAs, and most users on the platform have EOAs rather than smart contract wallets. This might cause the initial adoption of abstracted wallets to take a while and a lot of time to get people on board. Exchanges, dapps, and protocols must work to catch up to speed before the new feature becomes fully compatible with the right use cases.

Use Cases of Account Abstraction

Account abstraction facilitates interactions between users and smart contract accounts without using Ethereum addresses and private keys. This gives users a couple of use cases with existing applications. Platforms stemming from account abstraction will affect several areas and enhance the blockchain system with key features like:

Flexible User Onboarding

With account abstraction, users can create accounts using familiar methods rather than the normal process of generating and properly managing cryptographic key pairs. This greatly eases the entry of new users into the blockchain system.

Automated Transactions

With EOAs, users have to initiate and sign on every transaction manually, and there’s no way to automate this process. With smart contracts, users can select and set certain parameters such as spending limits, gas limits, access to certain tokens, and much more.

ERC-20 tokens

Another key feature for account abstraction is using ERC-20 tokens for any platform transaction. This would erase the need for users to hold, exchange, and spend their ETH balance to complete their transactions.

Shared Accounts and Term Wallets

Account abstraction allows users to share different levels of wallet access with multiple users. Users can set a multi-signature where two or more users must sign for a transaction to be executed.

Recurring Payment

Since users, with the aid of account abstraction, can now control their accounts freely, they can set their accounts to make regular payments rather than repeating the same transaction repeatedly.

Wallet Recovery

Smart accounts do not require seed phrases for security, meaning account owners can assign multiple devices, other users or third-party services as guardians. This helps in situations where the users lose their credentials. The guardians can sign a transaction to assign new credentials to gain access to the smart account.

Conclusion

The possibilities with account abstraction are numerous, and once fully incorporated into the blockchain ecosystem, users and developers will greatly benefit from its different implementations.

Author: Tamilore
Translator: Cedar
Reviewer(s): Matheus、KOWEI、Ashley He
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!
Create Account