Préparation de votre article…
Skip to content

Qu’est-ce que le Proof-of-Work (PoW) qui rend les attaques et le spam coûteux ?

Le Proof of Work permet de vérifier un travail sans connaître l’identité de son auteur. Découvrez son fonctionnement dans Bitcoin, contre le spam et les bots.

RÉDACTION : ADRIEN PIRON • MIS À JOUR LE 27 OCTOBRE 2026 • 12 MIN DE LECTURE

Le Proof-of-Work est un mécanisme qui oblige un ordinateur à effectuer une certaine quantité de calcul avant qu’une opération soit acceptée. Bitcoin l’a rendu célèbre avec le minage, mais son principe est beaucoup plus général et existait déjà avant les cryptomonnaies.

L’intérêt du Proof-of-Work repose sur une différence de coût entre celui qui produit la preuve et celui qui la vérifie. Le calcul demande un véritable effort au premier, tandis que la vérification est très rapide pour le second. Cette asymétrie permet de rendre certaines attaques ou automatisations beaucoup plus coûteuses sans imposer le même travail au système chargé de les contrôler.

Le Proof of Work au cœur de la sécurité de Bitcoin

Bitcoin est aujourd’hui l’utilisation la plus connue du Proof-of-Work. Les mineurs construisent des blocs contenant des transactions puis cherchent une preuve respectant une difficulté définie par le réseau. Pour y parvenir, leurs serveurs calculent un très grand nombre de hashes jusqu’à trouver une valeur suffisamment faible par rapport à la cible imposée par le protocole.

La fonction de hachage utilisée par Bitcoin est déterministe. Une même entrée donnera toujours exactement le même résultat. En revanche, il n’existe pas de méthode permettant de prévoir directement quelle modification produira le hash attendu. Les mineurs doivent donc multiplier les essais en modifiant le nonce ou d’autres données utilisées dans la construction du bloc.

La recherche peut nécessiter une quantité considérable de calculs alors que la vérification du résultat est extrêmement rapide. Un nœud Bitcoin qui reçoit un bloc n’a pas besoin de refaire toutes les tentatives effectuées par le mineur. Il recalcule simplement le hash correspondant et vérifie que celui-ci respecte la cible demandée.

Cette différence entre le coût de production et le coût de vérification est la propriété fondamentale du Proof-of-Work. Dans Bitcoin, elle est utilisée pour rendre coûteuse la création de blocs concurrents et la réécriture de l’historique.

Chaque bloc référence cryptographiquement le bloc précédent. Modifier une ancienne transaction entraîne une modification du bloc qui la contient puis des références utilisées par les blocs suivants. Un attaquant qui souhaite reconstruire cette partie de l’historique doit refaire le travail correspondant tout en essayant de rattraper le travail produit en parallèle par le reste du réseau.

Le Proof-of-Work participe ainsi au mécanisme de consensus de Bitcoin, mais le consensus n’est pas sa fonction fondamentale. Le principe essentiel est d’imposer un coût important à celui qui veut produire une preuve tout en conservant une vérification bien moins coûteuse.

La difficulté de Bitcoin évolue également avec la puissance de calcul du réseau. Le protocole cherche à maintenir une cadence moyenne de création des blocs malgré les variations du nombre et de la puissance des mineurs.

Le Proof of Work rend le spam plus coûteux

Sur un site Internet, certaines actions peuvent être presque gratuites pour un programme automatisé alors qu’elles provoquent du travail sur le serveur. Un bot peut envoyer des milliers de formulaires, créer des comptes, tenter des connexions ou récupérer massivement des pages sans devoir fournir beaucoup de ressources pour chaque demande.

Nombre de requêtesCalcul par requêteTravail cumuléÉnergie consommée
10,5 s0,5 s0,0028 Wh
100,5 s5 s0,028 Wh
1000,5 s50 s0,28 Wh
1 0000,5 s8 min 20 s2,78 Wh
10 0000,5 s1 h 23 min 20 s27,8 Wh
100 0000,5 s13 h 53 min 20 s0,278 kWh
1 000 0000,5 s5 j 18 h 53 min 20 s2,78 kWh

Un Proof-of-Work permet de déplacer une partie de ce coût vers le client. Avant d’accepter une requête, le serveur demande au navigateur d’effectuer un petit calcul cryptographique. Une fois le travail terminé, le navigateur transmet sa preuve avec la requête et le serveur peut la vérifier très rapidement.

Comparatif des meilleurs CAPTCHA pour WordPress en 2026
Comparatif des meilleurs CAPTCHA pour WordPress en 2026
WordPress7 minassistouest.fr
Protégez votre site WordPress des spams et bots malveillants grâce à notre sélection des meilleurs CAPTCHA gratuits, respectueux de la vie privée et simples à intégrer.

