Points clés à retenir
La preuve de travail (PoW) est un mécanisme de consensus créé pour éviter les doubles dépenses dans les systèmes de paiement numérique.
PoW est un élément clé du processus de minage, qui implique l'ajout de nouveaux blocs de transactions à la blockchain et la création de nouvelles unités de crypto-monnaie.
Bitcoin et de nombreuses autres crypto-monnaies utilisent PoW comme méthode pour sécuriser leur réseau et leurs données blockchain.
Introduction
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 utilisent PoW comme méthode pour sécuriser leur réseau et leurs données blockchain. De tels mécanismes sont souvent appelés algorithmes de consensus ou mécanismes de consensus, car ils impliquent que plusieurs parties parviennent à un consensus sans avoir besoin de se faire confiance.
Le Proof of Work a été le premier algorithme de consensus à émerger, 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é conçue bien avant.
HashCash d'Adam Back est l'un des premiers exemples d'algorithme de preuve de travail à l'époque pré-crypto-monnaie. En exigeant que les expéditeurs effectuent une petite quantité de calcul avant d'envoyer un e-mail, les destinataires pourraient atténuer le spam. Ce calcul ne coûterait pratiquement rien à un expéditeur légitime, mais s'additionnerait rapidement pour quelqu'un qui envoie des e-mails en masse.
Qu’est-ce qu’une double dépense ?
Une double dépense se produit lorsque les mêmes fonds sont dépensés plus d’une fois. Le terme est utilisé presque exclusivement dans le contexte de l’argent numérique – après tout, il serait difficile de dépenser deux fois le même argent physique.
Lorsque vous payez un café aujourd'hui, vous remettez de l'argent liquide à un caissier qui l'enferme probablement dans une caisse. Vous ne pouvez pas aller au café d’en face et payer un autre café avec la même facture. Cependant, dans les systèmes de paiement numérique, il est possible que ce soit le cas.
Vous avez sûrement dupliqué un fichier informatique avant d’utiliser les commandes copier-coller. Il vous est également facile d’envoyer le même fichier par courrier électronique à des dizaines de personnes. Puisque l’argent numérique n’est que des données, vous devez empêcher les gens de dépenser deux fois, c’est-à-dire de copier et de dépenser les mêmes unités à différents endroits. Un système de paiement numérique qui ne parvient pas à empêcher les doubles dépenses s’effondrera en un rien de temps.
Pour un examen plus approfondi des doubles dépenses, consultez Double Sending Explained.
Pourquoi une preuve de travail est-elle nécessaire ?
Si vous avez lu notre article sur la technologie blockchain, vous savez que les utilisateurs de cryptomonnaies diffusent constamment des transactions sur le réseau. Cependant, ces transactions ne sont pas immédiatement considérées comme valides. Cela ne se produit que lorsqu'ils sont confirmés et ajoutés à la blockchain.
La blockchain Bitcoin, par exemple, fonctionne comme une base de données de transactions publique (grand livre) que chaque utilisateur peut consulter. Imaginez-le comme ceci : vous et trois amis disposez d'un bloc-notes pour suivre vos transactions Bitcoin. Chaque fois que l’un d’entre vous souhaite effectuer un transfert de valeur, vous le notez :
Alice paie à Bob 5 BTC ; Bob paie à Carol 2 BTC, etc.
Mais, chaque fois que vous effectuez une transaction, vous faites référence à la transaction d’où proviennent les fonds. Ainsi, si Bob payait Carol avec 2 BTC, l’entrée ressemblerait en réalité à ce qui suit :
Bob paie à Carol 2 BTC provenant de cette transaction antérieure 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. Le groupe n’autorisera pas l’ajout de la transaction au bloc-notes car ces 2 BTC ont déjà été dépensés.
Maintenant, cela pourrait bien fonctionner dans un petit groupe. Tout le monde se connaît, donc ils seront probablement d’accord sur lequel des amis doit ajouter des transactions au bloc-notes. Et si nous voulons un groupe de 10 000 participants ? L’idée du bloc-notes ne s’adapte pas bien, car personne ne veut faire confiance à un étranger pour le gérer.
C’est là qu’intervient la preuve de travail. Elle garantit que les utilisateurs ne dépensent pas d’argent qu’ils n’ont pas le droit de dépenser. En utilisant une combinaison de théorie des jeux et de cryptographie, un algorithme PoW permet à quiconque de mettre à jour la blockchain selon les règles du système.
Comment fonctionne PoW ?
Imaginez que notre bloc-notes de l'exemple ci-dessus soit la blockchain. Mais nous n’ajoutons pas les transactions une par une, mais les regroupons en blocs. Nous annonçons les transactions au réseau, puis les utilisateurs créant un bloc les incluront dans un bloc candidat. Les transactions ne seront considérées comme valides que lorsque leur 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 peut aussi être gratifiant. La récompense en bloc est constituée des frais de transaction des utilisateurs et des tout nouveaux bitcoins créés par le protocole.
Le mécanisme de preuve de travail nécessite qu'un mineur (l'utilisateur créant le bloc) investisse des ressources telles que l'électricité et la puissance de calcul afin de hacher les données de son bloc candidat jusqu'à ce qu'une solution à une énigme soit trouvée.
Hacher les données du bloc signifie les faire passer par une fonction de hachage pour générer un hachage de bloc. Le hachage de bloc fonctionne comme une « empreinte digitale » : il s'agit d'une identité pour vos données d'entrée et est unique à chaque bloc.
En d’autres termes, un mineur doit vérifier et collecter les transactions en attente, les organiser dans un bloc candidat et transmettre les données du bloc via une fonction de hachage pour créer un hachage valide. S'ils parviennent à trouver 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 son hachage au 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 un hachage valide, il est trivial pour quiconque de confirmer que le hachage généré est correct. Il leur suffit de soumettre la même entrée (données de bloc) via la fonction de hachage et de vérifier 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 vous ne savez pas comment y arriver. Votre seule option est de transmettre vos données via une fonction de hachage et de vérifier si elles correspondent aux conditions. Si ce n’est pas le cas, vous devrez modifier légèrement vos données pour obtenir un hachage différent. Changer ne serait-ce qu'un seul caractère dans vos données entraînera un résultat totalement différent, il n'y a donc aucun moyen de prédire ce que pourrait être un résultat.
Par conséquent, si vous souhaitez créer un bloc, vous jouez à 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 variable. Sinon, vous obtiendrez toujours le même hachage en 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 résumé, le minage est le processus de collecte de données blockchain et de hachage avec une valeur occasionnelle jusqu'à ce que vous trouviez un hachage particulier. Si vous trouvez un hachage qui satisfait aux conditions fixées par le protocole, vous obtenez le droit de diffuser le nouveau bloc sur le réseau. A ce stade, les autres participants du réseau mettent à jour leurs blockchains pour inclure le nouveau bloc.
Aujourd’hui, pour les principales crypto-monnaies, les conditions sont incroyablement difficiles à satisfaire. Plus le taux de hachage sur le réseau est élevé, plus il est difficile de trouver un hachage valide. Ceci est fait pour garantir que les blocs ne sont pas trouvés trop rapidement.
Comme vous pouvez l’imaginer, essayer de deviner d’énormes quantités de hachages peut s’avérer coûteux pour votre ordinateur. Vous gaspillez des cycles de calcul et de l’électricité. Mais le protocole vous récompensera en cryptomonnaie si vous trouvez un 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 parviennent à produire un bloc valide sont récompensés par des crypto-monnaies nouvellement émises et des frais de transaction.
Générer un hachage valide prend du temps, mais d'autres utilisateurs peuvent facilement vérifier sa validité en répétant le processus de hachage.
Jusqu'ici, tout va bien. Mais que se passe-t-il si vous essayez de tricher ? Qu'est-ce qui vous empêche de mettre un tas de transactions frauduleuses dans le bloc et de produire un hachage valide ?
C’est là qu’intervient la cryptographie à clé publique. Nous n’entrerons pas dans les détails dans cet article, mais consultez Qu’est-ce que la cryptographie à clé publique ? pour un aperçu complet. En bref, il existe quelques astuces cryptographiques intéressantes qui permettent à tout utilisateur de vérifier si quelqu’un a le droit de déplacer les fonds qu’il tente de dépenser.
Lorsque vous créez une transaction, vous la signez. N'importe qui sur le réseau peut comparer votre signature avec votre clé publique et vérifier si elles correspondent. Ils vérifieront également si vous pouvez réellement dépenser vos fonds et si la somme de vos intrants est supérieure à la somme de vos extrants (c’est-à-dire que vous ne dépensez pas plus que ce que vous avez).
Tout bloc comprenant une transaction invalide sera automatiquement rejeté par le réseau. Cela coûte cher même d’essayer de tricher. Vous gaspillerez vos propres ressources sans aucune récompense.
C’est là que réside la beauté de la preuve de travail : elle rend la triche coûteuse mais rentable d’agir honnêtement. Tout mineur rationnel recherchera un retour sur investissement, on peut donc s’attendre à ce qu’il se comporte d’une manière plus susceptible de générer des revenus.
Preuve de travail (PoW) vs 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). Le concept remonte à 2011 et a été implémenté dans Ethereum et plusieurs autres protocoles.
Dans les systèmes Proof of Stake, les mineurs sont remplacés par des validateurs. Il n’y a pas d’exploitation minière impliquée et pas de 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 choisit en fonction d’un certain nombre de facteurs. Pour être éligibles, les participants doivent bloquer une mise, qui correspond à un montant prédéterminé de la devise native de la blockchain. La mise fonctionne comme une caution : tout comme les accusés ont investi une grosse somme d’argent pour les dissuader de sauter le procès, les validateurs bloquent une mise pour décourager la tricherie. S’ils agissent de manière malhonnête, leur mise (ou une partie de celle-ci) leur sera retirée.
La preuve d'enjeu présente certains avantages par rapport à la preuve de travail. Le plus notable est la plus petite empreinte carbone : puisqu’il n’est pas nécessaire de disposer de fermes minières de grande puissance dans le PoS, l’électricité consommée ne représente qu’une fraction de celle consommée dans le PoW.
Cela dit, PoS n’a pas le même historique que PoW. Bien que cela puisse être perçu comme un gaspillage, le minage est le seul algorithme consensuel qui a été testé depuis plus d’une décennie. Depuis son lancement, le PoW de Bitcoin a sécurisé des milliards de dollars de transactions. Pour dire avec certitude si le PoS peut rivaliser avec sa sécurité, le jalonnement doit être correctement testé sur le long terme.
Pensées finales
La preuve de travail était la solution originale au problème des doubles dépenses 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 les mêmes fonds soient dépensés 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.
Lectures complémentaires
Qu’est-ce que le minage de crypto-monnaie et comment ça marche ?
Qu’est-ce que la cryptographie à clé publique ?
Qu’est-ce qu’un algorithme de consensus Blockchain ?
Avis de non-responsabilité : ce contenu vous est présenté « 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, et il n’est pas non plus destiné à recommander l’achat d’un produit ou d’un service spécifique. Vous devriez demander votre propre avis auprès de conseillers professionnels appropriés. Lorsque l'article est rédigé par un contributeur tiers, veuillez noter que les opinions exprimées appartiennent au contributeur tiers et ne reflètent pas nécessairement celles 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 être volatils. La valeur de votre investissement peut augmenter ou diminuer et vous ne récupérerez peut-être pas le montant 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.

