La double dépense ne se produit qu'avec la monnaie numérique et non avec l'argent physique.
Les blockchains peuvent utiliser la décentralisation ou la centralisation pour contrôler la double dépense.
Les attaques 51%, Race et Finney sont des types de double dépense.
Pour réduire la possibilité de double dépense, les utilisateurs devraient accepter les transactions avec au moins trois confirmations.
La nature des monnaies numériques telles que les crypto-monnaies et la façon dont elles sont transférées donnent lieu à un problème appelé double dépense. Ce qui crée ce problème est le retard dans la finalité de la transaction car le système doit confirmer les paiements. Lorsque vous transférez la crypto-monnaie, il faut quelques secondes ou minutes avant qu'elle ne soit finalisée ou confirmée. C'est différent de la façon dont nous effectuons des paiements en utilisant des billets et des pièces. Avec les billets et les pièces, le paiement est confirmé lorsque vous remettez l'argent à une autre personne. Dans cet article, nous allons aborder le problème de la double dépense et comment l'éviter.
Double dépense
La double dépense consiste à effectuer deux paiements en utilisant le même jeton. Le problème de la double dépense ne se pose pas lorsqu'on utilise de l'argent physique. En effet, vous ne pouvez pas donner à deux personnes le même billet de 100 dollars. Dans la plupart des paiements en ligne, un tiers s'assure que le paiement va au bénéficiaire prévu. D'autre part, les processeurs de paiement et autres institutions financières traditionnelles vérifient eux-mêmes les transactions.
Cependant, le scénario ci-dessus est différent lorsqu'il s'agit d'effectuer des paiements à l'aide de crypto-monnaies et d'autres actifs numériques qui existent sur la blockchain. La raison en est que lors du transfert de monnaies numériques, seules deux parties sont impliquées, le payeur et le bénéficiaire. C'est là qu'intervient le danger de la double dépense.
En d'autres termes, la double dépense a lieu lorsque quelqu'un perturbe la blockchain dans le but de voler la crypto-monnaie ou tout actif numérique utilisé comme moyen de paiement. La personne qui vole la crypto-monnaie enverra ensuite une preuve de transaction pour que le paiement ait l'air authentique. Dans certains cas, la personne responsable de la double dépense peut supprimer purement et simplement la transaction. Les principaux auteurs d'un tel problème sont les développeurs de blockchain et autres experts en crypto-monnaies.
Un exemple de double dépense est celui d'un utilisateur A qui envoie 50 dollars d'un jeton à B avant d'envoyer les mêmes jetons à C. En fin de compte, il est difficile de conclure si l'utilisateur A a trompé B ou C.
Types de doubles dépenses
Il y a trois façons dont les gens peuvent exécuter une double dépense de cryptocurrencies. Ces méthodes sont l'attaque 51%, l'attaque Race et l'attaque Finney.
51% d'attaque
Pour mener une attaque à 51 %, l'attaquant doit d'abord contrôler plus de 50 % de la puissance de hachage du réseau, qui est nécessaire pour valider les transactions et les blocs. De cette façon, il peut manipuler la situation pour envoyer les jetons à deux personnes. Toutefois, cela ne se produit que lorsque le système de blockchain en question ne dispose d'aucun autre système de sécurité approprié.
Attaque de course
Cette méthode ne fonctionne que si le commerçant accepte une transaction avec zéro confirmation. Ainsi, l'attaquant peut envoyer les mêmes jetons à une autre personne. Par exemple, si un commerçant effectue une double transaction où A accepte la transaction qui n'est pas confirmée et B attend la confirmation, à la fin la transaction vers B sera confirmée alors que A recevra des pièces à double dépense. Par conséquent, pour que les destinataires prévus obtiennent leurs crypto-monnaies, ils ne doivent accepter que les transactions qui sont confirmées par au moins trois validateurs.
Attaque de Finney
Ce type d'attaque est mis en place par un mineur qui génère plusieurs blocs sans les transmettre au réseau. Dans ce cas, le mineur effectue un double paiement en utilisant les mêmes jetons. Lorsque le commerçant vérifie la transaction, il livre les biens ou les services au payeur. Le commerçant ne transmet la transaction au réseau qu'après avoir reçu les biens. Par conséquent, toutes les autres transactions sont confirmées, sauf celle du commerçant. Pour éviter ce type d'attaque, le bénéficiaire ne doit pas accepter une transaction non confirmée.
Comment les blockchains devraient empêcher le problème de la double dépense
Il est important de noter que si les utilisateurs sont confrontés à des cas de double dépense, ils perdront confiance dans la blockchain. Par conséquent, la blockchain doit s'assurer qu'elle dispose d'un système de sécurité approprié pour contrer la possibilité de double dépense. Les blockchains peuvent prévenir le problème de la double dépense par la centralisation ou la décentralisation.
Centralisation
Dans ce cas, une blockchain peut faire appel à un tiers de confiance pour valider toutes les transactions. Bien qu'il s'agisse d'une méthode sûre pour éviter les doubles dépenses, la centralisation a ses propres inconvénients. Dans la plupart des cas, cette méthode est très coûteuse. En effet, la blockchain devra payer le coût du transfert des crypto-monnaies ainsi que de leur validation.
Décentralisation
Le principal moyen d'empêcher la double dépense en utilisant la décentralisation est la validation rapide de la première transaction. Ainsi, la transaction dupliquée devient invalide le plus rapidement possible. Pour rendre ce système efficace, il est essentiel de disposer d'un algorithme de consensus qui synchronise les différents serveurs qui stockent les données correspondantes. Par exemple, les systèmes de consensus de type "proof-of-stake" et "proof-of-work" aident à synchroniser les données de transaction à temps, empêchant ainsi les doubles dépenses.
Un cas de bitcoin
La blockchain
bitcoin dispose de mesures de sécurité adéquates pour empêcher les doubles dépenses. Si le réseau
bitcoin fonctionne comme prévu et que les utilisateurs attendent que toutes les transactions soient confirmées, la double dépense n'aura pas lieu. Le protocole vérifie les transactions par le biais du mécanisme de confirmation.
Lorsqu'un commerçant envoie les mêmes pièces à différentes adresses, elles sont stockées dans un réseau de transactions non validées. Si une transaction arrive en même temps, celle qui a le plus grand nombre de confirmations est vérifiée et l'autre rejetée. Par mesure de sécurité, il faut attendre au moins six confirmations pour accepter des transactions.
Éviter les doubles dépenses
Une question que certaines personnes peuvent se poser est de savoir comment elles peuvent contrôler les doubles dépenses. Bien que la responsabilité principale du contrôle des doubles dépenses incombe aux blockchains, chaque individu peut jouer son rôle. Vous ne devriez pas accepter de transactions qui ne sont pas confirmées. Vous pouvez également prendre plus de temps avant d'accepter une transaction. Cela permet de réduire les risques de double dépense.
En règle générale, il est recommandé d'attendre au moins trois confirmations pour une transaction. En outre, vous pouvez prendre au moins 10 minutes avant d'accepter une transaction. Ces mesures devraient contribuer à réduire les cas de double dépense.
Conclusion
Le problème de la manipulation de l'argent est courant dans de nombreux endroits du monde. En ce qui concerne l'argent physique, les gens peuvent créer des faux billets. Néanmoins, avec les crypto-monnaies, les gens peuvent les dépenser deux fois. Au final, l'un des destinataires attendus sera perdant car il ne recevra pas lesdits jetons. L'un des moyens d'éviter la double dépense est d'attendre qu'une transaction ait au moins 3 confirmations.
Auteur:
Mashell C., Chercheur de Gate.io
Cet article ne représente que l'opinion du chercheur et ne constitue pas une suggestion d'investissement.
Gate.io se réserve tous les droits sur cet article. La rediffusion de l'article sera autorisée à condition que Gate.io soit référencé. Dans tous les cas, des mesures légales seront prises en raison de la violation des droits d'auteur.