Proof of work explication
Débuter

Proof of Work, la preuve de Travail

Le proof-of-work (PoW) ou preuve de travail est la validation d’une transaction sur la blochchain par la résolution  de la fonction de hashage HSA256 en utilisant la puissance de calculs d’un GPU.

Les origines de la preuve de travail

Le concept de preuve de travail a été décrit pour la première fois par Cynthia Dwork and Moni Naor en 1992, au sein d’un article intitulé Pricing via Processing or Combatting Junk Mail. Cet article présente comment il est possible d’utiliser le procédé pour combattre le courrier indésirable (spam) dans les boîtes e-mail. En 1997, Adam Back a implémenté l’idée avec Hashcash, un algorithme permettant de produire de manière simple des preuves de travail grâce à une fonction de hachage, et dont l’utilisation principale était le courrier électronique.

Plusieurs applications de la preuve de travail ont été imaginées, en particulier la garantie de l’intégrité d’une unité de compte numérique. Le concept de b-money imaginé en 1998 par Wei Dai théorisait l’usage de cette technique pour maintenir la stabilité de la b-money par rapport à un panier de marchandises. La même année, Nick Szabo conceptualisait l’utilisation du procédé pour assurer la rareté infalsifiable de son bit gold.

Le terme « proof of work » est apparu en 1999 sous la plume de Markus Jakobsson et Ari Juels dans leur article Proofs of Work and Bread Pudding Protocols. Hal Finney a ensuite repris le nom pour son système de preuves de travail réutilisables (reusable proofs of work ou RPOW) mis en application en 2004.

La preuve de travail explication

L'algorithme Hashcash

L’algorithme Hashcash, conçu par Adam Back en 1997, est un procédé simple de preuve de travail, et il s’agit également de celui qui est utilisé dans Bitcoin. C’est pourquoi nous nous attarderons ici sur ce modèle.

Hashcash se base sur ce qu’on appelle une fonction de hachage. Une fonction de hachage est une fonction particulière puisqu’il s’agit d’une fonction à sens unique, théoriquement impossible à inverser, qui prend en entrée un message de taille variable pour le transformer en une empreinte de taille fixe. Il existe une grande quantité de fonctions de hachage mais nous nous concentrerons ici sur la fonction SHA-256 qui est utilisée dans Bitcoin.

La preuve de travail explication

La fonction de hachage

Bitcoin est basé sur la preuve de travail et, comme on l’a dit, utilise l’algorithme Hashcash pour calculer cette proof-of-work. La fonction de hachage utilisée est le double SHA-256 (la fonction SHA-256 appliquée 2 fois de suite).

L’utilisation de la preuve de travail dans Bitcoin possède un rôle double :

  • Exiger un coût pour la fabrication des nouveaux bitcoins. C’est pour cela que, par analogie au minage d’or qui demande de l’énergie pour extraite de nouvelles quantités de minerai, on parle souvent de minage quand on décrit l’activité consistant à calculer la preuve de travail.
  • Faire en sorte que le réseau puisse arriver à un consensus, c’est-à-dire que les nœuds honnêtes puissent se mettre d’accord sur qui possède quoi et quelles transactions sont valides.

Pour cela, Bitcoin met en place ce qu’on appelle une chaîne de blocs au sein de laquelle des blocs de transactions se suivent, et sont ajoutés toutes les 10 minutes en moyenne. Chaque bloc contient l’identifiant du bloc précédent ce qui permet de lier les blocs les uns aux autres. Cependant, tout le monde ne peut pas réaliser cette opération : il est nécessaire que le mineur calcule une preuve de travail qui montrera qu’il a dépensé le montant d’énergie demandé par le protocole.

Unités de taux de hachage :

– 1 kH / s équivaut à 1,000 XNUMX (mille) hachages par seconde
– 1 MH / s équivaut à 1,000,000 1 XNUMX (XNUMX million) de hachages par seconde
– 1 GH / s équivaut à 1,000,000,000 1000 1 XNUMX (XNUMX milliard, XNUMX billion US) de hachages par seconde
– 1 TH / s équivaut à 1,000,000,000,000 1 XNUMX XNUMX XNUMX (XNUMX billion US) de hachages par seconde
– 1 PH / s équivaut à 1,000,000,000,000,000 1 XNUMX XNUMX XNUMX XNUMX (XNUMX quadrillion américain) de hachages par seconde
– 1 EH / s équivaut à 1,000,000,000,000,000,000 1 XNUMX XNUMX XNUMX XNUMX XNUMX (XNUMX quintillion) de hachages par seconde.

Conversions de taux de hachage typiques :
– 1 MH / s = 1,000 XNUMX kH / s;
– 1 GH / s = 1,000 1,000,000 MH / s = XNUMX XNUMX XNUMX kH / s;

