Points clés

  • La preuve de travail (PoW) est un mécanisme consensuel créé pour éviter les doubles dépenses dans les systèmes de paiement numérique.

  • PoW est une partie importante du processus de minage, qui ajoute de nouveaux blocs de transactions à la blockchain et crée de nouvelles unités de crypto-monnaie.

  • Bitcoin et de nombreuses autres crypto-monnaies choisissent PoW comme méthode de sécurisation de leurs réseaux et données blockchain.

Introduire

En bref, le Proof of Work (PoW) est un mécanisme créé pour éviter les doubles dépenses dans les systèmes de paiement numérique. Bitcoin et de nombreuses autres crypto-monnaies choisissent PoW comme méthode de sécurisation de leurs réseaux et données blockchain. De tels mécanismes sont souvent appelés algorithmes de consensus ou mécanismes de consensus, car ils nécessitent que plusieurs parties parviennent à un consensus sans avoir à se faire confiance.

Le Proof of Work a été le premier algorithme de consensus à apparaître et il reste l'un des plus importants avec le Proof of Stake (PoS). PoW a été introduit par Satoshi Nakamoto dans le livre blanc Bitcoin de 2008, mais la technologie elle-même a été établie bien avant cela.

HashCash d'Adam Back était l'un des premiers exemples d'algorithme de preuve de travail à l'époque précédant la crypto-monnaie. En exigeant que l'expéditeur effectue un travail informatique avant d'envoyer l'e-mail, le destinataire peut réduire la réception de spam. Cette opération informatique ne coûte presque rien pour les expéditeurs légitimes mais est très gourmande en ressources pour les expéditeurs massifs d’e-mails.

Qu’est-ce que la double dépense ?

Les doubles dépenses ou les doubles dépenses font référence au moment où la même somme d’argent est dépensée plusieurs fois. Ce terme est utilisé presque exclusivement dans le domaine des monnaies numériques – car dans la pratique, il serait difficile de dépenser deux fois un seul billet d’argent. 

Lorsque vous payez en espèces une tasse de café, vous donnerez au caissier de l'argent à mettre dans le tiroir-caisse. Mais si vous voulez aller au café d’en face et continuer à utiliser cet argent pour payer une autre tasse de café, c’est complètement impossible. Cependant, dans les systèmes de paiement numérique, cela est possible. 

Tout comme vous utilisez le copier-coller pour copier un fichier sur votre ordinateur. Vous pouvez facilement envoyer le même fichier par courrier électronique à des dizaines de personnes. Étant donné que la monnaie numérique n’est que des données, vous devez vous assurer d’éviter le risque de fraude à double dépense, c’est-à-dire copier et dépenser la même monnaie à différents endroits. Un système de paiement numérique qui n’empêche pas la fraude à double dépense s’effondrera tôt ou tard.

Pour mieux comprendre la fraude aux doubles dépenses, voir Explication des doubles dépenses.

Pourquoi une preuve de travail est-elle nécessaire ?

Si vous avez lu des articles sur la technologie blockchain, vous saurez que les utilisateurs de cryptomonnaie transmettent continuellement des transactions au réseau. Cependant, ces transactions ne sont pas immédiatement considérées comme valides. Les transactions sont valides lorsqu'elles sont confirmées et ajoutées à la blockchain.

Par exemple, la blockchain Bitcoin fonctionne comme une base de données de transactions publique (grand livre) que chaque utilisateur peut consulter. Pour que ce soit plus facile à imaginer : vous et trois amis disposez d’un carnet pour suivre vos transactions Bitcoin. Chaque fois qu’un membre du groupe souhaite transférer de la valeur, il faut enregistrer :

Alice paie à Bob 5 BTC ; Bob paie à Carol 2 BTC,...

Cependant, chaque fois que vous effectuez une transaction, vous devrez enregistrer la source des fonds de la transaction. Donc, si Bob paie à Carol 2 BTC, l'entrée réelle serait la suivante : 

Bob paie à Carol 2 BTC provenant de la transaction précédente avec Alice.

Nous disposons désormais d’un moyen de suivre les unités de 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 et l'équipe ne permettra pas que cette transaction soit ajoutée au grand livre car ces 2 BTC sont déjà crédités à la transaction initiale.

Cependant, cette méthode ne peut fonctionner correctement qu’en petit groupe. Avec un petit groupe où tout le monde se connaît bien, il est plus facile de se mettre d’accord sur qui doit inscrire les transactions dans les livres. Et si nous voulons un groupe de 10 000 participants ? L'utilisation d'un ordinateur portable sera difficile à appliquer, car personne ne veut confier la gestion de l'ordinateur portable à un étranger.

C’est à ce moment-là que la Preuve de Travail entre en jeu. Il garantit que les utilisateurs ne dépensent pas d’argent qu’ils n’ont pas le droit de dépenser. Utilisant une combinaison de théorie des jeux et de cryptographie, l'algorithme PoW permet à quiconque de mettre à jour la blockchain selon les règles du système.

