263 days ago
Beyond the Basics: Account Abstraction 101
Account Abstraction is key-nd of a big deal!
It’s no secret that the current UX and onboarding is difficult in most web3 apps. We can’t onboard the first billion people to web3 if we are relying on users paying for gas and never losing their private keys.
This is where Account Abstraction comes in. Imagine a world where you can:
Recover your funds if you lose your private key
Interact with web3 apps without needing to purchase crypto or pay for gas
Have others manage your funds based on rules that you define straight from your wallet
All of this is what Account Abstraction promises to do, and this is why many people believe it will be the next big thing for Ethereum and make web3 apps more usable for mainstream users.
Why haven’t today’s wallets adopted Account Abstraction?
In order to answer this questions, we must first understand that there are 2 different types of accounts on Ethereum:
- Externally Owned Accounts- EOAs
- Smart Contract Accounts- SCs
Externally Owned Accounts
EOAs (e.g. MetaMask & Ledger) are commonly used to interact with blockchains, and are controlled by a private key linked to a specific address. They’re free to generate and can be reused on all EVM chains with the same address, providing a natural interoperability layer for web3.
If your credit cards get lost or stolen, there’s a process you can go through to regain access to your money. However, if you lose the keys to your EOA your funds are gone forever, as there’s no way to restore access without giving someone your private keys beforehand.
Because of these difficulties with EOAs, you also can’t delegate the execution of transactions to third parties. This makes many use cases like letting third parties pay for your transaction fees difficult to implement. Additionally, EOAs have an extremely poor & clunky UX that can be difficult to navigate for most users.
Smart Contract Accounts
SCs (e.g. Safe) are controlled by code instead of a private key. Think of them like digital locks that you can program however you want. This flexibility enables exciting use cases such as social recovery (being able to login to your wallet with Google, Facebook, etc.), delegating the execution of transactions to third parties, and more.
SCs are a major upgrade to the current web3 experience, enabling you to:
- Interact with blockchains without paying for gas
- Automate the movement of your funds without giving custody of your assets to someone else
So why is Account Abstraction still not the default option in web3?
SCs have been around for a while but they’re just one piece of the puzzle. Though they allow you to program arbitrary logic into them, they’re still limited as you require external entities to run computation and EOAs to initiate transactions from off-chain.
In order to leverage their true potential, SCs need access to an off-chain network that will run the computation and execute transactions on behalf of the user, enabling web3 apps to fully abstract away the complexities of interacting with blockchains.
How is Gelato implementing Account Abstraction?
SCs + Gelato = Account Abstraction!
Using Gelato Automate devs can have users automatically interact with their apps to buy an NFT if the floor price drops below a certain value, for example. Devs can also use Gelato Relay to enable users to interact with their apps by sponsoring transactions on their behalf– so users never need to worry about paying gas!
Learn more about Account Abstraction
If you’re interested in learning more about Account Abstraction and how this is possible, check out Vitalik Buterin’s guide to Account Abstraction & EIP-4337 (the Ethereum Improvement Proposal that talks about Account Abstraction).
Gelato is a Web3 Cloud Platform empowering developers to create automated, gasless, and off-chain-aware Layer 2 chains and smart contracts. Over 400 web3 projects rely on Gelato for years to facilitate millions of transactions in DeFi, NFTs, and gaming.
Gelato RaaS: Deploy your own tailor-made ZK or OP L2 chains in a single click with native Account Abstraction and all Gelato middleware baked in.
Web3 Functions: Connect your smart contracts to off-chain data & computation by running decentralized cloud functions.
Automate: Automate your smart contracts by executing transactions automatically in a reliable, developer-friendly & decentralized manner.
Relay: Give your users access to reliable, robust, and scalable gasless transactions via a simple-to-use API.
Account Abstraction SDK: Gelato has partnered with Safe, to build a fully-fledged Account Abstraction SDK, combining Gelato's industry's best gasless transaction capabilities, with the industry's most secure smart contract wallet.
Subscribe to our newsletter and turn on your Twitter notifications to get the most recent updates about the Gelato ecosystem! If you are interested in being part of the Gelato team and building the future of the Internet browse the open positions and apply here.