What is Account Abstraction?

Ethereum has undergone one of the most complicated changes in the history of the cryptocurrency world only a couple of months back. However, that does not mean that the development of this cryptocurrency is over. On the contrary, many possible improvements have already been proposed and account abstraction is one of them.

While account abstraction as an idea has been around for quite some time, the priorities and thus focus and energy of most the developers have been elsewhere. But now, it seems that many more of them will be looking at new challenges, of which account abstraction is one of them.

Few starting points

Before we start introducing the idea of account abstraction, a few things about how Ethereum works in the current state need to be specified. Some of these are reasons for this improvement proposal to be implemented, which means that it is necessary to understand why these changes are being talked about.

First things first, the current Ethereum network has two types of accounts. The first one is called Externally Owned Accounts (EOA) and the second is Contract Accounts (CA). The first one is mostly used by traditional users, so technically any account, address or wallet normal people use is EOA. On the other hand, CA accounts belong to the category of DeFi protocols and Apps, essentially being more complex and technical.

Now, all the accounts that are on the Ethereum network are associated with a cryptographic object that is called a signer. That is divided into two parts, a public and private key, which are pretty standard concepts in the cryptocurrency world.

The user of any EOA account will need these keys, more specifically the private key, to prove the ownership of any given address, which is again considered a standard. Moreover, EOA addresses also have three unique properties which are balance, nonce and address.

The current logic of how everything on Ethereum works is thus very straightforward. If you are the owner of a private key, you automatically have an account with the associated address. That means that to be able to access your funds on the address, you need to be in possession of your private key that is corresponding to that address. This is essentially something that is hardcoded into the heart of the Ethereum Virtual Machine (EVM).

That however also means that if someone gets your private keys, either by luck or by force, they are in charge of your account. Or, if you lose your private keys, you will lose the access to your account, forever. Or at least until you get your hands on the private keys again.

Hundreds of millions dollars-worth have been already lost due to the inability to access accounts either through loss or dispossession of private keys. And that is essentially one of the problems that account abstraction wants to solve.

What is Account Abstraction?

Account abstraction (AA) would be a change that would move to enforce a single account type. So instead of Externally Owned Accounts (EOA) and Contract Accounts (CA), there would be just one type of the account. The new type of the account would serve as a smart contract with the different functionalities such as signature verification, gas payment, replay protection etc.

It would therefore also be a change from the technical standpoint, where currently EVM works with a “one-account-fits-all” approach. This means that it would be much harder to lose your keys or access to your wealth, since the account could be tailored to your needs, with for instance inbuilt self-custody features. Overall, it would mostly reduce the number of account types, while improving the usability of them.

All of this can be done thanks to the fact that the account abstraction would decouple the signer from the account by turning the accounts into smart contracts. If this happens, the accounts will work on their own, having their own logic that could be pre-specified by the owner of the account. The only rule that would need to be followed is that the account would need to work with a specific interface and meet the requirements of defined methods. Thanks to this, it would be able to validate and execute transactions.

The shift that the account abstraction would bring can have countless benefits and use cases. Here are just some of them:

  • Support for multisig transactions and social recovery as well as more efficient signature schemes such as Schnorr or BLS
  • The ability for 3rd parties to cover transaction fees
  • Paying for transaction fees in other cryptocurrencies than ETH

These and many other options that the implementation of account abstraction are the reason why it has been so desirable for so long. Even Vitalik himself has stated on many occasions that implementing it has been a long term “dream” for Ethereum developers. That is probably one of the reasons why there have been many tries of its implementation getting proposed.

History of account abstraction

While this article does not provide a comprehensive history of account abstraction, it will include some brief talking points, which were crucial in moving AA to the state where it is now. Here are few of the most important Ethereum Improvement Proposals (EIPs) that helped in shaping the account abstraction to the stage where it is now:

History of EIPs concerned with account abstraction, Source: etherworld.co

EIP86

While the initial idea was proposed by Vitalik Buterin in the year 2016, the EIP86 was the first that mentioned it in more detail. In 2017, when the EIP86 was proposed, it was meant to prepare an account security abstraction. Simply said, in the newly proposed model, the goal was to abstract signature out of the verification and nonce checking. It would also allow the users to establish account contracts that conduct any required signature checks.

EIP2938

Next was the proposal of Vitalik with Ansgar Dietrichs, Matt Garnett, Will Villanueva and Sam Wilson. To put it simply, the goal of EIP2938 was to allow the contract to be a top-level account. It would be able to pay fees and start transaction execution.

In their proposed model the AA would be divided into two categories, single-tenant AA (to support wallets) and multi-tenant AA (which would enable applications to have many users). It was proposed in 2020.

EIP3074

An interesting approach was proposed by the EIP3074, where essentially the EOA accounts would behave more like smart contracts, allowing users to delegate control over their EOA to the contract. This would mean that the users of EOA that currently exist would be able to benefit from the features of AA without the need to create new smart contracts.

While this proposal has taken a different approach, it has its opposition. Many members of the community have voiced their concerns connected to the security tradeoffs of solutions such as this one. Backing up the seed phrase would be one of them. To many this is one of the most important issues that the AA should solve, which clearly means that this proposal does not meet the necessary requirements.

EIP4337

Last, but definitely not least, the EIP4337 is probably the most important one when it comes to account abstraction. This is the latest proposal of Vitalik Buterin and the whole Ethereum community and it aims to accomplish several goals. These are for instance decentralization, no consensus changes or payment of transaction fees using ERC-20 tokens.

Proposed in late 2021, it also aims to solve other problems mentioned above such as multisigs and social recovery, upgradeability, more efficient and simpler signature algorithms or post-quantum safe signature algorithms.

Conclusion

With the past being relatively short when it comes to account abstraction so far, the future seems bright. Some projects are already looking at ways to incorporate all the possible solutions into their platforms or services, which means that one can expect this improvement proposal to be on the rise. Especially in the coming months and years.

Disclaimer: BingX does not endorse and is not responsible for or liable for any content, accuracy, quality, advertising, products, or other materials on this page. Readers should do their own research before taking any actions related to the company. BingX is not responsible, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with the use of or reliance on any content, goods, or services mentioned in the article.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
BingX

Since 2018, we’re committed to accelerate the development & booming of the crypto economy, making crypto accessible and engaging EXplore Unlimited PoXibilities