Account Abstraction

What is Account Abstraction

Account Abstraction is a blockchain technology that allows users to use smart contracts as their accounts.

The ability to securely claim digital assets is one of the most enticing features of blockchain technology. In Ethereum, the ownership of these assets is tightly linked to Externally Owned Account (EOA) and its associated key pair. However, EOAs come with high user barriers, relying on mnemonics and private keys. From a developer's perspective, EOAs lack programmability.

Through account abstraction, users can deploy well-designed wallet smart contracts as their accounts. These wallet contracts are responsible for verifying transactions, granting users the ability to customize their account's security and operational models.

The Benefits of Account Abstraction

Account abstraction eliminates friction in user interactions with web3 wallets and dapps, bringing the web3 user experience closer to that of web2. It offers flexibility, security, and ease of use, benefiting all users, from beginners to experienced individuals.

Account abstraction provides functionality abstractions in several aspects, which can potentially lead to new application scenarios.

  1. Signature Abstraction
    1. Native multi-party signature capabilities
    2. Transaction allowances
    3. Multi-factor authentication
    4. Key rotation and revocation
    5. Pay without password
    6. Multi-party secure account recovery
    7. Periodic payments
  2. Fee Abstraction
    1. Paying transaction fees with ERC-20 tokens
    2. Dapp (e.g., wallet or DeFi) sponsorship of transaction fees
    3. Improved user onboarding processes for wallets
  3. Nonce Abstraction
    1. Simultaneous transfers to multiple accounts

The History of Account Abstraction

Multiple solutions for account abstraction have been proposed and implemented thus far. Some wallet providers may have already incorporated convenient features in their wallets that offer similar benefits as account abstraction.

To support account abstraction at the blockchain system level, proposals such as EIP-86 and EIP-2938 were introduced but ultimately put on hold due to the required changes at the consensus layer.

Fortunately, it is now possible to achieve account abstraction without modifying the consensus layer. ERC-4337 presents an innovative approach to account abstraction, relying on advanced infrastructure to avoid the need for consensus layer modifications.