Understanding Account Abstraction: DeFi’s Next Stage of Evolution

cover
6 Jun 2024

If you’ve been exploring decentralized finance for a while now, you’ll have actually come across projects offering “account abstraction” at some point or the other. If you haven’t, give it time… you will. The reason for this is simple: account abstraction is gaining much attention now.

This attention is so much that many DeFi investors immediately know that putting money into a project that offers AA means you almost have a 100% chance of making serious profits. But interestingly, many don’t understand why the account abstraction meta is so big.

In this post, I’ll show you that account abstraction is more than a transient buzzword and explain why you should pay close attention to this innovation. Don’t worry if you’re new to DeFi and web3; I’ll make all my explanations as simple as possible so you can follow easily. Let’s go

What Is Account Abstraction?

The first thing you need to know right now is when you hear account abstraction, the project in question is in some way related to the Ethereum blockchain.  In some months or years, this innovation will have likely spread to other blockchains, but for now, it’s all Ethereum.

Having said that, it will be pretty difficult for you to understand what account abstraction is without first learning why current crypto wallets are inefficient. So, let’s start with that.

The Inefficiencies of Crypto Wallets

DeFi wallets are great innovations, especially considering the sheer amount of freedom, autonomy, and control they offer. However, it also has to be said that with the current state of decentralized finance, they are rapidly becoming inefficient relics that cannot keep up with the demands of modern DeFi. Let’s take a look at some of these areas of inefficiencies that leave much to be desired:

#1. Security

If you create an account using a wallet like MetaMask or Trust Wallet, you’ll need to first back up a complex seed phrase and maybe even your private key somewhere. This seed phrase is so important that if you forget it, you’ll forever lose access to that account. Even the wallet provider themselves can’t help you recover that account once you lose it.

Now let me ask you: In the past 5 months, how many times have you had to reset your password to any of your accounts because you forgot the old one? Wait, let’s make things clearer.

According to WIRED, four out of every five persons have forgotten at least one password within the last 3 months. Now, consider the fact that you actually chose your password yourself, and you still forgot it. A seed phrase isn’t something you get to choose, and it is way more complex than any password. Plus, once lost, there is no way to recover it. You see where I’m going with this?

#2. Transaction Fees and Speed

How many times have you tried to buy a token or confirm a transaction only to find you don’t have enough native tokens to process fees? I’m willing to bet this has happened to you many times. Considering the fact that in DeFi, speed is often critical, it means you’ll have probably lost lots of money simply because you couldn’t complete your transaction when you needed to.

Then there’s also the fact with a traditional crypto wallet, you’ll have to keep on “signing” as signing whenever you need to do anything. Again, this is great for added security, but a bird’s eye long-term view proves it is inefficient.

#3. Complexity

While it’s true that newer dApps are paying more attention to user experience and ease of use, the fact is most dApps are still complex. Some dApps are so complex that even experienced traders and investors still struggle to navigate them. As such, although these decentralized applications hold a lot of potential, it’s become too bothersome to unlock their true potential.

With all of the above in the back of your mind, let’s now delve into exploring what account abstraction is.

Account Abstraction as A Game-changer

Account abstraction is quite simply a concept and mechanism designed to enhance the functionality, flexibility, and usability of blockchain accounts beyond their current limitations. I particularly like how Metamask defined abstraction as “the process of hiding the complexity of a system by providing an interface that eases its manipulation. This is because it makes so much sense when you consider the main goal of AA, which is defined earlier.

Now, forget about account abstraction for a moment. Let’s consider the current framework of DeFi wallet interactions using Ethereum as a case study:

Basically, there are broadly two types of accounts on the Ethereum blockchain:

  1. Externally Owned Accounts: This includes accounts in popular wallets like MetaMask and Trust Wallet. With EOAs, you can easily send and receive cryptocurrencies and perform somewhat basic interactions with smart contracts.

  1. Contract Accounts: These accounts are different from EOAs in that instead of a private key, as seen in EOAs, these accounts operate using logic codes, and they are deployed as smart contracts. Now, while these accounts have an advantage in that they can execute code, they actually have the significant limitation of not being able to originate transactions, unlike EOAs.

You’ll agree with me that the ideal wallet will be one that seamlessly combines the best of both EOAs and Contract accounts in one package. That’s precisely the idea behind “Smart Wallets,” which are designed using next-gen infrastructure and tech for account abstraction.

It would interest you to know that Ethereum’s co-founder, Vitalik Buterin, considers account abstraction an important innovation for providing security and convenience for the entire blockchain ecosystem.

How Does Account Abstraction Work?

To gain a really solid understanding of how account abstraction works, you’ll need to understand what abstraction means and what exactly is being abstracted. Note that this section will also directly tie to the benefits of account abstraction, so there won’t be a separate section for that.

