L'un des plus anciens problèmes de la monnaie numérique est d'une simplicité trompeuse : comment empêcher quelqu'un de dépenser deux fois la même pièce ? Avec l'argent liquide, la réponse est évidente : une fois remis, le billet disparaît. La monnaie numérique est différente. Ce sont des données, et les données peuvent être copiées. Sans une solution efficace à ce problème, aucune monnaie numérique ne pourra jamais fonctionner comme de la vraie monnaie.
La résolution du problème de la double dépense est ce qui a fait du livre blanc de Bitcoin, publié en 2008, une véritable révolution. Satoshi Nakamoto ne s'est pas contenté de décrire une nouvelle monnaie ; il a proposé une solution concrète à un problème informatique qui avait freiné le développement de la monnaie numérique pendant des décennies. Ce guide explique ce qu'est la double dépense, comment elle se produit, les principaux types d'attaques utilisés pour l'exploiter, ainsi que l'ensemble des techniques employées par les réseaux blockchain modernes pour la prévenir.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireQu'est-ce que la double dépense ?
La double dépense consiste à dépenser la même unité de monnaie numérique plus d'une fois. Dans la finance traditionnelle, ce problème est quasi inexistant. Lorsqu'on remet de l'argent liquide à un commerçant, le billet physique est transféré et ne peut se trouver à deux endroits simultanément. Lors d'un virement bancaire, une autorité centrale met à jour un registre, débitant votre compte avant que celui du destinataire ne soit crédité.
Les cryptomonnaies fonctionnent différemment. Ce sont des fichiers et du code, et non des objets physiques. Sans mesures de sécurité adéquates, un utilisateur malhonnête pourrait théoriquement copier une transaction et la diffuser simultanément à plusieurs destinataires, tentant ainsi de recevoir des biens ou des services de chacun d'eux tout en ne payant qu'une seule fois.
En pratique, les conséquences sont graves :
Perte de confiance : Les attaques par double dépense sapent la confiance dans un réseau de cryptomonnaie et peuvent dissuader les utilisateurs, les commerçants et les investisseurs d'y participer.
Perte financière: Les commerçants qui acceptent des paiements ensuite annulés perdent à la fois leurs marchandises et leur argent. Les plateformes d'échange qui traitent des dépôts frauduleux subissent un préjudice financier direct.
Instabilité du réseau : Les attaques répétées contre les petits réseaux ont provoqué des effondrements de prix, des retraits des plateformes d'échange et, dans certains cas, la mort effective d'un projet.
Empêcher la double dépense est l'exigence de sécurité fondamentale pour toute cryptomonnaie. Tout le reste, vitesse de transaction, les structures de frais, les contrats intelligents, les conséquences d'une première résolution fiable de ce problème.
Comment se produit la double dépense
La double dépense exploite le laps de temps entre la diffusion d'une transaction et la réception d'un nombre suffisant de confirmations pour qu'elle soit considérée comme définitive. Cet intervalle, aussi infime soit-il, constitue la surface d'attaque.
Les scénarios les plus courants sont les suivants :
Transactions simultanées conflictuelles : Un utilisateur malveillant diffuse simultanément deux transactions utilisant les mêmes fonds vers différentes parties du réseau. Les deux transactions se propagent brièvement avant que les nœuds ne déterminent laquelle est valide.
Annulation de la transaction avant confirmation : Un utilisateur initie un paiement, reçoit des biens ou des services avant que la transaction ne soit confirmée, puis diffuse une transaction conflictuelle pour récupérer les fonds.
Manipulation de la puissance de hachage : Sur les réseaux à preuve de travail, un mineur disposant d'une puissance de calcul suffisante peut secrètement construire une chaîne de blocs concurrente qui n'inclut pas une transaction qu'il souhaite annuler, puis publier cette chaîne pour écraser l'historique des transactions légitimes.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireTypes d'attaques à double dépense
Il est important, tant pour les opérateurs de plateformes que pour les utilisateurs, de comprendre les méthodes d'attaque spécifiques. Chaque attaque présente des exigences, des profils de risque et des contre-mesures différents.
Attaque de course
Une attaque par concurrence cible les commerçants ou les particuliers qui acceptent des transactions non confirmées. L'attaquant envoie simultanément deux transactions contradictoires : l'une au profit de la victime et l'autre lui permettant de récupérer les fonds sur son propre portefeuille. Il espère ainsi que la transaction de remboursement atteindra les mineurs en premier et sera validée dans un bloc, invalidant ainsi le paiement à la victime.
La victime court un risque uniquement si elle livre des biens ou des services avant d'avoir reçu au moins une confirmation de blocage. La défense est simple : n'acceptez jamais de paiements sans confirmation pour toute transaction d'une valeur significative.
Les attaquants établissent souvent une connexion directe avec le nœud de la victime pour prendre l'avantage. Désactiver les connexions entrantes aux nœuds réduit l'exposition à cette technique.
Attaque de Finney
L'attaque Finney, du nom de Hal Finney, le développeur Bitcoin qui l'a décrite pour la première fois, est plus technique et nécessite que l'attaquant soit un mineur actif. Ce dernier mine secrètement un bloc contenant une transaction d'envoi de fonds de son portefeuille vers lui-même, mais ne le diffuse pas immédiatement. Il utilise ensuite ces mêmes fonds pour payer une victime. Si celle-ci libère les biens avant la confirmation de la transaction, l'attaquant diffuse le bloc qu'il a miné secrètement, ce qui invalide le paiement et lui restitue les fonds.
Une attaque Finney ne peut être totalement éliminée malgré toutes les précautions, mais elle oblige l'attaquant à renoncer à la récompense de bloc qu'il aurait pu obtenir en diffusant honnêtement. Attendre au moins six confirmations de bloc avant de diffuser des biens ou des services de grande valeur rend les attaques Finney impraticables.
Attaque Vector76
L'attaque Vector76, également appelée attaque à confirmation unique, combine des éléments des attaques de concurrence et de Finney. L'attaquant crée deux nœuds : l'un connecté uniquement au nœud de la victime, et l'autre au réseau principal. Il pré-mine un bloc contenant une transaction de grande valeur provenant d'une plateforme d'échange ou d'un commerçant, puis l'envoie directement au nœud de la victime au lieu de le diffuser sur l'ensemble du réseau. La victime reçoit une confirmation et libère les biens. Simultanément, l'attaquant diffuse une transaction conflictuelle de faible valeur sur le réseau principal, qui finit par l'emporter et annuler le paiement initial.
Cette attaque exploite le fait qu'une transaction, même confirmée une seule fois, peut être annulée si le bloc correspondant n'est pas accepté par la majorité du réseau. La solution consiste à exiger plusieurs confirmations et à bloquer l'acceptation des connexions entrantes provenant de sources inconnues.
51% Attack
L'attaque à 51 %, également appelée attaque majoritaire, est la forme la plus connue et la plus redoutée de double dépense. Si une seule entité prend le contrôle de plus de la moitié de la puissance de minage totale d'un réseau (dans le cadre d'une preuve de travail) ou de plus de la moitié de l'offre mise en jeu (dans le cadre d'une preuve d'enjeu), elle peut créer une version privée concurrente de la blockchain plus rapidement que les participants honnêtes.
Le scénario typique est le suivant : l’attaquant envoie une importante quantité de cryptomonnaie sur une plateforme d’échange, la convertit en un autre actif, puis la retire. Il diffuse ensuite sa blockchain minée secrètement, qui ne contient pas la transaction de dépôt, l’annulant de fait. Il détient alors à la fois la cryptomonnaie d’origine et l’actif converti.
Le réseau Bitcoin n'a jamais subi d'attaque réussie à 51 %. D'ici octobre 2025, Taux de hash de Bitcoin Le taux de hachage atteint environ un zettahash par seconde, rendant une attaque économiquement prohibitive : le coût se chiffrerait en milliards de dollars, tandis que tout gain réaliste serait bien moindre. Cependant, des réseaux de preuve de travail plus petits, avec une participation limitée au minage, ont été exploités à plusieurs reprises.
Bitcoin Gold a perdu environ 18 millions de dollars lors d'une attaque à 51 % en mai 2018. Ethereum Classic a subi plusieurs attaques de ce type en 2019 et 2020 ; des pirates ont tenté une double dépense de 1.1 million de dollars sur Coinbase et ont réussi à en effectuer une autre de 51 200,000 dollars sur Gate.io. Verge, ZenCash, Litecoin Cash et MonaCoin ont également été victimes d'attaques similaires entre 2018 et 2019.
Attaque de force brute
Une attaque par force brute consiste pour un attaquant disposant d'une puissance de hachage importante, mais inférieure à la majorité, à tenter de miner une chaîne privée plus rapidement que le réseau public. L'attaquant diffuse un paiement et, pendant que le réseau établit les confirmations, il tente d'étendre sa chaîne privée suffisamment pour la dépasser. La probabilité de succès diminue exponentiellement avec chaque confirmation publique supplémentaire, rendant cette attaque impraticable contre tout réseau disposant d'une puissance de hachage significative ou contre les transactions nécessitant plusieurs confirmations.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireComment la technologie blockchain empêche la double dépense
La technologie blockchain fournit la solution architecturale de base pour lutter contre la double dépense grâce à plusieurs mécanismes interdépendants.
Décentralisation
La blockchain fonctionne sur un réseau décentralisé de nœuds, éliminant ainsi tout point de contrôle unique. Aucune autorité centrale ne peut être compromise ou corrompue pour approuver une transaction frauduleuse. Pour qu'une double dépense réussisse, un attaquant doit convaincre simultanément la majorité du réseau, ce qui devient progressivement plus difficile à mesure que le réseau s'étend.
Immutabilité
Une fois qu'une transaction est enregistrée sur la blockchain et qu'elle a reçu suffisamment de confirmations, elle devient définitivement. La modifier nécessiterait de réécrire non seulement ce bloc, mais aussi chaque bloc ajouté ultérieurement, ce qui exige des ressources informatiques et économiques sans cesse croissantes.
Horodatage et ordonnancement
Les transactions sont horodatées et ajoutées aux blocs par ordre chronologique. Lorsque deux transactions conflictuelles sont diffusées simultanément, le réseau détermine de manière déterministe laquelle est valide : celle qui est incluse en premier dans un bloc confirmé. La transaction perdante est rejetée.
Ledger distribué
Chaque nœud du réseau conserve une copie complète de l'historique des transactions. Grâce à la présence de milliers de nœuds indépendants détenant des enregistrements identiques, toute manipulation silencieuse du registre est impossible. Toute version frauduleuse de l'historique entrerait immédiatement en conflit avec les copies détenues par la majorité.
Mécanismes de consensus : le noyau technique de la prévention de la double dépense
Les différentes blockchains utilisent différents algorithmes de consensus pour garantir la validité des transactions. Le choix du mécanisme a des conséquences directes sur la résistance à la double dépense.
Preuve de travail
Dans les systèmes de preuve de travail comme Bitcoin, les mineurs rivalisent pour résoudre des problèmes cryptographiques complexes. Le premier mineur à trouver une solution valide ajoute le bloc suivant et reçoit une récompense. La résolution de ce problème nécessitant des ressources réelles, notamment du matériel spécialisé et de l'électricité, le coût d'une tentative de création d'une chaîne frauduleuse est considérable et mesurable.
La sécurité du PoW face aux attaques à 51 % est directement proportionnelle à la puissance de hachage totale du réseau. Attaquer Bitcoin aujourd'hui nécessiterait d'acquérir et d'exploiter plus de la moitié du matériel de minage existant dans le monde, une tâche logistiquement et financièrement impossible. Depuis son lancement en 2009, Bitcoin a fonctionné sans qu'aucune double dépense n'ait été constatée sur son réseau principal.
Preuve de participation
Dans les systèmes à preuve d'enjeu comme Ethereum, les validateurs immobilisent des cryptomonnaies en garantie pour obtenir le droit de proposer et d'attester de nouveaux blocs. Un attaquant tentant une attaque à 51 % devrait acquérir et immobiliser plus de la moitié de l'offre totale. Sur Ethereum, cela représente plus de 20 milliards de dollars d'ETH immobilisés, selon les valorisations actuelles. Les validateurs malhonnêtes risquent la confiscation de leurs fonds immobilisés par un mécanisme de pénalité appelé « slashing », ce qui rend les attaques économiquement contre-productives.
La transition d'Ethereum de la preuve de travail à la preuve d'enjeu en septembre 2022 (la Fusion) a également introduit la finalité : après deux époques (environ 13 minutes), une transaction est considérée comme irréversible sans une attaque coordonnée extrêmement coûteuse et détectable impliquant au moins un tiers de tous les ETH mis en jeu.
Finalité des transactions à travers les réseaux
La notion de finalité est cruciale pour le risque de double dépense. Les systèmes de preuve de travail offrent une finalité probabiliste : une transaction reste mathématiquement réversible, mais la probabilité d’annulation diminue exponentiellement à chaque confirmation supplémentaire. Les systèmes de preuve d’enjeu offrent une finalité économique, où l’annulation nécessiterait la destruction de sommes considérables de capital mis en jeu.
À titre de comparaison, le réseau Bitcoin exige six confirmations avant de considérer les paiements de valeur élevée comme sécurisés. Avec un temps de bloc de dix minutes, ces six confirmations prennent environ une heure. Le système PoS d'Ethereum atteint une finalité pratique en environ 13 minutes. Solana, avec son temps de bloc de 400 millisecondes, atteint une finalité pratique quasi instantanée pour la plupart des usages.
Le modèle UTXO : la défense structurelle du Bitcoin
Bitcoin utilise une structure de données spécifique appelée modèle UTXO (Unspent Transaction Output) qui contribue directement à la prévention de la double dépense. Chaque transaction Bitcoin consomme un ou plusieurs UTXO en entrée et crée de nouveaux UTXO en sortie. Un UTXO ne peut être dépensé qu'une seule fois. Sa dépense est enregistrée comme consommée dans le registre.
Lorsqu'une transaction est diffusée sur le réseau, les nœuds vérifient immédiatement si les UTXO référencés ont déjà été dépensés. Si un utilisateur malveillant tente de diffuser simultanément deux transactions utilisant le même UTXO, les nœuds en accepteront une et rejetteront l'autre. Le modèle UTXO rend structurellement impossible qu'une même cryptomonnaie soit référencée validement dans deux transactions confirmées différentes.
Confirmations de transaction : la norme de sécurité pratique
Les confirmations constituent l'outil le plus pratique dont disposent les particuliers et les commerçants pour se protéger contre les doubles dépenses.
Chaque confirmation correspond à un bloc supplémentaire ajouté à la blockchain, par-dessus celui contenant votre transaction. Chaque nouveau bloc nécessite un consensus au sein du réseau, ce qui rend de plus en plus difficile pour un attaquant de remplacer tous les blocs par la transaction originale.
La recommandation standard du réseau :
Bitcoin: Six confirmations constituent la norme généralement acceptée pour les transactions importantes, ce qui prend environ 60 minutes aux temps de traitement actuels. Pour les achats de faible montant et à faible risque, une à trois confirmations peuvent suffire.
Ethereum: Douze confirmations sont nécessaires pour une sécurité standard, ce qui prend environ 2 à 3 minutes. Après deux époques, les transactions atteignent leur finalité économique complète.
Litecoin: 6 confirmations, prenant environ 15 minutes compte tenu de son créneau horaire de 2.5 minutes.
Solana : Grâce à son temps de bloc de 400 millisecondes et à sa conception basée sur la preuve d'historique, les confirmations sont quasi instantanées.
Bitcoin Cash : 15 confirmations sont généralement recommandées en raison de son réseau de minage relativement plus petit et de son historique de vulnérabilité aux attaques de 51 % sur les chaînes connexes.
La règle de base : Plus la valeur de la transaction est élevée, plus des confirmations sont nécessaires avant de libérer les marchandises ou de considérer le paiement comme définitif.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireExemples concrets et études de cas
Le problème de la malléabilité des transactions Bitcoin en 2014
En 2014, une attaque de double dépense a exploité une vulnérabilité du Bitcoin appelée malléabilité des transactions. Les attaquants ont manipulé les données de transaction pour créer plusieurs transactions conflictuelles en modifiant l'identifiant unique de chaque transaction tout en conservant son contenu. La communauté Bitcoin a réagi par des mises à jour logicielles et des améliorations du protocole, résolues de manière plus complète par la mise à niveau SegWit en 2017, qui a séparé les signatures des transactions de leurs données et éliminé totalement cette vulnérabilité.
La transition d'Ethereum vers la preuve d'enjeu
Ethereum est passé de preuve de travail à preuve d'enjeu Suite à la fusion de septembre 2022, les validateurs sont sélectionnés pour proposer et confirmer les blocs en fonction de leurs ETH mis en jeu, et des sanctions sévères sont appliquées en cas de comportement malhonnête. Cette transition a considérablement renforcé la résistance d'Ethereum à la double dépense et a introduit une finalité économique que la preuve de travail (PoW) ne pouvait offrir.
Dash InstantSend
Dash met en œuvre une fonctionnalité appelée InstantSend qui utilise un réseau de nœuds maîtres pour verrouiller les entrées de transaction presque immédiatement après leur diffusion, empêchant ainsi leur utilisation dans des transactions conflictuelles. Ceci offre une protection quasi instantanée contre les attaques par concurrence sans attendre les confirmations de bloc standard, rendant Dash particulièrement adapté aux transactions en point de vente.
Protocole de consensus de Ripple
Ripple utilise son propre mécanisme de consensus, l'algorithme de consensus du protocole Ripple (RPCA), selon lequel un réseau de validateurs de confiance doit parvenir à un accord à la supermajorité pour chaque transaction. Le réseau atteint la finalité en 3 à 5 secondes, sans minage ni consommation d'énergie liée à la preuve de travail.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireMeilleures pratiques pour prévenir la double dépense
Que vous soyez un commerçant acceptant les paiements en cryptomonnaie ou un utilisateur individuel, ces pratiques réduisent considérablement votre exposition aux attaques de double dépense.
Attendez les confirmations appropriées.
Il s'agit de la protection personnelle la plus efficace. Ne jamais céder des biens ou des services de grande valeur pour une transaction non confirmée. Pour Bitcoin, attendez au moins six confirmations pour les paiements importants. Sur les réseaux plus rapides comme Ethereum ou Solana, l'attente se mesure en minutes ou en secondes, et non en heures.
Utilisez les frais de transaction de manière stratégique
Des frais de transaction plus élevés incitent les mineurs et les validateurs à inclure votre transaction dans le bloc suivant, réduisant ainsi la période pendant laquelle une transaction conflictuelle pourrait être diffusée. En cas de congestion du réseau, les transactions insuffisamment financées peuvent rester non confirmées pendant une période prolongée, augmentant ainsi le risque d'attaques par concurrence.
Appliquer la gestion sécurisée du portefeuille
Choisissez portefeuilles réputés avec une solide expérience en matière de sécurité. Magasin clés privées Stockez vos données hors ligne dans des portefeuilles matériels ou un stockage chiffré. Activez l'authentification à deux facteurs sur vos comptes d'échange et de portefeuille. Ces pratiques réduisent le risque que vos identifiants soient compromis et utilisés pour effectuer des transactions frauduleuses.
Effectuez des transactions sur des réseaux établis
Les réseaux blockchain plus importants et plus établis, avec une participation significative au minage ou au staking, sont bien plus résistants aux attaques à 51 % que les alternatives plus petites. Lorsque la sécurité est la priorité absolue, les réseaux présentant la liquidité la plus importante et la distribution de validateurs la plus large constituent le choix le moins risqué.
Surveillez les transactions de manière proactive
Surveillez attentivement l'historique des transactions et utilisez des explorateurs de blockchain pour vérifier indépendamment le statut de confirmation. Toute activité inhabituelle, comme des annulations de transactions inattendues ou des changements soudains dans le niveau de confirmation, peut indiquer une réorganisation du réseau en cours.
Participer à la gouvernance du réseau
Pour les personnes qui gèrent des nœuds ou des validateurs, participer au développement du protocole et voter sur les améliorations de sécurité contribue à la résilience globale du réseau. Les initiatives communautaires, comme la limitation volontaire de la puissance de calcul lorsqu'un mineur approche les 50 % de la puissance de hachage, ont historiquement protégé l'intégrité de Bitcoin lors de moments critiques.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrireDéfis et orientations futures
Compromis entre évolutivité et sécurité
Avec l'essor des cryptomonnaies, la nécessité d'accélérer le traitement des transactions engendre des tensions avec les exigences de confirmation visant à prévenir la double dépense. Les solutions de couche 2, telles que le Lightning Network de Bitcoin et l'écosystème de rollup d'Ethereum, pallient ce problème en déportant les transactions fréquentes et de faible valeur hors chaîne, tout en réglant les soldes finaux sur la couche de base sécurisée. Ceci préserve une protection efficace contre la double dépense sur la blockchain sous-jacente tout en permettant des paiements courants et pratiques.
Informatique quantique
L'informatique quantique représente un risque théorique à long terme pour les algorithmes cryptographiques qui sous-tendent la sécurité des portefeuilles numériques et le minage par preuve de travail. Des normes cryptographiques post-quantiques sont activement développées. Le National Institute of Standards and Technology (NIST) a publié ses premières normes cryptographiques post-quantiques en 2024, et les projets blockchain suivent de près ces évolutions afin de pérenniser leurs fondements cryptographiques.
Interopérabilité et les transactions inter-chaînes
Les transferts d'actifs entre chaînes introduisent de nouveaux vecteurs de double dépense, car les actifs existent de fait à deux endroits pendant le processus de pontage. Plusieurs failles de sécurité majeures exploitées lors de ces ponts ces dernières années ont démontré ce risque. La solution à long terme réside dans l'amélioration des protocoles de vérification inter-chaînes et le développement de ponts reposant sur une confiance minimale et bénéficiant des garanties de sécurité de leurs chaînes sous-jacentes.
Finance décentralisée et risques liés aux contrats intelligents
Les protocoles de finance décentralisée (DeFi) introduisent contrat intelligent La complexité des systèmes intelligents peut créer de nouvelles surfaces d'attaque pour la manipulation des transactions. L'audit, la vérification formelle des contrats intelligents et le déploiement prudent des liquidités constituent les principales défenses.
Évolution des mécanismes de consensus
Les recherches sur de nouveaux modèles de consensus se poursuivent. Parmi les approches étudiées, on peut citer la preuve d'enjeu désignée, une preuve d'histoire, et divers modèles hybrides, chacun visant à améliorer le compromis sécurité-évolutivité auquel sont confrontés les mécanismes existants. L'objectif demeure le même : offrir la meilleure protection possible contre la double dépense tout en permettant le débit de transactions requis par une adoption généralisée.
Obtenez la carte crypto UPay
Découvrez le meilleur du paiement en ligne et des transactions cryptographiques transparentes.
S'inscrire

