ELI5:Account Abstraction

A case for self-custody

I have been shut down by banks multiple times without a sufficient reason. Even when I ask for clarification… “Please read T&Cs.” Thanks for that fabulous and precise insight, Steve.

A majority of us don’t trust banks, and it's a big reason why we joined the web3 space. Banks don't have your best interests at heart, so why should we store our money there? This is where self-custody enters.

No one can take your possessions. You have complete control.

Sometimes a bit too much control.

Web3 wallets are quite simple. If you own your keys, you own your money.

Nobody can take control of your money, that is, unless they have your seed phrase.

Who knew words were so dangerous?

I wasn’t the biggest fan of English class, but damn, no one told me that twenty-four words could make or break my financial future.

“Sticks or stones may break my bones, but your words will never hurt me.”

I hate to break to you, but twenty-four words could make any crypto HODLer cry like Niagara falls.

Steve, James, and so many others have lost fortunes simply because they lost twenty-four words…

But why do I keep talking about these words?

Chainanalysis believes that around 25% of bitcoin has been lost through seed phrase wallets.
Chainanalysis believes that around 25% of bitcoin has been lost through seed phrase wallets.

Unless you live life on the edge, you are likely storing your wallet seed phrase on an offline phone/laptop, bank safe, or even a piece of scrap paper in your basement. 

And honey… this ain’t the way for you or the rest of the millions or billions of web3 users. Self-custody comes at the cost of convenience and, in some cases… millions of dollars.

Seed phrase? What am I planting?

Seed phrases are a list of 24 randomly generated words that enable a person to take control of the private key behind an account. Wait, let’s roll that back a second.

Private keys.

Private keys are kept secret for a reason. A private key acts as the valid signature enabling you to authorize a transaction. Essentially it means this….

Private key = control of an account

If you lose access to your wallet by losing your phone or laptop, your seed phrase will enable you to regain access to your private key. One more time for the crowd…

Private key = control of an account

This is the current failure of the system, but we will get to that later.

Back to planting some phrases.

Seed phrases are not a viable option to onboard the next generation of crypto users. My mum is a Facebook power user and can use all the filters in the world but ain’t nobody got time to keep a record of 24 words.

Whenever I return home from traveling, I repeat the same sequence of events.

  1. Eat some chickpea curry.

  2. Hug a tree.

  3. Check my seed phrase on three different forms of offline storage.

  4. Be a happy bob.

Self-custody is an essential part of convincing people to move to crypto, but it comes at the cost of inconvenience and stress. Account abstraction will remove this pain and make self-custody much more straightforward. 

First, let’s dive deeper into the problem and understand how wallets act.

A primer on Ethereum accounts

Wallets currently act as Externally Owned Accounts (EOAs).

An EOA account has the following features:

  • A public address for identification

  • A nonce to ensure transactions are unique

  • A balance in ETH to pay fees 

Earlier, I mentioned private keys as the authorizer of transactions. A public key is public and will give your wallet address.

One final time for the crowd…

Private key = control of an account

The signer and the account are merged.

Signer: Authorised to spend your tokens

Account: Holds your token.

To authorize a transaction, this currently means that you possess control of the account. With control of the account, you can spend the contents of the account (tokens and NFTs).

This is one of the biggest issues of EOAs.

Your entire wallet depends on controlling this signer. Lose your private keys, lose your wallet.

Time for divorce

Let’s break up the account and the signer.

Signer =/ Account

This simple act enables so many more opportunities since authorization to spend tokens is no longer associated with the wallet. This means we would no longer term these as EOAs. We are now entering the world of smart contract wallets.

Now your account can become a smart contract that defines a valid transaction.

A valid transaction could be multiple signers, replacing signers, or even using different signature schemes.

At first, it sounds pretty weird to separate your signer from the account because how else do you authorize transactions? This separation enables your account to swap, replace signers or add multiple signers. Abstraction at its finest.

Divorce = Double the Presents.

Who knew divorce would be good?

The divorce of signer and account give presents that you want or, dare I say, need.

Social Recovery

This is the bad boy of AA. We can say goodbye to seed phrases. No longer do you have to keep 24 words safe anymore.

Social recovery can be done via off-chain or on-chain methods. This is all made possible by Argent, the first social recovery wallet.

You can have authorized guardians (MetaMask accounts, Ledgers, or Argent accounts) who can help authorize a new key as the legitimate owner of your account.

If you ever lose access to your account, all you need to do is get in touch with your guardians and get them to approve the recovery process. To make this a resilient process, you would have a minimum number of guardians you trust and who don’t know each other.

Session Keys

In playing games like Axie Infinity or purchasing weapons in a blockchain game, you would have to approve each transaction. Instead, you can pre-approve certain transactions enabling you to enjoy a game without having to approve each transaction within a game.

With these pre-defined rules, you can play games for X amount of minutes or under certain rules while knowing that a Dapp has restricted access to your wallet to spend only the tokens or NFTs you have authorized.

**
**Session keys can be customized in different ways; X amount of time, X amount of tokens, particular transactions/smart contract interaction, or even XYZ token.

Batch operations

Currently, you initiate a new transaction for every on-chain interaction, as seen below. Not only is this time-consuming, but it is also gas-consuming.

Graphs are from Hasu
Graphs are from Hasu

With AA, you can bundle transactions before processing a transaction, as seen below. This makes the UX experience much more seamless and also reduces gas costs.**
**

Graphs are from Hasu
Graphs are from Hasu

Apply this to shopping for NFTs on Shopify-like platform. In the web2 experience, we will add NFTs to our shopping basket; then we can purchase them all in one click.

If we were to do that without AA, we would have to approve each NFT purchase transaction. Instead, AA enables you to purchase several NFTs in one click, making it a much more seamless experience similar to Web2.

Secure Enclave

You can turn your IOS or android device into a hardware wallet.

Any fee payment

Currently, on Ethereum, users always have to pay gas fees in ETH regardless of the transactions. With AA, users can pay gas fees in any token.

Even if you don’t possess ETH, with AA, you can pay gas fees in any other token like MKR, AAVE, or others.

Dapp Kindness

Currently, most projects require users to pay fees, or they will pay for users by refunding them with their native tokens. This is a very common practice to provide them with some form of gas rebate that they receive after a few days.

Instead, Dapps can pay fees on behalf of the users during the transaction. 

These rewards can be claimed after seven days, but through AA, Hop could cover the gas fees initially instead of users paying gas fees and being compensated seven days later.

Account Abstraction and Beyond

This is all thanks to the changes introduced by EIP-4337 (currently a work-in-progress), which focuses on implementing AA without modifying the consensus-layer protocol. With the technology in place, Layer 2’s like StarkNet and zkSync will launch with native account abstraction.

Social Recovery Wallet, Argent, has strongly aligned itself with both Starknet and zkSync, and we can look forward to a future where more users will be able to make transactions on the blockchain using Argent and not worry about losing their private key.

Account abstraction will help enable the onboarding of the next billion users since seed phrases will become a thing of the past. However, as you can see, AA enables so much more than removing seed phrases.

The UX of interacting with the blockchain will become an experience similar to web2. An experience that doesn’t feel like we are using the blockchain is an experience that we should strive for.

**
**

Subscribe to Bobbay
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.