According to BBC, Abstraction is the process of filtering out – ignoring - the characteristics of patterns that we don't need in order to concentrate on those that we do.” Now, bringing this back to account abstraction, this simply means there are various aspects of a wallet’s normal operations that users will not have to deal with. In other words, some processes will be abstracted. Get it?

There are three key areas account abstraction is designed to improve. These include the following:

#1. Signature Abstraction

Remember that I mentioned earlier that using traditional wallets means that you’ll have to keep on signing and manually approving every single transaction. But interestingly, compared to other associated complications associated with issuing manual approvals, this almost seems trivial.

The reason for this is simple: EOAs are notoriously susceptible to exploitation attempts like phishing, social engineering, and malware compromise. Additionally, they heavily rely on private key protection as their sole protection mechanism.

What signature abstraction does here is:

  • Firstly, it introduces the possibility of 2FA in web3 transactions. With signature abstraction, you can set up your smart wallet to delegate some percentage of account authority or control to a separate device or wallet. As such, even if your account gets compromised, anyone trying to move funds out will still need access to your second device before they can do anything. You can refer to this feature as “Guardian Approval.”
  • Secondly, you can abstract your wallet such that it automatically rejects the transfer of funds above a certain limit from your account. If it has to be done, you can program it to request additional authorization before any transaction above preset limits is approved.
  • Thirdly, signature abstraction also allows you to set up recurring payments from your smart wallet… pretty much like how your HULU or Disney+ subscription works.

At this point, I should also mention that signature abstraction makes it possible to introduce “Social Recovery.” This simply means that, unlike EOAs, where your funds are permanently lost if you lose your private key, or it gets stolen, you’ll always be able to regenerate a new one. As an added perk, you can also use your 2FA account to temporarily freeze your wallet and validate new key requests before they are generated.

#2. Fee Abstraction

Have you ever wanted to initiate a swap on a particular blockchain only to discover that you don’t have enough native tokens to settle gas fees? It’s usually very frustrating, isn’t it? Fee abstraction makes it possible to pay gas fees using any token.

Now understand this: it’s not like the blockchain validators suddenly start accepting gas fees in alternate tokens. Instead, the way this works is if you don’t have enough, say, ETH for gas fees but you have another ERC-20 token, what fee abstraction does for you is it connects you to a third-party dApp or Relayer. The relayer pays the gas fees in ETH for you and accepts equivalent payments in a particular ERC-20 token.

Because of the abstraction, you don’t get to peek under the hood and run through these steps manually. Instead, you just have your transactions seamlessly processed with just one click. Pretty slick, right? That’s not all

With account abstraction, dApp developers can embed completely gasless transactions into their dApps. This, in turn, allows for a more seamless onboarding and user experience. Again, it isn’t that network validators aren’t charging processing fees. Instead, the developers or projects will be the ones sponsoring these payments.

#3. Nonce Abstraction

One thing I particularly like about this aspect of account abstraction is its introduction of transaction batching. This means that you’ll be able to combine multiple transactions into one streamlined package for on-chain processing.

Let me explain why this is important.

EOA wallets like MetaMask always record how many transactions your account has carried out. To ensure order and accuracy, each transaction is assigned a “nonce value.” The basic rule here is the value of each nonce has to be “+1” more than the previous one. Now, pay close attention.

If each transaction has a nonce value and each nonce must be +1 of the preceding one, it simply means you cannot ideally run two transactions simultaneously. Think for a moment about what this means for processing speed and efficiency.  I mean, you could always try to send two transactions simultaneously, but I can guarantee you that one will fail.

Nonce abstraction makes it possible to create a unique system that allows multiple transactions to be processed independently using a combination of a "key" and a "sequence" to manage nonces. This approach allows for custom logic in transaction ordering and replay protection.

Conclusion

As you can see, account abstraction is a pretty major development for the Ethereum ecosystem and the entire world of decentralized finance. We’re still in early days though but if I were a betting man, I’d be looking into projects offering account abstraction as a feature.

In my next upload, I’ll be explaining chain abstraction. You wouldn’t want to miss that so be sure to subscribe to ensure you don’t miss it.

Bye for now.

Resources:

  1. https://metamask.io/news/latest/account-abstraction-past-present-future/
  2. https://www.theblock.co/post/284908/vitalik-buterin-account-abstraction#:\~:text=Ethereum co-founder Vitalik Buterin,conference in Seoul%2C South Korea.
  3. https://medium.com/@alex-100/what-is-account-abstraction-and-why-is-it-important-9627a4ced4f3#:\~:text=Account abstraction is a method,be programmed for various purposes.
  4. https://hacken.io/discover/account-abstraction/