Comprendre techniquement

Qu’est ce que sont les ERC-20 ?

Une introduction technique

Cesarioo
6 min readNov 30, 2022

Introduction

Cet article a pour but de vous construire un début de bagage technique pour mieux intéragir avec la blockchain dans le futur.
Ces 5 minutes de lecture vont surement changer votre vision de la blockchain et de vos tokens.

Nous pensons tous savoir ce que sont les tokens ERC-20. Un bel exemple est le Token wETH, connu pour être une version wrapped (enrobée, de surcouche) du token natif à la blockhain Ethereum: l’Ether ou ETH.

Son utilité réside par le fait que le wETH est un token de type ERC-20 contrairement au token natif ETH qui est utilisé comme ‘gas’ sur la plateforme; or nous l’avons vu dans l’actualité, les wrapped tokens sont dans la tourmente et énormément de FUD alimente les réseaux sociaux quand à leur sécurité ⚠️

Une question se pose: quels sont les cas d’usage du wETH et les risques associés à son utilisation ? Nous verrons en un premier temps la génèse du token wETH ainsi que des ERC-20 puis deux manières de se procurer du wETH pour finir avec les spécificités que l’ERC-20 apporte.

La Génèse de la Standardisation

Retour dans le passé… ⏳

Le 30 Juillet 2015, le Genesis Block d’Ethereum est miné pour 5 ETH.
Dès lors, tout acteur peut créer son token et nombreux émergent… mais ne sont pas harmonisés ce qui crée un véritable problème: les Builders de d’Applications Décentralisées se retrouvent coincés car aucun réel standard n’existe: le développement d’applications est ralenti car tout les codes de tokens sont différents 😵

C’est ici que le standard ERC-20 rentre en jeu: il est crée en 2015 et officiellement adopté par l’Ethereum Fondation en 2017 en posant un réel cadre sur la création de Tokens afin de limiter les risques de smart contracts et de pouvoir faciliter le développement d’applications décentralisées.

Or, il reste un Token essentiel qui n’est pas ERC-20 et qui donc ne peut pas intéragir proprement avec les smart contracts des dAPPS: vous l’avez deviné, l’Ether.

En 2017 la fondation 0x (une coalition de plusieurs acteurs du milieu) propose un modèle unique de wrap du token ETH sous un format minimaliste de l’ERC-20. Le contrat proposé est très simple et garanti la sécurité actuellement de 1.5Md$ d’actifs, avec la promesse d’un échange 1:1

Comment ce modèle est-il sécurisé ?
Voyons d’abord comment se procurer du wETH 👇

Se procurer du wETH

Via des exchanges Décentralisés

Afin de profiter d’une meilleure User Experience, il est recommandé de se rendre sur un échangeur Décentralisé (ici Uniswap) pour “Envelopper” ses Ethers.

Pour rappel, votre écran ressemble à ça 👇

Cliquez sur “Envelopper”, payez vos frais de gas et c’est parti ! Vous détenez maintenant des wETH 🎉

Or, lorsque l’on visite Etherscan pour voir la transaction effectuée, on se rend compte qu’elle appelle non pas une pool Uniswap mais une fonction interne au contrat wETH ! 🤔

Serait-il possible d’interagir directement avec le contrat wETH afin de réduire les tiers de confiance et ?
La réponse en dessous 👇

Par Etherscan

Rendez vous sur etherscan à travers l’adresse du contrat wETH. On commence par lire le contrat qui est iménament simpliste !
Voici l’extrait le plus important:

N’ayez pas peur, voici la traduction:

  1. Lorsque l’on appelle la fonction “Deposit” avec un certain montant envoyé, ce montant est associé à notre adresse dans un “Livre de Compte” stocké sur la blockchain où votre adresse est associée au montant déposé.
  2. Lorsque l’on appelle la fonction “Withdraw” avec un certain montant demandé, il faut que le montant demandé soit au maximum égal au montant déposé dans le “Livre de Comptes”.
    Par la suite, le “Livret de Compte” soustrait le montant demandé au montant déposé puis transfère ce montant à l’adresse demandée.

On comprend donc 3 principes importants:

  1. On ne détient pas réellement le token wETH: il y a SEULEMENT la preuve cryptographique que l’on a bien déposé ce token dans le contrat.
  2. Nos Ethers sont prisoniers dans ce contrat: si une faille est introduite pour qu’une entité puisse bouger les fonds alors ils seront perdus.
  3. Il n’y a qu’une seule manière d’avoir la preuve de dépôt d’ETH sur ce contrat: envoyer des ETH. On est donc sur que 1ETH = 1wETH (preuve de dépot).
    On peut aussi vérifier grâce à totalSupply (qui donne la supply totale de wETH) et le nombre d’ETH sur le contrat que les montant concordent bien.

De plus, la fonction “transferFrom” permet, avec notre signature, de transférer la preuve de dépôt d’une adresse à une autre: c’est comme ça que les protocoles déplacent nos fonds lors d’un swap par exemple.

Ensuite il ne manque plus qu’à intéragir avec le contrat: rendez vous sur la section “Write” ! Puis “Deposit” directement avec le nombre d’ETH et le tour est joué 🙌

Le contrat est tellement simple qu’aucune faille n’est possible (Pour le moment…) !
Comme énoncé précédemment, ce contrat est une version simplifiée du standard ERC-20. Quelles sont les différences les plus importantes avec le token natif ETH ?

Différences clés entre ERC-20 et ETH

Le standard ERC20 introduit plusieurs différences clés très utiles pour l’utilisation d’Applications de Finance Décentralisée.
Voici les points les plus importants:

  1. Allowance: permet d’autoriser une certaine adresse à bouger une quantité X de vos fonds: c’est ce que vous utilisez sur chaque dAAP afin de la laisser intéragir avec votre token
  2. balanceOf & totalSupply: permet de savoir exactement combien de jetons a une certaine adresse ainsi que la supply totale sur le réseau. Ce mécanisme n’est pas implémenté nativement sur ETH.
  3. mint & maxSupply: permet de créer de nouveaux tokens et de définir une supply maximale. Aujourd’hui, chaque bloque miné crée de nouveaux tokens ETH (et une certaine partie des frais est brulée)

Enfin, les tokens ERC-20 sont malléables à souhaits car simples “écritures comptables”: les fonctions de transfert peuvent être codées différemment pour implémenter des frais ou les désactiver et les approvals peuvent être dangereux à signer !
Faites attention à vous 👍

Conclusion

En conclusion, n’importe quel acteur peut créer son token: c’est la plus grande force du réseau mais aussi sa plus grande faiblesse; faites très attention au contrat que vous vous procurez avant d’acheter un Token !

Merci d’avoir suivi cet article, vous repartez maintenant avec un premier bagage important sur les smart contracts et les tokens ERC-20 🎉

Retrouvez moi la semaine prochaine sur Twitter & sur ma Newsletter pour approfondir ces sujets 💙

--

--

Cesarioo
Cesarioo

Written by Cesarioo

Agrégateur de Contenu • Proud Member of DeFi France • Marketing LeCryptoDaily & KoNetwork

No responses yet