Le standard ERC-20 apporte une compatibilité transverse entre les projets et services de la blockchain Ethereum et, en tant que tel, a été largement adopté par la communauté. De ce fait, il a créé un soutien natif et une clarté d’interface entre les différents projets.

Toutefois, le ERC-20 souffre de certains inconvénients dont les plus importants sont:

  1. Impossibilité de gérer les transactions entrantes depuis le « smart contrat » receveur dans la mesure où toutes les méthodes et les événements sont contrôlés côté envoyeur
  2. Impossibilité de gérer les jetons envoyés par mégarde à un « smart contract » non prévu pour cet effet. Cela se produit lorsqu’un utilisateur envoie accidentellement des jetons ERC-20 à une adresse de contrat et non à une adresse de compte utilisateur. Dans ces conditions, le contrat receveur n’a d’autre choix que d’envoyer les jetons à son adresse zéro, celle qu’il utiliserait typiquement pour retirer des jetons de la circulation sans changer le total émis. Le jeton ainsi éteint devient à jamais inaccessible à quiconque et donc à jamais perdu. Il semble qu’à ce jour, plus de $400 000 valeur de jetons d’ERC-20 soient ainsi bloqués, perdus dans la blockchain suite à l’envoi à adresse erronée.

La norme ERC-223 introduit de nouvelles fonctions en sus de celles du ERC-20 afin d’éviter la perte accidentelle de jetons : Par exemple, la méthode tokenFallback pour rejeter les jetons non pris en charge plutôt que de les conserver de façon permanente dans les contrats. En outre, le ERC-223 permet d’envoyer des jetons à un portefeuille ou un contrat avec la même et unique fonction transfert. Par conséquent, on effectue une transaction unique et pas deux comme dans certaines situations dans le ERC-20 où il aurait fallu les fonctions approve et transferFrom. C’est autant moins de « gas » et d’économie d’énergie.

D’une façon générale, la mise en œuvre du ERC-223 coûte moins en frais de transaction tout en apportant des solutions viables aux préoccupations indiquées ci-dessus, en ce compris, la capacité de gérer les transactions directement dans le smart contrat receveur.

La norme ERC-223 est rétro-compatible avec les jetons ERC-20-, ce qui signifie que toutes les fonctions et les capacités des jetons ERC-20 fonctionnent correctement avec les jetons ERC-223.