Account Abstraction
On this page
Account abstraction is a concept in Ethereum and blockchain technology that aims to improve the usability and flexibility of user accounts. In the traditional Ethereum account model, there are two types of accounts: Externally Owned Accounts (EOAs) controlled by private keys, and Contract Accounts, which are smart contracts deployed on the blockchain.
Account abstraction introduces a more generalized account model that allows for different types of accounts beyond the traditional EOA and contract accounts. The key idea is to separate the authentication mechanism (how an account is controlled) from the execution layer (how an account’s code is executed).
With account abstraction, accounts can have associated code (like smart contracts) that defines custom authentication schemes and execution rules. This code can be executed before or after transactions, enabling features like:
Multi-signature wallets: Accounts can require multiple signatures or approvals before executing transactions.
Account recovery mechanisms: Accounts can have built-in recovery mechanisms in case the private key is lost or compromised.
Programmable access control: Accounts can implement custom access control logic, such as whitelisting or time-based restrictions.
Batched transactions: Multiple transactions can be batched and executed together, potentially saving gas costs.
Programmable execution logic: Accounts can have custom execution logic, enabling features like subscriptions, recurring payments, or complex financial instruments.
Further reading
- Read the gentle guide on the Ethereum blockchain.