Qu’est-ce que la preuve de travail ?
Définition · Preuve de travail (PoW)
Un système où le droit d'ajouter un bloc revient à celui qui trouve en premier un hash de l'en-tête de bloc inférieur à une cible. Le trouver demande un nombre énorme d'essais ; le vérifier ne demande qu'un seul hash.
Satoshi Nakamoto l'a décrite dans le livre blanc de Bitcoin en 2008, en s'appuyant sur Hashcash d'Adam Back, une ancienne idée pour rendre le spam par e-mail coûteux. Le hash valide est la preuve. Impossible d'en obtenir un sans faire le travail, et n'importe qui peut voir que vous l'avez fait.
Le reste de cette page détaille chaque élément, et la case ci-dessus vous permet d'essayer : c'est un vrai format d'en-tête Bitcoin, haché en direct dans votre navigateur. Pour une vue d'ensemble du minage, voir notre guide complet du minage de Bitcoin.
Quel problème la preuve de travail résout-elle ?
Bitcoin n'a aucune entreprise, banque ou serveur aux commandes. Des milliers d'ordinateurs conservent leur propre copie du registre, et ils doivent s'accorder sur quel bloc vient ensuite et dans quel ordre les paiements ont eu lieu. Sinon, quelqu'un pourrait dépenser la même pièce deux fois.
Un simple vote ne fonctionne pas en ligne, car n'importe qui peut démarrer mille faux ordinateurs et voter mille fois. C'est ce qu'on appelle une attaque Sybil. La preuve de travail évite ce problème : votre voix se mesure en hashs, et les hashs coûtent de l'électricité et du matériel.
Qui a son mot à dire sur le prochain bloc ?
Un vote par nœud
Un attaquant démarre 60 faux nœuds gratuitement et l'emporte sur les 12 honnêtes.
Un vote par hash
mineurs honnêtes 88 %attaquant 12 %
Les mêmes 60 nœuds se partagent le vrai matériel de l'attaquant, donc ensemble ils pèsent toujours 12 %. Les copies sont gratuites, pas les hashs.
Que contient un en-tête de bloc Bitcoin ?
Les mineurs ne hachent pas le bloc entier. Ils hachent son en-tête de 80 octets, qui engage tout le reste. Voici les six champs que vous avez modifiés dans la case en haut :
| Champ | Octets | Ce qu'il contient | Qui le modifie |
|---|---|---|---|
| Version | 4 | Quel ensemble de règles suit le bloc | Change rarement |
| Hash du bloc précédent | 32 | Le hash du bloc précédent, qui relie la chaîne | Nouveau à chaque bloc |
| Racine de Merkle | 32 | Une empreinte de toutes les transactions du bloc | Le mineur, quand les transactions ou le nonce supplémentaire changent |
| Heure | 4 | Le moment où le mineur déclare que le bloc a été fait (temps Unix) | Le mineur, dans certaines limites |
| Bits | 4 | La cible, compressée en 4 octets | Le réseau, tous les 2 016 blocs |
| Nonce | 4 | Un nombre libre pour réessayer | Le mineur, à chaque essai |
Parce que l'en-tête inclut le hash du bloc précédent, modifier un ancien bloc change son hash, ce qui casse l'en-tête suivant, et celui d'après. Nous avons vérifié le vrai bloc génésis de 2009 avec le même code que celui utilisé dans la bannière, sur notre serveur, lors de la construction de cette page :
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Comment fonctionne SHA-256 dans Bitcoin ?
SHA-256 transforme toute entrée en un nombre de 256 bits, écrit sous forme de 64 caractères hexadécimaux. Bitcoin l'exécute deux fois sur l'en-tête (on l'appelle SHA-256d). Les propriétés qui comptent pour le minage sont simples :
Même entrée, même sortie
Déterministe
Le même en-tête donne toujours le même hash, sur n'importe quel ordinateur. C'est pourquoi la vérification fonctionne.
256 bits
Taille fixe
Une courte ligne ou un livre entier, le hash fait toujours 64 caractères hexadécimaux.
Sens unique
Aucun raccourci pour revenir en arrière
Vous ne pouvez pas calculer une entrée qui donne le hash que vous voulez. Vous ne pouvez qu'essayer des entrées.
≈ 50%
Avalanche
Changez un caractère et environ la moitié des bits s'inversent. Observez la grille dans la bannière.
Cette dernière propriété est le cœur de la preuve de travail. Un hash proche de la cible ne vous apprend rien sur le prochain essai, donc il n'existe aucun chemin astucieux vers un bloc valide. Chaque mineur participe à la même loterie, et plus de hashs par seconde n'achète que plus de tickets.
Qu’est-ce que la cible, et pourquoi les zéros en tête ?
La cible est un nombre de 256 bits. Un bloc est valide quand son hash, lu comme un nombre, lui est égal ou inférieur. Comme les petits nombres commencent par des zéros, une cible plus basse se traduit par plus de zéros en tête. Chaque zéro hexadécimal supplémentaire signifie 16 fois plus d'essais en moyenne.
Nombre moyen de hashs nécessaires pour trouver un bloc valide
- Le bloc jouet de la bannière · 4 zéros hexadécimaux en tête65,536
- La cible la plus facile de Bitcoin (2009) · 8 zéros hexadécimaux en tête, bits 1d00ffff4,294,967,296
- Un bloc Bitcoin aujourd'hui · environ 20 zéros hexadécimaux en tête (estimation en direct)6.0 × 1023
Le réseau déplace la cible tous les 2 016 blocs, environ deux semaines, donc les blocs continuent d'arriver environ toutes les dix minutes quelle que soit la quantité de hashrate qui rejoint ou quitte le réseau. En ce moment, le réseau tourne à environ 1003 EH/s (en direct, mis à jour toutes les heures). Le fonctionnement de cet ajustement est expliqué dans notre guide de la difficulté de minage Bitcoin, et l'explication du hashrate couvre les unités.
Qu'est-ce qu'un nonce, et qu'est-ce que le nonce supplémentaire ?
Le nonce (« nombre utilisé une fois ») est le champ de 4 octets que les mineurs modifient à chaque essai. C'est le seul champ dont l'unique fonction est d'être changé. Le problème est que 4 octets ne donnent qu'environ 4,3 milliards de valeurs, et les machines modernes les épuisent presque instantanément.
La boucle du mineur
- 01
Essayer chaque nonce
0, 1, 2 et ainsi de suite jusqu'à 4 294 967 295. Ce sont toutes les valeurs que 4 octets peuvent contenir.
- 02
S'épuise vite
Une seule machine de 100 TH/s les parcourt toutes en environ 43 millionièmes de seconde.
- 03
Changer le nonce supplémentaire
Le mineur modifie un champ libre dans sa propre transaction de récompense (la coinbase).
- 04
Nouvelle racine de Merkle
Cette transaction a changé, donc la racine de Merkle change et chaque nonce redonne de nouveaux hashs.
Les mineurs changent donc aussi un nonce supplémentaire, quelques octets libres dans la coinbase, la première transaction du bloc qui paie le mineur. Une nouvelle coinbase signifie une nouvelle racine de Merkle, et donc des milliards de nouveaux nonces à essayer. Dans un pool de minage, le pool attribue à chaque mineur sa propre plage de nonce supplémentaire pour qu'aucun ne répète le travail d'un autre.
Pourquoi un bloc est-il coûteux à trouver mais bon marché à vérifier ?
Pour trouver un bloc
≈ 6.0 × 1023 hashs
L'ensemble du réseau, toutes ses machines, environ dix minutes d'essais.
Estimation en direct, actualisée toutes les heures.
Pour le vérifier
1 hash
N'importe quel nœud, même un ordinateur portable bon marché, hache l'en-tête de 80 octets une fois et le compare à la cible en bien moins d'une milliseconde.
Le mineur doit essayer des hashs jusqu'à ce que l'un tombe sous la cible. Tous les autres n'ont qu'à hacher l'en-tête une fois et comparer. Ce coût déséquilibré est ce qui permet à des milliers d'ordinateurs ordinaires de vérifier la chaîne sans faire confiance aux mineurs qui l'ont construite.
Essayez vous-même la partie recherche ci-dessous. Cette démo utilise un format de bloc plus simple que la bannière, mais c'est la même loterie double SHA-256, et chaque bloc trouvé se relie au précédent.
Interactif · minez un bloc dans votre navigateur
Vraie preuve de travail en SHA-256, en-tête simplifié
Hash du bloc (double SHA-256)
Modifiez les transactions : le hash change complètement avec une seule lettre.
Tentatives : 0
Votre hashrate : n/d
Temps : 0,0 s
Qu'est-ce que la règle de la chaîne la plus longue, et qu'est-ce qu'une attaque à 51 % ?
Parfois, deux mineurs trouvent un bloc presque au même moment, et le réseau a brièvement deux versions. Les nœuds suivent la chaîne qui a le plus de travail total derrière elle. On l'appelle la chaîne la plus longue, mais c'est en réalité la plus lourde : quelques blocs à haute difficulté peuvent peser plus lourd que davantage de blocs à faible difficulté.
Pour inverser un paiement, un attaquant devrait construire une chaîne plus lourde que tout le monde, en partant d'avant ce paiement. Chaque nouveau bloc ajouté (une confirmation) met l'attaquant encore plus en retard. Le livre blanc a calculé ces probabilités ; déplacez le curseur pour les voir :
Interactif · un attaquant peut-il rattraper son retard ?
Formule du livre blanc de Bitcoin, section 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Blocs de retard de l'attaquant (confirmations). Les barres utilisent une échelle logarithmique, d'une chance sur un million jusqu'à la certitude.
Avec 10 % du hashrate, la chance de réécrire un paiement après 6 confirmations est de 0,024 %, et après 1 confirmation elle est de 20,5 %.
Avec 50 % ou plus, l'attaquant finit par gagner. C'est l'attaque à 51 %. C'est sérieux, mais cela a des limites :
Avec la majorité du hashrate, un attaquant peut
- Remplacer les blocs récents par sa propre chaîne
- Dépenser deux fois des pièces qu'il s'est lui-même envoyées
- Exclure certaines transactions de leurs blocs
Même alors, il ne peut pas
- Dépenser des pièces depuis les portefeuilles d'autrui
- Créer des pièces au-delà de la récompense de bloc
- Changer les règles de Bitcoin pour tout le monde
C'est pourquoi les plateformes d'échange attendent plusieurs confirmations pour les gros dépôts. Six est la règle empirique courante.
Pourquoi la preuve de travail utilise-t-elle autant d'énergie ?
Parce que l'énergie, c'est la sécurité. Un bloc valide est la preuve qu'une vraie électricité a été dépensée. Pour réécrire l'histoire, un attaquant doit dépenser au moins autant à nouveau, et continuer à dépenser pendant que le réseau honnête avance.
Où va l'énergie, et ce qu'elle achète
Récompense de bloc et frais
Nouveaux BTC plus frais pour chaque bloc, payés à celui qui le trouve.
Machines et électricité
Les mineurs dépensent jusqu'à ce que la récompense vaut pour eux.
Hashrate du réseau
Toute cette dépense se traduit en hashs par seconde.
Coût pour réécrire l'histoire
Un attaquant doit dépenser plus que tout cela, bloc après bloc.
Combien cela représente d'électricité, et d'où elle vient, est un débat légitime. L'index de Cambridge suit les estimations, et notre guide de l'énergie du minage de Bitcoin passe en revue les chiffres. Chaque halving réduit la part de nouvelles pièces dans la récompense, donc avec le temps, les frais doivent porter une part croissante de ce budget de sécurité.
Preuve de travail vs preuve d'enjeu : quelle est la différence ?
La preuve d'enjeu (PoS) choisit le prochain producteur de bloc parmi les personnes qui bloquent des pièces en dépôt, plutôt que parmi celles qui brûlent de l'électricité. Ethereum est passé de la preuve de travail à la preuve d'enjeu en 2022. Voici une comparaison équitable :
| La preuve de travail | Preuve d'enjeu | |
|---|---|---|
| Qui ajoute le prochain bloc | Le premier mineur à trouver un hash inférieur à la cible | Un validateur choisi proportionnellement à sa mise |
| Ce qui le sécurise | Électricité et matériel dépensés en dehors de la chaîne | Des pièces bloquées dans la chaîne, qui peuvent être confisquées en cas de tricherie |
| Consommation d’énergie | Élevé, par conception | Faible |
| Pour participer | Machines et électricité bon marché | Des pièces à mettre en jeu |
| Règlement | Devient plus sûr à chaque confirmation | Points de contrôle de finalité explicites |
| Principale critique | Consommation d'énergie et concentration du minage | Concentration de la mise et une conception plus complexe |
| Historique | Bitcoin, depuis 2009 | Ethereum, depuis 2022 |
Les développeurs de Bitcoin ont conservé la preuve de travail parce que son coût se situe en dehors du système, donc personne ne peut acheter le contrôle avec des pièces qu'il possède déjà. Les partisans de la preuve d'enjeu mettent en avant les économies d'énergie et une finalité plus rapide.
Peut-on gagner du bitcoin par le minage sans exécuter soi-même la preuve de travail ?
Oui. Avec CloudMineCrypto, vous minez du bitcoin gratuitement depuis votre téléphone ou navigateur, sans matériel, sans bruit et sans facture d'électricité. Réclamez le forfait gratuit de 8 heures, et ajoutez d'autres forfaits gratuits en regardant des pubs, en jouant à des jeux, en complétant des offres et en vous connectant chaque jour. Votre solde BTC augmente tant que vos forfaits tournent, et vous retirez vers votre propre portefeuille, Lightning inclus.
Chaque plan a un hashrate. Votre estimation correspond à la part de l'ensemble du réseau représentée par ce hashrate, multipliée par 6 blocs par heure, puis par la récompense de bloc. C'est la formule que l'appli utilise pour estimer vos récompenses (des règles et limites s'appliquent). Vous voulez plus de puissance ? Un plan payant facultatif augmente votre hashrate. Le prix est affiché avant confirmation.
Bon à savoir : les récompenses sont des estimations qui évoluent avec le réseau et ne sont pas garanties, et un forfait ne donne la propriété d'aucune machine ou pool. Des limites ou une vérification peuvent s'appliquer aux retraits. Les détails figurent dans les règles de récompense et le guide gratuit du minage de Bitcoin. Conditions applicables.
Questions fréquentes
Qu'est-ce que la preuve de travail en termes simples ?
C'est une façon de rendre l'ajout d'un bloc coûteux en effort réel. Les mineurs hachent l'en-tête de bloc encore et encore, en changeant un nombre appelé le nonce, jusqu'à ce que le résultat tombe sous une cible. Trouver ce hash demande un nombre énorme d'essais, mais n'importe qui peut le vérifier avec un seul hash.
Qu'est-ce qu'un nonce dans Bitcoin ?
Un nombre de 4 octets dans l'en-tête de bloc que les mineurs modifient à chaque essai. Il a environ 4,3 milliards de valeurs possibles. Une fois épuisées, les mineurs modifient un nonce supplémentaire à l'intérieur de la transaction coinbase, ce qui donne une nouvelle racine de Merkle et un nouvel ensemble de hashs.
Pourquoi Bitcoin utilise-t-il SHA-256 deux fois ?
Bitcoin hache l'en-tête de 80 octets avec SHA-256 puis hache à nouveau ce résultat. Satoshi n'a jamais expliqué ce choix. L'interprétation habituelle est que cela protège contre les attaques par extension de longueur et offre une marge de sécurité supplémentaire.
Que permet de faire une attaque à 51 % ?
Quelqu'un qui détient la majorité du hashrate peut construire en privé une chaîne plus longue et remplacer les blocs récents, ce qui lui permet de dépenser deux fois ses propres pièces ou de bloquer certaines transactions. Il ne peut pas dépenser les pièces d'autrui, créer des pièces en dehors des règles ou changer les règles pour tout le monde.
La preuve d'enjeu est-elle meilleure que la preuve de travail ?
Elle utilise bien moins d'énergie, et la sécurité provient de pièces bloquées en mise. La preuve de travail lie la sécurité à un coût extérieur, l'électricité et le matériel, et fait tourner Bitcoin depuis 2009. Chacune fait des compromis différents, donc laquelle est meilleure dépend de ce que vous valorisez.
Puis-je gagner du bitcoin par le minage sans mon propre matériel ?
Oui. Dans l'application CloudMineCrypto, vous réclamez des forfaits de minage gratuits (le forfait gratuit, les pubs, les jeux, les offres et une connexion quotidienne) et votre solde BTC augmente tant qu'ils tournent, puis vous retirez vers votre propre portefeuille. Les récompenses sont des estimations basées sur le hashrate de votre forfait et les données du réseau en direct, elles ne sont pas garanties, et un forfait ne donne la propriété d'aucun matériel.
Sources et pour aller plus loin
- Bitcoin : un système de paiement électronique pair-à-pair (le livre blanc) · Satoshi Nakamoto, bitcoin.org
- Guide de la blockchain : en-têtes de bloc, preuve de travail, coinbase · Documentation développeur Bitcoin
- Guide de minage : minage solo, pools, getblocktemplate · Documentation développeur Bitcoin
- Difficulté · Bitcoin Wiki
- Confirmation · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Tableau de bord de minage : hashrate, difficulté, blocs récents · mempool.space
Les chiffres en direct sur cette page (hashrate du réseau, récompense de bloc, prix du BTC) proviennent de l’API CloudMineCrypto, actualisée toutes les heures, et sont indiqués comme tels là où ils apparaissent. Ce guide a un but éducatif et ne constitue pas un conseil financier. CloudMineCrypto n’est pas un produit d’investissement ; les récompenses dans l’application sont des estimations et ne sont pas garanties.
Vous avez lu comment ça marche. Maintenant, voyez-le en action.
Réclamez un plan de minage gratuit de 8 heures dans l’application CloudMineCrypto et regardez votre BTC estimé augmenter grâce aux données réseau en direct. Aucun matériel, aucune carte.