La fraude de la double-dépense

Principe de la fraude

La double dépense consiste à émettre deux transactions qui dépensent le même avoir : la première transaction est émise pour payer un premier destinataire, la seconde transaction est émise pour payer un complice ou le pirate lui-même, afin de récupérer la somme dépensée.

Afin que la fraude ne soit pas immédiatement découverte, ces deux transactions doivent coexister dans deux instances concurrentes de la blockchain. La seconde instance doit devenir la plus longue blockchain pour que la fraude réussisse. Dans ce cas, la première transaction ne pourra pas être recyclée dans un autre bloc car elle sera jugée invalide car incompatible avec la seconde transaction et sera donc finalement rejetée. Si entre les deux transactions, le premier destinataire a accepté le paiement, il ne découvrira qu'après coup que cette transaction a été rejetée. Puisque les participants sont anonymes, il ne pourra se retourner contre le fraudeur.

Contrecarrer la fraude

Pour veiller à ne pas être victime de la fraude, le destinataire de paiement doit s'assurer que la transaction émise par le payeur est bien enregistrée dans un bloc de la plus longue des instances et que cette instance est pérenne. C'est pourquoi, il doit attendre qu'un nombre suffisant de blocs succèdent au bloc qui enregistre sa transaction, avant d'accepter le paiement.

La structure d'un bloc par l'arbre de Merkle permet de restituer un bloc allégé ; le destinataire de paiement peut ainsi vérifier une transaction sans avoir à télécharger le contenu complet des blocs.

Si le nombre de bloc successeurs est suffisamment élevé, et que le pirate ne dispose pas de plus de 51% de la puissance de calcul total alors le risque de double-dépense tend vers zéro (cf. la démonstration par Satoshi Nakamoto basé sur la probabilité de Poisson).

results matching ""

    No results matching ""