Account Abstraction — The Key for Mass Adoption

KardiaChain
KardiaChain
Published in
6 min readMay 12, 2023

Starting from the ETH Denver 2023 event, the keyword Account Abstraction has been discussed a lot by Ethereum developers. It became a hot issue when it was mentioned by Vitalik Buterin — co-founder of Ethereum, in his Twitter post. So what exactly is it? And how could it lead to mass adoption?

Learn about Ethereum accounts.

To learn more about Account Abstraction, first, we need to understand its foundation — the Ethereum account.

Elements of an Ethereum account

  • Nonce The counter indicates the number of transactions sent from the externally-owned account or the number of contracts created by the contract account. Only one transaction with a specific nonce can be made per account, meaning transactions will only be executed once.
  • Balance — The number of coins/tokens that this account owns.
  • CodeHash — It refers to the code of an account on the Ethereum virtual machine (EVM). Contract accounts have pieces of code that are programmed to perform different operations. This EVM code is executed if the account receives a signal. Unlike other parts, it cannot be changed. This hash is called CodeHash. For externally-owned accounts, CodeHash is the hash of an empty string.
  • StorageRoot — Sometimes called a store hash. It encrypts the stored contents, and it is empty by default.

Types of Ethereum Accounts

There are two types of accounts on the Ethereum platform:

  • Externally-owned Accounts (EOA): Externally-owned accounts are controlled by anyone with private keys.
  • Contract account (CA): This smart contract is deployed on the blockchain network and controlled by lines of code.

Both account types are capable of the following:

  • Receive, hold, and save ETH and other coins and tokens.
  • Interact with smart contracts deployed on the network.

The main difference between the two types of accounts

Externally-owned

  • Create an account at no cost.
  • It can be used for trading.
  • Transactions between externally-owned accounts can only transfer and receive ETH/token.
  • They comprise public and private keys to control all account activities.

Contract

  • There will be a fee because the contract needs to be hosted on the network.
  • A transaction can only be sent when a transaction is received.
  • Transactions from an external account to a contract account can trigger code to perform various actions, such as transferring tokens or creating new contracts.
  • Contract accounts do not have private keys. Instead, they are controlled by the logic of the code.

So what is an Account Abstraction wallet?

As we all know, the advantage of EOA is that it can make the transactions we want convenient, compact, and friendly. But in return, their disadvantages are poor security, inability to be automated, and requiring frequent user management. For example, vulnerable to private key attacks when interacting with Dapps, having to sign many times every time a transaction is made, and if we forget the password/seed phase / private key, the assets in the wallet are gone forever.

Whereas CA is the opposite, it has high security, can be automated, and is complicated to set up. Because it cannot initiate transactions by itself, they seem useless if we use it to do a wallet.

To combine the advantages of both account types and eliminate the disadvantages — Account Abstraction was born.

Through Account Abstraction, EOA becomes a smart contract and part of the blockchain, able to inherit the superior security and automation strengths of CA while maintaining its convenience.

The most potential blockchain layer to integrate Account Abstraction is the new Layer 2 Rollup when the infrastructure has been built to serve this type of wallet.

  • EOA = off-chain wallet
  • AA = on-chain wallet
  • Account Abstraction = EOA + Smart contract

How does Account Abstraction work?

The operation of Account Abstraction occurs as follows:

  1. User operations are encapsulated into User Operations and sent to the mempool. Mempool sends information to Bundles. Bundles work similarly to validators but at the level of account functionality.
  2. Bundles feed information into blocks on Ethereum or any other blockchain EVM to the Entry Point smart contract.

Next, the Entry Point processes the User Operation submitted by Bundler through 2 stages:

  1. Verification loop: Verify User Operation is valid by checking it with Account and Paymaster. Ensure the Account or Paymaster can pay the maximum gas cost for each User Operation.
  2. Execution loop: Send CallData in each User Operation to Account. Refund unused gas to Account or ask Paymaster to pay required logic fees.

Finally, the Account checks if it accepts the User Operation in the Verification round. Additional features to support other account functions, such as social media recovery and multi-tasking, can also be added here.

Two other factors that also play an essential role in Account Abstraction are:

  • Aggregator: Smart contract specialized in verifying signatures for Accounts.
  • Paymaster: Smart contract account to pay fees for Account transactions.

Features of Account Abstraction Wallet

  • Cost to activate: The first is that the AA wallet must be activated once before it can be used, and the user must pay a gas fee.
  • The account can be customized: Contrary to EOA, Account Abstraction allows for a high degree of programmability and personalization.
  • Seamless experience: Because it is a smart contract, Account Abstraction allows users to track their transactions completely in real-time instead of just showing “pending” like on EOA wallets.
  • Enhanced security: Through smart contracts, AA’s security mechanism is also improved over EOA by many significant improvements.

The benefits of Account Abstraction for users

  • Recover your account with social recovery: This is the most prominent feature of AA wallets. By choosing “Guardians” for your wallet, you will no longer have to worry about forgetting your private key/seed phase.
  • Absolute protection with Multisi: Similar to social recovery, multi-sig will also empower other custodial wallets, but to a higher degree.
  • Easy to change seed phase: With this feature, we can often change the seed phase, improve security, and avoid seed phase leaks due to compromised browser/storage platforms.
  • Flexible gas fee payment: With AA wallets, users are not required to pay gas fees with the network’s native token. They can use alternative tokens available in the wallet, such as USDC, USDT, BTC, etc.
  • Batch transaction: Allows users to merge multiple transactions into one.
  • Spending limit: Limit the maximum gas fee per transaction and the gas fee per day.
  • Apps permission: Familiar and trusted apps don’t need to sign in every time they log in.

Leading to Mass Adoption

General users will want to interact with the project directly without understanding the intricacies of the blockchain, loading wallets, confirming transactions, paying gas fees, and more like paying bills, playing games, or social media.

AA aims to simplify UX in Web3 applications. It helps users to not care about custody, wallet, blockchain, etc., and replace them with familiar UX.

With the AA feature, users don’t need to download a wallet and sign in whenever they want to interact with the blockchain. Instead, transactions can be pooled and approved at the same time. It’s a vast UX improvement for Web3 applications.

Besides the UX improvements, the AA feature brings security improvements by turning the user account into a smart contract. Key management solutions are enabled in the wallet, allowing easy user interaction. Additional features include monitoring fraud and creating per-sign spend limits to reduce risk.

Conclusion

Account Abstraction is a dream for Ethereum developers. As more traditional giants enter the crypto market, Web3 games and decentralized systems gradually mature. Then everyone will only focus on creating operating rules and new innovative DApps. Simplifying blockchain features with AA is the necessary first step toward Mass Adoption. Reddit, one side is using this way. As a result, new general users will be more receptive to and participate in the crypto space.

Let’s wait and follow the development of Account Abstraction in the future with Kardiachain!

Website | Official Telegram community | Official Vietnamese community | Medium | Twitter | Linkedin

--

--

KardiaChain
KardiaChain

UNIFIED BLOCKCHAIN ECOSYSTEM — The first fully decentralised interoperable and self-optimised blockchain ecosystem