Account Abstraction
Last updated
Last updated
Account Abstraction lets users create non-custodial wallets as programmable smart accounts, which are independent smart contracts that can initiate and execute transactions without the need for an EOA.
The operation of smart accounts, or account abstracted wallets, is fairly simple. Instead of sending regular transactions as EOAs do, smart accounts use objects called UserOperations, which represent an operation that is to be conducted on behalf of the user.
The UserOperation object has multiple data elements that describe the type of transaction, the token, limit and price for gas at various steps of the transaction, the signature to validate the transaction, and other metadata.
Every time a smart account sends a UserOperation, it goes into the common waiting area for all UserOperations called the alt mempool.
These requests are then bundled by bundlers, who are similar to nodes verifying regular transactions. They even use the same logic as mining or validator nodes to prioritize transactions where they can extract the most value.
The bundled UserOperations are sent through a single whitelisted “Entry Point,” where every individual UserOperation is verified and executed by calling different functions.
As UserOperations can include any type of logic, it allows users to implement various customizations to how they want to manage their accounts and the funds in them.
The Paymaster component ERC-4337 refers to smart accounts that enable third-party entities to sponsor and pay for transactions. With the use of paymaster, ****users will not need to own the blockchain’s native token to pay for transactions (i.e., gasless transactions), improving accessibility. The owner of the paymaster contract can further define the rules under which user operations can be sponsored.
In sum, account abstraction improves on transaction flexibility and UX, allows designated smart contracts to cover gas fees, supports multiple signers for one account, and offers alternatives to seed phrases for account recovery, thereby simplifying the user experience.