Qu’est-ce que la preuve de travail (PoW) ?
Accueil
Articles
Qu’est-ce que la preuve de travail (PoW) ?

Qu’est-ce que la preuve de travail (PoW) ?

Intermédiaire
Publié le Dec 6, 2018Mis à jour le Apr 18, 2024
10m

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.