Account Abstraction's Benefits - A Simple Explanation
UX and Security
With the signer and account separated, anyone can change the private key that authorizes transactions from their account. This can be done in the event of a hack, which is easily solved by changing an account’s signer.
Since all accounts (i.e. our wallets) can have custom code, that can be used to bundle transactions together, just like the way smart contracts do. This means a token swap or NFT purchase takes 1 operation, instead of up to 4. This eliminates the need for infinite approvals, as everything necessary happens in one transaction, while also reducing gas costs for users.
Thanks to custom code, wallets can authorize platforms to perform specific functions for a set amount of time. This can make using exchanges or playing blockchain based games won’t require authorization every time a repeated task is performed. It’s instead authorized for some time to do those things by the session key.
With social recovery, anyone can appoint a number of “guardian” accounts. If a signer for a wallet is ever compromised, the guardians could vote to change the signer for that account themselves. Guardians can be added or removed by the signer themselves, but with a time delay. This presents an opportunity to recover a wallet from a compromise by depending on others you trust.
Multi-Factor Authentication becomes possible, with an operation requiring approvals from several accounts before actually happening. While this is similar to milt-signature wallets, it is different. Multi-signature wallets are actually smart contracts that perform operations when several people authorize them. Account Abstraction on the other hand grants that ability directly to all wallets.
This presents the possibility of buying and selling accounts, since signers for those accounts can be changed. This could allow for the safe transfer of wallets with whitelists for upcoming NFT mints or even soulbound tokens, making them not so soulbound anymore.
Code Custom Logic
Wallets can have custom code which can be used to enhance or alter the functoins they perform. This custom code could be built by anyone and made available to the public as plugins. Imagine an App Store that added additional functionality to your wallet. That becomes possible.
Signers for Different Operations
Wallets can have instances that are specific to the device they’re on, only authorized to perform specific transactions. This could allow anyone to have a wallet on their phone that can only perform very basic operations, have spend limits, and cannot perform a transfer. An instance of a wallet on a home computer could be given broader access.
Gas in Other Currencies
With wallets having custom code, any currency can be used to pay for gas fees. Someone could pay for gas with USDC, for example. What actually happens is that the currency is swapped into ETH and used to pay for gas fees, all in the same transaction.
A spam filter also becomes a possibility, wherein anyone can permit inbound transfers to their wallet only from authorized sources. There will likely be services that compile safe senders, allowing anyone to import a list into their wallet of addresses that can make transfers to them. Say goodbye to your hidden folder on Opensea.
Account Abstraction enables recurring transactions - without infinite approvals. This could facilitate subscription services launching on Ethereum while also making the user experience safer and better.
This article is a summary of a full write-up on Account Abstraction, available on my free newsletter!
Sign up for a simple explanation of a blockchain concept, delivered once a week.
Stay kind. Stay curious.