Navigate back to the homepage
HomeAbout

Why do we need Account Abstraction?

Author avatar
Milica Vulić
May 24th, 2023 · 3 min read

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?

Wallets

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

Gasless Transactions

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.

Social Recovery

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.

Creativity

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.

Share:

More articles from 0xMilica

When ZK meets Medicine

What on Earth could bring such a collaboration? How could one combine the two? Being part of Zuzalu is an exciting and immersive experience in many manners, especially when it comes to widening our views. It was quite an honour to be invited to spend two months with some of the world's most remarkable experts in different fields. Every time I looked around, I found experts. ZKs, biology, ageing, longevity, network states, DeSci… you name it. This was a very fertile ground for making connecti

May 18th, 2023 · 4 min read

Optimising gas usage in Solidity

Lately, it became tricky to find truly efficient solutions for gas optimisation online. What happens is, either they are simply wrong assumptions, or they became obsolete in the meantime, or we need more context to fully understand the proposed solution. But, one thing is for sure - There is always some puzzle missing. The following examples are based on Branislav's lecture using the Tenderly gas profiler and simulations which are completely free - make sure to create a profile there and enjoy

February 6th, 2023 · 10 min read
0xMilica © 2023
HomeAbout
Link to $https://twitter.com/0xMilicaLink to $https://www.linkedin.com/in/0xMilica/Link to $https://github.com/0xMilica