La preuve de travail ou preuve de travail, est le protocole de consensus le plus connu et le plus ancien qui consiste en les parties d'un réseau réalisant avec succès un travail coûteux en calcul pour accéder aux ressources dudit réseau.
Eprotocole l Preuve de travail, sert à éviter certains comportements indésirables dans un réseau et son nom vient de l'anglais Preuve de travail (PoW).
Ce protocole fonctionne sous le concept d'exiger un travail du client, qui est ensuite vérifié par le réseau. Normalement, le travail demandé consiste à effectuer des opérations de calcul complexes.
Ces opérations sont ensuite vérifiées par le réseau. Une fois qu'ils sont approuvés, le client est autorisé à utiliser ses ressources. Avec cela, il cherche empêcher les clients malveillants de consommer toutes les ressources de manière incontrôlée. Une situation qui peut finir par refuser le service fourni au reste des clients du réseau.
Un exemple très simple à comprendre est le célèbre captcha qui est mis lorsque vous souhaitez vous inscrire sur un site Web. Le web pose ce défi que le visiteur doit résoudre. Si vous le faites, vous aurez accès au service. De cette façon, un attaquant est empêché de créer des millions d'enregistrements et de réduire la page Web. Cependant, le défi de la communication entre ordinateurs ne peut pas être aussi complexe. Il doit être soluble, bien qu'avec une complexité relative.
La principale caractéristique de cette stratégie est son asymétrie. Le travail client est modérément difficile à effectuer, mais la vérification du réseau est simple. Cela signifie que la preuve de travail prend beaucoup de temps à produire et est coûteuse en calcul. Mais le vérifier est simple, car le test conçoit des modèles qui facilitent la vérification.
C'est précisément cette caractéristique qui a retenu l'attention de Satoshi Nakamoto lors de la conception de Bitcoin. C'est pourquoi le système a été mis en place. HashCash (un système PoW) dans sa renommée criptomoneda.
Algorithmes PoW - Un peu d'histoire
En 1992, la pénétration de Internet c'était assez important. Avec son arrivée, l'utilisation des e-mails a commencé à se répandre. Mais cette situation positive a entraîné de nouveaux problèmes. Les systèmes de messagerie ont subi des attaques récurrentes de le spam. Ces attaques ont généralement désactivé les serveurs et laissé de nombreuses personnes sans services. Il fallait trouver une solution à ce problème.
En 1993, les universitaires Cynthia dwork y Moni naorIls ont reconnu le problème et ont essayé de le résoudre. C'est ainsi que l'essai est né « Tarification en traitant ou en combattant le spam ». Dans lequel ils ont présenté des moyens d'empêcher les spammeurs d'envoyer des messages de masse.
L'idée présentée était d'inclure un coût de calcul pour pouvoir utiliser les services de messagerie. Pour cela, Dwork et Naor ont conçu une série de tests qui ont nécessité un travail de calcul.. Entre elles; calcul de certaines racines carrées ou utilisation intensive de fonctions hachage. Une fois ce travail effectué, l'utilisateur devait ajouter les informations à l'email à vérifier. S'il était correct, l'e-mail a été envoyé, sinon, l'e-mail a été rejeté. Ce système simple a dissuadé les spammeurs de poursuivre leurs attaques.
Cependant, il faudra encore un certain temps avant que le système puisse être pleinement mis en œuvre.
La création de HashCash
Plus tard en 1997, le protocole est apparu HashCash créé par le cryptonarchiste Adam Back. Comme dans l'essai précédent, le terme "Preuve de travail" il n'a jamais été utilisé dans la publicité HashCash. Mais Back a utilisé un terme très important dans la technologie blockchain, celui de "Double protection des dépenses », Qui David Chaum il avait déjà progressé dans ses emplois précédents.
Avec HashCash, Back voulait réduire les soumissions massives de spam. L'idée était d'imposer un coût non monétaire pour l'envoi de chaque courrier. Un coût qui serait associé au calcul des problèmes à l'aide de l'ordinateur. Le principe est simple: le problème a été calculé, joint aux informations du courrier et envoyé. Le serveur a reçu le courrier, vérifié les informations et les a acceptées ou rejetées s'il réussissait le test.
Mais le coût de calcul avait aussi un coût réel. Le coût de l'électricité causé par le calcul intensif était d'un cent de dollar pour chaque courrier envoyé. Celui qui envoie quelques e-mails par jour ne remarquerait rien, mais un spammeur le ferait. L'envoi de millions de courrier augmenterait considérablement la facture d'électricité de cette personne. De cette façon, les spammeurs sont découragés de mener à bien leur activité malveillante.
La naissance du terme preuve de travail
C'était finalement en 1999, quand Markus Jacobson y Ari juels ils ont écrit un document intitulé "Protocoles de preuve de travail et de pouding au pain". Et ainsi le terme a été inventé "Epreuve de travail". Jakobsson et Juels déclarent qu'un système de preuve de travail est:
Il s'agit d'un protocole dans lequel un bon démontre à un vérificateur qu'il a dépensé un certain niveau d'effort de calcul dans un intervalle de temps spécifique. Bien qu'elle ne soit pas définie comme telle ou formellement adressée, la preuve de travail a été proposée comme mécanisme pour divers objectifs de sécurité, notamment la mesure de l'accès au serveur, la construction de capsules temporelles numériques et la protection contre l'envoi de courrier. spam et autres attaques par déni de service.
Markus Jakobsson et Ari Juels
Preuve de travail et protocoles de pouding au pain (1999) - Page 2
En outre, ce travail approfondit la capacité des épreuves de travail de ajouter des couches de sécurité. Qui servent à garantir des services critiques où la sécurité est très importante.
La preuve de travail arrive à Bitcoin
Satoshi Nakamoto a publié le document technique de Bitcoin le 31 octobre 2008. Dans ce document, Nakamoto était clair que la preuve de travail était un élément clé du protocole Bitcoin. Dans le résumé du livre blanc de Bitcoin Nous pouvons lire ce qui suit:
Nous proposons une solution au problème de la double dépense en utilisant un réseau peer-to-peer. Le réseau échelonne les transactions en les regroupant dans une chaîne de preuve de travail basée sur le hachage, formant un enregistrement qui ne peut pas être modifié sans refaire la preuve de travail.
Satoshi NakamotoBitcoin: un système de trésorerie électronique de pair à pair (2008) – Résumé
De cette façon, Nakamoto a utilisé le travail d'Adam Back, puisque Bitcoin utilise le protocole HashCash. Avec cela, il a fini par révolutionner le monde, présentant une technologie totalement innovante, la blockchain. Cette technologie lui a permis de créer sa célèbre crypto-monnaie, et elle a évolué jusqu'à ce jour.
En utilisant le protocole de preuve de travail, chaque nouveau bloc créé doit résoudre un casse-tête mathématique qui ne peut être résolu que par essais et erreurs. Ces énigmes sont résolues par les mineurs, faisant des millions de tentatives. La résolution du puzzle entraînera la création du bloc, la confirmation des transactions impliquées dans ce bloc et la génération de nouveaux bitcoins que le mineur recevra en récompense ainsi que les commissions implicites dans chacune des transactions.
Le problème mathématique consiste à trouver les paramètres qui donnent un certain résultat.. La particularité de ce résultat est qu'il s'agit d'un hachage, il est donc impossible d'obtenir les paramètres initiaux à partir du hachage, ils ne peuvent être générés que par essais et erreurs.
Comment fonctionne le protocole PoW?
La preuve de travail fonctionne très simplement. En fait, le processus réalisé peut être divisé en les grandes étapes suivantes:
- Étape 1: Le client ou nœud établit une connexion au réseau. À ce stade, le réseau vous attribue une tâche coûteuse en calcul. Cette tâche doit être résolue afin de recevoir une incitation financière.
- Étape 2: La résolution de casse-tête commence. Cela implique l'utilisation d'une grande puissance de calcul pour résoudre le puzzle livré. Ce processus est ce qu'on appelle minage.
- Étape 3: Une fois la tâche de calcul résolue, le client la partage avec le réseau pour vérification. À ce stade, il est rapidement vérifié que la tâche répond aux exigences requises. Cela permet d'accéder aux ressources du réseau. Sinon, l'accès et la solution présentés au problème sont rejetés. C'est à ce stade que les contrôles de protection contre les doubles dépenses sont effectués. Une protection qui empêche qu'une tâche déjà affectée et vérifiée par le réseau ne soit présentée plus d'une fois.
- Étape 4: Avec la confirmation que la tâche est terminée, le client accède aux ressources réseau. Grâce à cela, vous recevez un bénéfice pour le travail de calcul effectué.
Ce sont ces quatre étapes qui permettent et modélisent le fonctionnement du Proof of Work. La facilité de ce modèle permet de le transférer vers différents logiciels pour profiter de son potentiel. Mais c'est dans les blockchains que l'on observe une plus grande utilité, offrant des niveaux de sécurité exceptionnels malgré la faible complexité du protocole. Et en même temps, permettant à des millions de personnes de participer simultanément au réseau.
Fonctionnalités du protocole PoW
- C'est un protocole très sécurisé. La preuve de travail garantit des niveaux de sécurité élevés, si le réseau se compose de milliers de mineurs. En fait, plus il y a de mineurs, plus le réseau est sécurisé. Cela le rend idéal pour la création d'énormes réseaux distribués.
- Il est simple et très facile à mettre en œuvre de manière algorithmique. L'un des principaux avantages de PoW est qu'il est très facile à mettre en œuvre. Cette facilité se traduit par une maintenance aisée du logiciel qui l'utilise. En plus de permettre des audits de manière beaucoup plus simple afin de maintenir la sécurité du réseau.
- Facilement adaptable aux besoins matériels, être capable de concevoir la résistance à certains équipements (ASIC, GPU, FPGA, Processeur). Un autre avantage du protocole est son adaptabilité à la technologie. Elle peut être rendue plus facile ou plus difficile, afin de l'adapter aux avancées technologiques. Permettre à l'évolution du matériel de ne pas laisser derrière lui la difficulté du minage. Ce qui finit donc par centraliser la puissance minière chez ceux qui disposent d'un matériel plus récent et plus puissant.
- Excellente résistance à Attaques par déni de service. La principale raison de la création de protocoles PoW était; éviter le déni de services. Une tâche qu'ils remplissent parfaitement et que les schémas de protocole actuels se sont grandement améliorés.
- Le système consomme une grande quantité d'énergie électrique. Le travail intensif en calcul de PoW nécessite de grandes quantités d'énergie électrique. Les estimations placent la consommation à 24 térawatts d'énergie par an et continueront d'augmenter à mesure que davantage d'énergie sera nécessaire pour effectuer ce travail intensif.
En outre, vous pouvez examiner plus de fonctionnalités de ce protocole et examiner les similitudes et les différences qu'il présente par rapport au protocole Proof of Stake dans le Comparaison PoW PoS que vous trouverez dans cet article complet.