Account Abstraction Explained
How account abstraction will make Ethereum a better user experience.
What is Account Abstraction?
Account Abstraction is a new Ethereum standard that proposes a different type of account based on a smart contract instead of the former public/private key pair. This novel approach also referred to as "wallet abstraction" or "smart accounts", enhances the versatility of Ethereum accounts by segregating the account control logic from the account's public address. Account Abstraction is predicted to enhance the overall usability of Ethereum, thereby facilitating the next wave of user adoption.
What problem does it solve?
Account Abstraction will enable engineers and companies to drastically simplify the user experience of Ethereum. In addition, accounts will be more dynamic, making complex functionality easier to create.
Some examples and use cases include:
Ability to create multifactor accounts, where a single account can have many owners and arbitrarily complex permission controls.
Ability to sign transactions with phone thumbprint or facial recognition, reducing complexity for wallet management for end users (e.g. no seed phrase necessary).
Ability to recover lost wallets via trusted third-party services or friends and family.
Ability to streamline multiple transactions into a single bulk transaction, similar to the way a credit card works.
Removes the requirement to have ETH in order to pay for transactions via a method called “sponsors” (more on this later).
How it works
Ethereum accounts currently work by using a public/private key setup called an externally owned account (EOA). This setup requires every user of Ethereum to keep track of a seed phrase (private key), all of the associated public addresses, and manage the execution and fees of a transaction.
How transactions currently work:
Account Abstraction lifts the requirement of maintaining keys and addresses up to only sophisticated users or organizations by introducing Bundlers and a new type of pseudo-transaction called a UserOperation.
Account Abstraction is based on a standard called ERC-4337. ERC-4337 defines a way to use a Smart Contract as an account instead of the current EOA model. Using Smart Contracts for accounts has been accomplished in the past with contracts such as the Gnosis Safe; however, ERC-4337 outlines a framework to scale this concept to all Ethereum users.
The primary components of ERC-4337 include UserOperations, EntryPoint Smart Contracts, Paymaster Smart Contracts, Factory Smart Contracts, Contract Accounts, and Reputation Scoring and Throttling. Luckily for end-users, all of these components are primarily handled by “Bundlers”.
Bundlers are a service run by trusted third parties that make use of EntryPoint smart contracts to execute UserOperations. Bundlers are responsible for handling all of the logic of Account Abstraction. A Bundler is able to execute transactions on behalf of users in a permissionless manner. With the inclusion of the PayMaster smart contract a bundler is even able to pay for transaction fees on a users behalf. To learn more about Bundlers checkout the article written by Stackup.
UserOperation: A type of psudeo-transaction, which defines the action a user is wanting to take. Things like “transferring funds” or “buying an NFT”. UserOperations are sent to a new MemPool which acts as a queue prior to execution.
EntryPoint: A smart contract that acts as an entry point for
UserOperations. Its main function is to verify and implement
UserOperations, and it can communicate with other contracts like
Factories to assist in transactions.
Paymasters: Smart contracts that have the ability to pay for transaction fees on behalf of users.
Smart Contract Accounts: Smart Contracts responsible for managing a user's account.
Factories: Smart contracts that are able to create new smart contract accounts.
Reputation Scoring and Throttling: Measures for reputation scoring and throttling mechanisms to deter abuse and denial-of-service (DoS) attacks on entities like Paymasters and Factories. These measures require entities to stake a specific amount of ETH to guarantee that their actions do not compromise the validity of other UserOperations.
Thinking of Smart Contracts as wallets
Shifting the paradigm of an account from externally owned keys to Smart Contracts opens creates numerous possibilities for what an account truly is.
One interesting example is to think of an NFT as an “account”. Doing this enables agency for inanimate objects such as game avatars or even AI game NPCs. Last year, our team created a token standard called a token-bound-token which enabled an NFT to own other items. You can view a live example of this on OpenSea called FungyProof Cases.
EIP-6551 takes this a step further creating the concept of a token “inventory” which would allow a token to hold any number of other tokens similar to a game characters bag or inventory.
We believe this concept will be a significant theme in the coming years as blockchain gaming continues to expand and have several initiatives in this area:
The adoption of Account Abstraction is gaining momentum, with several contracts already available on various chains including Polygon, Optimism, Arbitrum, zkSync, and more. On Polygon, 145 accounts have been created with a little over 1,000 UserOperations according to NiftyTable’s Dune analytics Dashboard.
One of the significant benefits of Account Abstraction is improved security and a reduction in lost funds. Based on onasouazan's analysis, nearly $25,586,868 worth of NFTs have been stolen to date. Account Abstraction offers a solution to mitigate these lost funds in the future, providing a safer and more secure environment for users.
Account Abstraction is an exciting development in the Ethereum ecosystem that promises to provide significant benefits to users, Dapps, and the network. With more platforms expected to adopt the technology soon, Dapps and wallet interfaces/mobile apps can provide a more seamless and user-friendly experience for their users. Additionally, we can expect to see innovative applications emerge as more developers explore the possibilities of the technology. Overall, Account Abstraction has the potential to revolutionize the way we interact with the Ethereum network and pave the way for a more secure and efficient future.
About CR3 Labs
CR3 Labs builds tooling for Web3 gaming to help creators, collectors, and gamers unlock value in the new digital frontier.
Learn more at https://www.cr3labs.com.
Seeking more information about a particular topic, project, or technology?
Submit a research request!