Intermédiaire
Cours 6
7 min

Algorithmes de consensus : la proof-of-work

Dans le cours 8 de la section Débutant, vous avez pu apprendre les bases du mining de Bitcoin. Nous allons maintenant voir pourquoi le réseau Bitcoin est dépendant d’un ensemble de règles que l’on appelle algorithme de consensus proof-of-work.

  • La proof-of-work est l'algorithme de consensus de la blockchain Bitcoin ;
  • Plus simplement, un algorithme de consensus est, en informatique, un procédé visant à obtenir un accord commun sur les données entre les processus et les systèmes distribués ;
  • La proof-of-work élimine la nécessité de faire confiance à une banque ou de faire appel à un tiers lors du traitement d’une transaction.

Dans ce cours, vous allez découvrir l’algorithme de consensus proof-of-work.

Qu’est-ce que l’algorithme de consensus proof-of-work ?

La proof-of-work est l’algorithme de consensus de la blockchain Bitcoin. On l’appelle « proof-of-work », car elle nécessite un certain travail, généralement du traitement de données, de la part des nodes (mineurs) du réseau Bitcoin.

En résumé, un algorithme de consensus est un ensemble de règles qui régit un réseau blockchain. Il s’agit d’un accord sur les règles d’une blockchain spécifique et la manière dont les utilisateurs peuvent participer au réseau.

Qu’est-ce qu’un mineur ?

En mettant de côté pour le moment les mining pools, que vous avez découverts dans le cours 16 de la section Débutant, il s’agit d’un groupe particulier d’utilisateurs de Bitcoin appelés « mineurs » qui effectue la validation des transactions sur la blockchain. Les mineurs ont téléchargé toute la blockchain Bitcoin et ont décidé de l'exécuter sur de puissants ordinateurs. 

Ces utilisateurs (nodes) du réseau Bitcoin sont appelés « mineurs », car ils vérifient et prouvent l’exactitude d’une transaction grâce à un processus appelé « mining », similaire au calcul d’un problème mathématique complexe. Tout au long de ce processus, l’honnêteté est récompensée : les mineurs sont encouragés à adopter des pratiques profitant à tous les membres de la communauté Bitcoin.

Une fois qu’une demande d’enregistrement et d'exécution d’une transaction est diffusée dans la blockchain, les transactions offrant les frais les plus élevés sont généralement sélectionnées pour être intégrées dans le prochain bloc de la blockchain.

La difficulté de l’algorithme Bitcoin, étant un paramètre de base pour valider un bloc dans la blockchain, est nécessaire afin de parvenir à un consensus. La « difficulté » est modifiée régulièrement par le réseau Bitcoin en fonction de la puissance de calcul des mineurs. La difficulté peut être diminuée ou augmentée pour maintenir une vitesse constante à laquelle de nouveaux blocs sont ajoutés.

Un nombre arbitraire appelé « nonce » (de l’anglais « Number Only Used Once ») est ajouté au bloc à des fins de cryptographie. Les mineurs modifient le nonce jusqu’à trouver une valeur donnant au hash du bloc le niveau de difficulté requis. Une fois que ce critère est rempli, le bloc ne peut pas être modifié sans avoir à refaire tout le travail.

Un nombre arbitraire appelé « nonce » (de l’anglais « Number Only Used Once ») est ajouté au bloc à des fins de cryptographie.


Le node « hache » ensuite l’ensemble de données sélectionné. Le verbe « to hash » provient du mot « hacher » qui signifie « couper en petits morceaux avec un instrument tranchant ».

Pendant le « hashage », un algorithme que l’on appelle « fonction de hachage » est utilisé pour attribuer à une valeur (l’ensemble de données sélectionnées) une taille fixe de sortie, la valeur de hachage, masquant ainsi la valeur d’origine.

Une fonction de hachage ne peut pas être soumise à la rétro-ingénierie. En d’autres termes, la valeur de hachage ne peut pas être utilisée pour trouver les données d’origines. Ainsi, la valeur de hachage est une « empreinte » permettant une authentification complète et garantissant que le contenu transmis n’a pas été altéré. Chaque valeur de hachage contient les informations de toutes les transactions précédentes du réseau. 

 La « difficulté » est modifiée régulièrement par le réseau Bitcoin en fonction de la puissance de calcul des mineurs.

 Le hash nouvellement généré est vérifié par rapport à la difficulté actuelle. Une valeur de hachage doit toujours contenir un certain nombre de bits zéro. Si le hash remplit les critères de difficulté, il est diffusé aux autres mineurs du réseau. Si ce n’est pas le cas, un autre nonce est sélectionné et hashé. Les mineurs génèrent beaucoup de hashes avec différents nonces jusqu’à en trouver un qui remplisse les critères. Ce processus répétitif est appelé « mining » et vous savez maintenant pourquoi il nécessite autant d’énergie.

Le premier mineur à avoir trouvé un hash valide est donc le seul à pouvoir ratifier le bloc dans un nouveau bloc et à obtenir une récompense de bloc en bitcoins. À l’heure actuelle, la récompense de bloc Bitcoin est de 12,5 BTC et un nouveau bloc est miné environ toutes les dix minutes.

