Contenu

  • 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 un élément fondamental 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 plusieurs autres crypto-monnaies utilisent PoW comme méthode pour sécuriser le réseau blockchain et ses données.

Introduction

En résumé, la preuve de travail (PoW) est un mécanisme créé pour éviter les doubles dépenses dans les systèmes de paiement numérique. Bitcoin et plusieurs autres crypto-monnaies utilisent PoW comme méthode pour sécuriser le réseau blockchain et ses données. Ces 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 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é conçue bien avant.

HashCash d'Adam Back est l'un des premiers exemples d'algorithme de preuve de travail avant l'émergence des crypto-monnaies. En obligeant les expéditeurs à effectuer un petit calcul avant d'envoyer un e-mail, les destinataires ont pu réduire l'impact du spam. Ce calcul ne coûte pratiquement rien pour un expéditeur légitime, mais pour ceux qui envoient des emails en masse, les coûts sont rapidement devenus élevés.

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

Introduction

Aujourd’hui, lorsque vous payez un café, vous remettez l’argent à une personne qui le conserve probablement dans une caisse enregistreuse. Vous ne pouvez pas aller au café de l’autre côté de la rue et payer un autre café de la même note. Cependant, dans les systèmes de monnaie numérique, il est possible de le faire. 

Vous avez probablement dupliqué un fichier informatique avec des commandes copier-coller. Il est également facile d'envoyer le même fichier par courrier électronique à des dizaines de personnes. Comme l’argent numérique n’est rien d’autre 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 peut empêcher les doubles dépenses s’effondrera en un rien de temps.

Pour un examen plus approfondi des doubles dépenses, consultez l’article du Guide des doubles dépenses.

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

Si vous lisez 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 considérées comme valides immédiatement, cela ne se produit que lorsqu'elles sont confirmées et ajoutées à la blockchain.

La blockchain Bitcoin, par exemple, fonctionne comme une base de données publique de transactions (ledger/ledger) que tous les utilisateurs peuvent consulter. Imaginez ce scénario : vous et trois amis disposez d'un ordinateur portable pour suivre vos transactions Bitcoin. Chaque fois que l’un de vous souhaite effectuer un transfert de valeur, vous notez :

Alice a payé à Bob 5 BTC ; Bob a payé à 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 serait la suivante : 

Bob a payé 2 BTC à Carol, le montant provenant de la transaction précédente avec Alice.

Nous disposons désormais d’un moyen de suivre les unités 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 permettra pas que la transaction soit ajoutée au carnet car ces 2 BTC ont déjà été dépensés.

Cela peut bien fonctionner dans un petit groupe. Puisque tout le monde se connaît, ils parviendront probablement à un accord sur les amis pouvant ajouter des transactions au carnet. Mais que se passe-t-il si nous voulons un groupe de 10 000 participants ? L’idée du bloc-notes ne conviendrait pas car personne ne veut faire confiance à un étranger pour gérer les enregistrements de transactions.

C'est là qu'intervient la preuve de travail. Cela 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 dans l'exemple ci-dessus soit la blockchain, mais nous n'ajoutons pas les transactions une par une, mais nous les regroupons en blocs. Nous rapportons les transactions au réseau et les utilisateurs créant le bloc incluront les transactions 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. L’exploitation minière est coûteuse et difficile, mais elle peut aussi être gratifiante. La récompense globale provient des frais de transaction des utilisateurs et des nouveaux bitcoins créés par le protocole. 

Le mécanisme de preuve de travail nécessite qu'un mineur (l'utilisateur qui crée le bloc) investisse des ressources telles que l'électricité et la puissance de calcul pour traiter le hachage des données de son bloc candidat jusqu'à ce que la solution à une énigme soit trouvée.

Hacher les données du bloc signifie exécuter une fonction de hachage pour générer une identité (hachage) pour le bloc. Cela fonctionne comme une « empreinte digitale » 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 en 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 transmet 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 réellement valide. 

Bien qu'il faille de nombreuses tentatives de hachage pour trouver un hachage valide, il est facile pour une personne de confirmer que le hachage généré est correct. Il lui suffit d'envoyer 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 remplit certaines conditions, mais vous ne savez pas comment y accéder. Votre seule option est de soumettre vos données via une fonction de hachage et de vérifier si elles remplissent les conditions. Sinon, vous devrez modifier un peu vos données pour obtenir un hachage différent. La modification d'un seul caractère dans les données aboutira à un résultat complètement différent, il n'y a donc aucun moyen de prédire le résultat.

