IOSG: Will account abstraction be the ultimate form of smart contract wallets?
Is the Wallet User Experience Really That Bad?
Imagine if you had to log in every time you wanted to watch a video on Facebook or comment on a post or picture you liked. Over time, users would dwindle, and some might stop using the platform altogether.
With the current construction of blockchain, there are friction points in user experience at the wallet layer, interaction layer, and settlement layer.
Hasu (strategy lead at Flashbots and strategic advisor at Lido Finance) described some poor experiences when using wallets to interact with 2-3 DeFi protocols. The image below compares the current state with the ideal state.
As many game studios begin to develop on-chain games and developers show increased interest in creating social applications, is the current infrastructure ready to welcome the next billion users? How do we proceed in the face of poor user experience?
1. Current Ecosystem Status
Enhancing wallet user experience and security has other solutions. I categorize them into the following two main types:
1) Account abstraction wallets
2) Wallets using underlying EOAs
3) MPC (Multi-Party Computation wallets)
4) MultiSig wallets
MPC
Multi-Party Computation (MPC) wallets refer to a single private key of an EOA being split into smaller fragments and securely stored among three different parties. m/n or n/n parties can jointly sign transactions, which can be users, devices, and third-party services.
The fragmented keys are typically stored and computed off-chain, which may not align with the spirit of decentralization, but it is a very secure way to manage wallets. We can improve user experience services by reducing the barriers to private key management, such as SSO built on top of MPC wallets. Examples include Fireblocks, Anchorage, etc.
Multi-Signature Wallets
Multi-signature wallets are smart contract wallets that require two or more external accounts to sign transactions. Multi-signature wallets do not have many use cases for individuals but are very effective for organizations. Multi-signature is currently the best option to prevent a single user from absconding with funds or assets belonging to multiple people. For example, Gnosis Safe, which is an industry benchmark.
Account Abstraction Wallets
Account abstraction is a new technology unlocked by EIP-4337, which opens new horizons for Web3 users.
Let’s dive deeper into account abstraction (AA).
Understanding Account Abstraction and Its Importance
To understand what account abstraction is, we first need to understand the meaning of accounts. Ethereum (and most other EVM-based chains) has two types of accounts:
1) Externally Owned Account (EOA)
2) Contract Account (CA)
Externally owned accounts generally refer to wallet accounts owned by users, while contract accounts are smart contract addresses. In account abstraction, we mainly discuss externally owned accounts (EOAs).
The architecture of EOAs uses a pair of keys to verify transactions: a public key and a private key. They are used to prove that the transaction was indeed signed by the sender, thus preventing forgery. The private key is generated from the "mnemonic phrase" obtained by the user when opening the wallet.
The private key is used to sign transactions to ensure that the transaction is signed by the account owner and to prevent malicious transactions. Ownership of the private key defines the "self-custody" of the EOA.
This architecture works well for users educated in Web3 to some extent, but it has many issues.
Wallet Access
Creating an EOA is simple and free, but every transaction requires consuming ETH. This necessitates users to interact with centralized exchanges or ask someone to send ETH to their external EOA.
The second issue is that users need to save their mnemonic phrases. For users unfamiliar with this behavior, it can be hard to understand the importance of the private key.
Private Key Management
Users (owners of EOAs) do not understand the importance of private keys; they only know they cannot disclose their mnemonic phrases to anyone. Therefore, the learning curve for users to join Web3 is quite high, and the process is cumbersome.
Dependence on ECDSA Signatures
Currently, the method for signing transactions on Ethereum is using ECDSA signatures. ECDSA signatures lack quantum resistance (Elliptic curve cryptography is vulnerable to Shor's algorithm, which can easily run on quantum computers). While this is not a direct impact, considering the future development of Ethereum, we need to think about potential future scenarios.
Action = Transaction
Today, any action a user takes on-chain is considered a transaction. Therefore, when users must perform multiple actions to complete a transaction, it is very inefficient for them. For example, if a user wants to play a Web3 game, and every action in the game requires a transaction signature, it will kill the fun of the game.
Why Not Choose Existing Smart Contract Wallets?
From the user's perspective, smart contract wallets can manage the private keys of newly added EOAs and then add relayers to help with gas subsidies. The process is illustrated in the image below.
The problem with this system is that EOAs still require private key management. Although these private keys can be managed securely, they still rely on third-party services like MPC/multi-signature service providers. Web3Auth uses an MPC system, while Safe Wallet uses a multi-signature model. For gas subsidies, there is also an external dependency on relayers (such as those provided by Biconomy).
Using these execution layers built into the blockchain itself is always better than relying on third parties, as others may fail.
Future Directions
As Vitalik and the team have made it very clear about the overall move to abolish EOAs on Ethereum, all wallets currently implementing ERC-4337 will lose their unique value proposition compared to EOAs.
That said, in the past two years (since account abstraction was first proposed), wallets implementing ERC-4337 will gather distribution, and wallets will be sticky products as users engage with the blockchain.
While Ethereum's ultimate goal is to remove EOAs from the Ethereum network, getting rid of EOAs is not as easy as people imagine. There are certain trade-offs involved.
1) It is impossible to convert existing EOAs into AA wallets solely due to the existence of ERC-4337.
2) Gas inefficiency (a basic UserOperation requires 42,000 gas, while a basic transaction requires 21,000 gas).
3) There are fewer benefits from protocol-level anti-censorship technologies, such as crLists (a mechanism that forces validators to add transactions to the mempool of blocks), which can miss user operations. (crLists do not apply to UserOperation mempool).
The Ethereum Foundation recognizes these trade-offs and has proposed a possible solution to address these issues.
1) Convert EOAs into contract accounts. It needs to allow EOAs to perform an operation that sets its contract code. Once an EOA does this, the transformation is irreversible; from then on, the account will only function as a smart contract wallet. Therefore, a new EIP must be created. The proposal suggests creating a function called "AUTHUSURP." (Reference reading: EIP:5003)
2) Reduce gas fees. This is possible when Verkle trees go live (but there is no clear ETD). However, bundling UserOperations into a single transaction will be more economically efficient than doing a UserOperation in the same block.
Comparison of Wallet Types
Summary
Understanding how account abstraction works, what problems it can solve, and how it differs from other types of wallets allows us to predict that account abstraction will win in the following ecosystems.
Gaming
As expectations for blockchain gaming are set to strengthen in 2023, AA wallets will play a crucial role in the success of blockchain games. The user experience of on-chain games will be greatly improved through Session Keys. Session Keys allow users to pre-approve a set of parameters for an application's transactions: for example, a quantitative duration, maximum gas amount, maximum transaction volume of a specific token, or specific functions of a particular contract. Users will be able to pre-approve their sessions with some basic terms, click start, and then play the game, avoiding constant wallet prompts to confirm transactions. They will only need to worry about the blockchain part when going offline or exchanging tokens. Wallet providers like Sequence are already working with major blockchain games to enhance the player experience.
DeFi
DeFi users have a poor experience when using DeFi protocols. Every time a user wants to complete a transaction on a perpetual futures platform, they need to sign two transactions and pay gas fees twice. During this time, the transaction price may change.
High-frequency traders using account abstraction wallets can achieve faster speeds and better experiences for completing transactions. Account abstraction allows for interoperability between dApps through bundled transactions in a single transaction. For example, I can now deposit ETH into Aave and swap the received AETH for USDC, all completed in one transaction. Bundled transactions and session keys will help existing DeFi users gain a better experience; SDK-based approaches will not be adopted by DeFi because DeFi is a private and highly intentional use case, so we need to be familiar with user needs and cannot deviate from them. Typically, DeFi users are also quite familiar with how things work on-chain.
Web3 Social (DeSoc)
Web3 social has a strong narrative in 2023.
As the next million users will flow into the cryptocurrency market through DeSoc and NFTs, this will be one of the biggest trends in the market and a goal for builders. Account abstraction can help users onboard with minimal friction points through SDKs, and there may be some initial gas sponsorships entering Paymaster to provide users with a smooth experience, allowing them to interact with social dApps using Session Keys.
In summary, SDK-based account abstraction methods are excellent for use cases with more consumers, such as DeSoc and Web3 games. At the same time, independent wallets will also have more application directions in the DeFi space.