À chaque fois qu’un nouveau bloc apparaît, c’est une nouvelle chance pour un autre mineur d’être récompensé. C’est pour cette raison que la vérification des transactions sur la blockchain Bitcoin est similaire à une perpétuelle ruée vers l’or, avec des milliers de mineurs du monde entier minant simultanément pour être le premier à découvrir un bloc.  

 

Consensus dans la blockchain

La plus longue version de la blockchain Bitcoin est toujours reconnue comme la véritable blockchain Bitcoin. Un différend sur les règles de traitement et de validation des transactions parmi la majorité des mineurs du réseau peut amener à un « fork », c’est-à-dire à une nouvelle blockchain indépendante.

Malgré tout, la plupart du temps les mineurs n’ont pas vraiment de raison d’enfreindre les règles étant donné le coût élevé en temps et en argent du mining en continu.

Le réseau Bitcoin, et par extension l’algorithme de consensus proof-of-work, a éliminé la nécessité pour les utilisateurs de placer leur confiance dans une banque traditionnelle. Plutôt que d’enregistrer les transactions dans un lieu centralisé, tel qu’une banque, les transactions ont lieu à la vue de tous, sur un réseau public. Une fois achevée, une transaction ne peut pas être inversée ou modifiée.

N’importe quel échange de bitcoins, peu importe la quantité, est considéré comme une transaction que le réseau doit enregistrer.  

Les inconvénients de la proof-of-work

En tant que processus, la proof-of-work est traditionnellement lente en matière de vitesse de traitement des transactions. La moyenne relevée des transactions Bitcoin est de sept par seconde, ce qui est faible en comparaison au réseau VISA qui est estimé à 1 700.

De plus, de grandes quantités d’énergie sont nécessaires au processus de mining de la blockchain Bitcoin. En Allemagne, par exemple, le mining d’un (1) bitcoin coûtait plus de 12 000 euros en moyenne en 2018. C’est pour cette raison que les mineurs essaient de mettre toutes les chances de leur côté en rejoignant des mining pools. Compte tenu de la concentration des ressources nécessaires à ce processus, les services de cloud mining sont, dans certains cas, la seule opportunité pour l’utilisateur moyen de participer.

Un autre inconvénient du processus proof-of-work est que de plus grands mining pools ont plus de puissance de calcul à leur disposition et donc plus de chances de miner des blocs valides, désavantageant ainsi les mineurs individuels.

Les protocoles tels que Lightning Network ont pour objectif d’améliorer la vitesse et la scalabilité du réseau Bitcoin. Le Lightning Network, implémenté pour le moment de façon sommaire, est un protocole de seconde couche, au-dessus du réseau Bitcoin, dont l'objectif est d’ôter la pression exercée par le grand nombre de transactions de la blockchain Bitcoin centrale.

Les protocoles tels que Lightning Network ont pour objectif d’améliorer la vitesse et la scalabilité du réseau Bitcoin.

 En permettant la mise en place de canaux de paiement entre deux partis sur une couche séparée et pour un temps indéfini, Lightning Network habilitera peut-être un jour les utilisateurs à payer leur café en bitcoins. De leur côté, de nombreuses entreprises travaillent au développement de matériel informatique fonctionnant grâce à différentes sources d’énergies renouvelables plutôt qu’à l'électricité traditionnelle.

Les avantages de la proof-of-work

D’autres dispositifs et algorithmes peuvent être supérieurs à la proof-of-work, mais cette dernière est la plus réputée et éprouvée contre les attaques depuis l’émergence relativement récente de Bitcoin et des technologies blockchain. Son coût élevé est également un facteur renforçant le consensus et dissuadant les participants du réseau de dédier leurs ressources à des blockchains alternatives. Il y a donc de fortes chances pour que l’algorithme proof-of-work soit continuellement amélioré par les développeurs pour remédier à ses lacunes.

Envie d’acheter des cryptomonnaies ?

Lancez-vous

DISCLAIMER

Cet article ne constitue en aucun cas un conseil en investissement ni une offre ou une invitation à acheter des actifs financiers numériques.

Le présent article est fourni à titre d'information générale uniquement et aucune déclaration ou garantie, expresse ou implicite, n'est faite et aucune fiabilité ne doit être accordée quant à l'équité, l'exactitude, l'exhaustivité ou la justesse de cet article ou des opinions qui y sont contenues.

Certaines déclarations contenues dans cet article peuvent concerner des attentes futures fondées sur nos opinions et hypothèses actuelles et comportent des incertitudes susceptibles d'entraîner des résultats, performances ou événements réels différents de ces déclarations. 

Ni Bitpanda GmbH, ni aucune de ses filiales, conseillers ou représentants ne peuvent être tenus responsables de quelque manière que ce soit en relation avec cet article. 

Veuillez noter qu'un investissement dans des actifs financiers numériques comporte des risques en plus des opportunités décrites ci-dessus.