Recherche de site Web

Qu’est-ce que la double dépense dans la blockchain et comment est-elle évitée ?


Les doubles dépenses peuvent éroder toute confiance dans une crypto-monnaie, c'est pourquoi tant d'efforts ont été déployés pour garantir que ce type de fraude ne se produise pas.

Les transactions en crypto-monnaie sont sécurisées et fiables grâce à la technologie blockchain. Cependant, comme la plupart des systèmes innovants, la blockchain présente des vulnérabilités exploitables, qui peuvent entraîner une double dépense. Mais qu’est-ce que la double dépense et comment l’éviter ?

Qu’est-ce que la double dépense ?

Une double dépense se produit lorsqu’une seule entité dépense le même jeton de crypto-monnaie plus d’une fois. Cela est dû à une faille dans les monnaies numériques qui les rend facilement reproductibles.

Les informations présentes sur le réseau blockchain peuvent être modifiées lors des transactions, sous réserve de respecter certaines conditions. Lorsque ces conditions sont remplies, les blocs de transactions modifiés peuvent entrer dans la blockchain, permettant au coupable de réacquérir les jetons cryptographiques précédemment dépensés.

Pour mieux comprendre comment cela se produit, voici une description simplifiée du processus. Lorsqu'une transaction est effectuée sur un réseau blockchain, par exemple Bitcoin, elle crée un bloc contenant les données de la transaction, les données du bloc précédent et un horodatage. Le bloc possède un code crypté appelé hachage.

Les personnes qui exploitent Bitcoin sur le réseau Bitcoin vérifient ensuite la transaction via un algorithme de consensus de preuve de travail, ferment le bloc et créent un nouveau bloc. Le nouveau bloc contient l'horodatage, le hachage du bloc précédent et les nouvelles données de transaction. Ensuite, le mineur victorieux reçoit des récompenses de bloc (BTC) pour avoir vérifié le hachage.

Pour réussir à doubler les dépenses, l’auteur doit exploiter un bloc secret qui dépasse la création du bloc réel. Pour ce faire, l'auteur du crime doit introduire le bloc secret avant le nouveau bloc afin que le réseau, trompé en pensant qu'il s'agit du dernier ensemble du bloc en croissance, ajoute le faux bloc à la chaîne sans cesse croissante. L’auteur du crime peut alors récupérer les jetons cryptographiques précédemment utilisés.

Même si la double dépense est un phénomène bien connu dans le domaine de la cryptographie, il n’existe aucun cas documenté. En effet, la vérification des transactions est un processus complexe qui nécessite une énorme puissance de calcul. Falsifier ou dupliquer un bloc est une tâche intense, car les auteurs doivent travailler avant tous les autres mineurs de la blockchain.

Pourquoi la double dépense est-elle un problème ?

Les doubles dépenses sont une insulte à la sécurité du réseau blockchain. Cela se produit lorsqu’il existe une faiblesse exploitable.

De plus, le réseau blockchain est censé être sécurisé et digne de confiance. Si une double dépense se produit sur un réseau de crypto-monnaie, cela crée une méfiance à l’égard de ce système de crypto-monnaie, décourageant les investisseurs. Et finalement, la valeur du jeton diminuera.

De plus, une double dépense constitue un vol numérique. Le pirate informatique gagne tandis que quelqu'un d'autre sur le réseau, généralement un commerçant, perd. L’auteur conserve la propriété des biens du commerçant et du jeton cryptographique.

Exemples d'attaques à double dépense

Il existe différentes formes d’attaques à double dépense utilisées par les cybercriminels. En voici quelques uns:

51 % d'attaque

L’attaque des 51 % est la forme de double dépense la plus largement discutée. Cela se produit lorsqu'un mineur (ou un groupe de mineurs) contrôle la majorité (plus de 50 %) de la puissance de calcul validant les transactions sur le réseau.

Lorsque cela se produit, ils peuvent dicter les transactions, créer de nouveaux blocs, récupérer les cryptos déjà dépensés et attribuer des jetons cryptographiques. Cela leur donne le pouvoir de dépenser deux fois plus de pièces numériques.

L’attaque de 51 % est moins susceptible de se produire dans les crypto-monnaies plus établies, comme le Bitcoin. Cela est dû au grand nombre de mineurs sur le réseau et à la difficulté de hachage. Cependant, les crypto-monnaies dotées de réseaux plus petits, comme les crypto-monnaies nouvelles ou dérivées, pourraient être menacées.

En 2014, GHash.io, un pool minier qui a fonctionné de 2013 à 2016, a brièvement dépassé 51 % de la puissance de calcul de Bitcoin sur Bitcoin. Cette évolution a généré d’importantes inquiétudes quant à la sécurité du réseau. Ensuite, Gnash.io a volontairement plafonné sa puissance de calcul à 39,99 % pour restaurer la confiance dans le réseau.