La preuve de travail explication

D'où viennent les nouveaux bitcoins ?

Même si la quantité théorique de bitcoins en circulation est limitée à 21 millions, ces 21 millions doivent être créés. Depuis le 3 janvier 2009, il s’en crée de manière décroissante : 50 bitcoins par bloc en 2009, 25 BTC par bloc en 2012, 12,5 bitcoins par bloc en 2016 et 6,25 BTC par bloc depuis mai 2020.

À chaque fois qu’un bloc est ajouté à la chaîne, celui qui l’a validé en calculant la preuve de travail est rémunéré avec ces nouveaux bitcoins : le mineur inclut dans le bloc une transaction de récompense qui permet de récupérer ces nouveaux bitcoins, ainsi que les frais des transactions contenues dans le bloc. Cela permet d’inciter le mineur à fournir de la puissance de calcul afin de sécuriser le système. À long terme, la rémunération devrait de plus en plus reposer sur les frais de transaction.

Enfin, pour éviter que la hausse de la puissance de calcul du réseau accélère la production des nouveaux bitcoins, un algorithme d’ajustement de la difficulté est mis en place dans le protocole. Toutes les deux semaines environ, cet algorithme modifie la difficulté de la PoW à calculer afin que le temps moyen entre chaque bloc soit de 10 minutes. Le minage, chose qu’il était possible de faire avec un simple ordinateur personnel en 2009, n’est aujourd’hui accessible qu’à des mineurs possédant du matériel spécialisé et optimisé (les fameux ASIC).

La preuve de travail explication

Comment le réseau de Bitcoin arrive-t-il à un consensus ?

On l’a dit : Bitcoin se sert de la preuve de travail pour que les nœuds honnêtes du réseau arrivent à un consensus sur le contenu du registre des transactions, c’est-à-dire de la chaîne de blocs. Pour ce faire, un principe simple est utilisé : le principe de la chaîne la plus longue qui stipule que la chaîne possédant le plus de preuve de travail accumulée est la chaîne à considérer comme correcte. Comme l’indique le nom de ce principe, cette chaîne est quasiment toujours la chaîne étant constituée du plus grand nombre de blocs.

De cette manière, lorsqu’un conflit se produit sur le réseau, la situation peut être résolue. Lorsque par exemple deux mineurs trouvent chacun un bloc au même moment, il se produit ce qu’on appelle un fork ou embranchement : les deux chaînes résultantes renferment la même quantité de preuve de travail et sont par conséquent toutes les deux valides, ce qui fait que le réseau ne peut pas se mettre d’accord. Le conflit est résolu au moment où un mineur trouve un nouveau bloc (lié au bloc qu’il a considéré comme valide), ce qui fait qu’une chaîne est plus longue que l’autre.

La preuve de travail explication

Conclusion

La preuve de travail explication
La preuve de travail explication

Avantages du consensus par preuve de travail

Les bénéfices de la preuve de travail sont :

  • Une participation au consensus ouverte : les mineurs commencer à contribuer et arrêter de le faire quand ils le souhaitent.
  • La robustesse du réseau : un mineur n’a pas à connaître tous les autres nœuds du réseau.
  • L’objectivité de la chaîne de blocs : tout le monde peut reconstituer la chaîne à partir du bloc de genèse et constater qu’il s’agit de la bonne.
  • Une meilleure résistance à la censure à long terme due au caractère externe de la preuve : la preuve ne se base pas sur des données internes, ce qui permet d’outrepasser le censeur en déployant plus de matériel de minage.

Inconvénients du consensus par preuve de travail

Les désavantages liés à la preuve de travail sont :

  • Le coût élevé de la sécurisation du système, lié à une consommation d’énergie importante. Cela impose aux mineurs de revendre une partie de leur récompense directement pour payer les frais d’électricité et d’entretien, ce qui fait mécaniquement baisser le cours de la cryptomonnaie.
  • L’impact écologique : cette consommation d’énergie pollue. Ceci est à relativiser : sur Bitcoin par exemple, 75 % de l’énergie du minage provient de l’énergie renouvelable, qui est bien souvent une énergie de récupération.
  • La vulnérabilité aux attaques des 51 % : il est possible pour un acteur seul de réunir plus de la moitié de la puissance de calcul pour effectuer une double dépense lucrative. Cette vulnérabilité est accentuée par le regroupement fréquent des mineurs en coopératives de minage (mining pools). Si Bitcoin est relativement en sécurité, ce n’est pas le cas de certains autres systèmes de cryptomonnaie : ainsi on a pu voir ce type d’attaque être orchestrée sur Ethereum Classic, Bitcoin Gold ou Pegnet.

Votre Avis?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

Comments are closed.

You may also like