



ERC Token Standards
ERC == Ethereum Request for Comments. The literal elements of this acronym may be somewhat confusing. In simple terms, an ERC is a technical specification for application level standards and conventions on the Ethereum blockchain. Token standards (ERC20), name registries (ERC26, ERC137), and URI schemes (ERC67) are all related to (smart) contract standards and all are defined/documented formally using the ERC.
An ERC starts with an EIP, which is Ethereum Improvement Proposal. The EIP is a document that proposes a new feature or improvement for Ethereum or its processes or environment. An EIP related to application level standards becomes an ERC once adopted.
Ethereum tokens represent digital assets hosted on the Ethereum blockchain. These digital assets fall into 2 broad categories: Fungible and Non-Fungible. The differentiating factor between fungible and non-fungible, as explained below, is whether or not an asset can be interchanged on a 1-for-1 basis with another asset of the same overall size, in the same class.
-
-
Fungible, by definition, indicates that a commodity is interchangeable with another commodity of the same type, in whole or in divisible parts. An example is fiat currency; If a person holds a 20 dollar bill, they can exchange that 20 dollar bill for another 20 dollar bill or for 2 tens, 4 fives, etc and the value they hold remains the same.
-
ERC-20 defines a standard API that allows for the creation and maintenance of fungible assets on top of the Ethereum Blockchain.
-
The creation and maintenance of the tokens is done via smart contracts
-
Since there is a standardized API, external "applications" such as wallets, exchanges, middleware etc can interact with any ERC-20 compliant token in a consistent and well-understood manner
-
ERC-20 is the standard that provided the foundation for the 2017 ICO craze
-
As of 2020, Etherscan is tracking activities from ~1K unique token offerings, where each of these token offerings represents a unique company and/or project
-
Enhanced ERC-20
-
ERC-20 is not perfect. There have been bugs, vulnerabilities and inefficiencies identified. As such, enhanced ERCs have made it into the ecosystem.
-
The two most prominent are numbered 223 and 777. Here is a comparison summary of the 3 different interfaces: gist.github
-
This article contains a handy chart summarizing the differences: 101Blockchains
-
As of 2020, most fungible tokens are still using ERC-20 despite the improvements offered by 223 and 777, which, themselves may come with inefficiencies.
-
-
-
-
Non-Fungible: Represents something unique that can not be interchanged on a 1 for 1 basis with another asset, even another asset in the same class. Each individual asset is considered to be "one of a kind".
-
Examples of Non-Fungible assets are:
-
Physical property, such as realestate, vehicles, computer equipment, etc.
-
Virtual collectibles, such as collectible cards, digital art, digital games, etc
-
Utility assets, such as power, internet bandwidth, gas, etc
-
-
This page gives a nice overview NFT; dropdowns from the top menu show some of the companies/projects operating in the NFT space.
-
-
ERC-1155: Fungible + NonFungible Together!
-
Mostly focused the gaming community
-
Addresses the issue that games frequently require the use of both fungible and non-fungible assets.
-
ERC-20 and ERC-721 both operate on individual exchanges. So, in terms of gaming, for example, if one player wanted to buy 70 swords from another player, that would result in 70 transactions and would incur the resultant gas charged from those exchanges.
-
ERC-1155 enhanced and combined the the handling of Fungible and Non-Fungible assets by handling both in a single API and by expanding that API to handle arrays of items instead of just individual items.
-
-
ERC-1400 - Security Token Standard
-
Most of the above discussion on ERC-20, 721 and 1155 involve Utility Tokens. Utility tokens confer some tangible benefit to the holder, but they do not confer ownership in the issuing company: " I bought 70 swords, now I have the tangible benefit of owning 70 swords; However, I don't own any part of the company/project that I bought the swords from".
-
Security tokens, on the other hand, typically infer partial ownership from the company that issued the token. In this respect, security tokens resemble shares in a traditional stock market.
-
In the US, security tokens are regulated by the SEC
-
ERC-1400 is backwards compatible with ERC-20 and ERC-721; On top of these existing standards for Fungible and NFT, ERC-1400 adds the following:
-
Standard interfaces for issuing and redeeming security tokens.
-
Standard interfaces for managing token ownership and transfer restrictions
-
Standard interface providing transparency to token holders on how different subsets of their token balance behave with respect to transfer restrictions, rights and obligations.
-
-
Lastly, for developers out there just getting started, the following 2 standards are worth mentioning:
-
ERC-165 : A standard to publish and detect what interfaces a smart contract implements
-
ERC-1820 : Extends (and is backwards compatible with...)ERC-165; the extension includes a registry where any smart contract can register which interface its supports and which smart contract is responsible for the implementation