Have you ever use MetaMask and use crypto DApps? Or tried to send assets from one wallet to another? If your answer is yes, you know how difficult it can be to use Web3 wallets. Web3 wallets like MetaMask are notoriously complex and unfriendly to new users. Not to mention losing private key and seed phrase can make you lose your assets. In addition, the transaction fees of Web3 DApps are also very high. You can pay around $1-10 dollar just for gas fees when using DEX. Therefore, the Ethereum development team has been trying to solve this problem since 2015 through a concept called account abstraction (AA). What is account abstraction? Why is this innovation so important? This article will explain it in detail.
Article Summary
- 📱 Web3 wallets like MetaMask are complex and difficult for new users. The implementation of account abstraction (AA) technology will ensure crypto wallets are easier to use.
- ⚙️ Account abstraction (AA) is a technology that separates the user’s control over their assets from the execution of smart contracts. This allows users to use their accounts without having to perform complex and manual interactions.
- 🔨 While AA brings many advantages, its implementation is quite difficult, and developers are looking for the ideal way to implement it on the Ethereum network.
- 👥 The concept of AA has been around since 2015. The latest implementation proposal, EIP-4337, was put forward by Vitalik Buterin and several other developers in 2021.
- 🧠 Some of the uses of AA include adding security features such as 2FA and social recovery, gasless transactions, the ability to batch transactions, automatic payments from crypto wallets, and alternative signature schemes.
What is Account Abstraction?
Before knowing what account abstraction (AA) is all about, we need to understand the context first. In Ethereum, there are two types of accounts: Externally-owned accounts (EOA) and contract accounts. EOAs are regular user accounts while contracts accounts are smart contracts of a crypto application.
Some of the biggest drawbacks of EOA are that it relies heavily on private keys, lacks customization, and its operations require manual interaction from the user. Account abstraction turns all existing EOAs into smart contract accounts. With this, all accounts are treated like smart contracts so they are highly customizable and developers can add complex logic.
The issue of seed phrases and private keys is a huge problem with EOA. billions of dollars worth of assets were lost because their owners forgot or lost their private keys.
So, what is AA? Account abstraction is a technology that allows developers to separate the user’s control over their assets from the execution of smart contracts. Basically, account abstraction allows users to use their accounts without having to perform various manual interactions such as storing private keys, determining gas fees, and signing transactions. All these complex operations are handled at the protocol level and you can interact with your wallet just like a normal account. With AA, creating and using a Web3 wallet will be as easy as having a social media account like Instagram and Twitter.
So, if AA brings so many benefits why hasn’t this technology been implemented yet? One of the reasons why AA hasn’t been used by many protocols is the difficulty of implementation. With the size of the Ethereum network, developers are looking for the most ideal way to implement AA.
Why is Account Abstraction Important?
Web3 wallets are one of the biggest pain points when using crypto apps. It is one of the significant barriers to the massive adoption of crypto. Currently, Web3 wallets are the only tools to use crypto-native applications such as DeFi applications and NFT platforms. These digital wallets also give users full decentralization and control over their assets. Therefore, improving the ease of use of Web3 wallets and making them more friendly for non-crypto users is a priority.
The implementation of account abstraction is very important because it removes most of the barriers of Web3 wallets. Users no longer have to sign each part of the transaction that occurs as this is handled by the protocol. More importantly, account abstraction means that Web3 wallets do not have to use seed phrases or private keys.
“AA gives each account features like a bank without having to put trust in a bank.”
– Ethereum Foundation Security Researcher, Yoav Weiss, speaking to Cointelegraph.
As the quote above suggests, the crypto industry gives us control over our own assets and simplifies complex financial processes. To attract millions of people to the crypto industry, Web3 wallets need to be easy to use and have a seamless UX. Account abstraction makes this possible.
How does Account Abstraction Work?
As the name suggests, account abstraction “abstracts “ some of the components of a crypto account to make it easier to use. This abstraction removes complex technical aspects. Users only need to log in without a private key, make transactions without having to specify gas fees, and execute multiple transactions at once in one click.
Besides making it easier to use crypto asset accounts, account abstraction adds many new uses. The migration from simple EOA to programmable smart contracts accounts opens up many new possibilities such as gasless transactions and multichain accounts.
How EIP-4337 Works
Vitalik Buterin explained that the concept of account abstraction has actually been around since 2015. Several AA implementation ideas were also thrown to the Ethereum developer community. In 2021, Vitalik and several other developers propose another AA implementation through EIP-4337.
In the EIP-4337 proposal, Vitalik and several other developers proposed implementing AA without having to make changes to the Ethereum consensus layer. This was done by introducing an alternative mempool that processes a new object called UserOperations
.
The UserOperations
code is a new object type for transactions from smart contract accounts. So, instead of transactions, users will send UserOperations
to the alternative mempool. Specialized validators called bundlers then take UserOperations
, batch them, and send them to a specialized smart contract called EntryPoint contract. The Entrypoint smart contract verifies and executes transactions from the smart contract account.
EIP-4337 is groundbreaking in the implementation of account abstraction because it doesn’t make massive changes to the Ethereum CL protocol. By using a new operating code and leveraging smart contracts, various development teams can implement AA with a high degree of operability.
Of course, this doesn’t mean EIP-4337 is easy to implement. The image above is Vitalik’s presentation on challenges for the Ethereum team in implementing AA. Some protocols can already use account abstraction at the application level using various means of implementation.
Use Cases of Account Abstraction
1. 2FA and Social Recovery for Web3 Wallet
Account abstraction will open up new ways to secure Web3 wallets like MetaMask. With AA making each wallet a smart contract, developers can write advanced security features into Web3 wallets such as integrating off-chain 2FA (Two Factor Authentication) processes.
In addition, security methods such as social recovery can be implemented. If you lose access to your crypto wallet, you can designate multiple account addresses to act as “guardians”. These trusted accounts can collaborate to create a new access key for your account.
2. Gasless Transactions and Gas Payments Using ERC20 Tokens
One of the new concepts brought by EIP-4337 is sponsored transactions by paymasters. Paymasters are parties that can sponsor a user’s gas fee. In the context of the crypto ecosystem, paymasters are DApps (decentralized applications) that subsidize users who use their applications.
Paymasters can also replace users’ payment methods with any ERC-20 token such as USDT, USDC, and others. So, this simplifies the user interaction experience with the app and eliminates the need to have ETH in a crypto wallet.
3. Transaction Batching
Currently, common DeFi interactions such as swaps usually require three transactions (approve, deposit, and borrow) that must be executed and signed sequentially. With AA, this series of transactions can be done in just one click. These three transactions are instantly completed in one signature process. This batching of transactions significantly reduces the complexity of using crypto apps. So, the crypto app experience can be as easy as a regular app.
4. Automated Payments from Web3 Wallet
Account abstraction enables an important feature: transaction automation. Transactions can be scheduled at a specific time or follow a series of other transactions. With this, you can set up things like scheduled payments through Web3 wallet or automatic DCA strategies. This automation process also opens up opportunities for app developers to create new subscription payment models or innovative DeFi strategies.
5. Alternative Transaction Signature Scheme
Currently, the only signature scheme used on Ethereum is ECDSA (Elliptic Curve Digital Signature Algorithm) and accounts are tied to that algorithm. So, ERC-4337 or account abstraction removes that limitation, allowing developers to implement alternative signature schemes.
The development of these alternative signature schemes opens up the possibility of creating signature processes with quantum-resistant algorithms. In addition, there is potential to use devices such as smartphones and PCs for alternative signatures.
Conclusion
The implementation of account abstraction (AA) in the Ethereum ecosystem is very important. AA is an innovation that aims to simplify the use of Web3 wallets such as MetaMask, which are complicated and difficult for new users. AA treats all accounts like smart contracts so that complex logic can be modified and added. In addition, AA also overcomes the problem of high transaction costs and the risk of losing assets due to private keys and seed phrases. However, the implementation of AA is still problematic due to the difficulty of implementation. Account abstraction will make using Web3 wallets as easy as having a social media account, thus encouraging widespread adoption of cryptocurrencies.
How to Buy Crypto at Pintu
You can start investing in cryptocurrencies by buying them on the Pintu app. Here is how to buy crypto on Pintu:
- Create a Pintu account and follow the process of verifying your identity to start trading.
- On the homepage, click the deposit button and top up the Pintu balance using your preferred payment method.
- Go to the market page and look for your favorite crypto (like BTC).
- Click buy and fill in the amount you want.
- Now you are a crypto investor!
In addition, the Pintu application is compatible with various popular digital wallets such as Metamask to facilitate your transactions. Go and download the Pintu cryptocurrency app on Play Store and App Store! Pintu is regulated and supervised by Bappebti and Kominfo.
You can also learn crypto through the various Pintu Academy articles which are updated every week! All Pintu Academy articles are for educational purposes, not financial advice
References
- Seth Bloomberg, “The Account Abstraction Landscape: ERC-4337, Bundlers, and Paymasters”, Messari, accessed on 26 July 2023.
- Giovanni Zaarour, “Deep Dive into Account Abstraction and EIP-4337: Scaling Ethereum UX from 0 to 1”, Medium, accessed on 27 July 2023.
- Iamserdar, “Account Abstraction. Everywhere. All At Once”, Substack, accessed on 27 July 2023.
- “ERC-4337: Account Abstraction Using Alt Mempool”, Ethereum.org, accessed on 27 July 2023.
- “Architecture – ERC 4337 Documentation”, ERC-4337.io, accessed on 27 July 2023.
- Ignas, “Smart Accounts: Revolutionizing Our Interactions with Web3”, Substack, accessed on 27 July 2023.
- Dimitar Bogdanov, “EIP-4337 and the quest for account abstraction on Ethereum”, LimeChain, accessed on 28 July 2023.
- Itai Turbahn, “Account Abstraction – the Future of Wallets?”, Dynamics, accessed on 27 July 2023.
- William M. Peaster, “ERC-4337: Simpler, Safer NFTs”, Substack, accessed on 27 July 2023.