Types of Ethereum Tokens: ERC20, ERC721, ERC777, and Other Standards
Ethereum tokens are the most popular, and the Ethereum environment constantly grows as developers create new solutions based on the Ethereum blockchain. However, understanding this blockchain may be a tough task even for people with a nice technical background. Despite the complexity of this system, more and more people realize that the understanding of Ethereum, and tokenization in general, is not just useful but necessary. What is good about Ethereum is that if you understand the main principles of its work, understanding other cryptocurrencies will certainly be easier.
Let’s start with the definition of a token. A token is something that serves as a representation of something else or can be exchanged for something else. The same principle is used in cryptocurrency. A token is a cryptographic line that has no actual data but relates to some data, which is often referred to as “tokenized data.” This term may be used for cryptocurrency tokens, like BTC or ETH, as well as for other tokens that exist on a blockchain of another cryptocurrency.
The ETH coin is a very popular cryptocurrency, however, it’s not the only token associated with the Ethereum blockchain. There are dozens of tokens, and their market caps differ dramatically. Why do people need so many tokens? There are many decentralized applications (dApps) running on the Ethereum blockchain, and they have their own tokens. These tokens simplify the execution of smart contracts and represent a certain value. Most often, they can be easily exchanged for ETH. There are a few different standards for Ethereum tokens, and in this article, we are going to consider them in more detail.
A Little Bit of History
Vitalik Buterin, a co-founder of Ethereum, was 17 years old when he decided to expand the range of possible applications for cryptocurrencies. Although Bitcoin has been used for financial transactions, the underlying technology has certainly had a bigger potential. Buterin’s project, Ethereum, was different from Bitcoin because it could trade not only cryptocurrencies. The variety of possible Ethereum-based applications depends only on the creativity of developers, which is a reason why it quickly turned into a massive ecosystem with hundreds of dApps and various tokens.
After Ethereum made it possible to use blockchain for virtually any tasks associated with the data value, creators of Ethereum-based systems started looking for their own solutions to ensure the execution of smart contracts inside an application. At first, they needed to re-invent the wheel every time, writing their own versions of tokens that had the same basic functions. On the other hand, each token had its own principles of transferring, arguments, and a unique name. Thus, there was a problem with trading Token X and Token Y, as developers needed to understand and take into account all the particular features of another token to make the trade possible. If we imagine a cryptocurrency market that consists of hundreds of tokens, all of which have different systems of transferring, a simple token exchange that processes token contracts would grow in complexity exponentially.
To make things simpler, Ethereum introduced its ERC20 standard — a protocol that already includes a basic set of commands for any token. These commands make any token suitable for trading. Tokens based on ERC20 take the same arguments and have the same functions. Thus, no matter how many tokens there are, one system can support trading between any of them. This solution increased the liquidity of tokens dramatically. It also reduced the complexity of trading and risk. However, ERC20 was just the beginning of the evolution of tokens.
What Makes Ethereum Tokens so Popular
- The first reason is that Ethereum uses a Merkle Patricia Tree, which makes it possible to quickly verify and modify states which are necessary to execute an ICO. It contains not only a transaction ledger but also a set of program states for smart contracts. This system automatically calculates the amount of funds raised, confirms transactions, and distributes new tokens.
- Secondly, Ethereum is written in a Turing-complete language and has a feature called “gas” payment, which is used to process instructions in the code. Gas provides a basis for incentives for people who offer their computing power to execute Ethereum-based programs. Any program is aborted if it runs out of gas, which lowers the risk of DOS attacks, preventing infinite loops. If an ICO is under attack, executions are terminated.
- Ethereum also has a protocol called Greedy Heaviest Observed Subtree (GHOST), which makes it possible to create blocks faster without sacrificing the security of the blockchain. Transactions with new tokens can be quickly added to the crowdsale. The distribution of the new tokens also becomes quicker.
Now let’s take a closer look at the standards for Ethereum tokens.
This standard consists of six functions which ensure the basic functionality of a token. The code of ERC20 is simple, in fact, even people who don’t have a diploma in computer science can easily understand it.
- The totalSupply() function reflects the total amount of tokens created by a certain project or exchanged within it.
- The transfer() function distributes the created tokens among the users’ wallets. This function was the main reason why ICOs started using the ERC20 standard, for the simplicity of sending tokens to investors after ICO is completed.
- The balanceOf() function tracks the balance of tokens in the wallet of any user.
- The transferFrom() function allows token holders to exchange their tokens with each other.
- The allowance() function is used to make sure that transactions are validated before they are recorded in the blockchain.
- The approve() function helps maintain the constant total supply of tokens within the economy of a certain project so that nobody can create tokens out of nowhere.
These six functions make developing platforms and creating tokens much simpler, and the ERC20 standard is used for all of the Top 20 Ethereum tokens.
Even though ERC20 is good, it’s not perfect. For example, to date, people have lost $3 million ERC20 tokens by mistakenly sending them to smart contracts, using the same processes which send tokens to their wallets. ERC223 allows users to perform both these actions using the same function. In addition, this standard requires only one step for a transaction, unlike its predecessor that requires two steps. Thus, it’s more efficient and cheaper, as it also requires twice less gas.
However, despite the advantages of this standard and its backward compatibility with ERC20, developers don’t rush to adopt it. Most Ethereum wallets don’t support such tokens yet.
These tokens were first introduced as a part of the Ethereum-based dApp CryptoKitties. This game, which became popular at the end of 2017, is about collecting different kinds of cats and breeding them. ERC721 made it possible to tokenize unique assets, and now developers can create non-fungible tokens (NFT). This means that tokens exchanged within the same ecosystem or platform can have a different value.
Tokenization of unique assets allows users to not only collect unique breeds of digital cats but also to trade works of art, real estate, or vintage wines. 0x protocol, which is one of the most promising Ethereum-based projects, added support for ERC721 in its v2 release, and another project, 0xcert, is going to focus exclusively on non-fungible tokens.
ERC721 allows people to transfer the ownership of any real-world asset on the Ethereum blockchain, no matter is it a Super Bowl ticket or a Picasso’s painting. Any items can be easily traced with the use of supply chains.
ERC777 and ERC820
Just like ERC223, ERC777 was intended to improve the ERC20 standard. It is also backward compatible with its predecessor. It has fixed the drawback of ERC20 that made users lose their money and it also expands the mechanisms of transactions.
It’s easier to understand ERC777 if we look at another standard, ERC820. ERC820 has a central registry of smart contracts, which makes everyone able to check the address of a smart contract and its supported functions. ERC777 also has such a registry, using it to simplify the verification of functions. This standard has a different set of functions, getting rid of such ERC20 functions as ‘approve’ and ‘transfer,’ and replacing them with ‘send.’ This function transfers Ether itself.
ERC777 also includes a new feature called “approved operators,” which means that now users can move tokens on their behalf, approving smart contracts. This feature makes ERC777 customizable because now developers can add more functionality, such as a recovery function when a user loses private keys or mixer contracts for better privacy. In addition, this protocol introduced a standard for burning tokens, which may be a useful thing for projects with specific token economics.
However, there are as yet no popular applications that use ERC777, and we will see whether or not it is going to be widely used in the future. It has a great potential and almost any modern decentralized application would certainly benefit from using it.
Plans for Future Development
The future of Ethereum tokens, in general, depends on the future of the Ethereum blockchain, as well as on the future of dApps. During the last year, developers created a really impressive number of new tokens, and this trend is not going to stop. People constantly build innovative solutions based on the Ethereum blockchain, and this means that new tokens will keep coming.
Although ERC20 remains the most popular standard for tokens, there are also new protocols, and many of them offer amazing opportunities. New standards for tokens go far beyond the limitations of ERC20, allowing us to tokenize virtually anything, from cryptocurrencies to more tangible assets from the real world. There’s no doubt that tokens will keep getting more versatile, and our understanding of tokenizing will expand with each innovation.