Account Abstraction and the Endgame

Siddharth Rao
IOSG Ventures
Published in
9 min readJan 26, 2023

Are Wallet experiences broken?

Imagine having to give a signature for every video you watch, post you like, or comment on your favourite pictures on Facebook. People would’ve stopped using it.

With the way blockchains are built today, there are several UX frictions starting all the way down from wallet level, interaction level, and settlement level.

Hasu described the pain of using wallets while interacting with 2–3 DeFi Protocols, where the top part of the image is what the state is today and the second image indicating what an ideal state would be.

With many studios trying to build on chain games, with the rise in builder interest to build consumer apps; is the base infrastructure even ready to onboard the next billion users? Even if the onboarding happens, what about retention with a broken UX?

Efforts are being put into improving the UX at the wallet level with different types of wallets for different use cases.

Current State of the Ecosystem

To enhance user experience and security, there are several ways to solve the same problem. They can be have categorised into two main solutions:

  1. Account Abstracted Wallets
  2. Wallets using underlying EOAs:

a. MPC (Multi-Party Computation)
b. MultiSig (Multi-Signature)

MPC

Multi Party Computation (MPC) is when a single private key of an Externally owned account (EOA), which is the incumbent wallet type, is sharded and stored securely among three or more (?) different parties. m/n or n/n parties can come together to sign transactions. These parties could be users, devices, and third party services.

The sharded keys are generally stored and computed off-chain, which may not be in line with the ethos of decentralisation, but it is a very secure way of managing a wallet. UX enhancing services such as SSO can be built on top of MPC wallets to reduce private key management barriers.

Examples of MPC wallets include Fireblocks, Anchorage, etc.

Multisig Wallets

Multisig wallets are smart contract wallets that require 2 or more EOAs to sign a transaction. Multisig wallets don’t have too many use cases for individuals but from an organisational point of view, they are invaluable. Where there can be no scope for a single user to run away with funds or assets that belong to more than one person, multi-sigis the current best option.

Examples include Gnosis Safe — the industry standard. https://twitter.com/frankmaseo/status/1613915658965913604?s=20&t=5BjoLsELtFDZB4-oOP0kPw

Account Abstracted Wallets

Account abstraction is a new technology that was fully unlocked by the EIP-4337 that unlocks new horizons for users in Web3. Lets dive deeper into Account Abstraction (AA) in the following sections.

What is Account Abstraction and Why is it Important?

To first understand what Account Abstraction is, let’s first try and understand what Accounts actually mean. Ethereum (and most other EVM based chains) have two types of Accounts:

  • Externally Owned Accounts (EOAs)
  • Contract Accounts

Externally Owned Accounts are generally the Wallet accounts that a user owns. Contract accounts are the smart contract addresses. In Account Abstraction we majorly talk about EOAs.

EOAs by architecture validate transactions using a key pair: The public key and the private key. They help prove that a transaction was actually signed by the sender and prevent forgeries. The private key is what is generated through the “seed phrase” that users obtain while opening a wallet.

The private key is used to sign the transactions and ensures that the transaction is signed by the owner of the account and prevents malicious transactions. The ownership of the private key is what defines “self-custody” of the EOA.

This architecture worked well for educated users to an extent but it has many problems:

Wallet Onboarding

Creating an EOA is easy and free, but to carry out even a single transaction, the EOA must be loaded with ETH. This would require a user to interact with a centralised exchange, on-ramp solution, or ask someone to send ETH to their EOA.

The second issue with onboarding is the saving of a seed phrase. Users have never been subjected to such prior behaviour, and also don’t know the importance of the private key.

Private Key Management

Users (Owners of EOAs) don’t know what a private key is and why it is important. All the users know today is don’t give anyone your seed phrase. To onboard users onto Web3 the learning curve is pretty high and the process is tedious.

Reliance on ECDSA Signatures

The current method to sign a transaction on Ethereum is using an ECDSA signature. ECDSA Signatures are not quantum resistant (Elliptic curve cryptography is vulnerable to a modified Shor’s algorithm for solving the discrete logarithm problem on elliptic curves, and Quantum Computers can run the Shor’s algo with ease). Although far fetched, if Ethereum is being built for the future, the possible future conditions also must be taken into account

Action = Transaction

Any action by a user on-chain today is considered a transaction. When a user has to perform multiple actions to complete tasks, it is very gas inefficient from a user perspective. For example, if users were to play a Web3 native game, every action in the game would require a transaction signing and would kill the gameplay.

Why not Existing Smart Contract Wallets?

From a user’s perspective, smart contract wallets can do all of this using an EOA and then adding relayers that help with gas subsidy. The flow will look like the diagram below:

