Have you ever had to reset your password because you couldn't remember "HelloKitty@123" for the hundredth time? Well, imagine trying to recall a string of 12-24 random words like "giraffe, banana, ninja, zebra..." - ...it's like trying to memorize a tongue-twister after one too many espressos! And yet, this is the reality for today’s web3 users who want to protect their digital assets.
Fortunately, there's good news on the horizon. Ethereum has recently introduced a new standard - ERC-4337 Account Abstraction - which will have significant implications. This new standard will simplify how users manage their digital wallets, paving the way for mainstream web3 adoption.
If you've tried to Google “ERC-4337”, you might have found yourself lost in a sea of jargon and technical talk. But fear not, we’ve got you covered! In this article, with our CTO Alexandre Cognard, we will break down everything you need to know.
First, let's unpack the term: “ERC-4337”
Ethereum, as the most prominent protocol in the web3 ecosystem, is subject to constant improvement by developers worldwide. These improvements frequently involve the creation of new standards, including the well-known ERC-721 standard. This standard has enabled the Ethereum network to support NFTs as we know them today and serves as the foundation for the Arianee Protocol.
To suggest further improvements, developers can submit an Ethereum Improvement Proposal (EIP). Think of EIPs as suggestion boxes where developers can share their ideas on enhancing the Ethereum blockchain. After submission, EIPs undergo a review process by the community to determine feasibility and potential impact. They may become an Ethereum Request for Comment (ERC) if approved.
ERCs are simply sets of standards that developers can use to create smart contracts addressing different needs on the network. Each ERC is identified by a number corresponding to the request that proposed the standard. For example, the latest proposed standard to reach its final stage of development is ERC-4337. By following ERC standards, developers can create tokens compatible with other Ethereum network applications, promoting interoperability and encouraging innovation.
OK, now what about “Account Abstraction”? It sounds very … abstract to me.
The latest ERC-4337 standard simplifies the complexity of accounts on Ethereum by unifying two types of accounts (Externally Owned Accounts and Contract Accounts) into a single type - Contract Accounts. In other words, it will transform all Externally Owned Accounts into programmable smart contracts.
Although smart contract wallets like Argent Wallet have had Account Abstraction since 2017, this upgrade will establish it as a native standard on the Ethereum protocol.
This is why it's called "Account Abstraction," as it abstracts away the complexity of having multiple account types. Get it?
Aargh… It’s a mille-feuille of new terms! What are Externally Owned Accounts and Contract Accounts, very simply explained?
Right, sorry. To understand Account Abstraction, we need to understand the basics: the status quo of Ethereum today.
On this blockchain, two types of accounts exist:
- Externally Owned Accounts (EOA): Function as personal piggy banks for managing tokens that require a private key to access and control. Losing the key to access the EOA results in losing all funds stored within the account.
- Contract Accounts (CA): Operate similarly to a vending machine, following predefined rules encoded in its smart contract code to execute actions. Just as a vending machine can interact with multiple users and accept payments from multiple sources, a contract account can interact with various users to receive ether/other tokens from EOAs.
Notably, most of Ethereum’s existing wallets are externally owned accounts (EOA). Account Abstraction will allow users to use smart contract wallets instead of EOAs.
But why?
Today on the Ethereum Mainnet, an EOA, and its owner are inseparable, which creates a lack of flexibility that leads to poor UX in various ways.
To name a few:
- Transaction Efficiency: Performing actions on the blockchain can be tedious, especially for new users. To add new information to the blockchain, users must sign a transaction from their EOA, which can result in multiple transactions necessary to complete the desired action.
- Account Recovery: Losing access to your private key is a common and dangerous problem, as it gives others control over your funds. Private keys are easy to lose and impossible to recover.
- Payment: Users must pay transaction fees in ETH for every transaction made through their account. These fees are especially difficult for new users who may need to purchase cryptocurrency solely to pay those fees.
These limitations have been hindering the adoption of web3 for years, creating barriers that lure users back to centralized solutions instead. Addressing these limitations is therefore becoming increasingly urgent.
What are the benefits?
As described by the team of developers who introduced it, the ERC-4337 standard focuses on simplifying the creation and management of digital wallets.
How exactly do they plan to achieve this goal?
With Account Abstraction, every user will be able to use an account with added controls and features tailored to their needs.
SECURITY MEASURES
- Social Recovery: Users can authorize new keys in case of private key loss through trusted friends, hardware wallets, third-party services, or a combination thereof
- Account Freezing: Option to freeze the account from an authorized device in case of device loss or compromise
- Set Transaction Limits: Limits can be set to specify the maximum transferable value within a given time period to prevent an attacker from draining the account in a single transaction
- Create Whitelists: Ability to create whitelists of safe destination addresses for transactions, preventing an attacker from sending funds to unauthorized accounts
- Multi-Factor Authentication: Security feature that requires users to provide more than one form of authentication, such as facial recognition, to access an account
- Multi-Signature Wallets: Transactions require multiple signatures from trusted parties, increasing security. For instance, transactions involving significant sums may necessitate authorization from both a mobile device and a hardware wallet or require signatures from accounts distributed among trusted family members
TRANSACTION-RELATED FEATURES
- Gas-Free Transaction: Option to cover transaction fees on behalf of another party
- Custom Gas Management: Allow users to pay transaction fees in different currencies, including tokens or fiat currency
- Bundled Transactions: Allow users to save on transaction fees by combining multiple operations into a single transaction
In a nutshell, Account Abstraction allows web3 to mimic a lot of practices used in the traditional financial sector, an effective approach to onboarding new users.
This all sounds great, but does it mean we have to compromise the idea of decentralization?
Good question! The implementation of ERC-4337 does not imply a compromise on the concept of decentralization. As long as individuals retain the option to safeguard and retrieve their assets at their discretion personally, it is sufficient to prevent any centralized platform from establishing a monopoly on the market.
So I still need to keep my seed phrase secure?
Yes, yes, yes! 😃😃😃 No matter how cool and futuristic things get, never forget the importance of keeping your seed phrase safe and sound. It's your golden ticket to accessing your funds and managing your web3 wallet, no matter what.
How will Account Abstraction impact Arianee?
We are closely monitoring this exciting development and exploring the most effective ways to incorporate it into Arianee for an enhanced user experience. As with any major change in the Ethereum ecosystem, it will take time for its effects to ripple through dApps and wallets. However, Arianee will play its part in embracing this change. Stay tuned for updates.
Alexandre Cognard - CTO