The Significance of Ethereum
Before we delve into either ERC20 or the 0x Protocol we need to brush up on our knowledge of Ethereum. Some of this info is going to be basic to start with.
Ethereum is a technology which records all codes and actions as transactions (this is known as the blockchain). Ether is its coin (it is also known as ETH). Ether can be used to buy and sell goods, be exchanged for other currency, or simply be held in a wallet. Bitcoin, Ripple, Monero, Litecoin, and hundreds of other cryptocurrencies are also coins. But not every cryptocurrency is a coin. Some are tokens. A token is a currency which is built upon the technology of a pre-existing coin. A real-world example of a token would be how Starbucks offers reward points to loyal customers. These reward points are backed by USD (or GBP, EUR, etc.) but at the same time the points have their own value. Most tokens in cryptocurrency are built on the Ethereum technology. This is possible because Ethereum allows for organisations to share their technology. These tokens use Ethereum because it gives them the opportunity to take advantage of their smart contracts. Smart contracts are chunks of code which cause an action to happen (or get executed) after somebody/something agree to do so. Smart contracts allow for cryptocurrencies to be so much more than just currencies. They can now be used to process and facilitate for complex and unique tasks. Every token which is created with the Ethereum technology is also created through a smart contract of its very own (where all parties involved agree to execute a set of code which brings a token to existence).
Some examples of tokens which are built on Ethereum are Tron (TRX), Salt (SALT), and Golem (GNT). You can find the top fifty Ethereum tokens here.
What is ERC20?
Essentially, ERC20 is a set of conventions, or rules, which are followed by developers when they create a new token on Ethereum. All tokens which follow these rules can be accurately predicted to act the same in terms of their programming. For instance, all tokens which follow ERC20 conventions will have a programming function called ‘Total Supply()’ which will display the total supply of all those tokens in existence. Things like this are extremely important if you, as a programmer, need to work on various Ethereum tokens. Without even knowing much about the Tron token, I can say with confidence that it will have a ‘Total Supply()’ function somewhere within its programming. The ability to know how tokens will work under-the-hood empowers developers and programmers as it allows them to work on other tokens with ease and speed.
Not all Ethereum tokens follow the same rules and conventions, but ERC20 wants to change that. ERC20 wants to unify all Ethereum tokens under one set of rules. Over the coming months we will see more and more tokens following the ERC20 guidelines. This is both because it means that developers don’t have to work so hard to make unique pieces of code, and because ERC20 tokens can all theoretically share the same wallets.
What is the 0x Protocol?
Now that we have briefly covered ERC20, we can move to the 0x Protocol. 0x Protocol, or Project 0x, is a convention which allows for ERC20 tokens to be exchanged for different ERC20 tokens without the need for crypto exchanges like Binance or even conversions to be done beforehand. Here’s an example: by using 0x Protocol, you can change your Tron tokens into Salt tokens simply by sending them to a Salt wallet. This is a revolutionary idea which attempts to make all ERC20 tokens compatible with each other so that direct trades like this can take place without any real middleman.
Here is a more detailed example of how the 0x Protocol is designed to work. There are two people: The Sender, and the Receiver. The Sender owns Tron (TRX) tokens, and the receiver owns Salt (SALT) tokens. The Sender decides to send 226 TRX to the Receiver. As the Receiver does not have a TRX address, they will receive the amount in the form of SALT (which at the time of writing this would equal 2.7173 SALT).
To do so, the Sender must allow the 0x decentralised exchange (DEX) to facilitate the passing of the tokens. She agrees to this, and then subsequently creates a contract to send 226 TRX to the Receiver. She then signs this contract (with a private key which acts as a form of digital signature). The contract is sent to the DEX. After reaching the DEX the Receiver gets hold of the contract. The contract asks them whether they would like to accept 226 TRX in the form of 2.7173 SALT. He agrees to this, so he signs the contract. Upon doing so, the DEX releases the 2.7173 SALT to the Receiver’s wallet, and the transaction is complete! The Sender gave TRX to the Receiver which was directly converted into SALT, and there was no need for any manual, centralised, exchange such as Binance or Bittrex.
It should be noted that the DEX is not the same as other exchanges. Decentralised exchanges do not require signing up, providing sensitive material such as passport photos or bank statements, and do not limit withdrawal or deposit amounts. They theoretically make the conversion of one token to another seamless and frictionless.
In terms of investment advice, I suggest that if you are looking into purchasing a token, check to see if it is ERC20 compliant, as I predict that non-ERC20 compliant tokens will soon find themselves dipping heavily as they will not be able to take part in 0x projects.
0x Protocol has its own coin (ZRX). I am not in the position to advise whether you should invest in this or not, but I will say that you may want to keep an eye on its price and market cap as these could be an indicator of how popular the protocol is becoming and how much adoption it is seeing. Two tokens which fully comply with the 0x protocol which also have a huge fanbase are District0x (DNT) and Bounty0x (BNTY). They may be worth looking into. The full list of 0x compatible tokens can be found here.