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
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.
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:
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.
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.
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 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:
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
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:
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:
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.
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.
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.
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: