There is a huge variety of different cryptocurrencies, but most of them are built on the same schemes. These schemes are called token standards and define the key functionality and properties of blockchain tokens.
Token standards are sets of rules and agreements governing the operation of a cryptocurrency token. Among the popular standards are ERC-20, BEP-20, ERC-721, and ERC-1155.
Why Standards are Needed
Consistency: If a unique mechanic was prescribed for each new token on a smart contact, then existing platforms, applications and wallets simply could not work with it. Token standards guarantee that the products created by this standard are compatible with each other. For example, ERC-20 assets are compatible with other products and services developed using this token standard. Due to this, an ERC-20 token can also be exchanged for another token of this standard.
Also, it would be much harder to store and trade multiple cryptocurrencies without token standards. Instead of using one wallet for many different cryptocurrencies, you would have to create individual wallets for each token.
Connectivity: A connected system allows developers to reuse existing components to create new products. The same goes for token creation: the use of standards speeds up the development of basic functions and leaves more time for further innovation.
Efficiency: Token standards also make it easier to interact between smart contracts. Smart contracts that implement token standards and tokens themselves can be used to track created tokens.
Token standards such as ERC-20 and BEP-20 contain important features, including address search and token balance mapping, allowing smart contracts to track tokens more efficiently. For example, to verify the translation history and other ERC-20 token data, a developer may use the contract's application binary interface (ABI).
Variation: The presence of different standards for client software allows anyone to write their own version of the Ethereum client in any programming language, subject to standards and specifications for Ethereum nodes and clients. Thus, there can be any number of nodes and clients on the Ethereum network, some of which run Ethereum software written in Golang, Rust, Java, C #, C++, or Python. This increases "customer diversity," making the network stronger by reducing reliance on a single code implementation. But all of these implementations, regardless of software language, design, or implementation details, have one thing in common - they all follow a single specification for customers.
Thus, standards help to increase the variety of implementations. This means that there may be different approaches to security, speed, scalability, etc., and this variety enriches the overall experience.
New Ethereum Token Standard
The EIP-4337 update was presented at the ETHDenver-related WalletCon conference and deployed on Ethereum on March 1, 2023. The main innovation of this EIP was the implementation of the so-called account abstraction and the emergence of a new wallet standard, which, according to the developers, will raise the level of user experience and make interaction with the blockchain more convenient. Next, we will analyze what kind of wallets they are, how they differ from ordinary ones and why EIP-4337 is needed at all.
What Is a Contract Account and How It Differs from the Usual One
To better understand what the EIP-4337 is aimed at and what innovations it offers, let's go back a step. Before the introduction of the update on the Ethereum network, there were two types of accounts:
- External Owned Accounts (EOA): wallets that use an infrastructure provider to create. This is the dominant type of wallet provided by MetaMask and 99% of other developers.
- Contract Accounts (CA): These are wallets that are managed by code in EVM, in other words, smart contracts. They do not require an infrastructure provider to run and manage.
The dominance of EOA is explained by the architecture of the network itself, which requires that the ECDSA standard be used to sign the transaction. Smart contracts do not have the ability to sign transactions using ECDSA, so CAs cannot initiate a transaction on their own behalf. That is, they are useless as wallets for an ordinary user.
At the same time, EOAs use monolithic transaction processing logic using a private and public key. Due to monolithic logic, developers do not have the opportunity to customize its components, such as identification requirements. That is why any blockchain application requires an EOA wallet with a private key and a public address to interact.
EIP-4337 should eliminate the EOA advantage and make CA more convenient by adding a new wallet standard in the form of a smart contract and a new layer to the Ethereum network that will make it possible to conduct and verify transactions without using a private and public key. To do this, the developers implemented the so-called account abstraction. Let's analyze this term in more detail.
What Is Account Abstraction
The concept of "account abstraction" does not tell a beginner anything and complicates understanding. In informatics, an abstraction is the division of one process into several parts, which can be performed independently. Simply put, the process becomes modular and opens up possibilities for the configuration of each module.
In the context of the Ethereum wallet, this means separating the validation and execution of transactions that now occur as one continuous process. Accordingly, Contract Accounts allow you to flexibly configure each of the processes, which opens up more opportunities to optimize the user experience.
In addition, account abstraction means the separation of the account and its owner. At the moment, the wallet and the user are essentially one whole, because only the owner of a seed phrase or private key can send assets and only the owner of a public address can receive the assets. The abstraction will allow you to run a smart contract as a wallet that controls code in EVM, and not a bundle of public and private keys. This extends the supported authentication methods and wallet security features.
How Do EIP-4337 Contract Accounts Work
EIP-4337 is not the first attempt to implement account abstraction and to launch Contract Accounts on the Ethereum network. Vitalik Buterin first presented the first version of the abstraction of accounts back in 2016 and since then 5 different EIPs (86, 1014, 2938, 3074 and 4337) have been proposed on this issue. However, it was EIP-4337 that introduced a concept that does not require modification of the basic Ethereum protocol, which was a decisive factor, since it means that a network hardfork is not required to adopt it.
The architecture of abstraction of accounts in EIP-4337 consists of the following basic elements:
UserOperation: also called a pseudo-transaction. An analog of a transaction using a standard wallet, but includes more data than a regular transaction.
Bundler: The node that selects the UserOperation from the mempool collects them into packets and sends them for verification to EntryPoint. It is assumed that the Bundler function will be performed by current Ethereum validators, for which they will be able to receive an additional reward in the form of a part of the transaction fee.
Since EIP-4337 creates a new infrastructure layer on top of the Ethereum blockchain, UserOperations has its own mempool that is different from the main network mempool. Conventional validators do not have access to it.
EntryPoint: is the smart contract on the Ethereum network responsible for verifying transactions. This is a key element of the entire EIP-4337 infrastructure, so the developers focus on security and careful audit of the smart contract. EntryPoint performs several functions at once, which can be collectively called "transaction validation".
Contract Account: This is the smart wallet owned by the user. A transaction verified through EntryPoint is simultaneously sent for execution to the blockchain and to the user's smart wallet in the EIP-4337 infrastructure.
Optionally, the following can also be deployed:
Paymasters: These are sponsoring contracts that allow you to pay transaction fees instead of the sender or pay for gas in any ERC-20 tokens. So for example, P2E can deploy Paymasters in its infrastructure so that players do not need to buy ETH to pay for gas.
Aggregators: user signature aggregators. So-called atomic transactions are made possible, combining several actions into one transaction. In practice, this allows you to interact with dApps with a minimum number of signatures.
The life cycle of a transaction using a smart wallet EIP-4337 is as follows:
- The user initiates UserOperation through the wallet application (a service that provides the interface), which is sent to a special mempool.
- Bundler, which functions as a network validator, selects transactions from this mempool and forms them into packets.
- UserOperations packets are sent to the EntryPoint smart contract. The smart contract checks whether transactions can be performed and whether the user or Paymaster has enough ETH to pay for the gas.
- If all the conditions are met, then the transaction is sent to the recipient's Contract Account and Ethereum validators for inclusion in the blockchain.
Advantages and Challenges of EIP-4337 Wallets
The main goal of abstracting accounts in general and updating EIP-4337 is to replace EOA wallets with smart wallets (CAs). According to Vitalik Buterin and other specialists, this will provide developers with more opportunities to create a high-quality user experience. In particular, smart wallets support:
- Different authentication options: Abstraction of transaction validation logic allows flexible customization of user authentication options. For this, a trusted email, a biometric authenticator, or, for example, a whitelisted device can be used. That is, any gadget can be turned into a kind of an analog of a private key.
- Flexible fee payment mechanisms: Paymaster sponsorship contracts allow you to shift the obligation to pay for gas from the sender to a third party and create more complex gas payment models (for example, in ERC-20 tokens or at a discount). That is, the user now does not need to buy ETH to interact with dApps, which reduces the input threshold for beginners.
- Advanced account security settings: Additional security settings can include, in addition to the authentication method, multi-signatures, a daily spending limit, or, for example, time lags for transactions. This will help protect the user's funds even if the attacker gained access to the account.
- Atomic multioperations: The Aggregators contracts described in the previous section are responsible for this function. Thanks to them, you can forget about the numerous signatures that were needed to conduct the first DEX swap, purchase NFT on the marketplace, or other interaction with dApps.
An important breakthrough is the possibility of social restoration of the wallet. With this function, the user can return access to the wallet through a list of trusted wallets or email addresses, for example, friends or relatives.
This means that the times when in order to fly into the usual P2E it was necessary to create a wallet, buy ETH, sign several transactions and try not to give access to assets to a scam smart contract are left behind. Wallets of a new type of functionality will be more similar to Google or Apple ID accounts than to MetaMask and Ledger.
The Bottom Line
Token standards are peculiar schemes for developing and running blockchain-based tokens. There are now several token standards in the industry, as well as many innovative solutions. One of these is EIP-4337.
EIP-4337 is an important step towards mass growth, since new accounts give a more familiar and understandable user experience. It is unlikely that people forgetting a Twitter password will use technology that requires 12 words to be remembered and understand what private and public keys are.