Pour un visiteur qui envoie occasionnellement un formulaire, le calcul est imperceptible. Pour un bot qui cherche à reproduire la même opération plusieurs dizaines de milliers de fois, chaque nouvelle tentative exige un nouveau travail et le coût cumulé augmente avec le volume d’attaque.

RequêtesSans PoWPoW de 500 msEffet
1négligeable0,5 sImperceptible
100négligeable50 sFaible
10 000négligeable1 h 23Significatif
1 000 000négligeable138 h 53Très important

Le Proof-of-Work ne cherche pas à déterminer si la personne devant l’écran est humaine. Un programme peut parfaitement résoudre le calcul demandé. Le mécanisme cherche plutôt à rendre l’automatisation massive moins avantageuse en faisant en sorte que chaque action possède un coût énergétique et donc économique.

Un CAPTCHA traditionnel essaie de distinguer un utilisateur humain d’un logiciel automatisé. Un Proof-of-Work accepte qu’un logiciel puisse résoudre le challenge mais lui impose le même coût de calcul à chaque nouvelle tentative.

Smart Ads

Cette approche fonctionne sans demander aucune interaction supplémentaire au visiteur. Le calcul peut être effectué silencieusement dans le navigateur pendant que l’utilisateur consulte ou remplit une page. Certains systèmes anti-spam et certaines extensions WordPress anti-bot utilisent déjà ce principe pour protéger des commentaires, des connexions ou des formulaires.

Le PoW permet de vérifier une preuve sans connaître l’identité de son auteur

L’une des propriétés les plus intéressantes du Proof of Work est qu’il permet de vérifier qu’un travail a été effectué sans avoir besoin de connaître l’identité de celui qui l’a produit. Le système n’a pas besoin de savoir qui se trouve derrière un ordinateur, une requête ou un mineur pour décider si la preuve est valide. Il lui suffit de vérifier que le résultat respecte les règles imposées et qu’il aurait bien nécessité l’effort attendu pour être obtenu.

Cette manière de fonctionner est particulièrement utile dans les systèmes ouverts où les participants ne se connaissent pas et où il serait difficile de construire la sécurité autour de leur identité. Un serveur peut recevoir une preuve provenant d’un visiteur totalement inconnu et la contrôler immédiatement, tandis qu’un nœud Bitcoin peut vérifier le travail réalisé par un mineur sans savoir qui il est. La confiance ne repose pas sur un compte utilisateur, une adresse IP ou une autorité chargée d’identifier chaque participant, mais sur une preuve que n’importe quel autre participant peut vérifier de la même manière.

Le Proof of Work ne prouve pas pour autant qu’une personne est honnête, humaine ou autorisée à effectuer n’importe quelle action. Il prouve qu’un certain travail a bien été fourni. Un bot peut donc parfaitement produire une preuve valide sans révéler son identité, mais il ne peut pas simplement contourner le coût nécessaire pour l’obtenir. C’est ce qui rend ce mécanisme intéressant face aux automatisations massives puisqu’il n’est pas nécessaire de reconnaître l’attaquant pour lui imposer un coût.

Le Proof-of-Work existait bien avant le Bitcoin

La preuve de travail n’a pas été inventée pour Bitcoin. Son histoire remonte au début des années 1990 lorsque Cynthia Dwork et Moni Naor étudièrent l’idée de demander un travail computationnel pour résoudre le problème des mails indésirables. Envoyer un seul message devait être suffisamment peu coûteux pour un utilisateur, mais l’expédition de centaines de milliers ou de millions de messages devait demander une quantité beaucoup plus importante de ressources informatiques.

Le Proof-of-Work existait bien avant le Bitcoin

Adam Back développa ensuite Hashcash dans les années 1990. Le système demandait à l’expéditeur d’effectuer un calcul avant de produire un jeton pouvant être rapidement vérifié par son destinataire. Hashcash avait été pensé pour limiter le spam et l’abus de ressources Internet.

Bitcoin reprendra ensuite cette famille de mécanismes pour construire son propre système de Proof-of-Work. L’histoire du PoW est assez différente de l’image qu’en donnent aujourd’hui les cryptomonnaies. Les systèmes imposant un coût computationnel pour limiter les abus existaient avant Bitcoin et le minage en représente une application particulière devenue connue.

Les dénominateurs communs de tous les Proof-of-Work

Tous les Proof-of-Work ne reposent pas sur le même algorithme, mais ils suivent le même principe : le système impose une condition, puis la machine doit trouver une réponse qui respecte cette condition.

Prenons un exemple, le système demande :

Trouver un résultat de 8 caractères qui commence par 000.

Le résultat attendu doit donc avoir cette forme : 000.....

Par exemple :

0007F2A9 ✅ valide

00012ABC ✅ valide

00A7F2A9 ❌ invalide parce qu’il ne commence que par deux zéros

8F39A7C2 ❌ invalide parce qu’il ne commence pas par 000.

La machine doit donc trouver une valeur capable de produire un résultat valide, cette valeur est appelée nonce.

