Do you want to be able to recover your funds? - Write an arbitrary logic in code on how to do it!
Even though crypto is still recovering from the crypto winter, few people are left who still doubt that crypto is here for the long haul. The number of crypto users is counted in millions.
Source: https://www.zippia.com/advice/cryptocurrency-statistics
By 2025, the global crypto market will grow with a CAGR of over 56%.
While the numbers are impressive, many specialists insist that some improvements are needed to make the market expand faster and finally lead to crypto mass adoption. Account abstraction is said to be one of those necessary improvements.
Is it really so?
To understand whether account abstraction can speed up crypto mass adoption by bringing millions of new users to the world of digital assets, let’s explore in more detail what we are talking about.
Non-custodial wallets and private keys
All crypto users know what a non-custodial wallet is. In common sense, it is an application that stores our private and public keys. Public keys are used to share with others to receive funds, and private keys provide access to the funds stored on a blockchain. Storing private keys is the responsibility of the user. Normally, they are stored externally, on a device, or on a piece of paper. That’s why non-custodial wallets as we know them are called externally owned accounts (EOA).
Now, what is the problem?
If a user loses private keys, he uses the access to his funds. So, storing a public key or a seed phrase is a huge responsibility.
How big is this responsibility?
Well, have a look at these numbers.
In the case of fiat, even if you lose a bank card, you aren’t completely lost. You can recover your funds from your bank account. In the world of crypto, a single mistake will cost you your funds, and it cannot be changed.
Losing private keys is not the only issue the EOA owners face. Malicious actors find new ways to compromise private keys. Phishing, social engineering, spoofing, and similar attacks are flourishing.
Another thing to consider is that quantum computers are coming, and many experts believe they can break ECDSA - a specific signature scheme Ethereum uses to generate cryptographic signatures based on a public & private key pair. It means that once developed enough, EOA signatures needed to confirm a transaction can be generated easily, thus allowing somebody else to transfer funds from your wallet.
That’s why private keys are not the best way to ensure account safety.
Can account abstraction solve these problems?
Along with externally owned accounts (our non-custodial wallets), there is also another type of account, smart contract accounts. A smart contract account is not controlled by a single user but by contract logic. So, not a single user but the contract logic will determine what a valid transaction is. And this logic, in turn, can be customized to fit your needs:
More options?
They are endless! Developers can code smart contract wallets to meet their needs. Yep, for developers, account abstraction will definitely move their efforts to a completely new level. But what about ordinary users? Is account abstraction a tool that can attract millions of new users to crypto?
The situation with ordinary people doesn’t look that bright to me. As a user, I do not care indeed how my wallet interacts with a blockchain as long as I can use it easily. I shall admit that most wallets are user-friendly enough, and additionally, there are so many guides and video manuals that it is easy to figure out how it all works.
However, if there are a lot of wallets with different configurations, an ordinary user will be even more mixed up than now. In this regard, for the technology it may take ages to make the use of wallets easy and intuitive for anybody. Therefore, I do not think that account abstraction will speed up the mass adoption of crypto. Over time, it will make a significant contribution, but the process isn’t going to be as fast as many claim.
Benefits to developers? There are many but that is already a different topic. So, what about checking it in the next article? I am looking forward to your comments on whether you are interested to learn more about how account abstraction can be used for developers.