Learn more about Account Abstraction on Boba Network
In general there are two types of accounts on Ethereum:
Contract Accounts (CA)
Externally Owned Accounts (EOA)
As the name suggests, EOAs are owned by something external to the blockchain - users just like you.
Externally Owned Accounts have 3 main properties:
The balance of the networks native coin available to the account
The nonce to ensure the uniqueness of every transaction
The address to uniquely identify the account
While a Contract Account is an account with code (smart contract) that executes when it receives a transaction. Like an EOA, a contract account can also hold ether and can be made to trigger arbitrary transactions. But a contract account needs to be controlled with an EOA.
What is Account Abstraction
Account Abstraction is a way to unify the two account types into a single type of account - a smart contract account (upon full enforcement), and the way to access/control/use this account is freely customizable. The account, with code and open-ended access methods allows for a range of new features to be built on the chain and make life on-chain easier.
Why we need Account Abstraction
Account Abstraction offers many advantages, a few are listed below and we suggest having a look at the official documentation as well.
Setting transaction limits
Paying Tx fees in alternate token
Sponsoring Tx fees for users
Different Signature Schemes
High Level Architecture
Account Abstraction under ERC-4337 consists of five major components:
UserOperation: Pseudo-transaction objects that express a user's intent
Bundler: Facilitating a transaction's path to finality
EntryPoint: Global contract to validate and execute UserOps