au sommaire


    ERC-20 désigne un modèle de tokens (monnaie) fondé sur Ethereum, respectant un cahier des charges précis. Un grand nombre des tokens apparus, depuis 2015 sont des variantes d'Ethereum, et reposent sur la blockchain de cette monnaie. Les points spécifiques de chaque token sont définis par un smart contract spécifique.

    Rappelons qu'un smart contract est un programme qui s'exécute automatiquement dès lors que les clauses définies en son sein sont remplies. Le souci, c'est qu'un smart contract n'est pas infaillible. Comme tout programme, il se peut qu'il contienne un bugbug (anomalieanomalie). Un tel bug a été rencontré fin septembre 2021 dans le smart contract du token Comp (Compound). Lorsque la Proposition 62 de Comp est entrée en action, un grand nombre d'usagers de cette monnaie se sont vus rétribuer par erreur des tokens  -- près de 280.000 COMP ont été distribués par erreur, soit l'équivalent de 90 millions de dollars. Et, en août 2021, le smart contract de Poly Network a fait l'objet d'un hacking, ce qui a permis le détournement de plus de 600 millions de dollars.

    Le modèle ERC-20

    Afin de limiter ce type de risques, dès 2015, la communauté Ethereum a proposé le modèle ERC-20. ERC est l'abréviation de Ethereum Request for Comments et donc ERC 20 a été la proposition d'amélioration n° 20.

    Un token reposant sur un smart contract conforme à ERC-20 doit notamment permettre de :

    • spécifier un nombre maximal de tokens pouvant être créés ;
    • établir pour chaque adresse (nœudnœud) du réseau, combien de tokens sont détenus ;
    • transférer des tokens vers un usager donné ;
    • échanger des tokens d'un usager à un autre ;
    • ne pouvoir envoyer des tokens à quelqu'un d'autre que si on les détient ;
    • une technique d'approbation des transactions.

    Parmi les tokens reposant sur ERC-20, figurent par exemple EOSEOS, Bancor (BNT), Maker (MKR), Basic Attention Token (BAT), Augur (REP), and OMG Network (OMG). En avril 2018, une société de sécurité, Peckshield a prétendu qu'un grand nombre de tokens reposant sur ERC-20 (GToken, Smart, MTC, FirstCoin, GG Token, CNY Token, Mesh SMT...) avaient une anomalie : selon elle, des hackers seraient en mesure de transférer de forts volumesvolumes de tokens vers une adresse ayant un solde égal à zéro.

    À la suite à cette découverte, plusieurs exchanges (places de marché) ont suspendu les transactions sur des tokens ERC-20. Toutefois, cette vulnérabilité de ERC-20 n'a pas été confirmée et il semble que ce standard ait prouvé sa validité au fil des années. Certaines améliorations à ERC-20 ont toutefois été proposées, notamment ERC223, ERC621et ERC827. Bien évidemment, si un smart contract conforme à ERC-20 a été programmé de façon imparfaite, il est tout de même possible qu'il comporte un bug comme cela s'est produit pour Comp et Poly Network.