Une double dépense peut éroder toute confiance dans une crypto-monnaie, c'est pourquoi tant d'efforts ont été déployés pour s'assurer que ce type de fraude ne se produise pas.

Les transactions de crypto-monnaie sont sécurisées et dignes de confiance grâce à la technologie blockchain. Cependant, comme pour la plupart des systèmes innovants, la blockchain présente des vulnérabilités exploitables, ce qui peut entraîner une double dépense. Mais qu'est-ce que la double dépense et comment l'empêcher ?

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 sur le réseau blockchain peuvent être modifiées lors des transactions, sous certaines conditions. Lorsque ces conditions sont remplies, la modification blocs de transactions peut entrer dans la blockchain, permettant à l'auteur de réacquérir des jetons cryptographiques précédemment dépensés.

instagram viewer

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, disons Bitcoin, elle crée un bloc qui contient les données de transaction, les données du bloc précédent et un horodatage. Le bloc a un code crypté appelé hachage.

Crédit d'image: Livre blanc original Bitcoin

Le les personnes qui extraient du Bitcoin sur le réseau Bitcoin puis vérifiez la transaction via un algorithme de consensus de preuve de travail, fermez le bloc et créez 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 en bloc (BTC) pour avoir vérifié le hachage.

Pour exécuter avec succès une double dépense, l'auteur doit exploiter un bloc secret qui dépasse la création du bloc réel. Pour ce faire, l'auteur 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 au nombre toujours croissant chaîne. L'auteur 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 l'espace crypto, il n'y a 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 intense, car les auteurs doivent travailler avant tous les autres mineurs de la blockchain.

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

La double dépense est une insulte à la sécurité du réseau blockchain. Cela se produit lorsqu'il y a 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 de la méfiance envers ce cryptosystème, ce qui décourage les investisseurs. Et finalement, la valeur du jeton chutera.

De plus, la double dépense est un vol numérique. Le pirate gagne alors 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 que les cybercriminels emploient. En voici quelques uns:

51 % d'attaque

L'attaque des 51 % est la forme de double dépense la plus 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 des transactions, créer de nouveaux blocs, récupérer la crypto déjà dépensée et attribuer des jetons crypto. Cela leur donne le pouvoir de dépenser deux fois les pièces numériques.

L'attaque de 51% est moins susceptible de se produire dans des crypto-monnaies plus établies, comme Bitcoin. Cela est dû au grand nombre de mineurs sur le réseau et au difficulté de hachage. Cependant, les crypto-monnaies avec des réseaux plus petits, comme les nouveaux ou les bifurqués, peuvent être à risque.

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 suscité des inquiétudes importantes quant à la sécurité du réseau. Ensuite, Gnash.io a volontairement plafonné sa puissance de calcul à 39,99% pour rétablir 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 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, qui est un mineur.

Le pirate génère un bloc où il se crédite de jetons cryptographiques en lançant une transaction de l'adresse X vers 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.

Crédit image: Olivier Le Moal/Shutterstock

Si le commerçant accepte les transactions non confirmées sans vérification de la part de la blockchain, le pirate libère alors le bloc qui inclut sa transaction initiale. Le réseau invalide la transaction avec le marchand après que le marchand a fourni des biens ou des services au pirate. Cela permet au pirate 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 utilise des machines différentes pour envoyer le même jeton à deux marchands. 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 pendant le processus de minage.

Comment Blockchain empêche les doubles dépenses

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

Preuve de travail (PoW)

La preuve de travail est un processus hautement compétitif qui nécessite une énorme quantité 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 chiffré et unique à 64 chiffres que chaque transaction possède. Ce processus utilise une puissance de calcul pour prouver l'authenticité d'une transaction.

Une fois la transaction vérifiée, le mineur qui réussit ajoute la transaction au registre 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 offrent (ou « participent ») certains de leurs jetons cryptographiques dans un contrat intelligent pour gagner 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 jalonnés et de la durée de jalonnement. Une fois sélectionné, le gagnant vérifie la transaction, ce que les autres valideurs confirment.

Tout comme PoW, les validateurs reçoivent également une récompense sous forme de revenu après avoir authentifié les nouvelles transactions. Si le réseau trouve un validateur malhonnête, il perd une partie ou la totalité de ses jetons jalonnés à 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 honnête validateurs appelés « délégués ». Un délégué est choisi au hasard pour valider les nouvelles transactions et les ajouter au chaîne de blocs.

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

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

Pas encore de cas, mais une double dépense est une possibilité

Bien qu'il n'y ait pas de cas confirmés, l'émergence de cryptos nouveaux et bifurqués et les récentes avancées technologiques peuvent créer des surprises de dépenses doubles. Par conséquent, vous devez vous protéger en effectuant des transactions sur des chaînes de blocs de crypto-monnaie sécurisées. Et en règle générale, attendez que les mineurs confirment les transactions avant de libérer vos jetons, biens ou services.