Proof of Work et Proof of Stake c’est quoi ? (PoW et PoS)

La preuve de travail (Proof-of-Work) et la preuve d’enjeu (Proof-of-Stake) sont deux algorithmes de consensus les plus connus dans les crypto-monnaies. Ils offrent des mĂ©canismes de preuve de travail qui diffèrent par leur structure.

Quelle est l’essentiel de la preuve de travail (Proof-of-Work)?

Le Proof-of-Work (PoW – littĂ©ralement : preuve de travail) est un algorithme de protection des systèmes distribuĂ©s contre les abus (attaques DoS, envois de spam, etc.), dont l’essentiel se rĂ©sume Ă  deux principaux points :

La nĂ©cessitĂ© d’effectuer une certaine tâche plutĂ´t complexe et longue ;
la possibilité de vérifier rapidement et facilement le résultat.
Les tâches de PoW ne sont pas Ă  l’origine destinĂ©es aux humains, leur solution par un ordinateur est toujours rĂ©alisable en un temps fini, cependant, elle nĂ©cessite beaucoup de puissance de calcul. En mĂŞme temps, la vĂ©rification de la solution obtenue nĂ©cessite beaucoup moins de ressources et de temps.

Qui a inventé le terme Proof-of-Work ?

Le concept de preuve de travail a Ă©tĂ© dĂ©crit pour la première fois en 1993 dans Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology (par Cynthia Dwork et Moni Naor). Bien que le terme lui-mĂŞme n’ait pas encore Ă©tĂ© utilisĂ© dans l’article, les auteurs ont proposĂ© l’idĂ©e suivante :

« Pour accĂ©der Ă  une ressource partagĂ©e, l’utilisateur doit calculer une fonction : plutĂ´t complexe, mais faisable ; de cette façon, vous pouvez protĂ©ger la ressource contre les abus. “

En 1997, Adam Back a lancĂ© le projet Hashcash, dĂ©diĂ© Ă  la mĂŞme protection anti-spam. La tâche a Ă©tĂ© formulĂ©e comme suit : “Trouvez une valeur x telle que le hachage SHA (x) contiendrait les N bits zĂ©ro les plus significatifs.”

Le système offrait un hachage d’inversion partielle lorsqu’il Ă©tait envoyĂ© par courrier Ă©lectronique. Il faut environ 252 calculs de hachage pour calculer l’en-tĂŞte correspondante, qui doit ĂŞtre recalculĂ© pour chaque soumission. Et si des calculs supplĂ©mentaires ne crĂ©ent pas d’obstacles pour l’envoi de plusieurs lettres ordinaires, la nĂ©cessitĂ© de recalculer constamment rend l’envoi de spam très gourmand en ressources. Dans ce cas, l’exactitude du code calculĂ© est vĂ©rifiĂ©e très rapidement : un seul calcul SHA-1 avec une Ă©tiquette prĂ©alablement prĂ©parĂ©e est utilisĂ©.

En 1999, le terme Proof-of-Work lui-mĂŞme est apparu – il a Ă©tĂ© utilisĂ© dans l’article «Proofs of Work and Bread Pudding Protocols» (auteurs – Markus Jacobsson et Ari Juels) dans la revue Communications and Multimedia Security.

Qu’est-ce que la preuve de travail a avoir avec les crypto-monnaies ?

Dans le rĂ©seau Bitcoin, PoW a Ă©tĂ© utilisĂ© comme moyen pour parvenir Ă  un consensus (un consensus sur la version de la blockchain considĂ©rĂ©e comme correcte). En mĂŞme temps, le crĂ©ateur de la première crypto-monnaie Bitcoin Satoshi Nakamoto s’est inspirĂ© de l’idĂ©e du projet Hashcash susmentionnĂ©, en y ajoutant un mĂ©canisme de complexitĂ© variable – une diminution ou une augmentation de N (le nombre requis de zĂ©ros ), en fonction de la puissance totale des participants au rĂ©seau. La fonction calculĂ©e est maintenant SHA-256.

