Points clés
La preuve de travail (PoW) est un mécanisme consensuel conçu pour éviter les doubles dépenses dans les systèmes de paiement numérique.
Le PoW est un élément clé du minage, qui consiste à ajouter des blocs de transactions à la blockchain et à créer de nouvelles unités de crypto-monnaie.
Bitcoin et de nombreuses autres crypto-monnaies utilisent un mécanisme PoW pour protéger leurs réseaux et données blockchain.
Introduction
En bref, le Proof of Work (PoW) est un mécanisme conçu pour éviter les doubles dépenses dans les systèmes de paiement numérique. Bitcoin et de nombreuses autres crypto-monnaies utilisent PoW pour protéger leurs réseaux et données blockchain. De tels éléments sont appelés mécanismes de consensus – ou algorithmes – car ils permettent à plusieurs parties de parvenir à un consensus sans avoir à se faire confiance.
Le Proof of Work a été le premier algorithme de consensus et reste l'un des plus importants avec le Proof of Stake (PoS). PoW a été introduit par Satoshi Nakamoto dans le livre blanc Bitcoin en 2008, mais la technologie elle-même a été proposée bien avant.
Un des premiers exemples d’utilisation de l’algorithme Proof of Work est le système HashCash d’Adam Back, apparu avant même les crypto-monnaies. Le fait d'exiger un petit nombre de calculs avant d'envoyer un e-mail a permis de réduire la quantité de spam. De tels calculs ne coûtent pratiquement rien à l'expéditeur moyen, mais compliquent considérablement le processus d'envoi de masse.
Qu’est-ce que la double dépense ?
Une double dépense se produit lorsque les mêmes fonds sont dépensés plus d’une fois. Ce terme est presque toujours utilisé en relation avec la monnaie numérique, car dans la vraie vie, il est difficile d'imaginer une situation dans laquelle le même argent est dépensé deux fois.
Par exemple, lorsque vous achetez du café, vous remettez de l’argent au caissier, qui le met dans la caisse. Vous ne pourrez pas aller dans un autre café et payer un deuxième café avec la même facture. Cependant, dans les systèmes de monnaie numérique, cela est possible.
Vous avez probablement déjà copié des fichiers sur votre ordinateur. Le même fichier peut être facilement envoyé à des dizaines de personnes. Et comme la monnaie numérique n’est que des données, il est nécessaire d’éliminer la possibilité de double dépense, c’est-à-dire de copier et d’envoyer les mêmes unités à différents endroits. Si un système de paiement numérique ne peut empêcher les doubles dépenses, il s’effondrera rapidement.
Pour en savoir plus sur les doubles dépenses, consultez l'article Qu'est-ce que la double dépense.
Pourquoi une preuve de travail est-elle nécessaire ?
Si vous avez déjà lu notre guide sur la blockchain, alors vous savez que les utilisateurs de cryptomonnaie diffusent des transactions sur le réseau. Mais les transactions ne deviennent pas valides immédiatement, mais seulement après vérification et ajout à la blockchain.
Par exemple, la blockchain Bitcoin fonctionne comme une base de données publique de transactions (registre) qui peut être consultée par n’importe quel utilisateur. Disons que vous et trois de vos amis disposez d'un bloc-notes dans lequel vous notez vos transactions Bitcoin. Si l'un de vous souhaite transférer des fonds, il notera sur son carnet :
Alice paie à Bob 5 BTC. Bob paie à Carol 2 BTC et ainsi de suite.
Lors de chaque transfert, vous devez vous référer à la transaction précédente à partir de laquelle les fonds ont été reçus. Autrement dit, lorsque Bob transfère 2 BTC à Carol, l'entrée ressemble à ceci :
Bob transfère 2 BTC d'une transaction précédente avec Alice à Carol.
De cette façon, nous pouvons suivre tous les transferts BTC. Si Bob essaie d'effectuer une autre transaction en utilisant les mêmes 2 BTC qu'il vient d'envoyer à Carol, tout le monde le saura immédiatement. Le groupe ne lui permettra pas d’enregistrer une telle transaction dans le carnet, puisqu’il a déjà dépensé ces 2 BTC.
Un tel système peut bien fonctionner dans un petit groupe de personnes où tous les participants se connaissent bien, car il leur sera plus facile de se mettre d'accord sur lequel d'entre eux sera responsable de l'ajout des transactions à la liste générale. Mais que se passe-t-il si nous voulons rassembler un groupe de 10 000 membres ? L’idée d’utiliser un bloc-notes n’est pas très adaptée car personne ne ferait confiance à un étranger pour gérer un tel registre financier.
C'est pourquoi l'algorithme Proof of Work est nécessaire. Cela garantit que les utilisateurs ne dépensent pas d’argent qu’ils ne peuvent pas dépenser. Utilisant la théorie des jeux et la cryptographie, l'algorithme permet à tout utilisateur de mettre à jour la blockchain selon les règles du système.
Comment fonctionne PoW ?
Considérez le bloc-notes dans l'exemple ci-dessus comme une blockchain. Cependant, les transactions ne sont pas ajoutées au système une par une, mais sont combinées en blocs. Les utilisateurs qui créent un bloc incluent les transactions dans le bloc candidat. Les transactions ne seront considérées comme valides qu'une fois le bloc candidat confirmé et ajouté à la base de données blockchain.
Le processus de confirmation des transactions et d’ajout de nouveaux blocs est appelé minage. C’est assez complexe et nécessite des coûts, mais peut générer des bénéfices sous forme de récompenses globales. Il se compose des frais de transaction et des nouveaux bitcoins créés par le protocole.
Le mécanisme de preuve de travail exige que le mineur (l'utilisateur créant le bloc) investisse des ressources (électricité et puissance de calcul) dans le hachage des données d'un bloc candidat jusqu'à ce qu'une solution soit trouvée.
Hacher un bloc consiste à le faire passer par une fonction de hachage pour générer un hachage. Le hachage de bloc agit comme une « empreinte digitale » et sert d'identifiant pour les données d'entrée qui est unique à chaque bloc.
En d’autres termes, le mineur doit vérifier et collecter les transactions en attente, puis les combiner en un bloc candidat et exécuter les données du bloc via une fonction de hachage pour obtenir le hachage correct. Si le mineur parvient à trouver le hachage correct pour son bloc candidat, il le soumettra au réseau, ajoutera le bloc à la blockchain et recevra une récompense minière.
Une fois que le mineur soumet le bloc candidat et le hachage au réseau, les autres participants du réseau répéteront le processus de hachage pour garantir la validité du résultat.
Trouver le hachage correct nécessite un grand nombre de tentatives, mais vérifier l'exactitude du hachage fini est assez simple. Pour ce faire, il vous suffit de transmettre les mêmes données d'entrée (données de bloc) via une fonction de hachage et de vérifier si le résultat correspond.
Dans Proof of Work, vous devez fournir des données dont le hachage suit certaines règles énoncées dans le protocole, à condition de ne pas savoir comment les récupérer directement. La seule option consiste à exécuter les données via une fonction de hachage et à vérifier si elles correspondent aux conditions. S'il n'y a pas de correspondance, vous devrez modifier les données pour obtenir un hachage différent. Changer ne serait-ce qu'un seul caractère dans vos données conduira à un résultat complètement différent, pour cette raison, il est impossible de simplement prédire quel pourrait être le résultat.
Ainsi, pour créer un bloc, vous devez calculer le hachage. Pour ce faire, l'utilisateur rassemble des informations sur toutes les transactions qui doivent être ajoutées aux blocs et à d'autres données. Mais comme l’ensemble de données ne change pas, l’utilisateur ajoute une information qui deviendra une variable. Sinon, le résultat sera toujours le même hachage. Ces données variables sont appelées une donnée occasionnelle. Ils sont modifiés à chaque tentative d'obtention d'un nouveau hachage.
Le minage est donc le processus de collecte de données blockchain et de hachage avec un code à usage unique jusqu'à ce que vous trouviez un hachage approprié. Si vous trouvez un hachage qui satisfait aux conditions fixées par le protocole, vous obtenez le droit de diffuser un nouveau bloc sur le réseau. À ce stade, les autres participants du réseau doivent mettre à jour leurs blockchains pour inclure le nouveau bloc.
Les conditions posées par les principales crypto-monnaies sont incroyablement difficiles à remplir. Plus le hashrate du réseau est élevé, plus il est difficile de trouver un hachage valide. Ceci est fait pour éviter que des blocs ne soient générés trop rapidement.
Les tentatives régulières pour deviner un grand nombre de hachages sont coûteuses, car elles gaspillent une énorme quantité de ressources informatiques et d'énergie électrique. Cependant, si les mineurs parviennent à trouver un hachage valide, le protocole les récompense pour leur travail.
Passons en revue ce que nous avons couvert :
Le minage est un processus complexe et coûteux qui garantit la sécurité du réseau.
Les mineurs qui créent un bloc valide sont récompensés sous la forme de nouvelles crypto-monnaies et de frais de transaction.
Générer le hachage correct prend un certain temps, mais son exactitude peut être vérifiée facilement et rapidement en répétant le processus de hachage.
Mais que se passe-t-il si vous essayez de tromper le système ? Qu'est-ce qui vous empêche de regrouper un tas de transactions frauduleuses dans un bloc et de créer un hachage valide ?
La cryptographie à clé publique a été développée à cet effet. Pour en savoir plus sur ce sujet, consultez notre article Qu'est-ce que la cryptographie à clé publique. En bref, l'algorithme utilise certaines techniques cryptographiques qui permettent à tout utilisateur de vérifier le droit d'un participant individuel au réseau de transférer des fonds vers une autre adresse.
Lorsque vous créez une transaction, vous la signez. N'importe quel participant du réseau peut alors comparer votre signature avec votre clé publique pour voir si elle correspond. Cela vous permet de savoir si vous pouvez dépenser vos fonds et si vos dépenses ne dépassent pas le montant autorisé.
Tout bloc contenant une transaction invalide sera automatiquement rejeté. Essayer de tromper le réseau vous coûtera cher car vous finirez par gaspiller vos ressources informatiques sans en tirer aucune récompense.
C’est l’idée du Proof of Work : il est plus rentable pour les utilisateurs d’agir honnêtement que d’essayer de tromper le système. Les mineurs tentent de récupérer leur investissement, la plupart suivront donc les règles pour réaliser un profit.
Preuve de travail (PoW) ou Preuve d'enjeu (PoS)
Il existe de nombreux autres algorithmes de consensus en plus du PoW, mais l'un des plus populaires est le Proof of Stake (PoS). Son concept remonte à 2011 et a été implémenté dans Ethereum et plusieurs autres protocoles.
Dans les réseaux avec consensus Proof of Stake, le rôle des mineurs est joué par les validateurs, puisque le protocole n'est pas associé au processus d'extraction et à la supposition des hachages. Au lieu de cela, les utilisateurs sont sélectionnés au hasard et le participant sélectionné doit proposer un nouveau bloc. Si un bloc s'avère valide, le validateur recevra une récompense composée de frais de transaction pour ce bloc.
Le protocole sélectionne un nouveau validateur en fonction de plusieurs facteurs. Pour avoir une chance d'être sélectionné, vous devez verrouiller certains jetons en les ajoutant au jalonnement. Ce montant agit comme une sorte de garantie : les validateurs bloquent un certain nombre de pièces dans le système, qui seront perdues si le validateur tente de tromper le système. Les pièces de mise seront perdues si un validateur tente de valider un bloc invalide.
La preuve d'enjeu présente certains avantages par rapport à la preuve de travail. L’un d’eux est une empreinte carbone plus faible. Cela est dû au fait que Proof of Stake ne nécessite pas l’entretien de puissantes fermes minières, et consomme donc beaucoup moins d’électricité que Proof of Work.
Cependant, PoS n’a pas un historique aussi bon que PoW. Bien que PoW puisse être perçu comme un gaspillage, le minage est actuellement le seul algorithme consensuel qui fonctionne bien depuis plus d’une décennie. Pendant ce temps, le mécanisme PoW de Bitcoin a traité en toute sécurité des milliards de dollars de transactions. Le protocole PoS doit encore prouver son efficacité et sa compétitivité sur le long terme.
En conclusion
La preuve de travail est une solution fiable et sécurisée au problème des doubles dépenses. Bitcoin a prouvé qu’il ne nécessite pas d’organisations centralisées. En utilisant correctement la cryptographie, les fonctions de hachage et la théorie des jeux, les participants d'un environnement décentralisé peuvent surveiller eux-mêmes le bon fonctionnement de l'ensemble de la base de données financière.
Lecture recommandée
Qu’est-ce que le minage de cryptomonnaie et comment ça marche ?
Qu’est-ce que la cryptographie à clé publique ?
Qu’est-ce que l’algorithme de consensus blockchain ?
Avis de non-responsabilité : les documents suivants sont fournis « tels quels » sans garantie d'aucune sorte, à titre de référence générale et à des fins éducatives uniquement. Ces informations ne doivent pas être interprétées comme des conseils financiers, des conseils juridiques ou une recommandation d'achat d'un produit ou d'un service spécifique. Vous devriez demander votre propre avis à des conseillers professionnels appropriés. Cet article ayant été rédigé par un auteur tiers, veuillez noter que les opinions exprimées sont celles de l'auteur tiers et ne reflètent pas nécessairement celles de la Binance Academy. Pour des informations plus détaillées, veuillez suivre le lien. La valeur des actifs numériques peut être volatile. La valeur des fonds investis peut augmenter et diminuer. Vous risquez de ne pas récupérer vos fonds investis. Vous êtes seul responsable de vos décisions d’investissement. Binance Academy n'est pas responsable de vos éventuelles pertes. Ces informations ne constituent pas des conseils financiers, juridiques ou professionnels. Pour en savoir plus, veuillez lire nos conditions d'utilisation et notre divulgation des risques.