Points clés à retenir

  • La preuve de travail (PoW) est un mécanisme de consensus créé pour empêcher les doubles dépenses dans les systèmes de paiement numériques.

  • La PoW est un élément clé du processus de minage, qui implique l’ajout de nouveaux blocs de transactions à la blockchain et la création de nouvelles unités de cryptomonnaie.

  • Le Bitcoin et de nombreuses autres cryptomonnaies utilisent la PoW comme méthode de sécurisation de leur réseau et de leurs données blockchain.

Introduction

En bref, la preuve de travail (PoW) est un mécanisme créé pour empêcher les doubles dépenses dans les systèmes de paiement numériques. Le Bitcoin et de nombreuses autres cryptomonnaies utilisent la PoW comme méthode de sécurisation de leur réseau et de leurs données blockchain. Ces mécanismes sont souvent appelés algorithmes de consensus ou mécanismes de consensus, car ils impliquent que plusieurs parties parviennent à un consensus sans qu’il soit nécessaire de se faire confiance.

La preuve de travail a été le premier algorithme de consensus à voir le jour, et il reste l’un des plus importants avec la preuve d’enjeu (PoS). Il a été introduit par Satoshi Nakamoto dans le whitepaper (livre blanc) de Bitcoin en 2008, mais sa technologie a été conçue bien avant.

Le HashCash d’Adam Black est un exemple d’algorithme de preuve de travail datant d’avant la création des cryptomonnaies. En demandant aux expéditeurs de réaliser un petit calcul informatique avant d’envoyer un e-mail, il serait facile de réduire le spam. Ce calcul ne coûterait pratiquement rien à un expéditeur légitime, contrairement à une personne envoyant des e-mails en masse.

Qu’est-ce que la double dépense ?

La double dépense se produit lorsque des fonds sont dépensés plusieurs fois. Ce terme est presque exclusivement utilisé dans le contexte des monnaies numériques. Il est en effet difficile de dépenser deux fois des pièces ou des billets. 

Lorsque vous payez un café, vous remettez de l’argent liquide au caissier qui sera ensuite verrouillé dans sa caisse. Vous ne pouvez pas vous rendre à un autre café et payer avec le même argent. Cependant, dans les systèmes de trésorerie numérique, une telle possibilité existe. 

Vous avez sûrement déjà dupliqué un fichier informatique en utilisant les commandes copier-coller. Il est également facile pour vous d’envoyer le même fichier par e-mail à des dizaines de personnes. Les monnaies numériques n’étant au final que des données, il est nécessaire d’empêcher les gens de pouvoir copier et dépenser les mêmes unités à différents endroits. Un système de paiement numérique qui ne parvient pas à empêcher les doubles dépenses s’effondrera en un rien de temps.

Pour en savoir plus sur la double dépense, n’hésitez pas à lire l’article La double dépense expliquée.

Pourquoi la preuve de travail est-elle nécessaire ?

Si vous avez lu notre article sur la technologie blockchain, vous savez que les utilisateurs de cryptomonnaies diffusent constamment des transactions sur le réseau. Ces transactions ne sont pas immédiatement considérées comme valides. Elles ne le deviennent que lorsqu’elles sont confirmées et ajoutées à la blockchain.

La blockchain Bitcoin, par exemple, fonctionne comme une base de données de transactions publique (registre) que chaque utilisateur peut voir. Imaginez : vos trois amis et vous avez un bloc-notes pour suivre vos transactions en Bitcoin. Chaque fois que l’un d’entre vous veut faire un transfert de valeur, vous l’écrivez :

Alice paie 5 BTC à Bob ; Bob paie 2 BTC à Carol, etc.

Chaque fois que vous effectuez une transaction, vous vous référez à la transaction d’où proviennent les fonds. Donc, si Bob payait Carol avec 2 BTC, l’entrée ressemblerait en fait à ce qui suit : 

Bob paie 2 BTC à Carol provenant de cette transaction antérieure avec Alice.

Nous avons maintenant un moyen de suivre les unités de BTC. Si Bob essaie d’effectuer une transaction avec les mêmes 2 BTC qu’il vient d’envoyer à Carol, tout le monde le saura. Le groupe n’autorisera pas l’ajout de la transaction au bloc-notes car ces 2 BTC ont déjà été dépensés.

Cela pourrait surement fonctionner dans un petit groupe. Tout le monde se connait et se mettra probablement d’accord sur les amis devant ajouter des transactions au carnet de notes. Mais que se passe-t-il avec un groupe, cette fois-ci, de 10 000 personnes ? Le bloc-notes n’est pas adapté, personne ne voulant faire confiance à un étranger pour le gérer.

C’est là que la preuve de travail intervient. Cette dernière garantit que les utilisateurs ne dépensent pas de l’argent sur lequel ils n’ont aucun droit. En combinant la théorie des jeux avec la cryptographie, l’algorithme de PoW permet à tous de mettre à jour la blockchain, en accord avec les règles du système.

