Mis à jour le samedi 2 septembre 2017
  • Moyenne

Ce cours est visible gratuitement en ligne.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Le réseau de mineurs

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Pour l'instant, nous avons parlé de la Blockchain mais pas de son stockage. Où est stockée la Blockchain ? Dans un super ordinateur central dans le coffre-fort d'une banque ? TUUUUUUUT ! Mauvaise réponse.

Le réseau du Bitcoin

Tout le principe du Bitcoin est de créer un système de monnaie décentralisée. Il ne doit pas y avoir de serveur central. Tout fonctionne donc selon le principe du peer to peer (pair à pair), comme les "torrents" qui permettent d'échanger des fichiers entre ordinateurs.

Chaque ordinateur qui possède une copie de la Blockchain est appelé un "noeud" du réseau :

Tous les ordinateurs qui possèdent la Blockchain sont des noeuds du réseau
Tous les ordinateurs qui possèdent la Blockchain sont des noeuds du réseau

C'est toute la force du Bitcoin : il n'y a pas d'autorité centrale, ce sont les ordinateurs qui s'accordent entre eux grâce à l'algorithme complexe du Bitcoin.

Les ordinateurs du réseau vérifient constamment l'historique du Bitcoin. Grâce aux fonctions de hash, ils peuvent prouver tout l'historique des transactions et confirmer que, oui, le 01/08/2009 à 16h, Alice a bien payé 250€ à Bob. Tous les ordinateurs sont donc en quelque sorte les garants de l'intégrité du Bitcoin.

Comment les nouveaux blocs sont-ils créés ?

Par des ordinateurs que l'on appelle les mineurs. ⛏

Les mineurs

Lors de la ruée vers l'or au XIXème siècle, les mineurs cherchaient de l'or dans des mines. Comme l'or avait de la valeur, celui qui trouvait de l'or devenait mécaniquement plus riche.

La ruée vers l'or, version Picsou (on a les références qu'on a, hein !)
La ruée vers l'or, version Picsou (on a les références qu'on a, hein !)

On assiste actuellement à une nouvelle ruée vers l'or... mais virtuelle celle-ci. Pour générer des nouveaux Bitcoin, on fait travailler des ordinateurs inlassablement. Celui qui répond le premier à une question gagne le droit de créer un nouveau bloc dans la Blockchain... et gagne automatiquement de nouveaux Bitcoin.

Que font les ordinateurs qui minent ? Ils essaient de résoudre un problème mathématique. Plus précisément, ils essaient de trouver "le nombre qui, hashé, donne un nombre commençant par une longue série de zéros".

Les mineurs doivent trouver quel nombre, une fois hashé, commence par une série de zéros
Les mineurs doivent retrouver quel nombre, une fois hashé, commence par une série de zéros

Les fonctions de hashage ne marchent que dans un sens, souvenez-vous. Impossible de partir du hash pour retrouver l'original. Les ordinateurs sont donc condamnés à essayer toutes les possibilités, les hasher, regarder si ça donne un nombre qui commence par beaucoup de zéros... et recommencer si ce n'est pas le cas.

Ca consomme énormément de temps et d'énergie aux ordinateurs ! Mais lorsque tous les ordinateurs du réseau Bitcoin s'y mettent, ils parviennent à trouver une réponse toutes les 10 minutes. La difficulté est automatiquement ajustée en fonction du nombre d'ordinateurs en train de hasher, afin qu'un nouveau bloc soit généré en moyenne toutes les 10 minutes.

A chaque fois, c'est un peu comme gagner à la loterie, puisqu'un nouveau bloc est créé... et surtout quelqu'un est récompensé par des Bitcoin. 🤑

Combien gagne le mineur qui trouve la réponse ?

Ca dépend. Actuellement, le mineur "gagnant" récupère 12,5 BTC (Bitcoin), ce qui vaut à l'heure où j'écris ces lignes un peu plus de 7500€. Plus le temps passe, plus il est difficile de miner des Bitcoin et plus la récompense devient petite. On a même déjà calculé qu'il n'y aurait plus de nouveaux Bitcoin à partir de l'année 2140.

Woaw ?! Je peux gagner 7500€ avec mon ordinateur si je mine des Bitcoin ? Où est-ce que je peux faire ça vite vite ! 🤑

Alors oui, si en théorie vous pouvez vous aussi miner des Bitcoin avec votre ordinateur, en pratique aujourd'hui vous avez une chance infinitésimale de réussir. Les mineurs sont désormais très organisés et utilisent du matériel spécifique dédié bien plus puissant à ce jeu-là que votre ordinateur.

Les mineurs utilisent du matériel dédié aujourd'hui - Crédits Stefan Bladh
Les mineurs utilisent du matériel dédié aujourd'hui - Crédits Stefan Bladh

Et les mineurs sont très organisés, dans de très grands entrepôts. Voici l'un d'eux en Suède, KnC Miner :

