Ethereum Token Standards Explained

How Ethereum Works Ethereum is a decentralized Blockchain network on which programmers can write smart contracts (codified agreements that bind parties in a transaction and gets automatically executed once parties meet their obligations or otherwise). It is also capable of supporting the development of various decentralized applications (dApps) on its platform.

The workings of the Ethereum network is such that whenever there is a new application and smart contract developed on this Blockchain, a new Ethereum-based token can be created. The Ethereum network has helped programmers simplify this process by availing them with different standards depending on what the application is supposed to do.

These standards on the Ethereum network make it much easier for smart contracts and tokens to interact – this makes it less cumbersome for developers to develop applications on the decentralized network. This mechanism can liken Ethereum to an operating system just like Android or iOS for dApps.

A significant majority of tokens created on the Ethereum network are under the ERC-20 standard, but there are some other token standards available on the network such as ERC-223, ERC-721,  ERC-777 and ERC-820.



ERC-20 Token Standard

The ERC-20 standard smart contract is made up of six basic information that make it up. The code has been very much simplified so much so that with minimal computer science knowledge, anyone should be able to understand it.

There is the total supply() function which helps to determine the total number of tokens that a particular application can create and exchange.

The transfer() function is used for the initial distribution of tokens into the wallets of early users. This function has made ERC-20 the darling of ICOs because it helps project to easily send tokens to investors after the ICO process has been completed.

Transferfrom() function facilitates the exchange of tokens with other wallets with similar standards after the initial token distribution has been done. For example, if as an initial recipient of say VT Tokens you intend to send some of it to your friend, this function uses your Ethereum wallet address, your friend’s Ethereum wallet address and the number of tokens being sent and ensures that the transaction is executed.

The balanceOf() function simply tracks and tells the balance of tokens in each user wallet. The Ethereum network approve() function helps to maintain the total token supply within the particular token economy such that no one can just create additional tokens outside of the stated token cap.

The allowance() function validates transactions before they get added onto the Blockchain. Before a token transfer is approved, this function ensures that the sending wallet address has up to the number of tokens to be transferred as commanded by the ‘transferfrom()’ function. The transaction only becomes valid if there are enough tokens to execute the transaction, otherwise the transfer will not be approved.

The afore-explained functions are what the Ethereum ERC-20 standard makes use of to help create tokens and develop decentralized platforms.


ERC-223 Token Standard

Even though ERC-20 standard is the most popular and being used by thousands of projects, it has one design flaw which is that people can lose funds by sending tokens to a wallet using the normal token transfer process instead of using the specialized process of transfer to a smart contract – people have lost over $3 million worth of tokens since the inception of the ERC-20 due to this.

ERC-223 was built to address this flaw in the ERC-20 standard. With ERC-223, one can send tokens to a smart contract using the normal process of token or coin transfer without losing funds.

ERC-223 also improves on the efficiency of ERC-20 by enabling transfers to be done in only one step instead of ERC-20’s two-step process – this helps to make transfer cost cheaper (half the price of ERC-20 transfer fee). Another upside is that ERC-223 tokens are compatible with ERC-20 standards.

Will the afore-mentioned features of ERC-223 cause them to replace the ERC-20 in popularity and usage? We will see with time and growth of the space.

One drawback for the ERC-223 standard however is that most existing wallets do not yet support it as such it is an impediment for adoptability and usage.


ERC-721 Token Standard

The Ethereum network based gaming project cryptokitties was what drew the Blockchain world’s attention to this standard.

One inherent feature of the ERC-721 that separates it from the others is the ability it gives developers to create non-fungible tokens (NFTs) – it means tokens of the same make could be worth different values even if they are being exchanged within the same platform or ecosystem. This is how come kittens created in the cryptokitties game could be sold for varying amounts even within the same gaming network.

The non-fungible function is very useful because it allows the tokenization of individual assets and this goes beyond cryptokitties but can also be applied to more conventional assets such as artwork, real estate, vintage wines, music royalties and lots more.


ERC- 777 and ERC-820 Token Standards

Just like ERC-223 and ERC-721, ERC-777 is an improvement on the ERC-20 standard and it is also compatible with the other standards.

ERC-777 also rectifies the design flaw of token transfer to smart contract by making it less complex.

To properly understand the ERC-777 standard, the ERC-820 standard must first be examined. Both standards make use of the same central registry that makes smart contract functions easily verifiable. It also makes use of a totally different set of functions instead of the likes of ‘transfer()’ or ‘approve()’ functions as pertains with ERC-20. In place of these, ERC-777 simple uses a send() function to execute transactions.

ERC-777 also allows for third parties to approve transactions on behalf of original transaction owners. The standard is pretty much malleable and allows room for numerous customizations and users are able to develop extra functionality on top of tokens. It avails users with improved privacy as well as emergency recover function to help with recovery in the event that you misplace, forget or lose your private keys.

Despite the many upsides, the popularity and use of the ERC-777 standard is very minimal. Hopefully with time, a higher number of projects will move to these standards that hold more flexibilities and functionalities.