Qu’est-ce qu’un token ? Ils ont une place très importante dans l’écosystème alors intéressons-nous à leur utilité et leur fonctionnement. Mais d’abord, vous le savez, voici 3 bullets-points :
- Un token est une unité de valeur numérique émise sur une blockchain. Il peut représenter divers types d’actifs ou de droits, que ce soit une monnaie, une part d’une entreprise, un droit de vote, un droit de propriété sur une œuvre, un accès à un service, etc. Sa valeur peut être fixe, variable, ou déterminée par le marché.
- Les tokens sont créés et gérés sur une blockchain et les transactions de tokens sont enregistrées de manière indélébile et peuvent être vérifiées par n’importe qui. Grâce aux smartcontracts, les tokens peuvent être programmés pour avoir des fonctionnalités spécifiques.
- Les tokens peuvent être fongibles, c’est-à-dire interchangeables et identiques les uns aux autres comme le Bitcoin ou l’Ether, ou non fongibles (NFTs) et donc uniques, comme une œuvre d’art numérique. Les tokens fongibles sont souvent fractionnables, permettant l’achat, la vente ou l’échange de fractions d’un token. Cette caractéristique dépend du standard du token utilisé, comme l’ERC-20 pour les tokens fongibles, ou l’ERC-721 pour les NFTs.
C’est quoi un token ?
Par où on commence ?
Intro : d’où viennent les tokens ?
Les tokens existent depuis les premiers jours du web, où ils servaient d’identificateurs de session, également connus sous le nom de “session tokens” ou “session IDs”. Ces tokens permettaient de maintenir une expérience utilisateur continue sur les sites web, en aidant le serveur à se souvenir de l’état de la session de l’utilisateur lorsqu’il navigue de page en page.
Bon OK, ce ne sont pas vraiment les mêmes tokens que ceux émis sur les blockchains que nous connaissons. Bien qu’ils soient différents dans leur utilisation et leur contexte, ils partagent des similarités dans leur conception, notamment via l’utilisation des fonctions de hachage.
À grands coups de hash
Une fonction de hachage est un algorithme qui prend en entrée une quantité de données (qui peut être très grande) et produit en sortie une valeur de taille fixe. Cette valeur, appelée “hachage”, a des propriétés intéressantes : elle est unique pour chaque entrée différente (deux entrées différentes produiront deux hachages différents) et elle est impossible à inverser (on ne peut pas retrouver l’entrée à partir du hachage).
Dans le cas des tokens de session, une fonction de hachage peut être utilisée pour générer un identifiant unique pour chaque session utilisateur. Cela garantit que chaque session a un identifiant différent et qu’un attaquant ne peut pas deviner l’identifiant d’une session en connaissant l’identifiant d’une autre session.
Dans le cas des tokens sur la blockchain, les fonctions de hachage interviennent à plusieurs niveaux. À commencer par la création de ces derniers via des smartcontracts, jusqu’à la génération des adresses de transaction quand les tokens sont transférés d’un portefeuille à un autre.
Les adresses publiques des portefeuilles crypto sont d’ailleurs générées à partir des clés privées via un mécanisme de hachage (cryptographie asymétrique) mais c’est un autre sujet…
Le point de bascule
Pouvez-vous dupliquer et envoyer à votre ami une Rolls Royce de 1926 ? Je ne pense pas, c’est donc pour cela que celle-ci garde tant de valeur ! En 2008, quelque chose vient tout bousculer : le bitcoin, token (jeton) natif de la blockchain Bitcoin, première crypto-monnaie massivement adoptée qui résout le problème de double dépense (copies) sur un réseau distribué. Plusieurs années plus tard, le monde se tokenise…
C’est quoi un token ?
Nous l’évoquions un peu plus haut, un token est une unité de valeur numérique créée sur une blockchain. Ils sont échangeables et non-duplicables. Pour autant, sont-ils tous pareils ?
Les tokens natifs et les autres
Les tokens natifs sont des cryptomonnaies intégrées et spécifiques à une blockchain. Par exemple, Bitcoin est le token natif de la blockchain Bitcoin, Ether est le token natif de la blockchain Ethereum. Ces tokens sont généralement utilisés pour payer les frais de transaction sur leur réseau respectif, et peuvent aussi avoir d’autres utilisations spécifiques à leur blockchain.
D’autre part, il existe des tokens qui ne sont pas natifs d’une blockchain mais qui sont construits sur celle-ci en utilisant ses fonctionnalités. Par exemple, sur la blockchain Ethereum, de nombreux projets créent leurs propres tokens en suivant des standards comme ERC-20 ou ERC-721. Ces tokens peuvent représenter une grande variété d’actifs ou de droits.
Différents standards
Les standards de tokens sont des protocoles définissant des règles spécifiques que les tokens doivent respecter pour être compatibles avec divers portefeuilles (wallets) et autres contrats intelligents sur une blockchain spécifique. Sur Ethereum, les standards les plus répandus sont ERC-20 et ERC-721.
ERC-20
L’ERC-20 est un standard technique pour les tokens sur la blockchain Ethereum, définissant les règles de transfert et d’interaction de ces tokens. Ces tokens sont fongibles, signifiant que chaque unité est identique et interchangeable avec une autre.
C’est similaire aux pièces de monnaie : chaque unité de même valeur est interchangeable. La compatibilité universelle de l’ERC-20 avec l’écosystème Ethereum permet son utilisation fluide dans diverses applications décentralisées, rendant ce standard largement adopté pour les tokens fongibles.
L’ERC-721 (NFT)
L’ERC-721 est un standard pour les tokens non fongibles (NFTs), qui sont uniques et peuvent représenter divers types d’actifs numériques, tels que des œuvres d’art, des objets de jeux ou des propriétés immobilières. Contrairement aux cryptomonnaies comme le Bitcoin, chaque NFT est unique et a une valeur propre.
Grâce à la blockchain, les NFT permettent aux propriétaires de ces objets numériques de prouver leur propriété et leur authenticité de manière incontestable.
Les autres
Il existe également d’autres standards, moins couramment utilisés, mais qui offrent des fonctionnalités différentes :
-
ERC-223 et ERC-777 : Ces standards améliorent l’ERC-20 en ajoutant plus de sécurité et des fonctionnalités supplémentaires, comme la possibilité de recevoir des informations sur l’expéditeur et la valeur de la transaction directement dans le contrat intelligent.
-
ERC-1155 : Ce standard permet de créer à la fois des tokens fongibles et non fongibles au sein du même contrat intelligent, ce qui peut être utile pour certaines applications, notamment les jeux sur blockchain.
-
ERC-1400 : Il s’agit d’un standard pour les security tokens, qui sont des tokens représentant un investissement ou un droit de propriété et qui sont généralement soumis à la réglementation financière.
Ces standards ne sont pas exclusifs à la blockchain Ethereum et peuvent être adaptés à d’autres blockchains.
La catégorisation légale
Selon les droits qu’ils confèrent et leur traitement légal, on peut également distinguer plusieurs types de tokens…
Les tokens utilitaires
Les “utility tokens”, ou tokens d’utilité, sont un type de token de blockchain qui fournissent un accès à un produit ou à un service au sein d’un écosystème spécifique. Ces tokens peuvent être considérés comme des “jetons d’usage” dans le système pour lequel ils ont été créés.
Un exemple courant est le token Filecoin (FIL), utilisé sur la plateforme de stockage décentralisée Filecoin. En achetant ou en gagnant des FIL, les utilisateurs peuvent accéder à de l’espace de stockage sur le réseau Filecoin, ou être récompensés pour avoir fourni du stockage eux-mêmes.
Un autre exemple est le token BAT (Basic Attention Token) du navigateur Brave. Les utilisateurs qui choisissent de voir des publicités sur Brave sont récompensés avec des BAT, qui peuvent ensuite être utilisés pour “payer” les créateurs de contenu sur internet qu’ils apprécient.
Contrairement aux security tokens, les utility tokens ne confèrent pas de droits de propriété ou de participation aux profits ou aux revenus générés par une entreprise. Les détenteurs d’utility tokens n’attendent pas forcément de retour sur investissement direct, comme on pourrait s’attendre d’une action ou d’une obligation. Au lieu de cela, la valeur des utility tokens est dérivée de leur utilité ou de leur fonctionnalité au sein de l’écosystème spécifique pour lequel ils ont été créés.
Les titres tokenisés
Les “security tokens”, ou tokens de sécurité, sont une catégorie de tokens de crypto-monnaie qui émulent les caractéristiques traditionnelles des instruments financiers tels que les actions, les obligations et les options. Ces tokens représentent souvent un investissement financier et peuvent conférer des droits de propriété, des parts de revenus, des dividendes, des droits de vote, et d’autres avantages financiers ou droits juridiques.
Par exemple, un token de sécurité pourrait être émis par une entreprise dans le cadre d’une offre de jetons de sécurité (STO, pour Security Token Offering), qui est similaire à une offre publique initiale (IPO) pour les actions. Les détenteurs de ces tokens de sécurité auraient des droits similaires à ceux des actionnaires, comme une part des profits de l’entreprise ou le droit de voter sur certaines décisions d’entreprise.
Cependant, en raison de ces caractéristiques, les tokens de sécurité sont souvent soumis à des réglementations financières strictes dans de nombreux pays. Ils doivent généralement se conformer à la législation sur les valeurs mobilières, ce qui peut imposer des exigences sur la manière dont ils sont émis, sur qui peut les acheter et vendre, et sur les informations qui doivent être divulguées aux acheteurs potentiels.
Naissance d’un token
Définition du smartcontract
Les tokens sur une blockchain comme Ethereum ou la Binance Smart Chain sont créés à l’aide de smartcontracts. Pour comprendre comment cela fonctionne, considérons l’exemple d’un token ERC-20 :
Tout commence par l’écriture d’un smartcontract qui respecte les spécifications du standard ERC-20. Il contient une série de fonctions qui permettent aux utilisateurs d’effectuer des opérations telles que vérifier le solde d’un compte, transférer des tokens d’un compte à un autre et autoriser d’autres comptes à retirer des tokens.
Déploiement du smartcontract
Une fois que le smartcontract a été écrit, il est déployé sur la blockchain. Cela est fait en créant une transaction qui contient le code du smartcontract et en l’envoyant à la blockchain sur laquelle il est voué à fonctionner. Une fois que cette transaction a été validée et ajoutée à la blockchain, le smartcontract est déployé et les utilisateur du réseau peuvent interagir avec.
Création des tokens
Lors du déploiement du smartcontract, une certaine quantité de tokens peut être créée et attribuée à une adresse spécifique. Ceci est souvent fait dans la fonction de construction du contrat, qui est exécutée une seule fois lorsque le contrat est déployé.
Après ces étapes, le token existe sur la blockchain et peut être transféré entre les comptes en utilisant les fonctions définies dans le smartcontract. Les tokens ainsi créés sont enregistrés et suivis grâce au smartcontract, plutôt que d’être des “objets” individuels sur la blockchain.