Comment fonctionne PoW ?

Imaginez que le grand livre de l’exemple ci-dessus soit une blockchain. Mais au lieu d’ajouter les transactions une par une, nous les regroupons en blocs. Nous annonçons les transactions sur le réseau, puis les générateurs de blocs les incluent dans un bloc candidat. Les transactions ne seront considérées comme valides que lorsque le bloc candidat deviendra un bloc confirmé, ce qui signifie qu'il aura été ajouté à la base de données blockchain.

Le processus de validation des transactions et d’ajout de nouveaux blocs est appelé minage. C'est cher et difficile, mais cela apporte aussi de nombreux avantages. Les récompenses en bloc sont générées à partir des frais de transaction des utilisateurs et des tout nouveaux bitcoins créés par le protocole. 

Le mécanisme de preuve de travail exige que les mineurs (les utilisateurs qui créent des blocs) investissent des ressources telles que l'électricité et des ordinateurs puissants pour hacher les données de leurs blocs candidats jusqu'à ce qu'une solution au puzzle soit trouvée.

Hacher les données d'un bloc signifie les transmettre via une fonction de hachage pour créer une chaîne de hachage du bloc. La chaîne de hachage du bloc agit comme une « empreinte digitale » : c'est une identité pour vos données d'entrée et elle est unique à chaque bloc.

En d'autres termes, les mineurs doivent vérifier et collecter les transactions en attente, les organiser dans un bloc candidat et introduire les données du bloc dans une fonction de hachage pour créer une chaîne de hachage valide. S'ils trouvent un hachage valide pour leur bloc candidat, ils le diffusent sur le réseau, ajoutent le bloc à la blockchain et collectent les récompenses minières.

Lorsqu'un mineur diffuse son bloc candidat et sa chaîne de hachage sur le réseau, les autres participants du réseau répètent le processus de hachage pour vérifier que le résultat est bien valide. 

Bien qu'il faille d'innombrables tentatives de hachage pour trouver une chaîne de hachage valide, il est difficile pour quiconque de confirmer que la chaîne de hachage générée est correcte. Ils envoient simplement la même entrée (données de bloc) via la fonction de hachage et vérifient si la sortie est la même.

Dans Proof of Work, vous devez fournir des données dont le hachage répond à certaines conditions. Mais personne ne sait comment réaliser ces conditions. Le seul moyen est de transmettre vos données via une fonction de hachage et de vérifier si les données correspondent aux conditions. Sinon, vous devrez modifier un peu vos données pour obtenir un hachage différent. Changer ne serait-ce qu'un caractère dans vos données entraînera un résultat complètement différent, il n'y a donc aucun moyen de prédire quel pourrait être le résultat.

Par conséquent, si vous souhaitez créer un bloc, vous vous lancez dans un jeu de devinettes. Vous prenez généralement des informations sur toutes les transactions que vous souhaitez ajouter et d'autres données importantes, puis vous hachez le tout ensemble. Mais comme votre ensemble de données ne changera pas, vous devez ajouter une information qui peut changer. Sinon, vous obtiendrez toujours le même hachage de sortie. Ces données variables sont ce que nous appelons une donnée occasionnelle. C'est un nombre que vous modifierez à chaque tentative, vous obtiendrez donc un hachage différent à chaque fois.

En bref, le minage est le processus de collecte de données blockchain et de hachage avec une valeur occasionnelle jusqu'à ce que vous trouviez une chaîne de hachage spécifique. Si vous trouvez une chaîne de hachage qui répond aux conditions fixées par le protocole, vous aurez le droit de diffuser le nouveau bloc sur le réseau. A cette époque, les autres participants du réseau mettent à jour leur blockchain pour ajouter de nouveaux blocs.

Pour les principales cryptomonnaies actuelles, les conditions sont extrêmement difficiles à remplir. Plus le taux de hachage sur le réseau est élevé, plus il est difficile de trouver un code de hachage valide. Ceci est fait pour garantir que les blocs ne soient pas trouvés trop rapidement.

Comme on peut l'imaginer, essayer de deviner un grand nombre de hachages peut coûter cher aux ressources de votre ordinateur. Vous gaspillez des cycles de calcul et de l'électricité. Mais le protocole vous récompensera en crypto-monnaie si vous trouvez une chaîne de hachage valide.

Récapitulons ce que nous savons jusqu'à présent :

  • Le minage est difficile et coûteux mais assure la sécurité du réseau.

  • Les mineurs qui produisent un bloc valide seront récompensés par les nouvelles cryptomonnaies et les frais de transaction.

  • Générer une chaîne de hachage valide prend du temps, mais d'autres utilisateurs peuvent facilement vérifier sa validité en répétant le processus de hachage.

C'est simple. Mais que se passe-t-il si vous trichez ? Qu'est-ce qui vous empêche d'injecter un tas de transactions frauduleuses dans le bloc et de créer un hachage valide ?

