The Ethereum blockchain, launched in 2014, is widely known for its smart contracts, contracts that are self-executing according to defined parameters. In order to make these smart contracts work as well as possible and to allow them to communicate with each other, the developers have decided to set up standards, the latter are called ERC – Ethereum Request for Comment.
An ERC is written by developers in the form of a report describing the methods, behaviours, research or innovations applicable to the functioning of the Ethereum ecosystem. This report is then submitted for peer review by the network, and once approved by the developer community, the proposal becomes a standard.
Standards are first brought by developers through proposals, then it is the Ethereum community that decides whether or not to accept these standards, mainly by creating projects using them.
ERC-20: the preferred token of ICOs
Among these standards, the most well known and widespread is the ERC-20, this Token standard has been massively used and made accessible through ICO-type fundraising.
The advantage of this standard is that the vast majority of smart contracts and DApps – decentralized applications – can interact with an ERC-20 token natively, without the need for token details. As a result, a smart contract implementing this standard will be more easily listed on an exchange platform, without additional integration work.
ERC-223: an optimized standard token
The ERC-223 standard is a Dexaran suggestion to solve some problems with the ERC-20 token standard. ERC-223 remains currently a proposal and is not yet widely used, only a few projects have decided to implement it: MobileGo, Coss or Follow Coin.
The problems that the ERC-223 wants to solve are:
Avoid accidental loss of tokens when sending a token to a smart contract that is not designed to work with the sent token. Using event management, ERC-223 allows you to cancel a transaction that would lead to the loss of tokens before it occurs.
The standard allows a reduced gas consumption during transfers compared to the ERC-20 tokens.
In order to promote the implementation of this standard, the developers have taken care to make the ERC-223 standard backward compatible with the ERC-20 tokens. All functions and features of the ERC-20 tokens work perfectly with the ERC-223 tokens/smart contracts.
The main disadvantage of this standard is on the trading platforms side, which may need to make changes to support tokens, so integration is more complex than with an ERC-20.
ERC-721: non-fungible tokens
Proposal ERC-721 was suggested by dete with the main objective of creating a standard for non-fungible tokens – unique and non-divisible tokens. In the case of the ERC-20 or 223, we have a stock of fungible tokens, where one unit is equivalent to another.
In the case of the ERC-721, other use cases are being addressed, which require non-identical tokens with specific parameters and a different value.
This token standard has been used to represent the famous CryptoKitties on the blockchain, allowing the creation of virtual cats with digital DNA – with more than 4 billion variations in phenotype and genotype. This standard could be used in many other application areas such as software license management or digital art management.
Unlike the ERC-20, which are present on the main trading platforms, the ERC-721s can be traded on marketplaces specialising in the sale of collectibles such as Rarebits, Opensea or Emoon. However, some protocols are beginning to support this standard, such as protocol 0x, which implemented it in version 2 in July 2018.
ERC-777: the safe standard token
The ERC-777 proposal was introduced by @jbaylina on GitHub at the end of 2017. The latter aims to create a new standard that takes into account the lessons learned from ERC-20 defects.
This standard is based on the work done for the ERC-820, ensuring backwards compatibility with older standards – e. g. ERC-20. Like the ERC-223, this proposal makes it possible to manage the receipt of non-compatible tokens by a smart contract without blocking funds.
In addition to this, a feature has been added to ensure better traceability for smart contracts as to the origin of the tokens received, very useful if it was necessary to send them back.
Finally, one of the most interesting features is the introduction of a white list that allows our smart contract to specify a list of contracts with which it can safely transfer.
ERC-1400: the standard for securities tokens
The ERC-1400 proposal was introduced by Stephane Gosselin, Adam Dossa, Pablo Ruiz and Fabian Vogelsteller on GitHub in September 2018. Unlike other standards that will mainly define utility tokens, the ERC-1400 aims to define a standard for securities tokens.
Reminder on the difference between utility and security token: Attempt to develop a token typology.
The idea behind this project is to propose a common framework so that issuers, investors, KYC suppliers, wallets, trading platforms and developers can work under the same conditions. Thus, increasing the democratization of security tokens like the ERC-20 has made it possible to democratize utility tokens.
This new standard shares many characteristics of the fungible tokens of the ERC-20 standard or the non-fungible tokens of the ERC-721 standard. It also introduces the notion of partially fungible tokens through proposal ERC-1410 which, although they represent the same underlying asset, require differentiated data that are specific and linked to them.
This type of token will be compatible with the ERC-20 and ERC-777 tokens, among the functions specific to the standard, we have :
Functions that allow you to manage a library of documents associated with the token. These documents may be legal or other reference documents.
The standard provides a function to determine whether a transfer will succeed, and returns details indicating why the transfer is not valid if it is not.
The non-exhaustive list of ERCs presented is one of the most widely used. They have been selected to highlight the diversity of needs and objectives across the Ethereum ecosystem. For those wishing to explore the subject here are some other interesting ERCs: ERC-621, ERC-667 and ERC-827.