The history of tech shows us that improving user experience is always a top priority. We can see this in how Web2 user interfaces have changed over time to make things easier for users. In the beginning, people used Command Line Interfaces (CLI) where they had to know exact commands to make things work. This could be tricky. Then, Graphical User Interfaces (GUI) came along with pictures like icons and windows, making things more user-friendly. And it didn't stop there. The next big thing was Natural User Interfaces, which let people use touch, voice, or hand movements to interact with their devices. This made using tech feel even more natural and simple.
Before understanding account abstraction. first let’s understand what are accounts on Ethereum.
There are two types of accounts on Ethereum: EOAs (externally owned accounts) and Contract accounts (CAs or smart contracts). EOAs are regular accounts controlled by private keys. Having the key grants access to Ethereum actions, while losing it means no access. All actions, including transactions and interacting with smart contracts, need EOA initiation. This limits user-friendliness for tasks like batch transactions and needing enough ETH for gas. Smart contracts are code-based accounts, not controlled by users, executing when triggered by EOAs or other smart contracts. Flexibility exists, but EOAs must initiate all actions.