Introduction
Account Abstraction is the single biggest upgrade on the horizon for Ethereum. Completely transforming what’s possible with blockchain while making it more user friendly; Account Abstraction gives Ethereum novel potential.
Sections
How Accounts Work Today
Account Abstraction’s Benefits
In Conclusion
*If you’re around for NFT Paris, DM me and let’s meet up!
**Thank you to Ziad for proofreading.
How Accounts Work Today
Understanding the magnitude of the change starts with understanding how accounts work on Ethereum today. An account is simply a wallet address, and there are two main types: ones owned by people, called Externally Owned Accounts (EOAs), and the others belong to smart contracts. A key distinction between the two is that smart contracts can contain custom code, whereas EOAs (our wallets) cannot. This will become important.
EOAs today are actually a combination of two things, often taken as one and the same. EOAs are both the account that holds assets, and also the signer that authorizes transactions on that account. This has the serious impact that when an account is hacked, all the assets it holds are likely lost. If we could separate the account from the signer, we could easily protect ourselves even if hacked by simply changing the signer that authorizes transactions for an account. This is where Account Abstraction starts.
Account Abstraction separates the account that holds balances from the signer that authorizes transactions. In addition, it also allows EOAs (the accounts that are our wallets) to also have custom code, just like smart contracts do. Let’s see how these two concepts change how Ethereum works.
Account Abstraction’s Benefits
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.
Multicall Transactions
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.
Session Keys
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.
Social Recovery
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.
MFA
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.
Key Rotator
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 Different 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.
Spam Filter
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.
Recurring transactions
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.
In Conclusion
These are likely not all of the changes Account Abstraction can facilitate, but nonetheless provide an insight into how transformative the change is. Those that enter the Ethereum ecosystem after this upgrade will balk at how we could have been there before it. It seems to be the major change that can make Ethereum user-friendly for most people globally.
The majority of Account Abstraction’s functionality comes with upgrade EIP-4337, which is still being updated. This upgrade will likely take a couple of years to go into effect, but awareness and support for it could help increase its priority amongst Ethereum developers. Let your friends know about Account Abstraction!
Thank You & Additional Reading!
Thanks a lot for reading! Here are some more resources if you'd like to dive deeper.
Please like this post and sign up for more simple write-ups on blockchain concepts.
If you’d like me to cover any topics or have any questions, reach out in the comments!
Stay kind. Stay curious.