Account Abstraction

From CryptoWiki

  • A way to have smart contract wallets. Mainly done through ERC-4337 on Ethereum, but done in other ways on many other blockchains, such as TON, where every account is a smart contract by design.
  • From a blog by Vitalik (6-2023):

"Smart contract wallets add more complexity, by making it much more difficult to have the same address across L1 and the various L2s. Today, most users are using externally owned accounts, whose address is literally a hash of the public key that is used to verify signatures - so nothing changes between L1 and L2. With smart contract wallets, however, keeping one address becomes more difficult. Although a lot of work has been done to try to make addresses be hashes of code that can be equivalent across networks, most notably CREATE2 and the ERC-2470 singleton factory, it's difficult to make this work perfectly. Some L2s (eg. "type 4 ZK-EVMs") are not quite EVM equivalent, often using Solidity or an intermediate assembly instead, preventing hash equivalence. And even when you can have hash equivalence, the possibility of wallets changing ownership through key changes creates other unintuitive consequences."

  • From the MilkRoad (7-3-2023):

"ERC-4337 introduces something called Account Abstraction, which allows Ethereum wallets to operate as smart contracts.

Still hazy? Here’s what it enables:

  1. Recovering lost private keys. There’s a new “social recovery system” where designated users have the ability to restore access to a wallet, should someone lose their private keys
  2. Securing wallets without a seed phrase. Users can enable 2FA and biometrics (fingerprint or facial scan) to protect their wallets. Sayonara to those 12-word seed phrases
  3. Carrying out automated payments and setting time-based spending limits (i.e. you can set monthly spending limits on a wallet)
  4. Sending gasless transactions. Decentralized applications can “sponsor” gas fees (aka cover the costs) to make things cheaper and simpler for their customers

Why does it matter? The upgrade enables a lot of the same features a bank offers, without needing to trust a bank.

By merging crypto wallets with smart contracts, Account Abstraction makes for more secure and efficient transactions, ultimately making crypto more user-friendly.

Plus, it makes some of the previously “impossible” stuff (like wallet recovery, seedless wallets, etc.) possible."