Demystifying the ERC-20 Token Protocol

Feb 05 2018

The ethereum blockchain was designed with the objective of being a holistic platform on which developers can build and deploy any application based on the blockchain technology. Before it came into existence, building an app required extensive knowledge of coding and cryptography as well as quite a significant amount of resources. Thanks to the platform, more decentralized apps (dApps) are being launched on a daily basis. 

But with every new app launched, there has to be a token to power its network and allow for trading. This need is what led to the birth of the ERC-20 standard for tokens. This has been one of the most significant additions to the platform increasing both its utility and popularity among developers and others.

What is the ERC-20 Token Standard?

In order to understand what the ERC-20 token standard is, we first need to explain the token. A token refers to a digital asset to which value can be attached. It can represent virtually anything from physical objects to vouchers or even loyalty points. 

The simplest definition of a token is that it is a smart contract running on a blockchain. An ethereum token is therefore a set of codes and a database on the ethereum blockchain. It basically defines the set of rules that any token on the platform should implement. Any token therefore that chooses to implement these commands is referred to as an ERC-20 token.

Considering that this blockchain is used as a platform to deploy dApps and that every one of these has its own token, you can begin to picture the mayhem that would result if every developer uses their own standard in their coding process.

The ERC-20 Standard - A Brief History

When the ethereum network was first set up, there were plans to include a uniform standard for applications running on the platform. But this took time and before its implementation, tokens were not designed to adhere to any standard. 

So even though the platform prided itself in the lack of restrictions on developers building on its base, there was dire need to create a standard so as to allow for easy interoperability. Sometime on Q4 2015, before the ERC-20 standard could be implemented, the ethereum founder Vitalik Buterin created what was referred to as the initial standards token. 

This laid the foundation for the current ERC-20 token standard. Towards the end of 2015, one of the network’s developers, Fabian Vogelstellar took that basic concept and formulated it into a proposal he dubbed as the Ethereum Request for Comments #20.  This initiated a formal discussion around the proposal on the development path of the standard.

Even before its official endorsement, the standard was accepted and adopted by most developers on the platform right from 2015 when it was initially proposed. The ERC-20 protocol standard was finalized in September 2017 on the network’s GitHub page and would now require all tokens on the platform to conform to its requirements. 

ERC-20 vs. Ether

We cannot have a discussion on ERC-20 without taking into consideration Ether (ETH). Ether refers to the native currency that powers the ethereum network. It differs from tokens on the network in the sense that it is hard-coded into the ethereum blockchain protocol. It is a tradable cryptocurrency. It also functions as the medium of exchange powering the network. Anyone wishing to transact on the network has to pay gas costs in form of ether. 

How Does ERC-20 Work?

ERC-20 makes it possible for smart contracts and dApps built on the ethereum platform to interact seamlessly. This is because they all adhere to the same basic core design and functionality. The protocol defines six functions and describes two events that are recognizable to all smart contracts on the system. 

These functions enable trading features like the transfer of tokens, managing the total supply of tokens and checking the token balance in any address within the system. 

This combination of events and functions make all compliant ethereum tokens operate in the same manner regardless of where they are executed. There are some tokens that adhere partially to these requirements and these are not fully compatible with compliant models. They are however easier to interact with for the ERC-20 tokens than those that are fully divergent.

Benefits of the ERC-20 Token Standard

  • Seamless Ethereum Ecosystem

The fully compliant tokens have made it easy to build a seamless ecosystem for ethereum-based applications. For instance, all ether wallets can also support the ERC-20 based tokens. These include Mist Wallet (also referred to as Ethereum Wallet, MyEtherWallet and Jaxx among others.)

  • Reduced Complexity for Developers

All ERC-20 tokens use the same Application Binary Interface (ABI). This standardization has proved to be a breath of fresh air for developers. In the past, when every token used its own independent smart contract, a developer wishing to execute a trade function between any two tokens would have to first study both of them. This meant complex analyses and unnecessary inconvenience when carrying out functions outside a local token network.

But the standard now guarantees uniformity, enhanced liquidity and less complexity in trading. Additionally, new tokens can easily be incorporated into exchange platforms without the need for developers to get back on the drawing board to integrate the systems.

Challenges Faced 

The ERC-20 token standard, like most technological innovations is still a work in progress. One of the biggest problems on the protocol is the fact that the smart contract cannot accept incoming tokens through a receiver contract. This means that if you attempt to send tokens directly to a smart contract the funds are deducted from your wallet but will not reflect anywhere.

Unfortunately, this process is irreversible and has led to massive losses from such transfers. In order to correct such anomalies, there is a new Ethereum Request for Comments #223 (ERC-223) that is soon to be formalized. This new token standard will be compatible with the ERC-20 tokens as it supports all of its functions.

This new protocol uses a different transfer method to prevent accidental transfer of funds to an incorrect address. If an accidental transfer happens, the protocol implements an operation to revert it and restore funds.

Looking to the Future  

The ERC-20 token standard protocol has been a most worthwhile addition to the ethereum ecosystem. Even though it has its pain points and challenges, the benefits it has brought to the network and its community are immense. With the expected ERC-223 protocol upgrade, users can only hope for better functionality from this important crypto pillar.

Comments