Tokens Ethereum : les 5 standards ERC les plus utilisés
La blockchain Ethereum, lancée en 2014, est largement connue pour ses smart contracts, des contrats s’auto-exécutant selon des paramètres définis. Afin de faire fonctionner au mieux ces smart contracts et de leur permettre de communiquer entre eux, les développeurs ont décidé de mettre en place des standards, ces derniers sont appelés ERC – Ethereum Request for Comment.
Un ERC est rédigé par des développeurs sous la forme d’un rapport décrivant les méthodes, comportements, recherches ou innovations applicables au fonctionnement de l’écosystème Ethereum. Ce rapport est ensuite soumis à examen par les pairs du réseau, et une fois approuvée par la communauté de développeurs, la proposition devient une norme.
Les standards sont d’abord amenés par le biais de propositions par des développeurs, c’est ensuite la communauté Ethereum qui décide d’accepter ou non ces standards, principalement par la création de projets les utilisant.
ERC-20 : le token privilégié des ICO
Parmi ces standards, le plus connu et répandu est l’ERC-20, ce standard de token a été massivement utilisé et démocratisé par les levées de fonds de type ICO.
L’avantage de ce standard est que la grande majorité des smart contracts et des DApps – applications décentralisées – peuvent interagir avec un token ERC-20 de manière native, sans avoir besoin de détails sur le token. De ce fait, un smart contract implémentant ce standard pourra être plus facilement listé sur une plateforme d’échange, sans travail additionnel d’intégration.
Top 5 des tokens ERC-20 par market cap – source : etherscan.io
ERC-223 : un token standard optimisé
Le standard ERC-223 est une suggestion de Dexaran visant à résoudre certains problèmes posés par le standard des tokens ERC-20. ERC-223 reste actuellement une proposition et n’est pas encore largement utilisé, seuls quelques projets ont décidé de l’implémenter : MobileGo, Coss ou encore Follow Coin.
Les problèmes que souhaite résoudre l’ERC-223 sont :
- Éviter la perte accidentelle de tokens, lors de l’envoi d’un token vers un smart contract qui n’est pas conçu pour fonctionner avec le token envoyé. Utilisant la gestion d’événements, ERC-223 permet d’annuler une transaction qui mènerait à la perte des tokens, avant que celle-ci ne se produise.
- Le standard permet une consommation réduite du gas lors des transferts en comparaison avec les tokens ERC-20.
Afin de favoriser l’implémentation de ce standard, les développeurs ont pris le soin de rendre la norme ERC-223 rétrocompatible avec les tokens ERC-20. Toutes les fonctions et caractéristiques des tokens ERC-20 fonctionnent parfaitement avec les tokens/smart contracts ERC-223.
Le principal désavantage de ce standard se trouve du côté des plateformes d’échange, qui peuvent avoir des modifications à faire pour supporter les tokens, de ce fait, l’intégration est plus complexe qu’avec un ERC-20.
ERC-721 : les tokens non-fongibles
La proposition ERC-721 a été suggérée par dete avec comme principal objectif de créer un standard pour les tokens non-fongibles – tokens uniques et non divisibles. Dans le cas de l’ERC-20 ou 223, nous avons un stock de tokens fongibles, où une unité est équivalente à une autre.
Dans le cas de l’ERC-721, on cherche à répondre à d’autres cas d’usages, qui nécessitent des tokens non identiques ayant des paramètres propres et une valeur différente.
Ce standard de token a été utilisé pour représenter sur la blockchain les fameux CryptoKitties, permettant de créer des chats virtuels ayant un ADN numérique – avec plus de 4 milliards de variations dans le phénotype et le génotype. Ce standard pourrait être utilisé dans de nombreux autres domaines d’applications comme la gestion de licences logiciel ou de l’art de manière digitale.
Contrairement aux ERC-20, qui sont présents sur les principales plateformes d’échange, les ERC-721 sont échangeables sur des places de marché spécialisées dans la vente de collectibles comme Rarebits, Opensea ou Emoon. Cependant, certains protocoles commencent à supporter ce standard, tel le protocole 0x qui l’a implémenté dans sa version 2 en juillet 2018.
ERC-777 : le token standard sécuritaire
La proposition ERC-777 a été introduite par @jbaylina sur GitHub fin 2017 cette dernière vise à créer un nouveau standard prenant en compte les leçons tirées des malfaçons de ERC-20.
Ce standard est basé sur les travaux réalisés pour l’ERC-820, assurant une rétrocompatibilité avec les standards plus anciens – ex. : ERC-20. Comme l’ERC-223, cette proposition permet de gérer la réception de tokens non-compatibles par un smart contract sans bloquer les fonds.
En plus de cela, une fonctionnalité a été ajoutée assurant une meilleure traçabilité pour les smart contracts quant à l’origine des tokens reçus, très utile s’il était nécessaire de les renvoyer.
Enfin l’une des fonctionnalités les plus intéressantes, l’introduction d’une white list permettant de spécifier à notre smart contract une liste de contrats avec lesquels il peut réaliser des transferts en toute sécurité.
ERC-1400 : le standard des securities tokens
La proposition ERC-1400 a été introduite par Stephane Gosselin, Adam Dossa, Pablo Ruiz et Fabian Vogelsteller sur GitHub en septembre 2018. Contrairement aux autres standards qui vont principalement permettre de définir des utility tokens, l’ERC-1400 a pour but de définir un standard pour les securities token.
Rappel sur la différence entre utility et security token : Tentative d’élaboration d’une typologie des tokens.
L’idée qui a motivé ce projet est de proposer un cadre commun afin qu’émetteurs, investisseurs, fournisseurs de KYC, wallets, plateformes d’échange et développeurs puissent travailler dans les mêmes conditions. Ainsi, augmenter la démocratisation des security tokens comme l’ERC-20 a permis de démocratiser les tokens utilitaires – utility tokens.
Ce nouveau standard partage de nombreuses caractéristiques des tokens fongibles du standard ERC-20 ou des tokens non fongibles du standard ERC-721. Il introduit également la notion de token partiellement fongible à travers la proposition ERC-1410 qui, bien qu’ils représentent le même actif sous-jacent, ont besoin de données différenciées qui leur sont propres et liées.
Ce type de token sera compatible avec les tokens ERC-20 et ERC-777, parmi les fonctions propres au standard, nous avons :
- Des fonctions qui permettent de gérer une bibliothèque de documents associés au token. Ces documents peuvent être des documents juridiques ou d’autres documents de référence.
- La norme fournit une fonction pour déterminer si un transfert va aboutir, et renvoie les détails indiquant la raison pour laquelle le transfert n’est pas valide dans le cas contraire.
La liste – non exhaustive – des ERC présentés fait partie des plus utilisés. Ils ont été sélectionnés afin de mettre en évidence la diversité des besoins et des objectifs à travers l’écosystème Ethereum. Pour ceux souhaitant creuser le sujet voici d’autres ERC intéressants : ERC-621, ERC-667 et ERC-827.
[es_tradingview symbol= »BITFINEX:ETHUSD » interval= »W » height= »400″ colors= »Light »]
Sources : Blog.IcoFunding ; Medium ; Hackernoon || Image from Shutterstock