C'est là qu'intervient la cryptographie à clé publique. Nous n'entrerons pas dans les détails dans cet article, mais voyons Qu'est-ce que la cryptographie à clé publique ? pour une vue plus complète. En bref, il existe des astuces cryptographiques qui permettent à tout utilisateur de vérifier si quelqu'un a le pouvoir de déplacer l'argent qu'il tente de dépenser.

Lorsque vous créez une transaction, vous signez votre signature. N'importe qui en ligne peut comparer votre signature avec votre clé publique et vérifier si elles correspondent. Ils vérifieront également que vous pouvez réellement dépenser de l’argent et que le total de vos intrants est supérieur à votre total de sorties (c’est-à-dire que vous ne dépensez pas plus que ce que vous avez).

Tout bloc contenant des transactions invalides sera automatiquement rejeté par le réseau. Cela coûtera très cher si vous voulez tricher. Vous gaspillerez vos propres ressources sans aucune récompense.

C’est l’avantage du Proof of Work : cela vous coûte de l’argent si vous trichez intentionnellement, mais c’est rentable lorsque vous êtes honnête. Par conséquent, tout mineur sensé recherchera un retour sur investissement et se comportera donc d’une manière plus susceptible de générer des revenus.

Comparez deux mécanismes de consensus : Preuve de travail (PoW) et Preuve d'enjeu (PoS)

Il existe de nombreux algorithmes de consensus en plus du PoW, mais l'un des plus populaires est le Proof of Stake (PoS). Ce concept existe depuis 2011 et a été implémenté dans Ethereum et plusieurs autres protocoles.

Dans le système Proof of Stake, les mineurs sont remplacés par des validateurs. Il n’y a aucune exploitation minière impliquée et aucune course pour deviner les hachages. Au lieu de cela, les utilisateurs sont sélectionnés au hasard – s’ils sont sélectionnés, ils doivent proposer (ou « forger ») un bloc. Si le bloc est valide, ils recevront une récompense composée des frais des transactions du bloc.

Cependant, n’importe quel utilisateur ne peut pas être sélectionné : le protocole les sélectionne en fonction de plusieurs facteurs. Pour pouvoir participer, les participants doivent bloquer une participation, qui correspond à un montant prédéterminé du principal de la blockchain. Le jalonnement est comme une caution : tout comme les accusés ont investi de grosses sommes d'argent pour s'assurer de ne pas sauter le procès, les validateurs bloquent les mises pour s'assurer qu'il n'y a pas de fraude. S’ils agissent de manière malhonnête, leur part (ou une partie de celle-ci) leur sera retirée.

La preuve d’enjeu présente plusieurs avantages par rapport à la preuve de travail. L’avantage le plus notable est la plus petite empreinte carbone : puisqu’il n’y a pas besoin de fermes minières de grande puissance dans le PoS, la consommation d’électricité ne représente qu’une fraction de celle consommée dans le PoW. 

Cependant, PoS n’a pas le même historique que PoW. Même si cela peut être considéré comme un gaspillage, le minage est le seul algorithme consensuel qui fonctionne efficacement depuis plus d’une décennie. Depuis son lancement, le PoW de Bitcoin a sécurisé des transactions valant des milliards de dollars. Pour savoir avec certitude si le PoS peut rivaliser avec sa sécurité, le jalonnement doit être correctement testé sur de longues périodes.

résumé

La preuve de travail est la solution originale au problème de la double dépense et s'est avérée fiable et sécurisée. Bitcoin a prouvé que nous n’avons pas besoin d’entités centralisées pour empêcher que le même argent soit dépensé deux fois. Grâce à une utilisation intelligente de la cryptographie, des fonctions de hachage et de la théorie des jeux, les participants d'un environnement décentralisé peuvent se mettre d'accord sur l'état d'une base de données financière.

En savoir plus:

  • Qu’est-ce que le minage de crypto-monnaie 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é : ce contenu vous est fourni « tel quel » à des fins d'information générale et éducatives uniquement, sans représentation ni garantie d'aucune sorte. Il ne doit pas être interprété comme un conseil financier, juridique ou autre conseil professionnel, ni comme une recommandation d’acheter un produit ou un service spécifique. Vous devriez demander votre propre avis auprès de conseillers professionnels appropriés. Dans les cas où les articles proviennent de contributeurs tiers, veuillez noter que les opinions exprimées appartiennent au contributeur tiers et ne reflètent pas nécessairement les opinions de Binance Academy. Veuillez lire notre clause de non-responsabilité complète ici pour plus de détails. Les prix des actifs numériques peuvent fluctuer. La valeur de votre investissement peut baisser comme augmenter et vous pourriez ne pas récupérer le montant que vous avez investi. Vous êtes seul responsable de vos décisions d'investissement et Binance Academy n'est pas responsable des pertes que vous pourriez subir. Ce matériel ne doit pas être interprété comme un conseil financier, juridique ou autre conseil professionnel. Pour plus d’informations, consultez nos conditions d’utilisation et nos avertissements de risque.