Comment fonctionne la PoW ?

Imaginez que notre bloc-notes de l’exemple ci-dessus soit la blockchain. Néanmoins, au lieu d’ajouter les transactions une par une, nous les regroupons en blocs. Nous annonçons les transactions sur le réseau, puis les utilisateurs créant un bloc les incluront dans un bloc candidat. Les transactions ne seront considérées valides qu’une fois que leur bloc candidat deviendra un bloc confirmé, ce qui signifie qu’il a été ajouté à la blockchain.

Le processus de validation des transactions et d’ajout de nouveaux blocs est appelé minage. C’est cher et difficile, mais cela peut aussi être gratifiant. La récompense de bloc est composée des frais de transaction des utilisateurs et des nouveaux bitcoins créés par le protocole. 

Le mécanisme de preuve de travail exige qu’un mineur (l’utilisateur créant le bloc) investisse des ressources telles que l’électricité et la puissance de calcul afin de hacher les données de son bloc candidat jusqu’à ce qu’une solution à un puzzle soit trouvée.

Hacher les données d’un bloc signifie passer celles-ci dans une fonction de hachage pour générer un hachage de bloc. Ce hachage de bloc est une « empreinte numérique » : elle identifie vos données d’entrée et est propre à chaque bloc.

En d’autres termes, un mineur doit vérifier et collecter les transactions en attente, les organiser dans un bloc candidat et transmettre les données du bloc via une fonction de hachage pour créer un hachage valide. S’ils parviennent à trouver un hachage valide pour leur bloc candidat, ils le diffusent sur le réseau, ajoutent le bloc à la blockchain et collectent les récompenses de minage.

Lorsqu’un mineur diffuse son bloc candidat et son hachage sur le réseau, les autres participants au réseau répètent le processus de hachage pour vérifier que la sortie est effectivement valide. 

Bien qu’il faille d’innombrables tentatives de hachage pour trouver un hachage valide, il est aisé pour quiconque de confirmer que le hachage généré est correct. Il suffit simplement de soumettre la même entrée (données du bloc) via la fonction de hachage et de vérifier si la sortie est la même.

Dans le cas de la preuve de travail vous devez fournir des données dont le hachage correspond à certaines conditions. Mais vous ne savez pas comment y arriver. Votre seule option est donc de passer vos données dans une fonction de hachage et de vérifier si le résultat correspond aux conditions. Si ce n’est pas le cas, vous devrez légèrement modifier vos données pour obtenir un hachage différent. Si vous changez ne serait-ce qu’un seul caractère dans vos données, vous obtiendrez un résultat totalement différent. Il n’y a donc aucun moyen de prédire le résultat.

Ainsi, pour pouvoir créer un bloc, il vous faudra jouer aux devinettes. En général, vous prenez des informations sur toutes les transactions que vous voulez ajouter et d’autres données importantes avant de hacher le tout. Votre ensemble de données ne changeant pas, vous devez ajouter une variable à l’ensemble. Sinon, vous obtiendrez toujours le même hachage en sortie. Cette variable est le nonce. Il s’agit d’un nombre changeant à chaque tentative, afin que vous obteniez un hachage différent à chaque fois.

En résumé, le minage est le processus consistant à rassembler les données de la blockchain et à les hacher avec un nonce jusqu’à ce que vous trouviez un hachage particulier. Si vous trouvez un hachage remplissant les conditions fixées par le protocole, vous obtiendrez le droit de diffuser le nouveau bloc sur le réseau. Les autres participants du réseau mettront à jour leur blockchain pour y inclure le nouveau bloc.

Pour les cryptomonnaies les plus importantes, ces conditions sont extrêmement difficiles à remplir. Plus le taux de hachage est élevé sur un réseau, plus il est difficile de trouver le bon hachage. Cela permet de s’assurer que les blocs ne soient pas trouvés trop rapidement.

Comme vous pouvez l’imaginer, tenter de deviner des quantités massives de hachages est très couteux pour votre ordinateur. En plus d’user votre matériel informatique, vous gaspillez de l’électricité. C’est pour cette raison que le protocole vous récompensera avec des cryptomonnaies si vous trouvez le bon hachage.

Récapitulons ce que nous savons jusqu’à présent :

  • Le minage est difficile et coûteux, mais il assure la sécurité du réseau.

  • Les mineurs qui parviennent à produire un bloc valide sont récompensés par des cryptomonnaies nouvellement émises et des frais de transaction.

  • La génération d’un hachage valide prend du temps, mais d’autres utilisateurs peuvent facilement vérifier sa validité en répétant le processus de hachage.

Jusqu’à présent, tout va bien. Mais que se passe-t-il si vous essayez de tricher ? Qu’est-ce qui vous empêche d’introduire des transactions frauduleuses dans le bloc avant de produire un hachage valide ?

