The world of cryptocurrencies can be daunting to newcomers: the concept of a decentralized network and blockchain tech is enough to confuse the casual observer. The alphabet soup of acronyms and specialized vocabulary used to describe different coins, tools and concepts can leave a novice reeling. However, Ethereum and its wide variety of applications and impressive effect on the market as a whole provide an interesting and useful starting point.
Creating a Standard
Ethereum is one of the most highly traded crypto coins across all markets. This popularity is due to a unique aspect that Ethereum brings to the table: the ability to write smart contracts on the blockchain. The ability to store logic on the blockchain opened the door for all kinds of new possibilities, most notably the ability to create decentralized apps (Dapps) with a seemingly endless variety of functions.
When a developer is looking to provide a service through a Dapp they often choose to create their own coin in order to form an exclusive ecosystem centered on a unique token. However, previous to the Ethereum platform, the lack of standardized functions lead to issues of complexity with smart contract execution. In order to streamline the programming necessary for a functional coin, a set of standards was created. Using Ethereum to build an ERC20 token also has the advantage of allowing developers to take advantage of the different features of MyEtherWallet. This is a free and easy way to create an Ethereum wallet address, but it is by no means the only way. There are plenty of wallet apps to choose from to find the right fit for each users’ specific needs.
ERC-20: The Game Changer
While the main appeal of ERC-20 tokens is the limitless potential for customization and uniqueness, there still exists a need for coding standards. The same goes when creating the underlying smart contracts for a Dapp: creating a set of rules allows for a much easier and less time-consuming programming process. The ERC-20 standard also helps wallet developers by streamlining the necessary programming to have a compatible wallet app, adding to the appeal of this standard. The uniformity of ERC-20 functions has decreased the complexity involved in coding so much so that as of December 2018 there were over 150,000 smart contracts utilizing the Ethereum blockchain, with almost all built around the ERC-20 standard.
ERC-20 coins are defined by six specific functions within the code that must meet certain requirements. These requirements represent the key elements in the functionality of a token: the way in which these tokens will be transferred between different accounts and how users can retrieve the data associated with specific coins. These functions are implemented so that all ERC-20 coins will operate successfully across the Ethereum platform. Any crypto wallets conforming to these standards will accept all Ethereum based tokens without any additional information or coding required.
-totalSupply() is used to find the total supply of ERC20 token.
-balanceOf() keeps an account of the balance of tokens in each wallet.
-transfer() function allows for the transfer of tokens to ICO investors for the initial release.
-transferFrom() allows users to transfer coins from one wallet to another.
-approve() approves the withdrawal of tokens from different accounts by the account issuing the function.
-allowance() is used in conjunction with approve() to see the number of tokens retrieved from the original account.
As with many things, a set of standards in form allows for a smoothly functioning finished product. To this end, the ERC-20 token is simply a set of standards to guide the development of smart contracts. And while the ERC-20 coin is the most widely used Ethereum token, it is not the only one.
ERC-721: Non-fungible Use Cases
Another Ethereum standard is the ERC-721 token. This standard deals with non-fungible tokens (NFTs) on the Ethereum blockchain. Fungibility is the idea that certain things are identical and interchangeable: 1 US dollar has the same value as every other US dollar and can be exchanged with another and maintain the same worth. The same goes for ERC-20 tokens. ERC-721 tokens, on the other hand, are all unique from one another and thus are not interchangeable. While the use cases for these tokens are just beginning to be explored, there is potential across many fields. Ownership over assets such as land and other property as well as digital assets can be represented using ERC-721 tokens.
One project that has sparked interest using these tokens is the digital game CryptoKitties. In this game, players breed and collect virtual cats that have unique traits and characteristics: each kitty is represented by an ERC-721 token, thus making them one of a kind and non-fungible.
Other ERC Tokens
While the ERC-20 is the most popular Ethereum coin, it is not perfect. In fact, it has a major code flaw that has cost the Ethereum ecosystem millions of dollars. ERC-20 utilizes two different methods for token transfer: one for sending to a user’s account and one for sending to a smart contract. If you use the account transfer for a transaction with a smart contract, the amount will be withdrawn from your account but not accepted by the smart contract. If emergency action is not taken, the coin will be burned and lost forever. A bug like this must be addressed.
The ERC-223 token aims to solve the flaw in the ERC-20 code. The ERC-223 has an added functionality that addresses this called tokenFallback() that guarantees tokens are only sent to contracts with the correct functionality. Tokens sent to an unsuitable address will fail, but the coin will not be lost.
ERC-777 tokens offer users more control over their tokens. It redefines various functions of the ERC-20 token in order to reduce friction in transactions. Another feature of the ERC-777 token is the ability “whitelist” and “blacklist” addresses. Whitelisted addresses which have a history of successful transactions provide users with an additional level of trust, while users can reject transactions involving blacklisted addresses due to their history of hacking or other problematic transfer issues.
Of course, the ERC-777 token comes with its own peril. Some developers believe that the authoriseOperator function is “deprecated” and should not be used; there are also concerns over the additional “gas” required to utilize this operation. ERC-777 will also rely on a central registry of smart contracts (ERC-820) which is considered risky by some. They worry that if there are bugs within the centralized registry, then contracts and transactions based around it will be corrupted as well.
A Slow Adoption
Ethereum continues to be one of the most utilized crypto coins across the market: it is second only to Bitcoin in value and market cap with some of the most visible and successful projects using it. And while the number of different Ethereum standards continues to grow, and the varying use cases evolve, the ERC-20 remains the most widely utilized. The few alternative ERCs detailed here are simply the tip of the iceberg of standards being developed, and although they seem to be gaining more traction than others, they are still far from displacing the ERC-20. In the end, it will be the developers who push one standard to the forefront or leave it behind, and the ERC-20 simply has the first mover advantage as well as the numbers behind it to continue its reign as the dominant force in the Ethereum ecosystem.
Over 400 trading pairs are available on KuCoin.
Berreman, A. (2018, September 20) ERC820 Enters Last Call. Retrieved from: https://www.ethnews.com/erc820-enters-last-call
Culum, A. (2018, February 8) Token ERC Comparison For Fungible Tokens. Retrieved from: http://blockchainers.org/index.php/2018/02/08/token-erc-comparison-for-fungible-tokens/
Daharwal, A. (2018, April 13) ERC-777 A New Advanced Token Standard. Retrieved from: https://medium.com/coinmonks/erc-777-a-new-advanced-token-standard-c841788ab3cb
Li, K. (2018, September 18) Ethereum’s ERC-20 Tokens Explained, Simply. Retrieved from: https://hackernoon.com/ethereums-erc-20-tokens-explained-simply-88f5f8a7ae90
McKie, S. (2017, October 1). The Anatomy of ERC20. Retrieved from: https://medium.com/blockchannel/the-anatomy-of-erc20-c9e5c5ff1d02
Intro to ERC-721: The CryptoKitty Token. (n.d.) Retrieved from: https://blockgeeks.com/guides/erc-721-cryptokitty-token/
Ethereum Improvement Proposals. (n.d.) Retrieved from: https://eips.ethereum.org/erc