Comment fonctionnent les cryptomonnaies ?
Vous avez sans doute entendu parler des cryptomonnaies et du Bitcoin, peut-être même de la blockchain... Qu’est-ce qui se cache derrière cette technologie ?
Le Bitcoin est une cryptomonnaie. C’est une monnaie numérique, tout comme la plupart de nos euros. Cependant, le Bitcoin diffère singulièrement de nos monnaies classiques. En effet, la technologie derrière le Bitcoin est celle de la blockchain.
Une chaîne de bloc comme structure de données
Le terme blockchain est un mot anglais signifiant « chaîne de blocs ». Il s’agit ici de données numériques structurées en bloc. Les blocs sont mis bout à bout dans ce que l’on appelle la blockchain. Les liens entre les blocs sont incassables. Dans ces blocs, plusieurs types de données peuvent être enregistrées. Par exemple, pour le cas de la blockchain la plus connue, celle du Bitcoin, chaque bloc contient des transactions de Bitcoins : qui envoie des Bitcoins à qui. Ainsi, dans la blockchain sont enregistrées toutes les transactions et donc le montant que chacun possède.
De la preuve de travail...
Le Bitcoin est “miné” par un algorithme appelé preuve de travail (en anglais : proof of work). L’ajout de blocs nécessite de trouver le lien entre le bloc précédent et le nouveau. Il faut également que plusieurs acteurs valident chaque transaction. Ces acteurs sont les mineurs. Ils sont récompensés pour ce travail. C’est pourquoi un utilisateur paie des frais lorsqu’il veut envoyer des Bitcoins à quelqu’un.
En pratique, les mineurs valident les transactions de Bitcoins en les regroupant dans des blocs et en ajoutant ces blocs à la blockchain. Pour ce faire, ils relèvent un défi cryptographique appelé preuve de travail pour connecter le nouveau bloc au précédent.
... jusqu’à l’émission monétaire
Comme dit plus haut, le dur travail des mineurs est récompensé. En effet, l’ordinateur qui résout le défi cryptographique remporte une certaine quantité de Bitcoins qui sont générés par l'algorithme du Bitcoin. C'est de cette manière que les Bitcoins sont émis.
Pour faire le parallèle avec les monnaies classiques, ce sont les banques centrales qui décident d’émettre de la monnaie. On dit qu’elles “impriment des billets”, mais c’est évidemment une image, car la majeure partie de nos monnaies classiques sont sous forme digitale : ce sont des nombres dans les ordinateurs des banques.
L’algorithme du Bitcoin définit que le temps entre chaque bloc doit être d’environ dix minutes. L’émission des Bitcoins n’est donc régulée que par un algorithme, qui est conçu pour n'émettre que 21 millions de Bitcoins au total. Voici ci-dessous l’évolution du nombre de Bitcoins en circulation.
Source : blockchain.com
La puissance du réseau pair à pair...
Pour relever le défi de la preuve de travail, l’ordinateur calcule une fonction de hachage. Il s’agit d’un algorithme cryptographique. La puissance de l’ordinateur par rapport au Bitcoin est donc le nombre de fois que l’ordinateur peut calculer cette fonction en un temps donné. On appelle cela en anglais le “hashrate” et il s’exprime en nombre de hashes par seconde. Un hash est le résultat de la fonction de hachage. Le Bitcoin est un réseau pair à pair d’ordinateurs qui calculent des hashes pour valider des blocs. La puissance du réseau est la somme des hashrates des ordinateurs du réseau. Actuellement, le hashrate est d’environ 150 000 000 tera hashes par seconde (tera : billion), écrit autrement : 150 EH/s.
...au service de la sécurité
Comme dit plus haut, le Bitcoin est un réseau d’ordinateurs. Toutes ces machines travaillent ensemble pour la sécurité du Bitcoin. En effet, plus il y a de machines, plus le réseau est sécurisé. Lorsqu’un bloc est miné, c’est-à-dire trouvé, il est validé par les autres ordinateurs du réseau. Plus un bloc est validé par beaucoup de mineurs, moins il a de risque d’être modifié. C’est pourquoi lorsque vous effectuerez un paiement en ligne avec du Bitcoin, les commerçants vont attendre un certain nombre de confirmations avant de valider votre commande. Une fois que le bloc est ajouté à la blockchain, le risque pour qu’il soit modifier est très faible et devient insignifiant dès que quelques nouveaux blocs sont ajoutés après lui.
Pour craquer, ou hacker le Bitcoin, c’est-à-dire pirater la blockchain, il faut que le pirate possède plus de la moitié de la puissance de calcul du réseau. Ceci est impossible, car les ordinateurs du réseau sont répartis dans le monde entier. On appelle cela l’attaque des 51 %.
Conclusion
Le Bitcoin fonctionne avec une chaîne de blocs, liés entre eux par une fonction cryptographie. Les mineurs sécurisent les transactions en les enregistrant dans la blockchain de manière inaltérable.
Les informations stockées dans la blockchain du Bitcoin sont les transactions de Bitcoins. Par généralisation, une blockchain peut contenir toutes sortes de données. Par exemple, la progression des joueurs d’un jeu vidéo, la signature électronique d’un contrat... Dans le cas de la blockchain Ethereum, qui supporte des smart contracts, un programme va être exécuté par la blockchain à l’initiative de l’utilisateur. L’exécution génère un résultat qui est stocké dans le bloc. Ceci ouvre la porte à des applications décentralisées qui peuvent révolutionner le monde.