En termes simples, le mĂ©canisme PoW permet Ă  un nĹ“ud de rĂ©seau (nĹ“ud) de vĂ©rifier que le mineur (qui est le nĹ“ud ajoutant un nouveau bloc Ă  la blockchain) a effectivement effectuĂ© les calculs. Ce processus comprend une tentative pour trouver un hachage d’en-tĂŞte de bloc (la partie de la blockchain qui contient un lien vers le bloc prĂ©cĂ©dent et la valeur additionnĂ©e des transactions qu’il contient), qui correspondra en valeurs au niveau de complexitĂ© actuel.

La complexitĂ© du calcul est-elle « difficile Â» ?

Ces calculs ne peuvent se faire que de manière interactive, et la complexitĂ© est rĂ©glĂ©e au point oĂą cela s’avère vraiment difficile. En mĂŞme temps, la vĂ©rification des rĂ©sultats des calculs reste simple. Les nĹ“uds peuvent toujours s’assurer que le mineur a trouvĂ© la valeur correcte, cependant, Ă©tant donnĂ© que le processus de recherche d’un bloc est très laborieux et alĂ©atoire, il est impossible de prĂ©dire avec prĂ©cision quel mineur rĂ©soudra le problème et trouvera ce bloc.

Pour que le système reconnaisse un bloc comme valide, sa valeur de hachage doit ĂŞtre infĂ©rieure Ă  la cible actuelle. Ainsi, chaque bloc montre qu’un certain travail a Ă©tĂ© fait.

Chaque bloc contient le hachage du bloc prĂ©cĂ©dent, formant une chaĂ®ne. Il est impossible de changer de bloc – il est uniquement possible de crĂ©er un bloc Ă  la mĂŞme hauteur, qui contiendra le hachage du bloc prĂ©cĂ©dent. Pour mener Ă  bien un tel processus, il est nĂ©cessaire de faire le travail pour retrouver tous les blocs prĂ©cĂ©dents. La grande complexitĂ© de ce processus protège la blockchain des accès non autorisĂ©s et des doubles dĂ©penses.

Comment le Proof-of-Work a-t-il affecté le minage ?

Proof-of-Work de Bitcoin a engendrĂ© toute une industrie minière et est devenue l’impulsion pour le dĂ©veloppement de matĂ©riel spĂ©cialisĂ©, car les ressources informatiques consacrĂ©es aux blocs de hachage sont Ă©normes et dĂ©passent de loin la capacitĂ© des plus gros supercalculateurs.

En mĂŞme temps, ce n’Ă©tait pas sans le fameux « revers de la mĂ©daille » : le PoW s’est rapidement transformĂ© en un monstre dĂ©vorant l’Ă©lectricitĂ© dans la course Ă  la rentabilitĂ© de l’exploitation minière. En 2012, la capacitĂ© totale du rĂ©seau Bitcoin dĂ©passait dĂ©jĂ  les performances du supercalculateur le plus puissant au monde, et la première alternative, le Proof-of-Stake, commençait Ă  apparaitre.

Qu’est-ce qu’un Proof-of-Stake ?

Un mĂ©canisme de consensus alternatif, mis en Ĺ“uvre pour la première fois en 2012 dans la crypto-monnaie PPCoin (maintenant connue sous le nom de PeerCoin). L’idĂ©e Ă©tait d’utiliser l’enjeu comme une ressource qui dĂ©termine quel nĹ“ud a le droit d’exploiter le prochain bloc.

Dans l’approche Proof-of-Stake, les nĹ“uds tentent Ă©galement de hacher les donnĂ©es Ă  la recherche d’un rĂ©sultat infĂ©rieur Ă  une certaine valeur, mais la complexitĂ© dans ce cas est rĂ©partie proportionnellement et conformĂ©ment Ă  l’Ă©quilibre du nĹ“ud donnĂ©. En d’autres termes, selon le nombre de pièces (tokens) dans le compte de l’utilisateur.

Ainsi, un nĹ“ud avec un solde important a plus de chances de gĂ©nĂ©rer le prochain bloc. Le schĂ©ma semble assez attrayant, principalement en raison des faibles besoins en ressources de calcul, et aussi parce qu’il n’est pas question de capacitĂ© “gaspillĂ©e”.

Quels sont les avantages et les inconvénients du Proof-of-Stake ?

En règle gĂ©nĂ©rale, les arguments suivants sont avancĂ©s en faveur de l’utilisation du PoS :