The problem with this system is that there still requires the need for private key management since there is the existence of an EOA. Although these private keys can be securely managed there is still reliance on a third-party service MPC/ Multi-Sig Service provider. Web3Auth uses an MPC system while Safe Wallet uses a multi-sig model.

For gas subsidy there is also an external dependence on a relayer such as that provided by Biconomy.

It is always better to have these built into the execution layer of the blockchain itself than reliance on third parties because these can be points of failure.

Where this might go

With Vitalik and team making it extremely clear about the movement of Ethereum towards deprecating EOAs as a whole, all the wallets that are currently implementing the ERC-4337 will lose their current unique value proposition of being better than EOAs.

Having said this, in these two years (since Account Abstraction was first proposed) the wallets that have implemented ERC-4337 will gather distribution and wallets are sticky products when it comes to users using the blockchain.

While the end goal of Ethereum is to remove EOAs from the Ethereum network, moving away from EOAs isn’t as easy as people think. There are certain trade-offs:

1. With only the existence of ERC-4337, it is not possible to convert existing EOAs to AA wallets.

2. Gas inefficiency (~42k for a basic UserOperation compared to ~21k for a basic transaction). A basic transaction requires computation that needs ~21k gas, but for the EVM to execute a UserOperation it requires almost double the amount of compute power from the execution layer.

3. Less benefit from in-protocol censorship resistance techniques such as crLists (mechanism to force validators to add transactions into a block from the mempool), which target transactions and would miss user operations. (crLists are not available for the UserOperation mempool)

The Ethereum foundation is cognizant of these trade-offs and has come up with a possible solution roadmap to address these concerns.:

Converting EOAs to Contract Accounts

Need to allow EOAs to perform an operation that sets their contract code. Once an EOA does this, the transformation is irreversible; from that point on, that account will only function as a smart contract wallet. For this a new EIP has to be created. The proposal is to create a function called “AUTHUSURP”. Read: EIP:5003

Gas Reduction

This will be possible when the Verkle trees go live (but there is no clear ETD).However, bundling UserOperations into a single transaction can prove to be more economical than doing a single UserOperation in the same block.

Comparison with Other Wallet Types

Comparison of Account Abstracted Wallets with Other Types

Insights/ Conclusions

So now that we know how Account abstraction works, what it can unlock, and also how it is better/different from other types of wallets, we could possible see Account Abstraction winning in the following ecosystems:

Gaming

With the narrative on blockchain gaming going strong in 2023, AA wallets will play a pivotal role in the success of blockchain games.

The UX of on-chain games will vastly improve with Session Keys. Session keys allow users to pre-approve an application’s transactions according to a set of parameters: a given duration, a max amount of gas, a max transaction volume of a certain token, or a particular function on a particular contract. A user would be able to pre-approve their session with some basic terms, hit go, and play the game without constantly being bombarded by their wallet asking, “confirm this transaction”.

The onboarding experience of games can also be improved without the user needing to know of their interaction with a blockchain. They can worry about the blockchain portion only while off-ramping or swapping tokens outside of the games.

Wallet providers such as Sequence are already doing this with major blockchain games to improve gamer experience.

DeFi

DeFi users have been banned with a bad experience everytime they interact with their favourite DeFi protocols. Every time a user wants to complete a single trade on a perpetual futures platform, he/she needs to sign two transactions and pay gas twice, within whose time period the entire trade value can change.

High frequency traders can use Account Abstraction wallets to complete these trades at a faster rate and with a better experience.

Account Abstraction allows for interoperability between dApps in a single transaction with the help of bundled transactions. Now I can deposit ETH into Aave, and swap the received aETH to USDC all in a single transaction.

Bundled Transactions and Session Keys will help the existing set of DeFi users have a better experience than they already do.

SDK-based approaches will not see DeFi adoption since DeFi is a private and intent heavy use case where the onboarding experience need not be abstracted away from the user. The DeFi audience is also generally familiar with the workings of the chain.

Web3 Social (DeSoc)

Consumer Web3 and Social hold strong narratives for 2023.

Onboarding the next million users in crypto via DeSoc and NFTs might be one of the largest trends the market is looking at and the builders building.

Account Abstraction can again onboard users with minimal friction points via an SDK approach and probably with some initial gas sponsoring into a Paymaster.

This allows users to have a smooth experience and when the app becomes sticky to use, they can start using Session Keys to interact with social dApps.

We can now see that Account Abstraction is a critical component in improving the user experience for the existing users on-chain and in onboarding the next few millions onto Web3.

SDK-based approaches for Account Abstraction are great for more consumer use-cases such as DeSoc, Web3 Gaming, etc. while standalone wallets have more adoption propensity in the DeFi sector.

--

--