As time flies, us humans are less satisfied with our inventions than we were when we conceived the idea. We are streaming to making things better with every iteration, and that’s precisely what makes us both imperfect and imperfect beings; at the same time, struggling to find peace within ourselves and feel relieved when we change the world for the better.
Before Account Abstraction
We were not satisfied with smart contracts and EOAs. We needed more. We needed them to learn from one another and adopt their lacking good properties.
It was programmability for externally owned accounts (or EOA). For smart contracts, it was invoking transactions.
The first approach, where the idea is to add programmability to the EOAs, demands a change on the protocol level, affecting how it functions.
A second approach could be conducted either through the protocol or by applying standard ERC-4337. This standard promises more minor protocol changes, making it possible to avoid consensus-layer protocol changes instead of relying on a higher-layer infrastructure or application layer.
So - what are the benefits of Account Abstraction?
Over time, as adoption comes, accessibility and ease of use of web3 will come in a spectrum.
Let’s make an example using the PC market:
- Non-technical people will value good UX the most and will buy a Macbook, making it seamless and easy.
- Others, more technical and prefer more control, will install Ubuntu.
- But the most technical and distrustful ones will compile their Kernel and OS from the start to ensure they are entirely safe.
The same goes for the wallet market:
- Non-tech-savvy users will not even want to be aware they’re using a blockchain. They’ll need a user flow which makes it very easy and allows for some capricious behaviour.
- More technical folks will want some good balance between trustlessness and ease of use.
- The most decentralised of the bunch will stick to the old ways
It also allows entities other than users to pay for gas, making the UX much easier. Protocols can even subsidise and pay for it instead of their users and later include it in the cost, making a traditional SaaS model more feasible.
Right now, if we lose our keys, that’s it. With programmable accounts, we can set up mechanisms for recovery.
Be it through other _“guardians” _we give access to or using traditional Web2 authentication for recovery, possibilities are endless here.
Programmability allows creativity.
Ethereum is the perfect primer on that - who knows what other use cases people will find and what stuff can be created once we give power to the people’s hands.