If you have been in the cryptocurrency world for a while, you must have heard of the ERC20 tokens a few times. It gets better when you know that there are thousands of ERC20 tokens as of now.
As if ERC20 was not enough, the cryptoland has just seen the introduction of ERC223.
The purpose of this post is to tell you about this newly introduced token standard and explore its pros and cons of whatever they are.
But before I jump straight to the explanation of ERC223, I want to give you to understand what ‘ERC’ stands for?
ERC stands for Ethereum Request For Comments while the suffix is the unique ID number to distinguish this standard from others. Similar to the HTTP protocol for the internet, the crypto world has a standard protocol for tokens to be issued on Ethereum i.e. ERC20, ERC223 or ERC721 etc.
ERC223 Token Standard
ERC223 is much like ERC20, only newer and better than the ERC20. In a nutshell, ERC223 is an improved and modified version of the ERC20.
Just like a token on Ethereum which is deemed to be called as ERC20, has to incorporate certain standards and functions in its code on Ethereum’s network, ERC223 also has certain mandatory functions that it must include while its implementation to satisfy the ERC223 standard.
Here are the functions that are mandatory for a token to be ERC223:
There is more to it. Just like ERC20, the ERC223 tokens also don’t have a dedicated blockchain and thus live on Ethereum’s blockchain. So in transferring ERC223 tokens, you will be required to have some Ethereum as GAS.
Motivation To Make A New Token Standard
The motivation is, of course, to make continuous improvements. Below are the listed goals for the same:
**To stop loss of tokens
So far ERC20 tokens worth in bold below have been lost (27 Dec 2017):
QTUM, $1,204,273 lost.
EOS, $1,015,131 lost.
GNT, $249,627 lost.
STORJ, $217,477 lost.
Tronix, $201,232 lost.
DGD, $151,826 lost.
OMG, $149,941 lost.
To make a token transfer mechanism similar to Ether transfer.
To rectify the inability of handling incoming token transactions for non-supported tokens
To remove one step out of the two-step process of transactions that happens in a token transfer.**
Advantages of ERC223 Token Standard
Following are the 3 key advantages of upgrading to ERC223 standard:
1. Eliminates the problem of lost tokens which happens during the transfer of ERC20 tokens to a contract (when people mistakenly use the instructions for sending tokens to a wallet). ERC223 allows users to send their tokens to either wallet or contract with the same function transfer, thereby eliminating the potential for confusion and lost tokens.
2. Allows developers to handle incoming token transactions, and reject non-supported tokens. In this case, you won’t lose the tokens as it will be refunded back to you minus the Gas, something that is not possible with ERC20.
3. Energy savings: The transfer of ERC223 tokens to a contract is a one-step process rather than 2 step process (for ERC20), and this means two times less Gas and no extra blockchain bloating. This, as a result, also lowers the transaction fees one pays for the transfer of tokens.
So you see how beneficial it is to update to an ERC223 standard from a point of view of paying fewer transaction fees and prevention of losses due to human or code errors. This is an excellent overview video of ERC223 EIP.
ERC223 tokens are backward compatible with ERC20 tokens. It means that ERC223 supports every ERC20 functionality and contracts or services working with ERC20 tokens will work with ERC223 tokens correctly. (Source-EIP)
So far, the adoption of ERC223 has not really taken off, which may be because of a lack of awareness and lack of enough infrastructure to store them safely. In another situation, there is no reason why ERC223 wouldn’t be implemented in place of ERC20.
The trend, however, will change soon with the growing awareness and the infrastructure to store ERC223 develops.
So far, not a lot of wallets support ERC223 directly but Trust Wallet is one you can use. We are still far from hardware wallets such as Ledger Nano S supporting ERC223 directly.