Loading AI tools
De Wikipédia, l'encyclopédie libre
Le token standard de l'Ethereum[1] (ERC20) (pour « Ethereum Request for Comment ») est utilisé pour les contrats intelligents sur le réseau Ethereum. Développé en 2015, ERC20 définit une liste commune des règles que le jeton de l'Ethereum doit mettre en œuvre. Il offre aux développeurs la possibilité de programmer la circulation de nouveaux jetons dans l'écosystème Ethereum. Ce jeton est devenu populaire avec le financement participatif des entreprises via les ICO.
Les tokens ERC20 utilisent du « gas » pour les frais d'opérations. Ils peuvent être achetés en Ethereum. Les transactions avec le plus de gas seront traitées plus rapidement par la Blockchain.
Ethereum fonctionne sur la Blockchain, grâce à une machine virtuelle Ethereum. Les tokens ERC20 existent sur la blockchain Ethereum.
Elles bénéficient de tous les avantages de cette technologie, mais subit les inconvénients. Par exemple :
Un token ERC20 peut être une monnaie, des actions d'une entreprise, des points de loyautés, etc...
Tous les tokens (ERC20 ou non) sont créés par un Smart Contract. Ces Smart Contract sont alors chargés de :
Pour obtenir des tokens, il faut payer en Ethereum. Par exemple, pour 2 Ethereum, je peux obtenir 15 tokens proposé par le SmartContract.
L'un des risques majeurs des Smart Contract (non ERC20) est qu'il ne peut plus être modifié une fois qu'il est déployé.
Cela peut être catastrophique si le Smart Contract est mal développé. S'il possède des bugs critiques, c'est trop tard. Entre 2015 et 2016, il y a eu plusieurs exemples :
De plus, l'un des gros inconvénients : si l'on veut que le token soit disponible et/ou échangeable dans un site d'Exchange, comme Binance, celui-ci doit développer un morceau de code spécifique, juste pour pouvoir communiquer avec le Smart Contract.
Avant la création d'ERC20, chaque entreprise qui développait un Smart Contract devait ré-inventer la roue en redéveloppant plusieurs méthodes, chacun à sa manière.
Cela impliquait que pour chaque Smart Contract distinct, les sites d'Exchanges étaient obligés eux-aussi, de développer un morceau de code pour s'adapter au token en question.
L'ERC20 a alors répondu à une demande majeure, un premier pas vers une uniformisation des tokens de blockchain.
Les lignes directrices ERC20 exigent que le Smart Contract développe six fonctions obligatoires et 3 optionnelles.
Les 3 fonctions optionnelles :
Les 6 fonctions obligatoires :
En matière de programmation, le développeur qui doit créer le Smart Contract, doit simplement implémenter l'Interface ERC20.
Dès son implémentation fin 2016, il y a eu un engouement majeur pour la blockchain Ethereum, grâce à la simplification de l'utilisation des tokens.
L'ERC20 est adopté par tous les sites d'Exchange du monde, comme Binance ou HitBTC, par sa facilité. Il leur suffit simplement de développer les interactions des 9 fonctions ERC20, et le catalogue de tokens proposé par ces sites explose. Dès qu'une personne lambda crée un token ERC20, il est directement proposable sur ces sites.
Mi-2017, au bout de 6 mois d'existence, il était si facile de créer des tokens, que tout le monde pouvait créer un Smart Contract en moins de 2 minutes sur des sites spécialisés, comme Token Factory, en spécifiant juste le nom et le nombre de tokens maximum[2].
Fin 2017, un an après l'adoption d'ERC20, Etherscan recensait plus de 40000 tokens différents. De plus, ces différents projets ont levé plus de 4 milliard de dollars grâce à ERC20.
La Fonction transfer() d'ERC20 possède un bug qui a fait perdre au moins 4 millions de dollars en décembre 2017.
Dans le cas d'un usage normal, pour acheter des tokens, il faut payer des ethers, puis le Smart Contract renvoie les tokens sur l'adresse de l'acheteur.
Le bug se trouve dans le cas où une personne envoie des tokens ERC20 au lieu d'envoyer des ethers au Smart Contract. Ceux-ci étant des éléments de la blockchain Ethereum, les Smart Contract ERC20 acceptent les tokens en entrée, mais les détruisent, parce que non reconnus. Ces tokens sont brûlés à jamais, plusieurs centaines d'utilisateurs ont définitivement perdu de l'argent[3].
Depuis 2018, plusieurs nouveaux RFC sont proposés pour corriger ce bug:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.