Chaque échec oblige à recommencer le calcul

La machine essaie une première valeur.

nonce = 1

Résultat : 8F42A9D1 ❌ invalide parce que le résultat ne commence pas par 000.

Elle essaie donc une autre valeur.

nonce = 2

Résultat :31BC07F4 ❌ Toujours incorrect.

Puis elle continue :

Nonce testéRésultat obtenuPourquoi ?
18F42A9D1❌ Ne commence pas par 000
231BC07F4❌ Ne commence pas par 000
30A782F91❌ Un seul zéro
4009A81D7❌ Deux zéros seulement
4 2870007F2A9✅ Commence bien par 000

La machine ne sait pas à l’avance que le nonce 4287 donnera une réponse valide.

Elle doit donc essayer, vérifier le résultat puis recommencer en cas d’échec.

Plus la condition est difficile, plus le nombre d’essais nécessaires augmente.

Condition demandéeNombre moyen d’essais
0.......16
00......256
000.....4 096
0000....65 536
00000...1 048 576

Avec 000....., il faut donc en moyenne environ 4 096 essais avant de trouver une réponse valide. La machine peut trouver une réponse dès les premiers essais ou devoir en effectuer beaucoup plus.

Une fois la bonne réponse trouvée, la vérification est beaucoup plus simple.

Le client transmet le nonce trouvé et le serveur refait le calcul une seule fois.

Si le résultat commence bien par 000, la preuve est valide.

Le client peut donc avoir effectué des milliers de calculs pour trouver la réponse, alors que le serveur n’en effectue qu’un seul pour la vérifier.

Le PoW augmente le coût tout en gardant la vérification rapide

Le Proof of Work est particulièrement intéressant lorsqu’une attaque coûte très peu à lancer mais oblige le serveur à effectuer beaucoup plus de travail en retour. Une requête peut consommer bien plus de ressources que la requête pour l’envoyer. Tant que cette différence est à l’avantage de l’attaquant, il peut multiplier les tentatives à grande échelle pour un coût relativement faible.

Le Proof of Work permet de rééquilibrer cette situation en obligeant le client à fournir lui aussi une certaine quantité de calcul avant que le serveur n’accepte sa demande. Le serveur reçoit ensuite la preuve et peut la vérifier très rapidement avant de poursuivre le traitement. Le coût principal se retrouve ainsi du côté de celui qui envoie la requête, alors que la vérification reste légère du côté du serveur.

La difficulté peut également évoluer selon la situation. Lorsque le volume de requêtes augmente fortement ou qu’un comportement automatisé est détecté, le calcul demandé est alors plus important. Le coût augmente pour celui qui multiplie les tentatives, tandis que le serveur conserve une vérification aussi rapide.

Limiter les attaques DDoS en imposant un coût à chaque requête

Lors d’une attaque par déni de service, l’objectif est de multiplier les requêtes jusqu’à épuiser les ressources disponibles. Le Proof of Work permet de compliquer ce type d’attaque en obligeant chaque client à effectuer un calcul avant que le serveur n’accepte de consacrer davantage de ressources à sa demande.

Cette protection est particulièrement intéressante lorsque quelques octets envoyés par un attaquant suffisent à déclencher un traitement beaucoup plus lourd côté serveur. En imposant un travail préalable, chaque nouvelle requête demande également des ressources à celui qui l’envoie. Multiplier les connexions ou les opérations devient alors progressivement plus coûteux au lieu de reposer presque entièrement sur les ressources du serveur ciblé.

Le réseau Tor utilise ce principe pour renforcer certains services onion face aux attaques par déni de service. Lorsque la charge augmente fortement, les clients peuvent être amenés à fournir davantage de travail avant que leur demande soit prise en compte. Un utilisateur qui effectue quelques connexions est peu affecté, tandis qu’une infrastructure qui cherche à en générer massivement doit répéter le calcul pour chacune d’elles.

Cette protection est surtout adaptée aux attaques qui cherchent à épuiser les ressources applicatives d’un service. Elle ne peut pas empêcher à elle seule une attaque volumétrique qui tente de saturer la connexion réseau puisque le trafic peut alors bloquer l’accès au serveur avant même que celui-ci puisse vérifier la preuve. Le Proof of Work vient compléter les protections DDoS classiques plutôt que les remplacer.

Recalcul dans
Trop de lecteurs utilisent actuellement un bloqueur de publicités

Nous autorisons une partie de nos lecteurs à consulter gratuitement nos articles avec un bloqueur de publicités. Cependant, leur nombre est actuellement trop élevé pour que nous puissions maintenir cet accès pour tout le monde.

Vous pouvez désactiver votre bloqueur pour continuer à lire immédiatement, vous abonner pour profiter de tous nos contenus sans publicité ou revenir un peu plus tard lorsque la pression sera retombée.

J’ai désactivé mon bloqueur

L’accès sera rétabli automatiquement dès que la situation le permettra.