Preuve de travail (PoW)
Qu’est-ce qu’une preuve de travail (PoW)?
La preuve de travail (PoW) décrit un système qui nécessite un effort non négligeable mais réalisable afin de dissuader les utilisations frivoles ou malveillantes de la puissance de calcul, telles que l’envoi de spams ou le lancement d’attaques par déni de service. Le concept a ensuite été adapté à la sécurisation de la monnaie numérique par Hal Finney en 2004 grâce à l’idée de «preuve de travail réutilisable» en utilisant l’algorithme de hachage SHA-256.
Après son introduction en 2009, Bitcoin est devenu la première application largement adoptée de l’idée PoW de Finney (Finney était également le destinataire de la première transaction Bitcoin). La preuve de travail constitue également la base de nombreuses autres crypto-monnaies, permettant un consensus sécurisé et décentralisé.
Points clés à retenir
- La preuve de travail (PoW) est un mécanisme de consensus décentralisé qui oblige les membres d’un réseau à consacrer des efforts à résoudre un casse-tête mathématique arbitraire pour empêcher quiconque de jouer avec le système.
- La preuve de travail est largement utilisée dans l’extraction de crypto-monnaie, pour valider les transactions et extraire de nouveaux jetons.
- En raison de la preuve de travail, Bitcoin et d’autres transactions de crypto-monnaie peuvent être traitées d’égal à égal de manière sécurisée sans avoir besoin d’un tiers de confiance.
- La preuve du travail à grande échelle nécessite d’énormes quantités d’énergie, qui ne font qu’augmenter à mesure que de plus en plus de mineurs rejoignent le réseau.
- La preuve d’enjeu (POS) était l’un des nombreux nouveaux mécanismes de consensus créés comme alternative à la preuve de travail.
Comprendre la preuve de travail
Cette explication se concentrera sur la preuve de travail telle qu’elle fonctionne dans le réseau Bitcoin. Le Bitcoin est une monnaie numérique qui s’appuie sur une sorte de grand livre distribué connu sous le nom de « blockchain ». Ce grand livre contient un enregistrement de toutes les transactions Bitcoin, organisées en « blocs » séquentiels, de sorte qu’aucun utilisateur ne soit autorisé à dépenser deux de ses avoirs. Afin d’éviter toute falsification, le registre est public ou «distribué»; une version modifiée serait rapidement rejetée par les autres utilisateurs.
La façon dont les utilisateurs détectent la falsification dans la pratique consiste à utiliser des hachages, de longues chaînes de chiffres qui servent de preuve de travail. Mettez un ensemble de données donné via une fonction de hachage (bitcoin utilise SHA-256), et il ne générera jamais qu’un seul hachage. En raison de l ‘«effet d’avalanche», cependant, même un tout petit changement à une partie des données d’origine entraînera un hachage totalement méconnaissable. Quelle que soit la taille de l’ensemble de données d’origine, le hachage généré par une fonction donnée aura la même longueur. Le hachage est une fonction à sens unique: il ne peut pas être utilisé pour obtenir les données d’origine, uniquement pour vérifier que les données qui ont généré le hachage correspondent aux données d’origine.
Générer n’importe quel hachage pour un ensemble de transactions Bitcoin serait trivial pour un ordinateur moderne, donc afin de transformer le processus en «travail», le réseau Bitcoin définit un certain niveau de «difficulté». Ce paramètre est ajusté pour qu’un nouveau bloc soit « miné » – ajouté à la blockchain en générant un hachage valide – environ toutes les 10 minutes. La difficulté de réglage est accomplie en établissant une « cible » pour le hachage : plus la cible est basse, plus l’ensemble de hachages valides est petit et plus il est difficile d’en générer un. En pratique, cela signifie un hachage qui commence par une très longue chaîne de zéros.
La preuve de travail a été initialement créée comme une solution proposée au problème croissant du courrier indésirable.
Considérations particulières
Puisqu’un ensemble de données donné ne peut générer qu’un seul hachage, comment les mineurs s’assurent-ils qu’ils génèrent un hachage en dessous de la cible? Ils modifient l’entrée en ajoutant un entier, appelé nonce (« nombre utilisé une fois »). Une fois qu’un hachage valide est trouvé, il est diffusé sur le réseau et le bloc est ajouté à la blockchain.
L’exploitation minière est un processus concurrentiel, mais il s’agit plus d’une loterie que d’une course. En moyenne, quelqu’un produira une preuve de travail acceptable toutes les dix minutes, mais qui ce sera est une estimation de n’importe qui. Les mineurs se regroupent pour augmenter leurs chances de miner des blocs, ce qui génère des frais de transaction et, pour une durée limitée, une récompense en bitcoins nouvellement créés.
La preuve de travail rend extrêmement difficile la modification de tout aspect de la blockchain, car une telle modification nécessiterait de ré-extraire tous les blocs suivants. Il est également difficile pour un utilisateur ou un groupe d’utilisateurs de monopoliser la puissance de calcul du réseau, car les machines et la puissance nécessaires pour exécuter les fonctions de hachage sont coûteuses.
Si une partie d’un réseau minier commence à accepter une autre preuve de travail, on parle de hard fork.
Exemple de preuve de travail
La preuve de travail nécessite qu’un ordinateur s’engage aléatoirement dans des fonctions de hachage jusqu’à ce qu’il arrive à une sortie avec la quantité minimale correcte de zéros non significatifs. Par exemple, le hachage pour le bloc # 429818, extrait le 14 septembre 2016, par exemple, est 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. La récompense de bloc pour ce hachage réussi était de 12,5 BTC.
Ce bloc contiendra toujours 2 012 transactions impliquant un peu plus de 1000 bitcoins, ainsi que l’en-tête du bloc précédent. Si quelqu’un essayait de modifier le montant d’une transaction de 0,000001 bitcoin, le hachage résultant serait méconnaissable et le réseau rejetterait la tentative de fraude.
FAQ sur la preuve de travail
Que signifie la preuve de travail?
PoW exige que les nœuds sur un réseau fournissent la preuve qu’ils ont dépensé de la puissance de calcul (c’est-à-dire du travail) afin de parvenir à un consensus de manière décentralisée et d’empêcher les mauvais acteurs de dépasser le réseau.
Comment la preuve de travail valide-t-elle une transaction cryptographique?
Le travail lui-même est arbitraire. Pour Bitcoin, cela implique des itérations d’algorithmes de hachage SHA-256. Le « gagnant » d’un cycle de hachage, cependant, agrège et enregistre les transactions du mempool dans le bloc suivant. Parce que le «gagnant» est choisi au hasard proportionnellement au travail effectué, cela incite tout le monde sur le réseau à agir honnêtement et à n’enregistrer que les vraies transactions.
Pourquoi les crypto-monnaies ont-elles besoin d’une preuve de travail?
Parce qu’elles sont décentralisées et peer-to-peer de par leur conception, les chaînes de blocs telles que les réseaux de crypto-monnaie nécessitent un moyen d’atteindre à la fois le consensus et la sécurité. La preuve de travail est l’une de ces méthodes qui fait qu’il est trop gourmand en ressources d’essayer de dépasser le réseau. Il existe également d’autres mécanismes de preuve qui nécessitent moins de ressources, mais qui présentent d’autres inconvénients ou défauts, tels que la preuve d’enjeu (PoS) et la preuve de brûlure. Sans un mécanisme de preuve, le réseau et les données qui y sont stockées seraient vulnérables aux attaques ou au vol.
Bitcoin utilise-t-il une preuve de travail?
Oui. Il utilise un algorithme PoW basé sur la fonction de hachage SHA-256 afin de valider et confirmer les transactions ainsi que d’émettre de nouveaux bitcoins en circulation.
En quoi la preuve de participation (PoS) diffère-t-elle du PoW?
PoS est un mécanisme de consensus qui attribue de manière aléatoire le nœud qui exploitera ou validera les transactions de bloc en fonction du nombre de pièces que ce nœud détient. Plus il y a de jetons détenus dans un portefeuille, plus la puissance minière lui est effectivement accordée. Bien que PoS consomme beaucoup moins de ressources, il présente plusieurs autres défauts, notamment une plus grande probabilité d’ attaque de 51% dans des altcoins plus petits et des incitations à accumuler des jetons et à ne pas les utiliser.