B. LA « PREUVE DE TRAVAIL » ADMINISTRÉE PAR LES MINEURS
1. Des épreuves cryptographiques dénommées minage
Dans le cas du bitcoin, le mode de validation est une compétition cryptographique appelée « preuve de travail » ( proof of work ou POW). Celle-ci suppose en effet la réussite d'un utilisateur appelé « mineur » à une épreuve cryptographique, dénommée « minage », qui se répète en moyenne toutes les dix minutes pour le bitcoin. Les mineurs remportent les nouveaux bitcoins créés lors de chaque validation de bloc.
La rémunération des mineurs Le protocole de Nakamoto prévoit que la création de chaque bloc conduit à l'émission de nouveaux bitcoins , utilisés pour récompenser chaque mineur validant un bloc (qui les reçoit 100 blocs après validation). Le montant de cette récompense est divisé par deux tous les 210 000 blocs, c'est-à-dire tous les quatre ans. Il était ainsi de 50 bitcoins jusqu'en 2012, puis de 25 jusqu'en 2016, il est aujourd'hui de 12,5 et passera à 6,25 en 2020. Cette réduction progressive du niveau d'émission de nouveaux bitcoins est appelée « halving ». Elle a pour objectif de maintenir une certaine rareté de cette monnaie. Les mineurs, en plus d'être rémunérés lors de la réussite à ces épreuves cryptographiques, prélèvent des frais sur les transactions qu'ils intègrent à chaque nouveau bloc qu'ils créent . Le montant de ces frais est en théorie déterminé librement par les utilisateurs, mais les mineurs sélectionnant en priorité les plus élevés, ces frais varient, de fait, en fonction du nombre de transactions en attente. Source : OPECST |
La réussite à l'épreuve consiste à obtenir un hash du bloc que le mineur souhaite intégrer, ce hash devant commencer par un certain nombre de zéros . Comme il a été vu, une telle opération est très imprédictible et ne peut donc être que le résultat d'un très grand nombre de calculs de la fonction SHA-256. Il s'agit donc d'un calcul itératif et aléatoire , dont la résolution peut être plus ou moins longue : sa difficulté peut être ajustée de telle sorte que le temps moyen de résolution soit proche d'une durée donnée.
En fonction du nombre de mineurs mobilisés, un hash valide prendra plus ou moins de temps à être trouvé. Afin que les blocs soient produits à un rythme d'un toutes les dix minutes , le protocole du bitcoin prévoit par convention un ajustement régulier de la difficulté , c'est-à-dire du nombre de zéros exigés. Cette difficulté est ajustée tous les 2 016 blocs, c'est-à-dire environ tous les 14 jours. La difficulté des fonctions de hachage doit en effet progresser a u même rythme que l'évolution des puissances de calcul informatique .
Le graphique ci-après illustre cette régulation.
L'ajustement de la difficulté des épreuves cryptographiques
Source : OPECST d'après http://bitcoinwisdom.com/bitcoin/difficulty
2. La réponse au problème des chaînes parallèles
Le bloc validé par le mineur qui sort victorieux des épreuves cryptographiques est alors transmis de pair à pair à chaque noeud qui ajoute à sa propre blockchain le bloc ainsi validé. Si deux blocs sont validés au même moment, les mineurs vont utiliser l'un ou l'autre pour intégrer son hash au bloc suivant.
Deux chaînes parallèles se développent alors , des mineurs produisant de nouveaux blocs à partir de blocs ayant des empreintes différentes. Deux mêmes transactions ou des transactions contradictoires pourraient alors être effectuées et transmises aux noeuds du réseau, qui se trouveraient en face d'une contradiction et rejetteraient le dernier bloc reçu.
Le protocole prévoit alors qu'après l'ajout de quelques blocs, seule la chaîne la plus longue subsiste , c'est-à-dire en pratique celle que la majorité des noeuds aura adoptée. Les données contenues dans les blocs de la chaîne plus courte ne sont pas valides car elles ne sont pas visibles dans la chaîne gagnante. Elles devront être réémises dans la chaîne la plus longue pour pouvoir être prises en compte.
Cette règle s'applique, dans la communauté bitcoin, de telle sorte qu' après six blocs (soit une durée d'une heure), des transactions insérées dans un bloc peuvent être considérées comme validées et durablement inscrites dans la blockchain .
La principale attaque contre l'intégrité d'une blockchain consiste donc pour une entité malveillante à produire une chaîne de blocs plus longue contenant des transactions potentiellement non-valides. Cela suppose qu'elle regroupe suffisamment de puissance de calcul, à un moment donné, pour dépasser à elle-seule la puissance totale du réseau .
Cette entité posséderait alors la moitié de la puissance de calcul du réseau, c'est pourquoi on parle d'« attaque des 51 % ». La difficulté à attaquer une chaîne est croissante dans le temps, autrement dit plus un bloc est suivi d'autres blocs, moins il va être facile à modifier, comme l'illustre le schéma suivant.
La difficulté croissante dans le temps à attaquer une blockchain
Source : OPECST
3. La concentration des mineurs
Les mineurs, rémunérés lors de la réussite aux épreuves cryptographiques et par les frais sur les transactions qu'ils prélèvent, se sont de plus en plus spécialisés pour optimiser leurs rémunérations et leurs performances , ce qui conduit à une concentration de ces acteurs.
L' organisation des mineurs en groupements ou « pools » 21 ( * ) induit le risque qu'une majorité organisée oriente la validation des blocs. La confiance des utilisateurs dans le système étant en théorie un objectif partagé par les mineurs, celui-ci est censé suffire à garantir le respect des règles, dans une logique de « main invisible » protégeant les intérêts privés.
Il faut cependant souligner que quatre pools dont trois chinois, appuyés sur des « fermes de minage », assurent aujourd'hui plus de 60 % de la puissance de calcul nécessaire à la blockchain du bitcoin et pourraient utiliser cette position dominante contre l'intérêt des autres utilisateurs. Selon Nicolas Courtois, il serait possible qu'ils le fassent de manière discrète.
Les « pools » de mineurs du bitcoin
Source : Blockchain.info (avril 2018)
La concentration et l'augmentation exponentielle des puissances de minage sont deux défauts souvent reprochés à la preuve de travail, c'est pourquoi beaucoup d'espoirs reposent sur le développement de blockchains utilisant d'autres méthodes de consensus.
* 21 L'appartenance à un pool assure des revenus plus constants aux mineurs. Il existe trois pools d'envergure réduite en France : Big Block Data, Wizard Mining et Just Mining.