Account Abstraction - the game changer in Crypto User Experience
What it is, what it solves for and why it is so critical
Welcome to another edition of Crypto Explained. We are on the mission of making crypto easy for everyone. If you’d like to learn more about the world of crypto, don’t forget to subscribe to receive this Newsletter directly in your email!
In crypto, we talk about the importance of decentralization, self custody, and empowerment.
However, it is no secret that the user experience is a real pain.
I mean, we can chant “not your keys not your coins” and “be your own bank” all we want, but this will not be the message that gets across to the next wave of users.
Think about it… can we really expect the average person to be writing down 12 words seed phrases? Do you think they are going to embrace crypto if they know that losing their keys means they lose access to their wallet?
We will not achieve mass adoption in the current state.
Or people coming to crypto will end up with centralized options like FTX because it’s so much easier. Guilty as charged, I also use centralized exchanges, because I also find decentralized applications too hard to navigate.
Well, luckily some pretty smart people have been thinking about this problem too, and today we are here to talk about this game changing development: ERC 4337, aka Account Abstraction.
Let’s start from the top.
Setting some Context…
How accounts work
In order to fully understand what Account Abstraction is, and why it is so important, you need to understand how accounts work today on Ethereum.
There are 2 types of accounts:
Externally Owned Accounts (EOA): these are user-based accounts, or to put it simply, these would be your wallet accounts like Metamask, Coinbase wallets. You use it to sign transactions, and as long as you have your private key, you have full control over it.
Contract account: these are the smart contracts on the blockchain, so from a user standpoint you don’t really control it. Whatever that code defines is how the account will behave.
What’s wrong with it?
It a nutshell: bad user experience.
This design of separate accounts is the origin of the bad user experience in Web3 - EOAs are external to the smart contracts but are required to sign transactions every single time.
To be more specific:
It is highly dependent on the seed phrase, which is often stolen or lost. This means that the entire security relies on users managing a secret. As a user you can’t make mistakes, if you do, you risk losing everything.
It doesn’t have granular access control. Currently, it’s one size fits all: if you have the keys you can do everything, if you do not have the keys you can’t do anything.
Payment needs to happen from the same accounts, which means you have to buy or convert tokens to ETH, transfer, and only then proceed. For those new users, this translates into a very painful onboarding.
No flexibility for dapps (decentralized applications): one operation is one transaction, and there are no automation features such as recurring payments.
With Account Abstractions, we can now solve all these problems because it essentially removes the need to use EOA.
Understanding Account Abstractions
What is it?
ERC 4337, or Account Abstraction, is a smart contract that was deployed on the Ethereum network in February 2023, without the need for a fork.
Apparently, it’s been in the works for years: Ethereum’s cofounder Vitalik first spoke about it back in 2015, and there have been various attempts at solving these issues, until finally, in September 2021 the ERC 4337 was proposed, and got effectively launched earlier this year.
One of the key reasons this was able to be deployed is that it did not require any protocol-level change.
Why is it so relevant?
Because it’s focused on the user experience, making it easier for people to use and interact with the network.
Instead of having 2 types of accounts, with Account Abstraction, we can now remove the need to use EOA, and interact with the Contract Account directly.
If this is confusing, all you need to know is that this change enables the development of the kind of services and user experience that we get nowadays with a bank. And this is critical, because when it comes to mass adoption there are features that are essential.
Just consider how easy and convenient banks and the likes of Visa/Mastercard have made it for us, and the kind of services they offer… Convenience wins out.
So as an industry, if we want to gain traction in the years to come, we need to offer the same level of ease of use and security as we currently get from mainstream finance.
To quote Yoav Weiss, “the next billion users are not going to write down 12 words on a piece of paper. Normal users don’t do that. We need to give them better usability, they shouldn’t need to think about cryptographic keys”.
What does it enable?
I’m so glad you asked.
All of the above sounds great, but it is always easier to visualize the magnitude of a development based on clear examples, so let me list down some the of main functionalities that will be possible thanks to Account Abstraction:
Authentication and Authorization: it is possible to use any signature, say your mobile phone and sign with your fingerprint, and set up different access policies.
No more seed phrases: ultimately, you still use private keys to control access to your account, but with safety nets that make them easier and safer to manage, instead of relying on a series of 12 or 24 words.
Easy recovery: those who do lose their private key will be able to recover it through the social recovery system, which is a group of trusted individuals or a commercial service that could be used to let people regain control of their smart account even if their private keys are lost or stolen.
Flexible for more advanced use cases: such as setting up multiple keys and roles, or role-based authorization. This is very helpful in the gaming context for example, where you can configure a session key to be able to transact only within the game, without allowing the use of the key to transfer assets.
Flexible gas payment: payment doesn’t need to come from the account itself anymore. Anyone can pay.
Increased payment options: users will be able to pay with ERC 20 tokens, without having to necessarily convert/buy ETH.
More effective execution: batching of multiple operations in a single transaction.
Lesser fees: thanks to the possibility of bundling transactions, users no longer have to pay gas fee for every single transaction.
Time-dependent & event driven flows: this refers to setting up recurring payments, transactions for a specific price, spending limits, etc
So what comes next?
The fact that ERC 4337 Account Abrastraction did not require any protocol level change made it feasible and contributed to the successful deployment.
This means that it is already live, and ready for developers to use.
But this is not all.
ERC 4337 is available for any EVM compatible chain, including Layer 2s (Abitrum, Optimism, etc), as well as EVM compatible Layer 1s, such as BNB Smart Chain, Avalanche, etc.
This definitely goes way beyond just Ethereum.
Developers are already starting to work with Account Abstraction. So in the short term, we should expect:
Layer 2 and other EVM networks’ overall experimentation and adoption.
Focus on exploring the increase in usability, security, and other features for users.
In the longer term, it might get adopted as part of core Ethereum’s protocol.
Closing Thoughts
In the midst of so much happening in the macro environment, there is so much relevant development in the background with so little coverage.
I hope this article gives you a better sense of how game-changing Account Abstraction is.
This is the critical step that will take us to the next level, and hopefully, mass adoption.
Thanks for making it this far! If you enjoyed it, hit like, subscribe, and share, so more people can find us!