But what actually is Account Abstraction? And why is it so important? My blog post series - WTF is AA - aims to answer these questions.
This post looks at the practical benefits that AA offers. I start with five key features, all of which we’re working on at Argent.
The stakes are high.
Without AA, we believe crypto will get stuck in a local maxima. Dapps will never rival the best UX of web2. And wallets will always be too hard to use and too insecure - pushing people to rely on centralized solutions where they have no control and limited use cases. With AA, on the other hand, we believe we can finally unlock crypto’s potential for mass adoption.
Before we start though, a quick recap of what Account Abstraction is.
What is Account Abstraction?
Account abstraction moves Ethereum from having two types of accounts (Externally Owned Accounts and Contract Accounts) to just one - Contract Accounts. These Contract accounts can initiate transactions and pay transaction fees, and be customized to users’ needs. For more on what AA is, please see this post.
Now, on to the benefits.
1. Multicall - for 1 tap crypto
If you’re using a Dapp on Ethereum today, you have to make a new transaction for every on-chain interaction. This is frustrating, time consuming and expensive when gas fees are high.
With Account Abstraction, you can instead bundle multiple transactions into one, and execute the sequence of operations in one atomic transaction. This feature is called multicall.
As an example, providing liquidity to Uniswap usually requires three transactions: approving each of the two tokens, then depositing them. With multicall, you can do it in just one atomic transaction. Quicker. Easier. And more secure (as you remove the need for an infinite approval).
The benefits of AA extend much further than just shrinking three transactions into one. AA can radically simplify even more complex processes into a one tap experience for users. This achieves the ideal DeFi interaction that Hasu describes below.
above is how a typical Defi app works today— Hasu⚡️🤖 (@hasufl) June 20, 2022
below is how I think it should work
first, complete all actions (on simulated data if necessary), then batch-sign everything. more than one signature per interaction should be an anti-pattern pic.twitter.com/wQ8aSv0kNQ
2. Session keys - for simplicity and security
Session keys are a breakthrough for UX, particularly for blockchain games. They allow you to pre-approve the rules for interacting with a Dapp so you can use it as much as you want within those rules without having to sign every single transaction.
In other words, you can enjoy using a Dapp while knowing your assets are protected because you’ve restricted what the Dapp can and can’t do with them. This means maximizing ease of use, while minimizing risk.
Compare this to the status quo: where you either constantly sign transactions or you have to trust an entity to act on your behalf.
Sessions can be defined in a variety of ways. The parameters could include: “a given duration, a max amount of gas, a max transaction volume of a certain token, or a particular function on a particular contract”, as MatchBox DAO have written.
We’re massively excited that lots of teams are exploring and building with them, including Influence, Loot Realms, Briq, Topology, Cartridge, MatchboxDAO, Ledger and more.
So add this all up and what does it mean?— Eetherway (@Web3zy) June 10, 2022
Decentralization allow users to truly take full ownership of their digital assets, without having to trust third parties.
Adding session wallets to the UX stack enables enjoyable experiences while using fully decentralized applications
3. Social recovery - for security & the end of seed phrases
Vitalik says social recovery is “my preferred method for securing a wallet”.
The goal of social recovery is to protect people if they lose their account or it’s somehow compromised. Social recovery does this while avoiding seed phrases, the typical recovery method for wallets such as MetaMask. Seed phrases need to be eliminated as they’re hard to use, insecure, and a major barrier to mass adoption. With social recovery, if you lose your private key you can just authorize a new key as the legitimate wallet owner. The mechanisms for this can vary. You could choose a recovery method that relies on your trusted contacts, your hardware wallet(s), or even a third party service. Or a combination of them all.
Importantly, social recovery does not sacrifice self-custody. You remain in control of your assets. And for further protection you can use time delays so that you have an opportunity to cancel the recovery if you wish.
We also hope the spread of social recovery boosts further innovation in the area, such as secure and simple inheritance.
Seed phrases are fast becoming historical relics!
4. Multi-factor authentication & enhanced security
Two-factor authentication is becoming the norm in modern banking for large transfers to new addresses. What if you wanted similar, or even smarter, protection in crypto? You now can.
Account Abstraction lets you have accounts that require signatures from multiple keys, with a transaction only going ahead if certain conditions are met.
How is this different to using a multi-signature wallet like Gnosis Safe? The difference, as Vitalik says in this post, is that wallets leveraging AA can offer greater customization, security and usability.
AA allows you to tailor your account’s security levels to meet your needs and use a variety of different devices to approve transactions.
So what could this look like more broadly? You could:
- Have two (or more) factor authentication for crypto. Imagine that one of the keys for your account is managed by a service that will only co-sign if you've confirmed with a second factor like email or SMS. If you confirm the second factor, the transaction succeeds. If you don’t, it’s automatically blocked.
- Keep a list of scam addresses and automatically block transactions to them. You could also block transactions to an incorrect contract.
- Set a daily transfer limit and automatically block anything above it (unless you explicitly approve it to go through).
- Integrate offchain services for additional protection. For example, use a security service to check an NFT collection is verified on OpenSea before approving a transaction, asking for two-factor authentication if not.
Crucially, the inspection of each transaction is all automated. Despite what you sometimes hear on Crypto Twitter, it is insane to expect normal people to have the patience or knowledge to investigate each contract they use!
This is therefore a radical change from the status quo with traditional wallets, EOAs, where one small mistake means you lose everything. Something that happens all too often, as these tweets sadly show.
5. Plug-ins - for greater flexibility
Plug-ins make an account more flexible and modular. Third party developers can build plug-ins with new functionalities they want to enable when creating their account.
You can also make an account extendable by letting users add or remove functionalities after the account has been created.
You can almost think of it as an app store for your account - choosing a plug-in for gaming, social recovery, session keys or more.
Plug-is can help to future proof your account, as the one certainty in crypto is how quickly the space evolves. Plug-ins will help you to harness the latest features that emerge - whether that’s privacy, or hyperchains.
These five points cover some of the biggest benefits we see, but that’s by no means it. Here are some additional ones that can also have a real impact.
Additional benefits of Account Abstraction
1. Pay fees in any token
The status quo in Ethereum is that you need to have a certain token to pay a gas fee. This can be a burden for users as you need to make a transfer or trade to get the right one. With Account Abstraction though, you can pay gas fees in any token.
2. Projects can pay fees on behalf of people
Projects can act as ‘paymasters’ paying the gas fees on behalf of users. This significantly reduces the friction for users.
3. Different signing schemes
Ethereum today relies on a single signing scheme - ECDSA - and one elliptic curve. Importantly, the only way to change this is with Account Abstraction.
This may sound like an obscure point only of interest to cryptographers, but it is significant. Some of the benefits include:
Make every phone a hardware wallet
A different signature scheme could let you use the secure enclave of iOS and Android devices to turn smartphones into hardware wallets. With over 6 billion smartphone users globally, this change would make today’s hardware wallet market look vanishingly small.
We know that quantum computers are coming and can break ECDSA. As Vitalik has written, with AA you could explore “post-quantum safe signature algorithms (e.g. Lamport, Winternitz)”.
More efficient signature algorithms
This could lead to lower gas fees by executing fewer computation steps when verifying a transaction signature in the smart contract wallet.
Because accounts are contracts, they can use the well known proxy pattern and delegate the execution to an implementation. If the proxy is programmed to be upgradable, users can upgrade the code of their account as new features become available.
We believe that Account Abstraction is a genuine breakthrough for crypto. And when you combine AA with Layer 2’s like zkSync and StarkNet, you can finally scale both transactions and the UX of self-custody.
Web2 simplicity, with the magic of web3.
Interested in the topic? Join us!
We’re always looking for outstanding engineers to help us pioneer better UX and security in crypto. We work remotely across Europe.Argent careers