Ethereum operates with two types of accounts: smart contract accounts and externally owned accounts (EOAs). While smart contract accounts store developers’ code (smart contracts), EOAs are used by users to store their tokens in wallets. However, EOAs have certain limitations, including key management difficulties, gas payment requirements, limited access control, and hardcoded verification logic. To overcome these limitations, Ethereum has introduced Account Abstraction (AA), a revolutionary concept that merges the flexibility of Web2 with the self-sovereignty of Web3.
EOAs tightly couple users with a single key, making key management a challenge. This increases the risk of key theft and loss, which can lead to unauthorized access or loss of funds. AA addresses this issue by separating the user’s account from the underlying smart contract logic, allowing users to manage their private keys securely.
Gas Payment Simplification
In the traditional EOA model, gas fees for transactions must be paid using ETH. This creates a barrier for users who do not possess ETH, hindering their ability to interact with decentralized applications. With AA, gas abstraction enables gas-less transactions and the use of any ERC-20 token as a fee payment, expanding accessibility and reducing reliance on ETH.
Enhanced Access Control
EOAs lack features like multi-signature functionality, role-based permissions, and spending policies. AA brings advanced access control mechanisms to smart contract accounts, enabling multi-signature verification, custom roles, and spending policies. This improves security and provides more control over account operations.
Efficiency and Usability Improvements
Traditional EOAs do not allow batch operations, such as combining approval and swap transactions into a single transaction. AA enables the bundling of multiple operations into a single transaction, enhancing efficiency and reducing gas costs. This streamlines user experience by simplifying complex interactions.
Flexibility and Modifiability of Smart Contract Logic
Hardcoding verification logic in EOAs limits the ability to modify smart contract behavior once deployed. This poses challenges when managing significant funds or assets. AA addresses this by decoupling the logic from the user’s account, allowing for flexibility and upgradability. Smart contract accounts enable modifications to the logic without compromising security or requiring redeployment.
Use Cases of Account Abstraction
Smart Contract Accounts (CAs) are a specific implementation of AA that enable additional features and functionalities. Here are some examples of what can be done with CAs:
Different authentication methods:
For example, biometric authentication (such as fingerprint or facial recognition) can be used to access the account.
Social recovery and dead man’s switch
Social recovery is a feature that allows for account recovery through a group of trusted friends or family members.
Integrating allowlists and scam blocklists
Allowlists and scam blocklists are tools used to control which addresses can interact with a smart contract. CAs can integrate allowlists and scam blocklists to provide additional security.
Scheduling one-time & recurring txs
CAs enable the scheduling of one-time and recurring transactions. This can be useful for automating certain actions, such as recurring payments or scheduling a transaction to execute at a specific time.
Users will be able to set custom limits and monthly spending limits on an account.Auto-approving transactions for amounts under $100, requiring a password for amounts over $100, and using a ledger for larger amounts.