Attaque Finney

Ce type d’attaque à double dépense a été popularisé et nommé d’après Hal Finney. Lors d’une attaque Finney, un pirate informatique n’a pas besoin de 51 % de la puissance de hachage. Pour que cela réussisse, un commerçant doit accepter une transaction non vérifiée du pirate informatique, qui est un mineur.

Le hacker génère un bloc où il se crédite des jetons crypto en initiant une transaction de l’adresse X à l’adresse Y (toutes deux lui appartenant) sans la diffuser sur le réseau. Il procède à un autre paiement avec les mêmes jetons cryptographiques de l'adresse X à l'adresse Z, qui appartient à un commerçant.

Si le commerçant accepte les transactions non confirmées sans vérification de la blockchain, le pirate libère alors le bloc qui comprend sa transaction initiale. Le réseau invalide la transaction avec le commerçant une fois que celui-ci a remis des biens ou des services au pirate informatique. Cela permet au pirate informatique de doubler ses dépenses.

Attaque de course

Cette attaque est plus facile à réaliser que les attaques 51% et Finney. Dans une attaque raciale, une « course » existe entre deux transactions.

Le pirate informatique utilise différentes machines pour envoyer le même token à deux commerçants. Si le commerçant envoie des biens ou des services avant que la transaction ne soit confirmée, il découvrira que la transaction n'a pas été acceptée lors du processus de minage.

Comment la blockchain empêche les doubles dépenses

Les blockchains protègent contre les doubles dépenses grâce à des algorithmes de consensus, tels que :

Preuve de travail (PoW)

La preuve de travail est un processus hautement compétitif qui nécessite énormément d’énergie. Dans ce mécanisme de consensus, les mineurs utilisent des ordinateurs complexes pour deviner le hachage des blocs de transaction.

Un hachage est un code hexadécimal crypté et unique à 64 chiffres que possède chaque transaction. Ce processus dépense de la puissance de calcul pour prouver l'authenticité d'une transaction.

Une fois la transaction vérifiée, le mineur réussi l'ajoute au grand livre numérique décentralisé. À la fin du processus, le mineur qui réussit reçoit des récompenses en bloc dans le jeton numérique natif.

Bitcoin, Bitcoin Cash, Litecoin, Monero et Dogecoin sont des crypto-monnaies populaires qui utilisent cet algorithme de consensus.

Preuve de participation (PoS)

Dans Proof-of-Stake, les participants au réseau crypto authentifient les transactions de bloc et sont appelés validateurs. Les validateurs proposent (ou « mettent en jeu ») certains de leurs jetons cryptographiques dans un contrat intelligent pour obtenir le droit de vérifier les transactions avant de les ajouter à la blockchain en pleine croissance.

Le réseau sélectionne un validateur honnête en fonction de ses jetons mis en jeu et de la durée de mise en jeu. Une fois sélectionné, le gagnant vérifie la transaction, ce que les autres validateurs confirment.

Tout comme PoW, les validateurs reçoivent également une récompense sous forme de revenu après avoir authentifié de nouvelles transactions. Si le réseau trouve un validateur malhonnête, il perd une partie ou la totalité de ses jetons mis en jeu à titre de pénalité.

Ce processus est plus rapide et nécessite moins de puissance de calcul et d’énergie que PoW. Par conséquent, les participants à la blockchain peuvent agir efficacement en tant que validateurs.

Ethereum 2.0, Cardano, Tezos et Solana utilisent chacun PoS.

Preuve de participation déléguée (DPoS)

Ce type d'algorithme de consensus PoS oblige les utilisateurs de la blockchain à utiliser leurs jetons numériques pour voter pour des validateurs honnêtes appelés « délégués ». Un délégué est choisi au hasard pour valider les nouvelles transactions et les ajouter à la blockchain.

Après paiement, le délégué distribue les récompenses de bloc aux utilisateurs qui ont voté pour elles.

Les crypto-monnaies qui utilisent l'algorithme DPoS incluent EOS, Ark, Tron et Lisk.

Aucun cas pour l'instant, mais une double dépense est une possibilité

Bien qu’il n’y ait aucun cas confirmé, l’émergence de nouvelles cryptomonnaies et les récents progrès technologiques pourraient créer des surprises en matière de dépenses doubles. Par conséquent, vous devez vous protéger en effectuant des transactions sur des blockchains sécurisées de crypto-monnaie. Et en règle générale, attendez que les mineurs confirment les transactions avant de libérer vos jetons, biens ou services.