Avantages :

  • L’attaque nĂ©cessite des fonds importants, ce qui la rend inattaquable d’un point de vue financier.
  • En mĂŞme temps, si un attaquant dispose d’un grand nombre de jetons, il subira lui-mĂŞme l’attaque, car cela perturbera la stabilitĂ© de la crypto-monnaie.

Inconvénients :

  • Le PoS fournit une motivation supplĂ©mentaire pour accumuler des fonds, ce qui peut affecter nĂ©gativement la dĂ©centralisation du rĂ©seau.
  • Si un petit groupe est formĂ© et collecte des fonds suffisamment importants, il pourra imposer ses propres règles du rĂ©seau au reste des participants.

De plus, le problème de Nothing-at-Stake peut ĂŞtre notĂ©, ce qui rend les systèmes PoS intrinsèquement instables aux yeux de nombreux passionnĂ©s de crypto-monnaie. Un attaquant peut tenter de forker la blockchain, c’est-Ă -dire de crĂ©er une chaĂ®ne alternative plus longue en dĂ©pensant des ressources « inexistantes Â». De plus, il peut ĂŞtre pris en charge par d’autres mineurs, car ils ne consomment pas non plus de ressources “authentiques”. Grâce Ă  un fork, un attaquant peut rejeter certaines transactions et mener une attaque Ă  double dĂ©pense.

Proof-of-Work vs Proof-of-Stake

Les différences entre les partisans du Pow et du PoS durent depuis longtemps, mais la nature de ces différents est plus théorique. La pratique montre que le rôle du développeur en matière de sécurité est encore très important.

En mĂŞme temps, beaucoup considèrent que la solution la plus sĂ©curisĂ©e est une version hybride des systèmes PoS et PoW. Cette approche est dĂ©jĂ  activement pratiquĂ©e – de nombreuses crypto-monnaies ont une Ă©tape PoW, lorsque la monnaie est Ă©mise via le minage classique, et une Ă©tape PoS, qui se produit après l’achèvement de l’Ă©mission.

Cependant, alors que les systèmes PoS seront toujours plus faciles à mettre en œuvre et généralement tout aussi robustes en termes de sécurité, la plupart des crypto-monnaies sérieuses resteront probablement avec PoW.

Quels autres mécanismes de preuve existe-t-il dans les crypto-monnaies ?

Proof-of-Work et Proof-of-Stake peuvent ĂŞtre considĂ©rĂ©s comme les deux algorithmes de consensus les plus populaires dans le monde des crypto-monnaies, mais en plus d’eux, il existe un certain nombre de mĂ©canismes qui ont leurs propres subtilitĂ©s et particularitĂ©s.

Leur liste peut être assez longue, nous énumérons donc quelques-uns des plus célèbres :

  • Preuve d’activitĂ© (Proof of Activity) – un schĂ©ma hybride standard qui combine PoW et PoS.
  • La preuve de participation dĂ©lĂ©guĂ©e (Delegated Proof of Stake) est un terme gĂ©nĂ©rique dĂ©crivant l’Ă©volution des protocoles de consensus de base de preuve de participation. DPoS est utilisĂ© par BitShares, EOS et Tezos.
  • Preuve de gravure (Proof of Burn) – la “brĂ»lure” se produit en envoyant des pièces Ă  une adresse Ă  partir de laquelle il est garanti qu’elles ne peuvent pas ĂŞtre dĂ©pensĂ©es. En se dĂ©barrassant de ses pièces, l’utilisateur obtient le droit au minage Ă  vie, qui est Ă©galement organisĂ© comme une loterie entre tous les propriĂ©taires de pièces brĂ»lĂ©es.
  • Preuve de capacitĂ© (Proof of Capacity) – Mise en Ĺ“uvre de l’idĂ©e populaire de « mĂ©gaoctets en tant que ressources Â». Il est nĂ©cessaire d’allouer une quantitĂ© importante d’espace disque pour s’impliquer dans le minage.
  • Preuve de stockage (Proof of Storage) – similaire au concept prĂ©cĂ©dent, dans lequel l’espace allouĂ© est utilisĂ© par tous les participants comme stockage “cloud” partagĂ©.
Cryptomonde