Ethereum ERC20 Tokens Explained
Over the past 6 months, Initial Coin Offerings (ICOs) on the Ethereum blockchain have exploded, with $800 million raised in 2017 so far. This follows the dramatic rise in the value of Ether from $10 last July to a high of $395 last June (it has since fallen to approximately $220).
It’s impossible to say precisely what has driven up the value of Ether, but likely it is a combination of the Ethereum Enterprise Alliance adding big name members from diverse industries, such as Microsoft, MasterCard, J.P. Morgan, and the Indian government, as well as excitement from ICOs.
One critical innovation in the creation of Ethereum-based tokens is the ERC20 protocol standard.
Similar to how the HTTP protocol defined the internet, ERC20 is a protocol that defines a set of commands that a token should implement. ERC20 is not a technology, software, or piece of code. It is a technical specification. If a token implements the spec, it is an ERC20 token.
The ERC20 protocol standard contains basic functions that any useful token should implement to enable trading. These include transferring tokens, inquiring the balance of tokens at a certain address, and the total supply of tokens.
Before ERC20, every ICO token (implemented as an Ethereum “smart contract”) re-invented the wheel by implementing their own versions of these basic functions. They would have their own function for transferring tokens, with its own unique name and perhaps different arguments. If a developer wanted to enable trading between Token A and Token B, he or she would need to study the intricacies of each contract to allow the trade. If there were tokens A through Z, and each token implemented transferring tokens differently, then to implement a basic token exchange that could handle every token contract would require an exponential amount of complexity.
ERC20 compliant tokens all have the same functions, with the same names, that take the same arguments. You can create a token exchange system that allows you to quickly add new tokens to your platform the moment they are released, as long as they follow the ERC20 standard. No matter how many different tokens there are, the same system can support trading between Token A and B, A and C, A and Z, Z and M, etc.
The end result is less risk, more uniformity, reduced complexity, and enhanced liquidity of tokens. A successful ICO can have their ERC20 tokens trading on exchanges without any communication between themselves and the exchange developers. ERC20 has encouraged a positive feedback loop, as token purchasers can be more certain that they can trade new ICO tokens, leading them to purchase more ICO tokens, causing more ICO’s to be created, and ultimately more innovation and value in the Ethereum blockchain.