C’est là que la cryptographie à clé publique entre en jeu. Nous n’en parlerons pas en détail ici, mais vous pouvez toujours lire Qu’est-ce que la cryptographie à clé publique ? pour en savoir plus. En bref, il existe des techniques cryptographiques astucieuses qui permettent à tout utilisateur de vérifier si quelqu’un a le droit de déplacer les fonds qu’il tente de dépenser.

Lorsque vous créez une transaction, vous la signez. Quiconque participe au réseau peut comparer votre signature avec votre clé publique pour vérifier si celles-ci correspondent. Ils vérifieront également si vous pouvez réellement dépenser vos fonds, mais également que la somme de vos entrées est supérieure à la somme de vos sorties (c’est-à-dire que vous ne dépensez pas plus que ce que vous avez).

Tout bloc contenant une transaction non valide sera automatiquement rejeté par le réseau. Tricher vous coutera beaucoup d’argent. En plus de gaspillez vos ressources, vous n’obtiendrez aucune récompense.

C’est là que réside la beauté de la preuve de travail : l’honnêteté est plus rentable que la triche. Tout mineur rationnel recherchera un retour sur investissement, de sorte qu’on peut s’attendre à ce qu’il se comporte d’une manière plus susceptible de générer des revenus.

Preuve de travail (PoW) et preuve d’enjeu (PoS)

Il existe de nombreux algorithmes de consensus en plus de la PoW, mais l’un des plus populaires est la preuve d’enjeu (PoS). Ce concept remonte à 2011 et a été mis en oeuvre sur Ethereum et plusieurs autres protocoles.

Dans le cas de la preuve d’enjeu (PoS), les miners sont remplacés par des validateurs. Il n’y a pas de minage et pas de course pour trouver le bon hachage. À la place, les utilisateurs sont sélectionnés au hasard : s’ils sont choisis, ils doivent proposer (ou « forger ») un bloc. Si le bloc est valide, ils recevront des récompenses composées des frais des transactions du bloc.

Tout le monde ne peut pas être sélectionné, le protocole prend en effet en compte certains paramètres pour faire son choix. Pour pouvoir être sélectionnés, les participants doivent verrouiller un stake, un montant prédéterminé de la devise native de la blockchain. Le stake fonctionne comme une caution : tout comme les défendeurs versent une grosse somme d’argent pour les dissuader de se soustraire au procès, les validateurs bloquent un stake pour ne pas tricher. S’ils agissent malhonnêtement, leur stake complet (ou une partie de celui-ci) sera pris.

La preuve d’enjeu (PoS) présente des avantages par rapport à la preuve de travail (PoW). Le plus notable est la réduction de l’empreinte carbone. Comme il n’est pas nécessaire de disposer de fermes de minage de grande puissance pour la PoS, l’électricité consommée ne représente qu’une fraction de celle consommée avec la PoW. 

Cela dit, la PoS n’a pas le même palmarès que la PoW. Bien qu’il puisse être perçu comme un gaspillage, le minage est le seul algorithme de consensus testé depuis plus d’une décennie. Depuis son lancement, la PoW de Bitcoin a sécurisé des transactions d’une valeur de plusieurs milliards de dollars. Pour affirmer avec certitude que la PoS rivalise en matière de sécurité avec la PoW, le staking doit être correctement testé à grande échelle.

Conclusion

Le Proof of Work était la solution originale au problème de double dépense et a depuis prouvé sa fiabilité et sa sécurité. Bitcoin a prouvé que nous n’avions pas besoin d’entités centralisées pour empêcher que des fonds ne soient dépensés plusieurs fois. Grâce à une utilisation intelligente de la cryptographie, des fonctions de hachage et de la théorie des jeux, les participants à un environnement décentralisé peuvent s’accorder sur l’état d’avancement d’une base de données financière.

Pour plus d’informations

Avis de non-responsabilité et avertissement concernant les risques : ce contenu vous est présenté « tel quel » à des fins d’information générale et pédagogiques uniquement, sans représentation ni garantie d’aucune sorte. Il ne doit pas être interprété comme un conseil financier, juridique ou venant d’un professionnel, ni comme un moyen de recommander l’achat d’un produit ou d’un service spécifique. Vous devriez vous renseigner auprès des professionnels appropriés avant toute décision. Lorsque l’article à été rédigé par un contributeur tiers, veuillez remarquer que les opinions de l’article ne reflètent pas nécessairement celles de Binance Academy. Veuillez lire l’intégralité de notre avis de non-responsabilité ici pour en savoir plus. Les cours des actifs numériques peuvent être volatils. La valeur de votre investissement peut varier à la baisse ou à la hausse, et vous ne récupérerez peut-être pas le montant que vous avez investi. Vous êtes seul(e) responsable de vos décisions d’investissement et Binance Academy n’est pas responsable des pertes que vous pourriez subir. Ce contenu ne doit pas être interprété comme un conseil financier, juridique, ou venant d’un professionnel. Pour en savoir plus, veuillez vous reporter à nos Conditions d’utilisation et à l’avertissement concernant les risques.