Understanding Account Abstraction on Ethereum

Understanding Account Abstraction on Ethereum

Ethereum has made a name for itself in the blockchain industry as a pioneer of smart contracts. Smart contracts are self-executing agreements with the terms of the agreement written directly into code, and the Ethereum network allows developers to build decentralized applications (dApps) using them.

Before getting into Account Abstraction, we have to talk about Ethereum accounts. The Ethereum network has two types of accounts: Externally Owned Accounts (EOA) and Contract-Based Accounts. An EOA is controlled by a private key and has three properties: an ETH balance, a nonce, and an address.

Transactions on the Ethereum network must originate from an EOA and be validated using a hard-coded validation process that requires a valid signature, nonce, and account balance. Wallet services such as Metamask and Rainbow operate as EOAs. Contract-Based Accounts are controlled by the logic within the smart contract code and have additional properties like code and storage. To address some of the issues associated with EOAs, projects like Gnosis and Argent have developed smart contract wallets utilizing Contract-Based Accounts. These wallets dictate which entities are authorized to sign transactions and provide the ability to have multiple signers on an account. However, smart contract wallets are more gas-intensive and need an EOA like MetaMask to pay for gas and trigger actions, limiting their adoption.

Account Abstraction (AA)

Account Abstraction (AA) is a new solution to combine user accounts and smart contracts into a single Ethereum account type. AA offers more flexibility in validating transactions on the blockchain by allowing programmable validity to verify and validate any blockchain transaction. With AA, validity conditions can be customizable into a smart contract on a per-account basis rather than hard coding them into the Ethereum protocol, which would apply to all transactions in a generalized way. While AA wallet implementations aim to improve the overall user experience, the current implementation has issues such as higher gas costs and security concerns with smart contracts being hacked.

source: Binance Research

Source: Binance Research

The implementation of account abstraction would involve designing an API to define specific functions that would enable smart contracts to act as accounts. Once implemented, Ethereum would become more customizable, flexible, and future-proof. Account abstraction offers a new way to unify EOAs and smart contract accounts, bringing greater flexibility and functionality for users.

Lenster: https://lenster.xyz/u/demiray

Twitter: https://twitter.com/bytetyson