Donc, si vous souhaitez créer un bloc, vous jouerez à un jeu de devinettes. En règle générale, vous prenez des informations sur toutes les transactions que vous souhaitez ajouter et d'autres données importantes, puis vous rassemblez le tout. Mais comme votre ensemble de données ne changera pas, vous devrez ajouter des informations variables. Sinon, vous obtiendrez toujours le même hachage. Ces données variables sont ce que nous appelons une donnée occasionnelle. C'est un nombre que vous modifierez à chaque essai, vous obtiendrez donc un hachage différent à chaque fois.

En bref, le minage est le processus de collecte de données de la blockchain et de hachage à l'aide d'un nom occasionnel, jusqu'à ce qu'un hachage spécifique soit trouvé. Si vous trouvez un hachage qui répond aux conditions fixées par le protocole, vous avez le droit de diffuser le nouveau bloc sur le réseau. Une fois cela fait, les autres participants du réseau mettront à jour leurs blockchains pour inclure le nouveau bloc créé.

Pour les principales crypto-monnaies actuelles, les conditions sont très difficiles à remplir. 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 soient pas trouvés trop rapidement.

Comme vous pouvez l’imaginer, essayer de deviner de grandes quantités de hachages peut coûter cher à votre ordinateur. Vous gaspillez des cycles de calcul et de l’électricité, mais le protocole vous récompensera en crypto-monnaie si vous trouvez un hachage valide.

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

  • Le minage est difficile et coûteux, mais il 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 quelqu’un essaie de tricher ? Qu'est-ce qui empêche un utilisateur d'insérer de fausses transactions 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 une analyse complète. En un mot, il existe des astuces cryptographiques 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 à votre clé publique et voir si elles correspondent. Ils vérifieront également que vous pouvez réellement dépenser vos fonds et que la somme de vos entrées est supérieure à la somme de vos sorties (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. Essayer de tricher coûte cher. Vous gaspillerez vos ressources sans obtenir de récompense.

C’est là que réside la beauté du Proof of Work : tricher coûte cher, mais c’est rentable pour ceux qui agissent honnêtement. Tout mineur rationnel recherchera un retour sur investissement, on s’attend donc à 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 plusieurs algorithmes de consensus en plus du PoW, et l'un des plus populaires est le Proof of Stake (PoS). Le concept est né en 2011 et a été implémenté sur 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 ni de course pour deviner les hachages. Au lieu de cela, les utilisateurs sont sélectionnés au hasard – s’ils sont choisis, ils doivent proposer (ou « forger ») un bloc. Si le bloc est valide, chacun reçoit une récompense composée des frais de transaction du bloc.

N’importe quel utilisateur ne peut pas être sélectionné : le protocole les choisit en fonction de plusieurs facteurs. Pour se qualifier, les participants doivent verrouiller une mise, qui correspond à un montant prédéterminé de la devise native de la blockchain. Le jalonnement fonctionne comme une caution : une grande somme d'argent est destinée à décourager l'accusé d'échapper au procès, de la même manière que les validateurs bloquent une mise pour décourager la tricherie. S’ils agissent de manière malhonnête, la mise (ou une partie de celle-ci) sera prise.

La preuve d'enjeu présente certains avantages par rapport à la preuve de travail. Plus particulièrement, l’empreinte carbone est plus petite : comme 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 qu’il puisse être perçu comme un gaspillage, le minage est le seul algorithme consensuel testé depuis plus d’une décennie. Depuis son lancement, Bitcoin PoW a sécurisé des milliards de dollars de transactions. Pour affirmer avec certitude que le PoS peut atteindre le même niveau de sécurité, le jalonnement doit être correctement testé sur le long terme.

Considérations finales

La preuve de travail était 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 fonds soit dépensé deux fois. Grâce à l'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 cryptomonnaie 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 informatives et éducatives uniquement, sans garantie d'aucune sorte. Le contenu ne doit pas être interprété comme un conseil financier, juridique ou professionnel et n’est pas destiné à recommander l’achat d’un produit ou d’un service spécifique. Vous devriez demander votre propre avis à des conseillers professionnels. Dans le cas de contributions et d'articles soumis par des contributeurs tiers, veuillez noter que les opinions exprimées sont celles de l'auteur respectif et ne reflètent pas nécessairement les opinions de Binance Academy. Pour plus de détails, veuillez lire notre clause de non-responsabilité ici. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut augmenter ou diminuer et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d'investissement et Binance Academy n'est responsable d'aucune de vos éventuelles pertes. Ce matériel ne doit pas être interprété comme un conseil financier, juridique ou professionnel. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et notre avis de risque.