Introduction

    La preuve de travail (souvent abrégée en « PoW ») est un mécanisme de prévention du problème des doubles dépenses. La grande majorité des cryptomonnaies utilisent ce mécanisme d’algorithme de consensus. Nous appelons cette approche un registre cryptographiquement sécurisé.

Introduction

En termes simples, la preuve de travail (PoW) est un mécanisme qui évite le problème de double dépense dans les systèmes de paiement numérique. Bitcoin et de nombreuses autres crypto-monnaies utilisent un mécanisme de preuve de travail pour sécuriser leurs réseaux et données blockchain. Ce mécanisme signifie que plusieurs parties parviennent à un consensus sans se faire confiance, et est souvent appelé « algorithme de consensus » ou « mécanisme de consensus ».

La preuve de travail est le premier algorithme de consensus à être apparu, et elle est toujours courante aux côtés de la preuve de participation (PoS) aujourd'hui. Satoshi Nakamoto a proposé le concept de preuve de travail dans le livre blanc Bitcoin en 2008, mais la technologie elle-même avait été conçue avant cette date.

Avant même que les crypto-monnaies n’existent, HashCash d’Adam Back était l’un des premiers exemples d’algorithme de preuve de travail. HashCash atténue le problème de spam qui touche les destinataires en obligeant l'expéditeur à effectuer une petite quantité de calculs avant l'envoi de l'e-mail. De tels calculs sont presque faciles pour un expéditeur régulier, mais pour quelqu'un qui envoie un grand nombre d'e-mails, le fardeau augmente rapidement.

Quel est le problème de la double dépense ?

Une double dépense se produit lorsque les mêmes fonds sont utilisés plusieurs fois. Ce terme est fondamentalement exclusif au monde des monnaies numériques, après tout, dans la vraie vie, le même montant en espèces ne peut pas être payé deux fois.​

Par exemple, après avoir payé votre café au caissier, celui-ci est verrouillé dans la caisse enregistreuse. Il est impossible pour un client d'acheter une autre tasse de café au café d'en face pour le même montant. Toutefois, cela peut se produire si un système de paiement numérique est utilisé.​

Nous avons tous sans aucun doute copié des fichiers informatiques à l’aide de commandes copier-coller et avons facilement envoyé le même document à des dizaines de personnes. La monnaie numérique est essentiellement constituée de données, nous devons donc nous méfier des autres qui créent des problèmes de double dépense, c'est-à-dire copier la même monnaie et la dépenser ailleurs. Sans la capacité d’empêcher les doubles dépenses, les systèmes de paiement numérique vont bientôt s’effondrer.

Si vous souhaitez en savoir plus sur le problème de la double dépense, veuillez lire « Explication détaillée du problème de la double dépense ».

Pourquoi un justificatif de travail est-il nécessaire ?

Si vous avez lu nos articles sur la technologie blockchain, vous saurez que les utilisateurs de crypto-monnaie publient constamment des transactions sur le réseau, mais que ces transactions ne prennent pas effet immédiatement. Une transaction n'est valide qu'après avoir été confirmée et ajoutée à la blockchain.

Par exemple, la blockchain Bitcoin est une base de données de transactions publique (grand livre) qui peut être consultée par tous les utilisateurs. Imaginez que quelqu'un partage un bloc-notes avec trois autres amis pour enregistrer ses transactions Bitcoin. Chaque fois que l’un de vous effectue un transfert de valeur, notez :

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

Cependant, chaque transaction doit indiquer la source des fonds. Ainsi, si Bob paie à Carol 2 BTC, l'entrée d'enregistrement devrait ressembler à ceci :

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

De cette façon, nous avons un moyen de suivre les montants BTC ci-dessus. Si Bob essaie d’effectuer une autre transaction en utilisant les 2 BTC qu’il a précédemment payés à Carol, tout le monde le saura immédiatement. Étant donné que 2 BTC ont déjà été dépensés, les membres du groupe de partage ne permettront pas que cette transaction soit enregistrée dans le bloc-notes.

Pour les petits groupes, cette approche peut très bien fonctionner. Tout le monde se connaît et peut se mettre d'accord sur quel ami enregistrera la transaction dans le bloc-notes. Que se passerait-il s’il s’agissait d’un groupe de 10 000 participants ? À ce stade, Notepad ne peut pas être étendu efficacement, après tout, personne ne ferait confiance à un étranger pour être en charge du grand livre.

C'est là qu'intervient la preuve de travail. La preuve de travail garantit que les utilisateurs ne sont pas autorisés à dépenser des fonds auxquels ils n'ont pas accès. L’algorithme de preuve de charge de travail combine théorie des jeux et cryptographie pour permettre à chacun de mettre à jour la blockchain selon les règles du système.

Comment fonctionne la preuve de travail ?

