Account Abstraction...
Let's understand

What is this account abstraction 🤔

A standard (ERC-4337) native to Ethereum and all EVM-based blockchains. Account abstraction within blockchain systems allows for assets to be held by smart contracts rather than being controlled by externally-owned accounts (EOAs). It allows users to use smart contracts as their primary accounts. It essentially turns EOAs into smart contract-enabled accounts.

Different dimensions of Account Abstraction includes: Signature Abstraction, Fee Abstractions, and Nonce Abstraction.

Signature Abstraction: No need of Elliptic Curve Digital Signature Algorithm (ECDSA) signatures, as the default authorization mechanism. Rather, users are permitted to define custom rules for authorizing wallets to initiate transactions.

Fee Abstraction: Enables gasless transactions, using relayers.

Nonce Abstraction: Allows to create custom replay protection mechanisms (instead of the Ethereum protocol enforcing strict ordering on transactions). We can have a nonce scheme that permits processing multiple transactions in parallel, (Smart accounts have another feature called transaction batching, with which, we can combine multiple operations into a single transaction to reduce the cost and complexity) This would solve the problem of clogged/stuck transactions and significantly improve interactions with dapps.

How does ERC-4337 work? 💡

ERC-4337 introduces a pseudo-transaction object called a UserOperation, which sends a transaction on user's behalf. Unconfirmed UserOperation transactions are stored in an alt mempool.

Nodes on Ethereum network can choose to act as a Bundler, which picks up multiple such UserOperations and packs into a single transaction known as bundle transaction. Bundle transactions are sent to a global smart contract known as the EntryPoint, where every individual UserOperation is verified and executed by calling different functions.

UserOperations can include any type of logic, it allows users to implement various customizations to how they want to manage their accounts and the funds in them.

Let's see a smart wallet in action