Ethereum is one of the most commonly used and established blockchains, and many cryptocurrencies, tokens, and Web 3.0 projects are built on the essence of it.
Over the last few years, Ethereum has introduced new updates and protocols to its ecosystem to make it more efficient, quick, and user-friendly.
Today, we will discuss a significant change to the user experience with the new account abstraction method that was introduced earlier this year. The new protocol shortens the procedures of handling a transaction and makes the interface easier for new users.
So, what is Ethereum account abstraction? We will explain everything in detail and discuss why this might be a game-changer for you.
- Account abstraction changes how crypto transactions work, from deploying smart contracts and validating nodes to batch transactions initiated from smart contract wallets.
- The account abstraction method improves user experience and requires less interference from the user.
- Smart contract wallets do not require secret codes and private keys, enforcing wallet security.
- Account abstraction validates transactions in batches, leading to lower gas fees, less human error, and faster processing.
Why Account Abstraction?
The most common way to send cryptocurrencies is from a crypto wallet by entering a wallet address, selecting the amount, and sending the money. However, if you are using a crypto wallet, you know that there are several verifications that you need to undertake, like signing different processes and approving the gas fee payment. Then, you have to wait for the transaction to be done and broadcast to the blockchain.
This process can become complicated and time-consuming for new crypto wallet users, especially during peak blockchain hours when you must wait a bit between each step. Therefore, the need for a smoother process and seamless interface advocated the launch of Ethereum’s Account Abstraction, which was announced in March 2023.
Account abstraction is a new transaction protocol that bundles transactions and allows smart contracts to undertake the process. In short, it creates more work for the underlying code and fewer steps for the user.
Crypto Transactions Before Abstraction
To better understand the importance of account abstraction, we will look at how crypto transactions currently happen using the conventional way of an externally owned account – EOA.
When the Ethereum blockchain was founded, externally owned accounts were one way to interact with the blockchain to process different orders using public and private keys. Most transactions happening on the ETH blockchain now take the form of an EOA to issue payments, mint, create NFTs, and other digital assets and creations associated with the Ethereum blockchain.
Crypto wallets like MetaMask, Wasabi, Coinbase and other commonly used ones are non-custodial, and they transfer cryptocurrencies using private and public key cryptography to send, approve, and receive funds. Then, crypto transfers are encrypted using public keys and sent to a specific wallet address that decrypts the transaction using private keys associated with the wallet address and receives the funds.
However, this process is lengthy and tedious, including a signature verification to deploy smart contracts and then another signature to approve the release of funds from the sender.
Afterwards, the transaction is pending on the blockchain until it gets validated and broadcasted, and take into consideration blockchain peak hours that may cause delays between every step. Moreover, you must afford the gas fees in separation of the transaction, so if you are conducting a transfer on the Ethereum blockchain, you need to have additional ETHs to pay the gas fees.
This process was found to be time-wasting, and a new method was needed to accompany the overall developments in Web 3.0 and crypto transactions.
Crypto Transactions With Abstraction
Account abstraction – also known as ERC-4337 protocol – also known as pseudo-transaction – is a contemporary way to transact on the Ethereum blockchain using the blockchain programming language and code functions instead of doing them manually by the users.
Therefore, there is much less work for the user to do and more functions being processed by codes on the blockchain and its several elements, like nodes, nonce structure, and smart contracts. The blockchain’s infrastructure handles transactions and groups them systematically in bundles, abolishing the need for cryptography private and public keys.
Sending money using account abstractions goes as the following steps:
Step 1 – The user selects the amount and the wallet address to which they want to send the money, deploying a UserOperation function.
Step 2 – “Bundler” validating nodes receive many of those transactions and bundle them together to send them as one transaction line to the smart contract infrastructure.
Step 3 – Once the “bundle transaction” arrives at the smart contract’s entry point, it triggers a “handleOps” function to declare receiving the batch transactions.
Step 4 – A“validateUserOp” function is triggered to start validating and processing multiple transactions against the information given in the previous step.
Step 5 – The transaction is authenticated and released to the recipient’s wallet.
This way, transaction becomes more streamlined at the backend, ditching the need for private and public key to encrypt and decrypt transactions.
How Does Your Transaction Experience Change?
There are a few crypto wallets that incorporate contract accounts, such as Ambire, Argent, and Braavos, offering an easier and faster way to transact cryptocurrencies on the Ethereum blockchain.
These wallets operate using a layer-2 network on the Ethereum mainnet, allowing you to conduct account abstraction with the following features.
Interaction With Wallet
Account abstraction involves less interaction between the user and the wallet’s interface (or with the blockchain) and increases the work streamline within the deployment code itself. Therefore, the transaction becomes more streamlined and easier for the users, especially beginners, to use crypto wallets with fewer verification and signature steps since private keys are not required anymore.
Additionally, crypto wallets with Ethereum accounts involve seed phrases that work like a private key that must be stored securely because anyone with your private key can access your wallet. Note that if you lose your 12-phrase private key, you lose access to your crypto wallet and funds.
When you execute transactions using smart contracts, you must pay gas fees, which act like transaction fees that reward and motivate nodes to validate multiple transactions.
If you are deploying a smart contract on the Ethereum network, you pay gas fees denoted in ETH, which are charged separately from the transaction you are initiating.
These transaction fees vary depending on how crowded the network is. However, using a smart contract wallet, you have other options to get around the gas fees.
- Account abstractions involve (fee abstraction) allowing users to have sponsors for their transactions who pay their gas fees instead of the smart contract wallet user. Thus, a sponsor will cover these fees and be able to pay them in different currencies than ETH, using other tokens like USDC, Tether, DAI, or other crypto tokens.
- You can get sponsored transactions by dApp developers or projects that pay the gas fee in several ways. They may pay in cryptocurrencies or simply fill the “gas tank”, which means they may top up your wallet’s ETH amount.
By that, you may process transactions without paying gas fees or having a sponsor cover your fees with other cryptocurrencies and other Ethereum operations to smoothen your transaction.
Nonce stands for Number Only Used Once, and it refers to the identifier number that accompanies every transaction you conduct from your wallet. For example, the first transaction you execute is numbered nonce #1, the second transaction is labelled nonce #2, and so on.
Now, why is this a problem? The nonce itself is not a problem. However, the blockchain processes transactions on the basis of first in, first out (FIFO) while prioritising transactions that carry a higher nonce #.
Thus, if transaction 1 is still in process and transaction 2 gets accidentally deployed to the blockchain before #1 is finished, transaction 1 will be rejected. This event causes a transaction to get stuck or unapproved.
However, smart accounts use nonce abstraction in transaction batching, meaning that each bundle has a single nonce that gets every transaction line approved and swapped with the next transaction. Afterwards, the batch nonce is verified all together in the end.
Transaction signature implies confirming the interaction between smart contracts and your wallet to release funds according to the amount selected. Some wallets may require another signature to verify the encryption of the transaction with a public key and send it to the receiver.
This process takes place in externally owned accounts and typically takes a few seconds between each step. However, in blockchain peak hours, it may extend to minutes.
However, smart accounts do not ask you for any signature, and they initiate transactions on your behalf. Thus, your private keys are not part of the process, reducing the risk of exposing them in case of hacks.
Externally-Owned Accounts Vs. Smart Contract Accounts
After understanding account abstraction and why it is significant, we will discuss how it promotes key blockchain aspects in comparison to classic externally-owned accounts.
Safety & Security
Account abstraction promotes security by removing the need to encrypt your private keys, avoiding getting them in the way of malicious attacks or hacking attempts.
Additionally, account abstractions remove the need for seed phrases, which are crucial to recovering your account, and if you lose them, you lose access to your crypto wallet.
Account abstraction has a more sophisticated workflow, where everything is automatically processed from the smart contract wallets without minimum user interactions to authorise transactions.
While a default account will require the wallet owner’s verification to encrypt the user’s private key and sign the transaction to release funds from the wallet. This procedure makes transactions a back-and-forth process between the blockchain and the user, which may involve delays according to the network congestion status.
Account abstraction promotes smart contract account security by limiting your transactions to a certain limit put by the users. Therefore, if transactions a smart contract transaction exceeds the limit, it will reject the operation, enforcing better account management and security against misuse or fraud.
A smart account owner may set up trusted wallets or “guardians”, who can take partial control over your smart account if your private key gets compromised or help you recover your account.
A guardian account may also freeze your smart contract wallet if it gets hacked or stolen and approve transactions from your account.
With smart Ethereum accounts, you can mark dApps or Web 3 projects as trusted pages, so you will not be asked to verify your account or a transaction every time you want to visit that dApp or project.
Moreover, you can integrate service providers to deduct regular payments from your contract account, like subscriptions or monthly bills payable in cryptocurrencies.
Ethereum Wallet Recovery With Account Abstraction
Using a traditional non-custodial wallet, if you lose your seed phrases, you will not be able to access your crypto wallet and its assets, and you cannot recover your secret codes, which is one of the major concerns for crypto wallet users.
However, account abstraction does not require the 12 seed phrases, and if your private key gets compromised, you create a new one. Moreover, you can configure a key rotation routine to regularly change your key code to strengthen your Ethereum account security.
Benefits of Account Abstraction
Despite the new introduction of account abstraction, this approach has a huge potential to reshape how crypto transactions work besides the following advantages.
- Reducing the possibility of human error: Transactions are streamlined through the blockchain environment with minimum human interaction. Also, the user does not have to store and maintain the seed phrases anymore, reducing the chances of exposing the wallet’s security codes.
- Enhanced security: Private keys are not part of account abstraction wallets, minimising the chances of getting the wallet’s cryptography stolen. Also, smart contract wallets operate on the layer-2 network of the blockchain, which enjoys a higher security protocol.
- Lower gas fees: Implementing account abstraction allows users to have their fees covered by a third party, besides the fact that fewer validating nodes are required to approve transactions.
- Faster crypto transactions: Since fewer verification signatures are required, the process becomes faster using smart contracts and minimising the effects of network congestion.
- Multi-sig activation: One can implement account abstraction and allow multiple users to share the same wallet, whereas transactions must be confirmed by all – or most – users.
Drawbacks of Account Abstraction
While account abstraction provides several benefits to crypto enthusiasts and wallet owners, this concept faces a few challenges.
- Relatively new: Account abstraction is a very new concept, and it will require time for mass adoption, involving most crypto wallet owners replacing their existing wallets with new abstraction-supported wallets.
- Malicious Attacks: While smart accounts are relatively safer with account abstraction, there is still a chance that funds can be compromised during the transaction process. Moreover, this way requires longer processing in the backend, and this extended period of time can expose the transaction to hacking risks.
- Higher Complexity: Sometimes simplicity is the key, and while account abstraction entails an easier interface for users, it involves complex code infrastructure, making the ecosystem prone to malfunctions and attacks.
Account abstraction is a new concept introduced by Ethereum, and it entails incorporating a simplified process to initiate crypto transactions for users. However, it puts more complexity to the code and blockchain infrastructure that deploys smart contracts and groups and validates transactions without the user’s interference, relying on systematic programming.
This approach does not require verification signing by the user or seed phrases, which makes the experience easier and more secure for the user. Account abstraction also provides more customisation and flexibility to crypto users who wish to share the wallet with other users without compromising their funds.
Account abstraction was introduced earlier this year and managed to grab the attention of crypto enthusiasts and communities due to its innovative approach and mechanism. However, it has a long way to go before we witness mass movement to these wallets.
What is account abstraction in Crypto?
Account abstraction is the process of using smart contracts as a wallet and allowing it to transact on your behalf, as opposed to the traditional way of initiating transactions and signing verification using private and public keys.
What are the benefits of account abstraction?
Account abstraction allows for more customisation in wallet management and promotes more security where your wallet’s keys are not part of the process. Moreover, it makes transactions more streamlined and easier for the beginner user.
What is the use of account abstraction?
Account abstraction involves higher security and faster transaction processing. You can use smart contract wallets to send and receive cryptocurrencies with lower gas fees and interact with different blockchains and networks outside Ethereum, like Avalanche, Tron, etc.
What are the risks of account abstraction?
It is still a new concept that needs time for mass adoption. Also, it involves a complex underlying coding infrastructure, which can be prone to malfunctions and DoS attacks when a transaction is in process.