Supposons que le bloc-notes dans l'exemple ci-dessus soit la blockchain. Désormais, nous n’ajoutons plus les transactions une par une, mais les regroupons en blocs. Nous publions les transactions sur le réseau, et l'utilisateur qui a créé le bloc compte ensuite la transaction dans un bloc candidat. Ce n’est que lorsque le bloc candidat devient un bloc confirmé que la transaction prendra effet. Autrement dit, la transaction est ajoutée à la base de données blockchain.

Le processus de validation des transactions et d’ajout de nouveaux blocs est appelé « minage ». L’exploitation minière est coûteuse et difficile, mais les récompenses sont également substantielles. Les récompenses de bloc sont constituées des frais de transaction des utilisateurs et des tout nouveaux Bitcoins créés par le protocole.​

La preuve de travail exige que les mineurs (les utilisateurs qui créent des blocs) investissent des ressources telles que l'électricité et la puissance de calcul pour hacher les données des blocs candidats jusqu'à ce qu'ils trouvent une solution au puzzle.

L'opération de hachage de données de bloc fait référence à l'introduction de données dans une fonction de hachage pour générer une valeur de hachage de bloc. Le hachage de bloc agit comme une « empreinte digitale », une identification des données d’entrée et est unique à chaque bloc.

En d'autres termes, les mineurs doivent vérifier et collecter les transactions en attente, organiser ces transactions dans un bloc candidat et intégrer les données du bloc dans une fonction de hachage pour générer une valeur de hachage valide. Une fois qu'un mineur trouve avec succès un hachage valide d'un bloc candidat, il le publie sur le réseau, ajoute le bloc à la blockchain et reçoit la récompense minière.

Une fois que le mineur a publié le bloc candidat et la valeur 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.​

Une valeur de hachage valide doit être hachée un nombre incalculable de fois pour être calculée, mais n'importe qui peut facilement confirmer que la valeur de hachage générée est correcte. Tant que la même entrée (données de bloc) est soumise à la fonction de hachage, la cohérence de la sortie peut être vérifiée.

Les données fournies pour la preuve de travail, la valeur de hachage doivent remplir certaines conditions. Mais les utilisateurs ne savent pas comment procéder. La seule chose qu'ils peuvent faire est de transmettre les données dans une fonction de hachage pour vérifier qu'elles répondent aux critères. Si cela ne correspond pas, modifiez légèrement les données et obtenez une valeur de hachage différente. Changer ne serait-ce qu'un caractère dans les données peut produire des résultats très différents, de sorte que le résultat ne peut pas être prédit du tout.

La création de blocs est donc un jeu de devinettes. De manière générale, les utilisateurs doivent regrouper toutes les informations de transaction et certaines autres données importantes à ajouter, puis les hacher simultanément. Étant donné que l'ensemble de données ne change pas, une information variable doit être ajoutée. Sinon, la valeur de hachage de sortie sera toujours cohérente. Cette donnée variable est appelée « nombre aléatoire ». Chaque fois que vous essayez de modifier le nom occasionnel, vous obtiendrez une valeur de hachage différente.

Dans l’ensemble, le minage est le processus de collecte de données blockchain et de hachage à l’aide de nombres aléatoires jusqu’à ce qu’une valeur de hachage spécifique soit trouvée. Si la valeur de hachage résultante répond aux conditions fixées par le protocole, un nouveau bloc peut être publié sur le réseau. Dans le même temps, les autres participants au réseau peuvent mettre à jour leurs propres blockchains pour inclure de nouveaux blocs.

Pour les crypto-monnaies traditionnelles d’aujourd’hui, il est assez difficile de remplir les conditions. Plus le taux de hachage d’un réseau est élevé, plus il est difficile de trouver des hachages valides. Il s’agit de ralentir la vitesse de génération des blocs.

Vous pouvez imaginer le coût élevé de deviner des valeurs de hachage massives à l'aide d'un ordinateur personnel. Cela consomme beaucoup de temps et d’énergie de calcul. Mais tant qu’un hachage valide est trouvé, le protocole vous récompense en cryptomonnaie.

Passons en revue ce que nous savons jusqu’à présent :

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

  • Lorsque les mineurs réussissent à générer des blocs valides, ils sont récompensés, sous la forme de cryptomonnaies nouvellement émises et de frais de transaction.

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

Jusqu'à présent, tout est normal. Mais que se passe-t-il si quelqu’un essaie de tricher ? Comment pouvons-nous arrêter la pratique consistant à saisir un grand nombre de transactions frauduleuses dans des blocs pour générer des hachages valides ?

