Proof of Work permet à Bitcoin de rendre la création des blocs coûteuse tout en gardant leur vérification simple. Les mineurs rivalisent en effectuant des calculs dont ils ne peuvent prédire les résultats. Ils cherchent un hash, l’empreinte numérique de l’en-tête du bloc, dont la valeur ne dépasse pas une limite appelée target. Les autres peuvent rapidement vérifier un résultat satisfaisant. Un Full Node, ordinateur qui contrôle lui-même les règles de Bitcoin, vérifie aussi les transactions séparément : la preuve seule ne rend pas le bloc valide.
Imaginez une loterie dont on ne peut pas calculer intelligemment le billet gagnant à l’avance. Les mineurs modifient sans cesse les données d’un bloc candidat et calculent son hash. Presque tous les résultats échouent. Seul un hash dont la valeur numérique est inférieure ou égale au target actuel peut servir de Proof of Work. Le trouver est difficile, mais tout le monde peut le vérifier très vite. Bitcoin ne prouve pas un calcul utile au sens habituel ; il produit la preuve publique qu’une recherche coûteuse a été menée pour un Block Header précis. [1] [2]
Le Block Header contient les données essentielles du bloc ; le Merkle Root est une empreinte commune à ses transactions. Le nonce est un nombre que les mineurs peuvent modifier pendant la recherche. Un ASIC est une puce conçue pour une tâche précise ; ici, elle applique de façon répétée la fonction de hash SHA-256. Le mineur construit d’abord un bloc candidat : il choisit des transactions, crée la Coinbase Transaction contenant la récompense et calcule le Merkle Root. Ces valeurs, la référence au bloc précédent, le temps, le target et le nonce forment le Block Header. Un ASIC spécialisé calcule ensuite le double SHA-256 de nombreuses variantes. Il ne résout pas une énigme étape par étape en se rapprochant de la réponse. Chaque essai donne un nouveau résultat d’apparence aléatoire, et l’échec précédent ne renseigne pas sur le suivant. [3] [1]
Un hash peut être lu comme un très grand nombre. Le target du réseau est la valeur maximale encore autorisée. Plus il est bas, moins il existe de hashs acceptables et plus le nombre attendu d’essais augmente. nBits enregistre le target sous forme compacte dans l’en-tête. La difficulté exprime seulement de manière relative l’exigence de cet objectif. Ce n’est ni un nombre de zéros, ni une quantité de joules, ni la part de puissance d’un mineur. Un bloc peut arriver presque immédiatement ou après une longue attente : les règles imposent le résultat, pas le nombre réel d’essais. [2] [1]
Le nonce du Block Header ne fait que quatre octets ; un ASIC rapide peut parcourir tout son espace sans succès. Le mining ne consiste donc pas à augmenter indéfiniment un seul nombre. Le logiciel peut modifier une extra nonce dans la Coinbase Transaction, le choix ou l’ordre des transactions et d’autres données permises. Cela change la Coinbase Transaction, le Merkle Root puis l’en-tête entier, ouvrant de nouveaux candidats. Un pool distribue également des travaux distincts à de nombreuses machines afin qu’elles ne testent pas les mêmes variantes. [3]
Un hash inférieur ou égal au target remplit une condition essentielle, pas toutes les règles de Bitcoin. Un Full Node vérifie aussi taille et structure, ascendance, Coinbase Transaction, récompense autorisée, signatures, scripts et le fait que les entrées renvoient à des fonds existants qui n’ont pas encore été dépensés. Un calcul coûteux ne peut donc pas forcer l’acceptation de bitcoins excédentaires ou d’une double dépense. Un bloc invalide le reste quelle que soit l’énergie investie. Inversement, un candidat dont les transactions sont valides mais dont le Proof of Work est insuffisant ne peut pas prolonger la chaîne active. [4] [1]
Deux mineurs peuvent publier presque simultanément des blocs valides différents à la même hauteur, créant brièvement deux branches. Entre candidats valides, les nœuds suivent celle qui possède le plus de travail cumulé, représenté par chainwork. Ce n’est pas toujours un simple nombre de blocs, car ils ont pu être produits sous des targets différents. Réécrire un paiement confirmé exige de construire un historique alternatif valide, puis de rattraper et dépasser le travail que la branche normale continue d’ajouter. Les confirmations augmentent donc généralement le coût d’une attaque sans créer une irréversibilité mathématique instantanée. [5] [1]
Le Hashrate mesure le nombre d’essais de hash effectués par seconde. Si le target ne changeait jamais, la hausse du Hashrate accélérerait les blocs et une perte de puissance les ralentirait. Le mainnet Bitcoin recalcule donc le target après des intervalles de 2 016 blocs afin de ramener la moyenne de long terme vers environ dix minutes par bloc. Le calcul compare la durée observée aux deux semaines prévues et limite l’ajustement selon les bornes du protocole. Le retarget ne réagit pas directement au prix du BTC, au nombre d’utilisateurs ni à un vote des mineurs sur les règles. Dix minutes sont une moyenne visée, pas l’horaire du prochain bloc. [2]
Un mineur isolé peut attendre très longtemps un bloc valide ; beaucoup de machines passent donc par un mining pool. Celui-ci fixe un share target interne plus facile et utilise les shares reçus pour estimer la contribution de chacun. La plupart n’atteignent pas le target réseau plus strict et n’entrent jamais dans la Blockchain. Lorsqu’un résultat atteint aussi le target réseau, le pool diffuse le bloc candidat complet. Son acceptation n’est décidée ni par le pool ni par son Hashrate, mais par la validation indépendante de chaque nœud. [3]
Les appareils physiques consomment de l’électricité et dégagent de la chaleur pendant la recherche. Bitcoin n’enregistre pas de facture énergétique dans le bloc. Le hash gagnant ne révèle ni le nombre exact d’essais, ni les kilowattheures, ni la source électrique, ni le lieu. Proof of Work donne une défense économique à l’historique parce que de nouveaux essais ont des coûts réels ; une consommation supérieure ne garantit toutefois ni sécurité parfaite ni exploitation plus propre. L’évaluation de la sécurité doit aussi considérer validation, répartition du Hashrate et menace précise ; l’impact énergétique exige source, moment, efficacité et usage alternatif. [1] [2]
Un Full Node contrôle indépendamment le hash précédent, nBits, le target dérivé et le hash de l’en-tête. Les données de bloc permettent de comparer height, difficulty et chainwork, mais le hash gagnant ne révèle ni l’identité ni l’énergie exacte. Dire que « Bitcoin est sûr après six confirmations » demande du contexte : valeur du paiement, capacité de l’adversaire, distribution du travail et possibilité d’attendre. Proof of Work n’est ni une étiquette commerciale ni un vote des mineurs sur les règles ; c’est une donnée précisément définie et facile à vérifier pour choisir entre historiques valides. [2] [3] [5]
Pour une vision complète, lisez aussi Minage, Difficulty Adjustment, Timechain / Blockchain, Full Node, Block Subsidy. Cette entrée est également citée par Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Timechain / Blockchain.