Double dépense : le problème que Bitcoin devait résoudre
La double dépense est le risque de réutiliser le même morceau numérique dans deux paiements. Bitcoin le limite avec UTXO, blocs, preuve de travail et confirmations.
Article pédagogique uniquement. Il ne constitue pas un conseil financier, fiscal, juridique ou un conseil en investissement.
L’essentiel
- La double dépense est le risque de dépenser deux fois la même unité numérique, comme si la même noisette était promise à deux personnes.
- Dans Bitcoin, une transaction dépense des sorties non dépensées, les UTXO. Une même sortie ne peut être acceptée qu’une seule fois dans la chaîne.
- Avant confirmation, deux transactions conflictuelles peuvent circuler. Le réseau ne retient durablement que celle inscrite dans la chaîne valide suivie par les nœuds.
- La preuve de travail rend coûteuse la réécriture de l’historique. Chaque confirmation ajoute une couche de sécurité pratique.
- Le risque n’est pas magique ni impossible dans tous les contextes. Il se gère avec des confirmations adaptées au montant et au risque.

Définition simple: la double dépense, c’est vouloir utiliser deux fois la même pièce numérique
La double dépense est un problème propre aux objets numériques: une information peut être copiée beaucoup plus facilement qu’une pièce physique. Si tu envoies une photo à deux amis, chacun reçoit une copie. Si tu fais la même chose avec une monnaie numérique, le système doit empêcher que la même unité serve à payer deux personnes.
Le glossaire du Bitcoin Developer Guide définit une double dépense comme une transaction qui utilise la même entrée qu’une transaction déjà diffusée. Dit simplement: deux messages essaient de dépenser le même morceau de bitcoins.
Le livre blanc Bitcoin: A Peer-to-Peer Electronic Cash System présente ce problème dès le résumé. Les signatures numériques prouvent qui peut transférer une pièce électronique, mais elles ne suffisent pas si personne ne vérifie qu’une ancienne propriétaire n’a pas signé deux dépenses concurrentes.
Pourquoi le numérique complique la monnaie
Avec une pièce métallique, Noisette ne peut pas donner exactement la même noisette à Pistache et à Nestor en même temps. Une fois la noisette dans la patte de Pistache, elle n’est plus dans sa réserve. Le monde physique impose une rareté visible.
Avec un fichier, c’est différent. Copier ne coûte presque rien. Si une monnaie numérique naïve était seulement un fichier signé, un fraudeur pourrait essayer d’envoyer une version à un vendeur, puis une autre version à quelqu’un d’autre. Les deux copies auraient l’air crédibles si on ne regarde pas l’historique commun des dépenses.
Le livre blanc de Satoshi explique que la solution classique consiste à utiliser une autorité centrale, souvent appelée mint dans le document, qui voit toutes les transactions et décide laquelle est arrivée en premier. Bitcoin cherche une autre voie: rendre les transactions publiques pour le réseau et créer un mécanisme de consensus.
Le rôle des UTXO: Bitcoin ne dépense pas un solde abstrait
Pour comprendre la double dépense, il faut éviter l’image du compte bancaire. Le Bitcoin Developer Guide, section Transactions, explique qu’une transaction possède des entrées et des sorties. Chaque entrée dépense des satoshis reçus dans une sortie précédente. Une sortie attend ensuite d’être dépensée plus tard comme UTXO.
Une UTXO est donc un morceau disponible. Si ton portefeuille affiche un solde, il additionne plusieurs morceaux. Quand il envoie un paiement, il choisit certains morceaux comme entrées, crée une sortie pour le destinataire, et parfois une sortie de rendu pour toi.
Le Bitcoin Developer Guide, section Block Chain, précise qu’une sortie d’une transaction particulière ne peut être utilisée comme entrée qu’une seule fois dans la chaîne. Toute référence suivante à la même sortie est une double dépense interdite.
| Élément | Image simple | Règle Bitcoin |
|---|---|---|
| UTXO | Un sachet de noisettes encore fermé | Peut être utilisé comme entrée d’une transaction |
| Transaction valide | Un sachet ouvert une seule fois | Dépense des UTXO disponibles et crée de nouvelles sorties |
| Double dépense | Deux personnes essaient d’ouvrir le même sachet | Deux transactions utilisent la même entrée |
| Chaîne confirmée | Le carnet officiel de la forêt | Ne garde qu’une histoire cohérente des sorties dépensées |
Ce qui se passe quand deux transactions se contredisent
Supposons que Bogue possède une UTXO de 20 000 sats. Il prépare une transaction qui envoie ces 20 000 sats à Pistache. Puis il prépare une autre transaction qui essaie d’utiliser la même UTXO pour payer Amande. Les deux messages ne peuvent pas être vrais ensemble.
Au niveau local, un nœud qui voit déjà une dépense peut refuser de relayer une transaction conflictuelle selon ses règles de mempool. Mais la mempool n’est pas un tribunal mondial unique. Le Bitcoin Design Guide rappelle qu’une transaction diffusée entre dans la memory pool et reste à zéro confirmation tant qu’elle n’est pas minée.
C’est pour cela que zéro confirmation ne veut pas dire règlement final. Un commerçant qui accepte un paiement non confirmé accepte un risque. Pour un petit café, ce risque peut être jugé faible. Pour une voiture, attendre plusieurs confirmations devient beaucoup plus raisonnable.
La solution de Bitcoin: un ordre public des transactions
Le livre blanc résume la solution: les transactions doivent être publiquement annoncées, et les participants doivent s’accorder sur une seule histoire de l’ordre dans lequel elles ont été reçues. Bitcoin ne demande pas à un serveur central de tenir cet ordre. Il utilise un réseau pair-à-pair, des blocs et de la preuve de travail.
Dans la pratique, les nœuds vérifient les règles. Les mineurs rassemblent des transactions valides dans des blocs candidats. Lorsqu’un bloc valide est trouvé et accepté, les transactions qu’il contient obtiennent une première confirmation. Une transaction conflictuelle qui essaie de dépenser les mêmes entrées ne peut pas coexister dans la même chaîne valide.
Mastering Bitcoin décrit le point clé: dans le protocole Bitcoin, une transaction est valide seulement si elle dépense des sorties antérieures et si aucune transaction précédente dans la même chaîne n’a déjà dépensé ces mêmes sorties. L’ordre topologique des transactions élimine deux dépenses valides du même morceau dans une chaîne donnée.
Pourquoi la preuve de travail change le coût de la triche
La preuve de travail ne sert pas seulement à créer de nouveaux bitcoins. Elle sert à rendre l’historique coûteux à modifier. Le guide Block Chain explique que changer une transaction déjà incluse impose de modifier le bloc qui la contient et tous les blocs suivants.
Dans le livre blanc, les nœuds acceptent la chaîne avec la plus grande preuve de travail comme preuve de ce qui s’est passé. Si une personne veut remplacer une transaction confirmée par une double dépense, elle doit refaire assez de travail pour rattraper puis dépasser la chaîne honnête. Plus il y a de confirmations, plus le coût attendu augmente.
Cela ne veut pas dire que Bitcoin efface toute notion de risque. Le document de Satoshi parle d’une sécurité tant que la majorité de la puissance de calcul est contrôlée par des nœuds honnêtes. Une attaque dite 51 pour cent reste un scénario théorique important à comprendre: elle pourrait réorganiser l’historique récent, mais elle coûte cher et ne permet pas de voler des pièces sans clés privées.
Confirmations: attendre que l’histoire se solidifie
Une confirmation signifie que la transaction est incluse dans un bloc. Deux confirmations signifient qu’un autre bloc a été ajouté au-dessus. Le Bitcoin Design Guide indique qu’une transaction avec une confirmation peut revenir à zéro en cas de réorganisation courte, et que plusieurs confirmations réduisent ce risque pratique.
L’image Noisette: une noisette posée sur une étagère peut encore tomber. Une noisette enfermée dans une boîte, puis dans cinq autres boîtes empilées, devient beaucoup plus difficile à récupérer sans refaire tout l’empilement. Les confirmations sont des couches d’effort ajoutées au-dessus de la transaction.
Il n’existe pas une règle universelle valable pour tous les paiements. Un service peut accepter moins de confirmations pour un petit montant, et en demander plus pour un montant élevé. Le bon réflexe débutant consiste à distinguer visibilité, inclusion dans un bloc et sécurité pratique.
| État | Ce que cela signifie | Réflexe prudent |
|---|---|---|
| Diffusée, 0 confirmation | Des nœuds l’ont vue, mais elle n’est pas dans un bloc | Ne pas la traiter comme finale pour un montant important |
| 1 confirmation | Elle est incluse dans un bloc valide | Déjà plus robuste, mais une réorganisation courte reste possible |
| Plusieurs confirmations | Des blocs supplémentaires s’ajoutent au-dessus | Le coût d’une réécriture augmente fortement |
| Conflit détecté | Deux transactions dépensent la même entrée | Attendre la chaîne confirmée, ne pas se fier à la première vue |
Ce que la double dépense n’est pas
La double dépense ne signifie pas que quelqu’un peut cloner tous les bitcoins. Elle concerne une tentative de faire accepter deux dépenses concurrentes des mêmes entrées. Les règles de validation et la chaîne confirmée empêchent que les deux deviennent valides ensemble dans l’historique suivi par les nœuds.
Elle ne signifie pas non plus que Bitcoin serait “piraté” dès qu’une transaction non confirmée disparaît. Une transaction peut être remplacée, abandonnée, ou ne jamais être minée si les frais sont insuffisants. Le sujet de la double dépense concerne surtout le conflit entre deux dépenses incompatibles.
Enfin, elle ne donne pas accès à la clé privée du destinataire. Même un attaquant très puissant ne peut pas signer à la place d’un autre utilisateur sans sa clé. Une attaque d’historique vise l’ordre des transactions, pas la cryptographie de base du portefeuille.
- Confondre une transaction vue en mempool avec une transaction confirmée.
- Croire que deux explorateurs voient toujours exactement la même mempool.
- Penser que les confirmations sont utiles seulement aux plateformes, alors qu’elles protègent toute réception sensible.
- Imaginer qu’une attaque 51 pour cent permet de créer des bitcoins illimités, ce qui reste interdit par les règles validées par les nœuds.
- Accepter de gros montants sans politique d’attente adaptée.
Conclusion: Bitcoin transforme un problème de copie en problème de consensus
La double dépense est le défi central de la monnaie numérique: empêcher que le même morceau soit utilisé deux fois sans confier tout le système à un arbitre central. Bitcoin répond avec des transactions publiques, des UTXO, des nœuds qui vérifient les règles, des mineurs qui ordonnent les transactions en blocs et une preuve de travail qui rend l’historique coûteux à réécrire.
Pour un débutant, la phrase à retenir est simple: une même UTXO ne peut être dépensée qu’une fois dans la chaîne valide suivie par les nœuds. Avant confirmation, il peut exister des messages concurrents. Après inclusion dans un bloc puis plusieurs confirmations, l’histoire devient de plus en plus robuste.
C’est ce qui rend Bitcoin différent d’un simple fichier que l’on copierait. La rareté numérique ne vient pas d’un fichier impossible à copier. Elle vient d’un réseau qui accepte une seule histoire cohérente des dépenses.
Questions fréquentes
Questions fréquentes sur la double dépense Bitcoin
La double dépense est-elle encore possible avec Bitcoin ?
Une tentative peut exister, surtout avant confirmation. Le point important est que deux transactions conflictuelles ne peuvent pas rester valides ensemble dans la chaîne confirmée suivie par les nœuds.
Pourquoi attendre des confirmations ?
Parce qu’une transaction à zéro confirmation n’est pas encore ancrée dans un bloc. Chaque confirmation ajoute du travail au-dessus de la transaction et rend une réorganisation plus coûteuse.
Une attaque 51 pour cent permet-elle de voler les bitcoins des autres ?
Non, elle ne donne pas les clés privées des autres utilisateurs. Elle peut viser une réorganisation de transactions récentes ou empêcher certaines confirmations, ce qui est différent d’une signature frauduleuse.
La mempool est-elle le registre officiel ?
Non. La mempool est l’ensemble local des transactions non confirmées vues par un nœud. Le registre robuste est la chaîne de blocs validée.
Quel lien avec les UTXO ?
Une double dépense essaie de réutiliser une même sortie non dépensée comme entrée dans deux transactions incompatibles. Le modèle UTXO rend ce conflit vérifiable.
Testez votre compréhension
Mini quiz: double dépense
Sélectionne une réponse par question. Le résultat s'affiche après chaque réponse.
0/3 répondues · 0 noisettes
Continuer avec Noisette Academy
Articles liés recommandés
Sources et repères
- 1. Bitcoin: A Peer-to-Peer Electronic Cash System
Formulation originale du problème de double dépense et solution par réseau pair-à-pair, horodatage et preuve de travail.
- 2. Bitcoin Developer Guide, Block Chain
Registre public, UTXO, interdiction de réutiliser une sortie, preuve de travail, forks et chaîne la plus difficile à recréer.
- 3. Bitcoin Developer Guide, Transactions
Entrées, sorties, UTXO, txid, signature et propagation de transactions.
- 4. Bitcoin Developer Glossary, Double spend
Définition concise de la double dépense comme transaction utilisant la même entrée qu’une transaction déjà diffusée.
- 5. Mastering Bitcoin, Mining and Consensus
Mining comme mécanisme de consensus et ordre topologique empêchant deux dépenses valides de la même sortie.
- 6. Bitcoin Design Guide, Transactions
Cycle utilisateur: création, signature, diffusion, mempool, validation et confirmations.
- 7. Bitcoin.com, What is the double-spend problem
Signal SERP francophone: besoin de définition simple pour débutants.