La cryptographie à clé publique est née. Cet article n'entrera pas dans les détails ici. Veuillez lire « Qu'est-ce que la cryptographie à clé publique ? » 》Pour une compréhension globale. En termes simples, la cryptographie à clé publique utilise certaines techniques de cryptographie conformes pour vérifier si quelqu'un a le droit d'accéder à une certaine somme d'argent.

Lorsqu'un utilisateur crée une transaction, il la signe. Les autres utilisateurs du réseau compareront la signature avec la clé publique de l'utilisateur signataire pour vérifier qu'elles correspondent. Dans le même temps, d'autres utilisateurs peuvent également vérifier si la personne a le droit d'utiliser les fonds et si le montant total des entrées est supérieur au montant total des sorties, c'est-à-dire que les dépenses ne doivent pas dépasser le montant détenu.

Le réseau rejette automatiquement les blocs contenant des transactions invalides. Le coût d’une tentative de triche est très élevé. Non seulement c’est un gaspillage de ressources, mais vous n’obtenez également aucune récompense.

C’est là qu’émerge le mystère de la preuve de travail, à savoir que la tricherie coûte cher, alors que les opérations honnêtes sont très rentables. Les mineurs avisés rechercheront un retour sur investissement et procéderont donc avec prudence pour garantir des profits.

Preuve de travail (PoW) vs Preuve d'enjeu (PoS)

En plus de la preuve de travail, il existe de nombreux algorithmes de consensus, et la preuve de participation (PoS) est la plus populaire. Le concept remonte à 2011 et a été implémenté dans Ethereum et de nombreux autres protocoles.

Dans un système de preuve de participation, les mineurs sont remplacés par des « validateurs » et il n’y a aucune concurrence impliquée dans l’extraction et la devinette des hachages. Au lieu de cela, les utilisateurs sélectionnés au hasard doivent proposer ou « créer » des blocs. Si le blocage est valide, l'utilisateur recevra une récompense composée de frais de transaction de bloc.

Bien entendu, il existe des seuils pour le processus de sélection, et l’accord prendra en compte de manière exhaustive divers facteurs pour sélectionner les utilisateurs. Pour se qualifier, les participants doivent bloquer une mise, un montant prédéterminé de la devise native de la blockchain. Un gage fonctionne comme une caution. Par exemple, pour empêcher les accusés d’échapper au procès, ils doivent verser d’importantes cautions, et les validateurs doivent verrouiller des « promesses » pour éviter toute tricherie. En cas de fraude, tout ou partie du gage sera confisqué.

Par rapport à la preuve de travail, la preuve d’enjeu présente certains avantages. Le plus évident est la réduction de l’empreinte carbone, puisque le Proof-of-Stake ne nécessite pas de fermes minières de grande puissance et ne consomme qu’une fraction de l’électricité du Proof-of-Work.​

Malgré cela, la preuve d’enjeu est encore beaucoup moins populaire que la preuve de travail. Le minage est considéré comme un gaspillage de ressources, mais il reste le seul algorithme consensuel reconnu comme fiable depuis plus d’une décennie. Une fois que la preuve de travail de Bitcoin a été introduite, elle a protégé des transactions valant des milliards de dollars. Pour savoir si la sécurité du Proof of Stake est comparable à celle du Proof of Work, le staking doit encore faire l’objet d’une vérification réelle à long terme.

Conclusion

La preuve de travail a été la première solution au problème de la double dépense, et sa fiabilité et sa sécurité ont été prouvées. Bitcoin prouve que nous n’avons pas besoin de nous appuyer sur une entité centralisée pour éviter que le même argent soit dépensé deux fois. Les participants d'un environnement décentralisé peuvent suivre de manière coordonnée l'état des bases de données financières grâce à une utilisation intelligente de la cryptographie, des fonctions de hachage et de la théorie des jeux.

Lectures complémentaires

  • 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é : le contenu de cet article est fourni « tel quel » à titre d'information générale et à des fins éducatives uniquement et ne constitue aucune représentation ou garantie. Cet article ne constitue pas un conseil financier, juridique ou autre professionnel et n’a pas pour but de recommander l’achat d’un produit ou d’un service spécifique. Vous devriez demander votre propre avis à des conseillers professionnels appropriés. Si cet article a été rédigé par un tiers, veuillez noter que les opinions exprimées dans cet article appartiennent au contributeur tiers et ne reflètent pas nécessairement les opinions de Binance Academy. Pour plus d’informations, veuillez cliquer ici pour lire la clause de non-responsabilité complète. Les prix des actifs numériques peuvent fluctuer. La valeur de votre investissement peut baisser comme augmenter et vous risquez de ne pas récupérer le capital investi. Vous êtes seul responsable de vos propres décisions d'investissement et Binance Academy n'est pas responsable des pertes que vous pourriez subir. Cet article ne constitue pas un conseil financier, juridique ou autre conseil professionnel. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et nos avertissements de risque.