Futures
Access hundreds of perpetual contracts
TradFi
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Introduction to Futures Trading
Learn the basics of futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to practice risk-free trading
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
Launchpad
Be early to the next big token project
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Account Abstraction (AA): The Future Web3 Wallet Experience
We all know that Web3 wallets are the key to blockchain users, but the user experience of most wallets currently is not very good, which is one of the biggest obstacles to its mass adoption. To interact on the blockchain, new users must be familiar with the following operations: creating wallets, keeping private keys, purchasing and transferring funds, paying gas fees, and performing tedious operations on various DAPPs. Therefore, lowering the barrier of entry for new users and improving user experience are prerequisites for the mass adoption of cryptocurrencies.
ERC-4337 is a new “Account Abstraction (AA)” standard that unlocks the functionality of smart contract wallets on the Ethereum blockchain and EVM-compatible networks. ERC-4337 is one of the most critical upgrades in the way Web3 wallets work, which can create a silky user experience for users through smart accounts.
This article will introduce what is an AA smart contract account (account abstraction), how it works, why ERC-4337 is an important upgrade for the user experience of Web3 wallets, and how to implement “smart accounts” in Web3 applications.
AA smart contract account introduction
The AA smart contract account (account abstraction) combines the advantages of the current contract account and external account (EOA) account types into one, making the account itself “programmable”. While ensuring that assets are only held by smart contracts, you can have more customized and extended functions such as batch transactions, gas payment, and private key recovery. It not only simplifies the process of interaction on the chain, but also automates the realization of gas subsidies.
Account abstraction (ERC-4337) will be an Ethereum update that will allow users to create non-custodial wallets as programmable smart contracts. It can unlock many possibilities, such as wallet recovery, traceless transactions, and team wallets, making the Web3 experience more secure, convenient, and flexible. AA smart contract wallet (account abstraction) is also known as “smart account”, “smart wallet” and “account abstraction wallet”.
Ethereum account type
An Ethereum account is a unique digital address on the Ethereum blockchain that stores ETH and can initiate and execute transactions. Ethereum accounts can be divided into two types: external accounts (EOA) and contract accounts.
External Account (EOA):
EOA is a user-owned wallet that is manually operated from outside the blockchain ecosystem. They use public and private key pairs for management, and as long as they have the private key, they can use the assets stored in EOA. The most critical part of the EOA is the mnemonic, which is 12 random words (usually 12, sometimes other numbers are used) generated when setting up the wallet.
EOA uses the mnemonic to generate a private key, and then uses the private key to sign transactions. Therefore, account owners must store the seed phrase offline to protect against hacking and theft. If the user loses the private key, the seed phrase is the only way to regain the private key and retrieve the assets.
Most of the currently popular crypto wallets are EOA, such as Coinbase Wallet and Metamask. EOAs are a key part of the Ethereum ecosystem, but they are limited in functionality and flexibility and can typically only perform two actions: transfer tokens to other EOAs or initiate a transaction that triggers another smart contract.
These design limitations present a number of challenges:
**1. Weak security: **The security of EOA is directly related to the mnemonic. If the user loses the private key and seed phrase, all assets may be lost. And there are no social recovery options. In addition, users cannot configure security settings such as spending limits and two-factor authentication.
**2. Lack of customization features: **The transactions initiated by EOA cannot be customized or automated. Users must manually sign each transaction.
**3. Gas payment: **Users must first have ETH to pay gas for the transaction, while newly registered users usually do not have ETH.
Therefore, although EOA plays an important role in the Web3 journey, the user experience is not good, especially not friendly to most new users, so EOA is not an ideal way for blockchain to achieve mass adoption. Attracting large numbers of new users requires simpler user interfaces, better security, and increased flexibility.
Contract account:
The contract account uses the smart contract form as an encrypted wallet. Various logic can be coded into smart contracts to customize transactions and add other functionality to contract accounts. However, the contract account does not have a private key or mnemonic, and cannot actively initiate transactions. When a transaction from EOA triggers the smart contract code, they can only perform a certain action. This means that users need to maintain EOA with ETH balance in order to operate the contract account. This makes contract account operations more inconvenient than operating standalone EOAs, but account abstraction can change this.
How account abstraction works
The most important innovation of account abstraction and ERC-4337 is not a contract-based wallet, but the ability to abstract (separate) separate EOA or contract accounts. Account abstraction can create independent smart contract accounts that can execute transactions without EOA. Any custom operation that can be defined in the form of smart contract code can be implemented in the smart account.
The operation of the smart account is very simple. It does not need to send regular transactions like EOA, but uses the “User Operation Object” (UserOperation) to operate on behalf of the user. The user operation object has multiple data elements, which describe the transaction type, token, gas price of each step of the transaction, signature for verifying the transaction, and other data.
Based on the “account abstraction” smart account, each time a user operation is sent, the transaction will first enter the general waiting area “Mempool” (Mempool) for user operations. These requests are then bundled together by Bundlers, similar to nodes validating regular transactions, which use the same logic as validator nodes to determine the transactions from which the most value can be extracted. Bundled user actions are sent through a single whitelist entry where each individual user action is validated and executed by calling a different function.
In layman’s terms, this is actually not a wallet, but a smart contract, but you can use it as a wallet, so it is called an “abstract” account. The advantage of doing this is that it can implement some new and better experience functions. So, what are the functions?
Ethereum smart account function
Since user actions can contain any type of logic, it allows users to implement various custom actions on how their accounts and funds are managed. Here are 5 use cases for the account abstraction:
1. Wallet recovery
Unlike EOA, the security of smart accounts does not rely on mnemonic words or private keys. Smart account owners can set up multiple devices, people, or third-party services as wallet guardians. If the account owner loses the account credentials, a guardian can sign a transaction to assign new credentials to access the Smart Account. This process does not compromise the account owner’s control or ownership of the asset.
2. Merge transactions
Converting one token for another in a DEX requires two separate transactions. First, users need to use their private key to sign and approve the DAPP to use the token they want to exchange. Then, the transaction needs to be signed to perform the exchange. Other more complex Web3 transactions may require three or more signatures for approval. Smart accounts can aggregate multiple transactions together and approve all transactions at once, which will make DeFi transactions as simple as traditional financial transactions.
3. Shared account and team wallet
The EOA account owner can control full access to EOA through the mnemonic phrase. If he wants to share permissions with others, he can only give full access permissions, or keep all permissions by himself, and there is no middle way to choose. The account abstraction allows the account owner to share different levels of permissions to the wallet with multiple users. For example, an account owner can create a multisig that requires two or more of its users to sign a transaction in order to execute it. Additionally, it is possible to add users who can only spend a limited amount of funds to a specific set of wallets at a specific time.
4. Automatic trading
When using EOA, users must manually initiate or sign every transaction on the DAPP. There is no way to automate this process for trusted transactions. In a smart account, users can define a series of parameters, such as access to specific tokens, spending limits, duration, gas limits, specific actions based on preset trigger conditions, and more.
5. Use Token as a fee token
Using an abstract account, even if there is no Ethereum in your account, when a third-party service provider is required to support other Tokens, such as USDT, you can also use USDT as a service fee to complete account operations.
To sum up, the functions of the AA smart account include multi-authentication and account recovery; the original ordinary account requires multiple steps of interaction (such as exchanging tokens in DEX) into one-click completion; the dependence of gas on the main chain currency is lifted, Any tokens including stable coins can be used to pay for gas, and third-party payment of gas can be realized; and there are more possibilities, because the smart account wallet itself is a contract, the security is the same as that of an uncustodial wallet, and more customized Function.
Challenges and Prospects of AA Smart Account
At present, ERC-4337 still has compatibility issues, because not all DAPPs can verify the validity of contract account signatures at present. But the implementation of EIP-1217 will solve this problem. In addition, since the use of the Ethereum blockchain is still expensive, the AA smart account also faces the problem of gas costs. In the short term, it is foreseeable that ERC-4337 will see more adoption in L2.
Overall, AA smart accounts bring various new possibilities to Web3 applications and wallets. With Smart Accounts, not only can users manage their wallets more easily, but they can also optimize the flexibility of how the wallet operates. Smart Accounts will be the future of Web3 interactions, and they will set new standards for Web3 possibilities.