ERC Token Standards
ERC is an acronym that stands for Ethereum Request for Comments. They are technical documents used by smart contract developers at Ethereum. They define a set of rules required to implement applications for the Ethereum ecosystem include token standards, name registries, library/package formats, and more. These documents are usually created by developers, and they include information about protocol specifications and contract descriptions. Before becoming a standard, an ERC must be revised, commented and accepted by the community through an EIP (Ethereum Improvement Proposal).
Why ERC Standard?
Just like other famous standard in the world such as ISO, purpose of having an international standard is to align the working approach among experts in the world. If Ethereum dApps allows developer to implement logic freely, with a standard internationally not only can shorten the development effort made on a common application but also provide best practice on the application and enhance the quality of the product.
EIP stands for Ethereum Improvement Proposal. An EIP is a design document providing information to the Ethereum community, or describing a new feature for Ethereum or its processes or environment. Contributors could first send a draft version to EIP Github repository. Then it is open for consideration and is undergoing rapid iteration and changes. When it is done with its initial iteration and ready for review by a wide audience, it comes to the “Last Call” status.
A core EIP that has been in Last Call for at least 2 weeks and any technical changes that were requested have been addressed by the author. The process for Core Devs to decide whether to encode an EIP into their clients as part of a hard fork is not part of the EIP process. If such a decision is made, the EIP will move to final.
EIPs are separated into a number of types, and each has its own list of EIPs.
Standard Track – Describes any change that affects most or all Ethereum implementations, such as a change to the network protocol, a change in block or transaction validity rules, proposed application standards/conventions, or any change or addition that affects the interoperability of applications using Ethereum. Furthermore, Standard EIPs can be broken down into the following categories.
Core – Improvements requiring a consensus fork (e.g. EIP-5, EIP-101), as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions (for example, the miner/node strategy changes 2, 3, and 4 of EIP-86).
Networking – Includes improvements around devp2p (EIP-8) and Light Ethereum Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.
Interface – Includes improvements around client API/RPC specifications and standards, and certain language-level standards like method names (EIP-6) and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an EIP is submitted to the EIPs repository.
ERC – Application-level standards and conventions, including contract standards such as token standards (ERC-20), name registries (ERC-137), URI schemes (ERC-681), library/package formats (EIP190), and wallet formats (EIP-85).
Meta – Describes a process surrounding Ethereum or proposes a change to (or an event in) a process. Process EIPs are like Standards Track EIPs but apply to areas other than the Ethereum protocol itself. They may propose an implementation, but not to Ethereum’s codebase; they often require community consensus; unlike Informational EIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Ethereum development. Any meta-EIP is also considered a Process EIP.
Informational – Describes a Ethereum design issue, or provides general guidelines or information to the Ethereum community, but does not propose a new feature. Informational EIPs do not necessarily represent Ethereum community consensus or a recommendation, so users and implementers are free to ignore Informational EIPs or follow their advice.
Types of ERCs
There are several ERC standards that serve multiple purposes. The top five in terms of adoption and usability are as follows:
ERC-20: This is the standard API used for fungible tokens, including transfer and balance tracking functionalities. Example tokens are USDC, USDT.
ERC-223: This standard protects users from accidental contract transfers.
ERC-721: This is the most popular non-fungible token (NFT) standard. While fungible tokens can be divided, non-fungible tokens cannot. NFTs can be owned and transacted by individuals as well as consigned to third parties. NFTs can represent ownership over digital or physical assets.
ERC-809: This standard is used to rent rival non-fungible tokens. An NFT is described as ‘rival’ if its use/ownership by one individual prevents simultaneous use/ownership by other individuals. ERC-809 allows an owner to rent access to their rival NFTs using a standard set of commands, and users can view all past and current rental agreements from a single wallet interface.
ERC-1400: This is the hybrid token standard designed for the use case of tokenized financial assets. By being ERC20 retro compatible, it remains compatible with most existing tools and platforms. By being partially-fungible (hybrid token), it allows to represent different classes of assets, perform more evolved token actions (lock tokens, collateralize tokens, etc.), which is essential in the context of corporate actions. By offering the possibility to attach data to transfers, strong control over token transfers, based on granular certificate checks can be setup by issuers.
Advantages of Using ERC Standard
ERC consistently handles incoming token transactions in Smart Contracts. Thus, it empowers many developers to make better and more innovative protocols for a more uniform and quicker transactions.
ERC tokens are accepted by many exchanges instantly. Thus, any user can make transactions with the use of tokens seamlessly. Because they do not have to learn anything new, acquisition, storage, and sale of tokens will be quite easy.
Since users and developers already know how the token will behave during transactions, they do not have to worry much. The standard reduces the risk of contract breaking.
ERC standards are a great step towards the adoption of smart contract technology.
Interoperability between applications will require standards, much like the ones presented above, which aid developers when creating, deploying, and maintaining smart contracts.
There is no doubt that the impact of ERC tokens is massive. However, they still need some improvements. Nonetheless, developers are confident, that they will be able to create the most efficient standard with minor to no glitches. The main goal — after all, is to facilitate smoother and faster transactions.