Les mineurs ont plus de moyens que vous on dirait (ici KnC Miner) - Crédits Stefan Bladh
Les mineurs ont plus de moyens que vous on dirait (ici KnC Miner) - Crédits Stefan Bladh

Et ça, c'est juste un entrepôt dédié au minage des Bitcoin au nord de l'Europe. Il y en a d'autres. En pratique, de très nombreux mineurs sont situés en Chine où l'électricité est moins chère (et ils sont beaucoup plus nombreux). Bref, la compétition est rude, compris ? 😛

Des mineurs de Bitcoin en Chine (ici HaoBTC)
Des mineurs de Bitcoin en Chine (ici HaoBTC) - Crédits Eric Mu‌

S'il y a autant d'ordinateurs qui travaillent, c'est parce qu'ils sécurisent le système avec leurs calculs. Ils fournissent des proofs of work (preuves de travail) : les calculs permettent de rendre quasi-impossible de falsifier l'historique de la blockchain pour faire croire que vous avez plus d'argent qu'en réalité. Le système est fait de telle sorte que, si vous vouliez pirater la blockchain, il vous faudrait contrôler plus de 50% de la puissance de calcul de tous les ordinateurs qui minent sur la planète !

Le dilemme de la double dépense

L'un des plus gros défis du Bitcoin (et de toute monnaie d'ailleurs), c'est celui de la double dépense. On veut éviter qu'une personne puisse faire croire qu'elle a plus d'argent qu'en réalité. Dans la pratique, ça veut dire qu'on veut éviter qu'on puisse dépenser 2 fois une même quantité d'argent.

Imaginez. Vous avez 10€ en tout sur votre compte en banque (c'est pas beaucoup, je sais). Vous allez acheter 10€ de bananes chez un vendeur avec votre carte bancaire, et en même temps un complice tente d'acheter 10€ de pommes au magasin d'en face avec une de vos autres cartes bancaires. Il y aurait un vrai problème si vous pouviez acheter les bananes et les pommes, car vous ne disposez que de 10€.

Que se passe-t-il en réalité ? C'est la banque qui joue ici le rôle d'intermédiaire de confiance pour éviter cette situation. Elle va accepter la première transaction (vous allez pouvoir acheter des bananes), mais elle va refuser la seconde. Le vendeur de pommes refusera donc de vous les vendre en voyant que la transaction a été refusée par la banque.

Comment la banque joue le rôle d'intermédiaire de confiance
Comment la banque joue le rôle d'intermédiaire de confiance

Voici donc ce qui se passe :

- (Vous) "Eh, j'achète 10€ de bananes"
- (Vendeur 1) "Je vérifie que vous avez l'argent en demandant à votre banque... Ok c'est bon, voici vos bananes !"

Et en même temps :

- (Complice) "Eh, j'achète 10€ de pommes"
- (Vendeur 1) "Je vérifie que vous avez l'argent en demandant à votre banque... Ah non, désolé vous n'avez pas cet argent."

C'est donc à ça que servent les banques ? Confirmer combien il y a d'argent à tout instant et éviter qu'un vendeur se fasse avoir ?

Entre autres, oui. Ici, comme la banque est le "noeud" central, elle n'autorise qu'une transaction à la fois, dans un ordre précis. Ainsi, elle va accepter la première demande qu'elle reçoit, mais pas la seconde (même si les deux lui arrivent à quelques millisecondes d'écart ou pile en même temps).

Et comment peut fonctionner le Bitcoin alors, vu qu'il n'y a pas de banque impliquée ?

Ca paraît un peu fou, mais le Bitcoin laisse le réseau des ordinateurs décider entre eux. C'est la majorité qui l'emporte. Si une majorité d'ordinateurs décide que vous avez acheté les bananes en premier, alors le vendeur de pommes verra que vous n'avez plus l'argent et refusera la transaction.

Bien sûr, vous pourriez faire dire à votre ordinateur que vous aviez plus d'argent, mais personne sur le réseau ne vous croira. A moins de contrôler au moins 51% des ordinateurs du réseau et refaire tous les calculs des hashs (ce qui demanderait une puissance énormissime), vous ne pourrez pas rétroactivement influencer le cours de l'histoire.

Tous ces ordinateurs qui minent sont donc un rempart contre le piratage de la blockchain. Ils évitent que quelqu'un puisse réécrire le "livre de comptes" (la blockchain) à son avantage.

J'ai essayé à ma manière de résumer le concept dans ce schéma (qui simplifie beaucoup les choses, mais ça vous donnera une idée du principe !) :

Validation d'une transaction sur le réseau Bitcoin
Validation d'une transaction sur le réseau Bitcoin

Chaque vendeur va voir qu'on lui offre de l'argent, mais il va attendre que de nouveaux blocs aient été ajoutés à la blockchain (ici 6 blocs) pour être sûr que le réseau d'ordinateurs a accepté la transaction. C'est comme ça que le réseau d'ordinateurs peut remplacer la banque !

Exemple de certificat de réussite
Exemple de certificat de réussite