EOA and AA Wallets

On Ethereum, we mainly have two types of accounts:

  1. Externally Owned Account (EOA)
  2. Contract Account (CA)

Externally Owned Account (EOA - Externally Owned Account)

is an account controlled and managed by users through private keys. This private key can be considered as your unique signature and access pass on the blockchain. Through EOA, users can send/receive transactions and interact with various applications.

include:

  • Typically set up via a mnemonic phrase (seed phrase). These mnemonics are very important as they represent your private key and account access, so they need to be stored securely.
  • Allow sending and receiving transactions, managing ETH balances, and interacting with smart contracts.
  • No additional funds required when deployed on-chain.

There are various ways to implement EOA in the market, such as software wallets (like MetaMask, Trust Wallet, Rainbow) and hardware wallets (such as Trezor, Ledger, GridPlus). Although their user experiences may differ, they all provide users with the same type of account experience.

Contract Account (CA - Contract Account)

represents a special type of account. Unlike externally owned accounts (EOA), it is not controlled by private keys but rather by its built-in smart contract code. Contract accounts not only possess code, but when they receive transactions, their code will be triggered for execution. This feature allows contract accounts to perform various complex logic, such as token transfers, contract deployments, and other advanced blockchain operations.

are as follows:

  • Fees are incurred because contract data needs to be continuously stored on the network.
  • The code of contract accounts is only triggered when they receive transactions, which may result in transaction responses.
  • Transactions from EOA to contract accounts can trigger their code to complete operations, such as token transfers or the creation of new contracts.
  • They do not own private keys. Their behavior is entirely determined by their internal code logic.

Account Abstraction (AA): Combining the advantages of EOA and CA

In the blockchain field, AA (Account Abstraction) is a new development that integrates the characteristics of EOA and CA, aiming to combine the strengths of both and overcome their limitations.

EOA = off-chain wallet

AA = on-chain wallet = EOA + Smart Contract

uses smart contracts to provide wallet accounts with on-chain programming capabilities, bringing unprecedented flexibility to wallet accounts.

include:

  • : Before using an AA wallet, an activation must occur, and a certain amount of gas fee must be paid.
  • : Unlike EOA wallets, account abstraction provides high programmability and personalized configuration.
  • : As part of a smart contract, AA allows users to track transaction status in real time, unlike EOAs which only show "pending".
  • : Through smart contract technology, AA has made significant progress in security compared to EOA.


How AA wallets work and key proposals

AA wallets are composed of EOAs and smart contracts, with particular emphasis on their smart contract component.

  1. : This proposal defines a set of implementation mechanisms that allow smart contracts to bypass regular signature algorithms and confirm transaction validity by executing specific EVM bytecode. This design aims to enable smart contracts to autonomously adjust gas prices and ensure fees within their payment capability.

  2. : This proposal was introduced shortly after EIP-2938, adopting a completely different strategy. EIP-3074 aims to make EOA accounts behave more like smart contracts by allowing users to delegate control of their EOAs to specific contracts.

  3. : This is the latest proposal towards AA, which can be seen as the next step in the development of smart contract wallets. Under the framework of EIP-4337, users no longer directly initiate transactions but submit operations called UserOperations to a higher-level mempool. Then, miners or bundlers can aggregate these UserOperations into a bundled transaction and submit them to a specific EntryPoint contract for execution. This contract ensures the sequential execution of operations and guarantees that miners or bundlers receive their due transaction fees.


Future evolution of AA

The design philosophy of EIP-4337 is similar to smart contract wallets, aiming to simulate AA without protocol-level changes. However, just like smart contract wallets, EIP-4337-based wallets remain non-preferred entities in the Ethereum network.

This series of account abstraction designs and developments has laid a solid foundation for the entire ecosystem's transition to L2s. For example, StarkNet and zkSync are about to introduce their own account abstraction mechanisms, drawing heavily on the ideas of EIP-4337.

As more L2 implementations begin to support this variant of account abstraction, it is expected that more users will experience the significant improvements it brings. When the community more widely experiences these benefits, there may be greater motivation to push for protocol-level modifications, enabling full account abstraction on the Ethereum mainnet.