ERC223 Standard

2. ERC223 Standard

ERC223[6] is a new token standard proposed by Ethereum Classic developer Dexaran[7] on March, 5th 2017. The new standard seeks to address the design mistakes of ERC20. To quote Dexaran, these problems are:

  • ERC20 provides no programmatic interface to handle incoming transactions in smart contracts.

  • ERC20 handling smart contracts typically require you to trust them with all your funds in order to use them. This is unlike native ether, which has excellent support for trustless transactions.

  • Nothing prevents the user to send ERC20 tokens to a smart contract, such as an exchange. However, due to the inability to handle incoming transactions these sent tokens will not alter the state of the smart contract (such as balance on the exchange), and it will be impossible to retrieve them from the smart contract. Effectively, these tokens get burned. It is currently estimated that more than $2,000,000 in ERC20 tokens have been permanently lost. Because of the deflationary nature of cryptocurrencies this number will only keep increasing.

The Ethereum development community at large seems to agree that it would be nice if investors would not lose their tokens due to poor standard design. However, the first mover’s advantage plays in favour of the broken ERC20 standard.

We have worked with both Ethereum and Ethereum Classic development teams to aid in specification of the new token standard and we’re proud to be among the pioneers of this technology.

Our pre-sale token, STN, is created to be compatible with existing blockchain infrastructure, such as wallets like Mist, Parity, MyEtherWallet and MetaMask, and blockchain explorers such as Etherscan and Ethplorer. On top of offering the same level convenience as ERC20 tokens, it also offers its holders protection against losing tokens via accidental transaction to a wrong address because it is ERC223. SATURN token will be implemented following the same guidelines.

2.1 ERC20 → ERC223 upgrade protocol for existing tokens

Developing smart contracts while keeping both standards in mind is both harder to do and more error prone[8]. We invented an upgrade protocol[9] that wraps an existing ERC20 token in an ERC223 layer. This way neither you, the user, nor the creator of the original ERC20 token need to do anything special in order to upgrade your tokens. Future developers of smart contracts will be able to create such wrappers by themselves using our open source code (already published on Github) and we hope this will help with the standard’s adoption.

This solution allows us to enable ERC20 token trading on Radex[10] without compromising user security. The same solution will be utilized for enabling ERC20 tokens to be tradable via Saturn Protocol.

The next section of our whitepaper provides you with a complete overview of our decentralized exchange Radex:

  2. Follow Dexaran on our forum and on Medium
  3. Bancor developers also agree with us, and it seems that they are now investigating ERC223 solutions as well