Concept of Account Abstraction

In most blockchain systems, particularly those following the Account-based ledger model like Ethereum, there are two primary account types: Externally Owned Accounts (EOAs) and Contract Accounts. EOAs, controlled by private keys, are used by individuals for interactions such as sending transactions or deploying smart contracts. Contract Accounts, governed by smart contract code, can perform actions only when triggered by a transaction.

The bifurcation of account types presents limitations. EOAs, flexible and under direct user control, lack the programmable capabilities of smart contracts. Conversely, Contract Accounts, though programmable, cannot initiate transactions independently. This dichotomy limits the scope of automated interactions and programmable control mechanisms available to users.

Account abstraction addresses these limitations by treating all accounts as programmable entities. It proposes a unified account model that abstracts away the differences between EOAs and Contract Accounts. In this model, every account possesses the programmable capabilities of a smart contract while remaining under direct user control via private keys.

Last updated