ERC-20 : le standard des tokens Ethereum

ERC-20 : le standard des tokens Ethereum
La rédactionSignature éditoriale – Guides & contenus pédagogiques

La norme derrière la plupart des tokens

ERC-20 est une norme technique qui définit un ensemble commun de fonctions que chaque token fongible sur Ethereum doit implémenter. Elle précise comment vérifier un solde, transférer des tokens, approuver un tiers à dépenser en votre nom, et émettre des événements standards lorsque ces actions ont lieu. Parce que chaque token ERC-20 utilise la même interface, les wallets, DEXs et tout autre contrat peuvent interagir avec eux sans code personnalisé pour chaque token.

Cette norme est ce qui a rendu possible l’explosion de la DeFi. Un seul contrat de pool Uniswap peut lister n’importe quel ERC-20 contre un autre car le pool appelle simplement les fonctions standards. Il en va de même pour les protocoles de prêt, les agrégateurs de rendement et les ponts. ERC-20 a eu tellement de succès que d’autres chaînes ont adopté la même interface — BEP-20 sur BNB Chain, FA12 sur Tezos, et bien d’autres — pour hériter de l’écosystème d’outils.

ERC-20 concerne les tokens fongibles, où chaque unité est identique et divisible. Les NFTs utilisent une norme différente, ERC-721, où chaque token est unique. ERC-1155 est un hybride qui supporte les deux dans un seul contrat. Des normes plus récentes comme ERC-4626 s’appuient sur ERC-20 pour standardiser les coffres à rendement. Presque tous les tokens que vous rencontrez sur Ethereum ou ses rollups suivent l’un de ces modèles, ce qui explique pourquoi intégrer un nouveau token nécessite rarement plus que de coller une adresse de contrat.

Fonctions principales et leur fonctionnement

Au cœur du standard ERC-20 se trouvent six fonctions obligatoires que chaque contrat de token doit implémenter. Parmi elles, totalSupply(), qui renvoie le nombre total de tokens en circulation, et balanceOf(address), qui renvoie le solde de tokens d’une adresse spécifique. La fonction transfer(address, uint256) permet aux détenteurs de tokens d’envoyer des tokens directement à une autre adresse.

Deux fonctions supplémentaires, approve(address, uint256) et transferFrom(address, address, uint256), permettent les transferts délégués. Cela signifie qu’un détenteur de token peut autoriser un tiers — comme un échange décentralisé ou un smart contract — à dépenser des tokens en son nom jusqu’à une limite spécifiée. Cette délégation est essentielle pour de nombreuses applications DeFi et protocoles automatisés.

Enfin, la fonction allowance(address, address) permet à quiconque de vérifier combien de tokens un dépensier est autorisé à transférer depuis le compte d’un propriétaire de token. En parallèle de ces fonctions, ERC-20 définit des événements standards comme Transfer et Approval, qui notifient les applications externes lorsque des tokens bougent ou que les limites de dépense changent, permettant aux wallets et explorateurs de rester à jour en temps réel.

Pourquoi l’uniformité est importante dans l’écosystème Ethereum

L’interface uniforme fournie par ERC-20 signifie que les développeurs n’ont pas à réinventer la roue pour chaque nouveau token. Les wallets peuvent afficher les soldes, les échanges peuvent lister les tokens, et les smart contracts peuvent interagir avec les tokens sans accroc. Cette interopérabilité est une pierre angulaire de la composabilité d’Ethereum, permettant à différents protocoles DeFi de s’appuyer les uns sur les autres sans problèmes de compatibilité.

Par exemple, les échanges décentralisés (DEXs) comme Uniswap s’appuient sur la norme ERC-20 pour supporter des milliers de tokens avec un seul smart contract. Les plateformes de prêt utilisent le mécanisme d’approbation pour bloquer des tokens en garantie, tandis que les protocoles de yield farming peuvent déplacer les tokens entre contrats en toute sécurité. Cette nature plug-and-play réduit drastiquement le temps de développement et les risques, favorisant une innovation rapide.

Pour cette raison, même des projets sur d’autres blockchains ont adopté des normes similaires pour profiter de l’écosystème mature d’outils d’Ethereum. Les tokens BEP-20 de Binance Smart Chain, par exemple, sont presque identiques à ERC-20, permettant aux wallets et DEXs de supporter des tokens cross-chain avec peu de modifications. Cette compatibilité inter-chaînes souligne l’influence d’ERC-20 au-delà d’Ethereum lui-même.

Distinguer les tokens fongibles des NFTs et au-delà

Il est important de comprendre que les tokens ERC-20 sont fongibles, ce qui signifie que chaque unité de token est interchangeable et identique à une autre. Cela les rend idéaux pour les monnaies, stablecoins, tokens de gouvernance, et bien d’autres cas d’usage où l’uniformité est essentielle. En revanche, les tokens non fongibles (NFTs) utilisent la norme ERC-721, où chaque token est unique et indivisible, représentant des objets de collection, de l’art ou des actifs numériques aux propriétés distinctes.

ERC-1155 est une norme plus flexible qui combine tokens fongibles et non fongibles dans un seul contrat, permettant aux développeurs de jeux et autres projets de gérer efficacement plusieurs types de tokens. Par ailleurs, des normes plus récentes comme ERC-4626 s’appuient sur ERC-20 pour standardiser les coffres à rendement, définissant comment les tokens représentant des dépôts dans des protocoles DeFi se comportent et interagissent.

Parce que la plupart des tokens sur Ethereum et ses rollups layer-2 suivent l’une de ces normes, les utilisateurs et développeurs bénéficient d’un comportement prévisible et d’une large compatibilité. C’est pourquoi ajouter la prise en charge d’un nouveau token dans un wallet ou un échange nécessite généralement seulement l’adresse du contrat du token, sans travail d’intégration personnalisé.

Idées reçues courantes et considérations pratiques

Une idée reçue fréquente est que tous les tokens étiquetés « ERC-20 » sont identiques en termes de fonctionnalités. Bien qu’ils partagent la même interface, les contrats de tokens peuvent implémenter des fonctionnalités ou restrictions supplémentaires au-delà de la norme. Par exemple, certains tokens peuvent inclure des frais de transfert, des listes noires, ou des contrôles de minting qui influencent leur comportement en pratique. Les développeurs et utilisateurs doivent examiner attentivement les contrats de tokens, surtout avant d’interagir avec des tokens nouveaux ou peu connus.

Un autre point pratique concerne les gas fees. Chaque transfert ou approbation de token sur Ethereum nécessite du gas, payé en ETH, dont le coût peut fluctuer selon la congestion du réseau. Comprendre les gas fees est essentiel pour gérer les coûts de transaction lors du déplacement de tokens ERC-20.

Enfin, les tokens ERC-20 sont souvent stockés dans des crypto wallets qui supportent la norme. Les wallets populaires détectent automatiquement et affichent les tokens ERC-20 dès que vous ajoutez l’adresse du contrat, rendant la gestion des tokens accessible même aux débutants.

Partager cet article