Using Account Abstraction To Enhance the Web3 Experience
September 22, 2023
7 min read
Account abstraction, which got its start with ERC-4337, is a relatively new concept to Web3. However, it’s been a key narrative of 2023 because it has the potential to revolutionize the way we interact with blockchain networks. In essence, account abstraction allows users to use smart contract wallets as their accounts, rather than relying on traditional crypto wallets known as externally owned accounts (EOAs). This opens up a world of new possibilities for improved user experiences and enhanced security and functionality in blockchain applications, such as:
- Creating digital asset experiences that are just as easy as their web2 counterparts
- Onboarding new users is much easier, without the difficulties of current wallet experiences
- Enabling a more secure method of using Web3 without as many private key vulnerabilities
Imagining a Better Experience for New Users
If you’re reading this, you most likely know how to move digital assets from one address to another, secure private keys, switch between blockchains, and check the status of transactions on a block explorer. Although these kinds of tasks may seem simple to you now, the vast majority of the world has no knowledge of these multifaceted processes. In order to onboard the next billion users to the blockchain, the Web3 community needs to make it easier to access and understand it. Account abstraction is simply a means of abstracting away the difficulty that comes with the current Web3 user experience.
An example of new UX possibilities with Account Abstraction:
A user signs up for a Web3 game, and a smart contract wallet is automatically generated for them. They don’t need to create an external wallet, secure a complex 24-word secret phrase, buy a hardware wallet, or perform other complicated actions. The wallet provides in-game asset storage as seamlessly as any traditional player account.
Digital asset quick start
The player's smart contract wallet is programmed to automatically be sent the in-game digital currency (100 blue crystals) and a full set of NFT armor, with each unique piece living on-chain. There is no need for the player to purchase ETH or other crypto on an exchange, transfer it, and pay the gas fee. If the player desires, they can buy more blue crystals or items via the game’s marketplace at any time using traditional methods like Apple Pay or a credit card. The game’s fiat onramp makes buying items as easy as any other.
Subsidized gas fees
When it comes time to purchase or trade assets in the game, the player can do so without paying gas fees every time this occurs. The game’s creators have programmed all player smart wallet gas fees to be subsidized by their treasury. Since the game is built on its own gas-efficient L2, they can fund this expense with things like the purchase price of the game or other purchases.
Flexible EOA storage
The players can now enjoy P2E game mechanics and earn real value as they become more competitive without needing to partake in the complexity of Web3 experiences. If they desire, they can transfer their assets at any time by sending them to an externally owned account like MetaMask or another wallet linked to their player account to have more custody of their private keys. The above benefits and principles can be applied to virtually any blockchain use case.
Account Abstraction High-Level Concepts
Externally Owned Accounts are familiar to all of us who use wallets like MetaMask or Trustwallet. They are controlled by private keys, and they can be used to initiate transactions and execute smart contracts. However, EOAs have a number of limitations. For example, they can be difficult for new users to set up, vulnerable to phishing or other attacks, and they can be difficult to use for complex transactions.
Smart contract wallets are a type of wallet that uses smart contracts to manage user funds. They offer a number of advantages over EOAs, such as improved security and flexibility. However, smart contract wallets are also more complex to use, and they can be difficult to integrate with existing blockchain applications.
Account abstraction solves these problems by allowing developers to create smart contract wallets that are as easy to use as EOAs, while still offering the advantages of smart contracts. This is done by abstracting away the complexity of smart contracts from the user, and providing a simple interface for interacting with the blockchain.
How Account Abstraction Works
Account abstraction works by introducing a new type of account called a smart account. Smart accounts are special-purpose smart contracts that define and manage a user's Ethereum account. They can be programmed with custom rules for spending coins and transferring assets, and they can also be used to implement advanced features such as social recovery and multi-signature wallets.
To use a smart account, users simply need to interact with it through a simple interface. The interface can be provided by a wallet application, or it can be built into a specific blockchain application. The interface will take care of all of the complex details of interacting with the smart contract, such as signing and sending transactions.
What Can Smart Contract Wallets Do for Web3?
No more seed phrases: Account abstraction will allow users to create and manage accounts without having to remember or store seed phrases. This is because the smart contract that implements account abstraction will take care of all of the key management and signing operations.
User-friendly account recovery: Account abstraction will also enable user-friendly account recovery. If a user loses access to their account, they can simply recover it by providing their social recovery information. This is a much simpler and more user-friendly process than having to recover a seed phrase.
Subsidized Gas Payments: Account abstraction can also be used to subsidize gas payments for users. This is because the smart contract that implements account abstraction can pay for the gas fees associated with user transactions. This can make it more affordable for users to interact with the blockchain.
Programmability: Smart contract wallets can be programmed with custom logic to perform a variety of tasks, such as multi-signature signing, social recovery, and gasless transactions. EOAs, on the other hand, are limited to the basic functionality of sending and receiving transactions.
Enhanced Security: Smart contract wallets can offer enhanced security features, such as key sharding and multi-signature signing. This can make them less vulnerable to theft and hacking than EOAs.
More Flexibility: Smart contract wallets can be integrated with a variety of decentralized applications (DApps) and protocols. This gives users more flexibility in how they manage their assets and interact with the blockchain ecosystem.
How Developers Are Using Account Abstraction
Developers are using account abstraction to create a wide range of new and innovative Web3 experiences. For example, account abstraction can be used to create wallets that are more secure and easier to use than traditional EOAs, implement new features like social recovery and multi-sig, and
allow users to interact with blockchain applications in a more seamless and integrated way.
Here are some specific examples of how developers are using account abstraction to make better Web3 experiences:
Safe (previously Gnosis Safe) is a multi-signature wallet that uses account abstraction to implement advanced security features. It allows multiple users to share control over a wallet, and it requires multiple signatures to authorize transactions.
Argent is a smart contract wallet that is designed to be as easy to use as a traditional EOA wallet. It uses account abstraction to hide the complexity of smart contracts from the user, and it provides a simple interface for interacting with the blockchain.
MetaMask is a popular browser-based wallet that is adding support for account abstraction. This will allow users to interact with smart contract wallets directly from MetaMask, without having to switch to a different wallet application.
Account abstraction is a powerful new technology that has the potential to revolutionize the way users interact with blockchain networks. It is still under development, but it is already being used by developers to create innovative new Web3 experiences. As account abstraction becomes more widely adopted, we can expect to see some extremely exciting and innovative use cases emerge.