Ethereum, as a cryptocurrency, has been around for a while now. However, it is yet to be fully adopted by the masses. One of the greatest obstacles hindering crypto to go from geek love to mass adoption is the sub-par user experience for most Web3 wallets. These wallets are a user’s key to the blockchain. To further explicate the statement, if new users want to interact with the blockchain, they need to create a wallet, store their private keys in it, transact funds, pay gas fees, and authorize every single action they take on a dApp with a signature. Account abstraction is one of the potential ways to improve the user experience and make Ethereum capable of mainstream acceptance.
While the topic of Account Abstraction has been in discussion since 2015, its mainstream application is expected in 2023. So is it really the future of wallets? This article aims to answer this question.
So What Exactly is Account Abstraction?
Account abstraction typically separates account management from the underlying blockchain technology. To put it simply, it makes interacting with the blockchain more flexible and efficient for the users.
To further understand the concept of Account Abstraction in detail, one must start by understanding the basic Ethereum glossary.
Externally-owned Accounts (EOAs)
EOAs are conventional accounts that one creates using a wallet. These accounts comprise a hidden key and a derived public address. EOAs are the primary means by which most users interact with the blockchain.
Smart Contract Accounts
Smart contracts are programmable applications that don’t require a private key for executing transactions. Instead, they are designed to perform specific actions based on their programmed logic. EOAs or other smart contracts can interact with these entities, carrying out pre-defined actions as per the instructions specified in the smart contract’s program code.
With the basic Ethereum glossary out of the way, let’s now decode Account Abstraction in detail.
Decoding Account Abstraction
Account abstraction proposes improving flexibility and usability in Web3 by changing all accounts into smart contracts. It aims to accomplish this by moving the transaction validating conditions like gas payment, signature verification, replay protection, etc. out of the core protocol layer and into the execution layer — the EVM (Ethereum Virtual Machine) smart contract level.
Here, it’s not just about ditching EOAs and utilizing smart contract accounts instead, but changing how a blockchain interacts with smart contracts and establishing new ways to verify data from smart contracts. In the language of computer science, “Abstraction” translates to concealing information to draw attention toward more significant aspects. So Account Abstractions aims to abstract away the following particular components of an account.
- Signature Abstraction — Allowing the use of different signature validation schemes by different account contracts.
- Gas Abstraction — Allowing more than one model of payment for transaction fees. For instance, payment by another contract.
- Nonce Abstraction — Allowing multiple nonces for different types of transactions rather than just a singular, linear nonce for an account.
- Network Abstraction — Utilising arbitrary message bridges to let accounts on a different network control smart contract accounts.
Perceivable Benefits of Account Abstraction
Currently, users require EOAs or private keys to interact with the blockchain as it recognizes an account as a private and public key pair. The chain utilizes this ECDSA private/public key pair by means of signatures to verify whatever the user does. However, private keys are not exactly user-friendly and are difficult to store, manage and recover.
Account Abstraction, as mentioned previously, proposes to remove the account specification from the core protocol level and utilize the more flexible and customizable smart contract accounts as default accounts or an entry point to implement these specifications.
Above and beyond this, the primary value of Account Abstraction is in the features that it avails. Let’s list some of the noteworthy benefits.
Advantages from signature abstraction
- Seedless logins
- Native multisig
- Easy wallet migration & key management
- Social Recovery
- Hybrid Custody Steps
Advantages from gas abstraction
- Enable payment for user transaction gas
- No need for Ethereum in users’ wallets
- No need to mandate native or contract-defined tokens
Other benefits
- Beginner-friendly experience for dApps and wallets
- A private key/seed phrase-free experience
Use Cases of Account Abstraction
Account Abstraction can support myriad Ethereum application development use cases. These include the following:
- Recurring or Scheduled Payments on a Self-Custodial Wallet
Currently, every transaction on a self-custodial wallet needs to be approved synchronously. Account Abstraction may let you schedule transactions according to event-driven flows or with time delay. This would ultimately enable recurring payments
2. Sponsored Transactions
One of the biggest hindrances for new crypto users is having to pay transaction fees as part of their onboarding process. Currently, to try out many dApps, they need to wait for KYC at a centralized exchange, purchase Ethereum and transfer it to their wallet. With Account Abstraction, dApp developers may choose to subsidize these fees.
3. Session Keys for Games
As of now, games on blockchain have full control over the players’ wallets. To avoid that they need to approve every single action which makes the gaming experience cumbersome. With Account Abstraction, it would become possible to permit automatic transactions with a particular DApp for a specific amount of time by programming smart contracts to create a private burner key.
So Is Account Abstraction the Future of Wallets? If Yes, When Will It Get Here?
With Account Abstraction, smart contracts can be implemented as a contract like EIP4337 or natively in the protocol itself. EIP-4337 is not a finished product yet and will undergo changes before it is finalized. Even still, inspired by EIP-4337, various L2 chains or L2 ZK-rollups like StarkNet, zkSync, etc. have started to implement their unique versions of account abstraction.
Essentially, Account Abstraction would provide much more flexibility and customizability. However, we cannot ignore the security tradeoffs. With the transactions becoming extensible, it offers a larger surface area for attack vectors. Moreover, since it warrants migrating to the new standard, unforeseen bugs are almost inevitable. There are several other risks involved as well. So with account abstraction, it becomes essential to achieve a middle ground.
Ultimately, since we are now seeing some realistic implementation of Account Abstraction, it will surely govern what the next-generation wallets should look like.
Originally published at https://www.codezeros.com.
Is Account Abstraction the Future? was originally published in Blockchain Biz on Medium, where people are continuing the conversation by highlighting and responding to this story.