Qu'est-ce que Double Spend ?
Double Spend se produit lorsqu'une personne tente d'utiliser les mêmes pièces numériques pour deux paiements différents. Imaginez photocopier un billet de concert et le présenter à deux videurs. Sur les blockchains, les tentatives de Double Spend sont contrées par le consensus, mais des fenêtres temporelles et des astuces peuvent encore être exploitées.
Si un paiement apparaît dans votre portefeuille, il doit être final. Pas tout à fait. Tant que le réseau ne l'a pas confirmé, la transaction peut encore être remplacée ou ignorée par les mineurs.
Comment fonctionne Double Spend
Voici un déroulé rapide avec un attaquant malintentionné et un vendeur sans méfiance.
- Étape 1: L'attaquant crée deux transactions dépensant les mêmes pièces, l'une vers le vendeur et l'autre vers lui-même.
- Étape 2: Il diffuse d'abord le paiement au vendeur pour qu'il apparaisse comme en attente et le vendeur remet les biens.
- Étape 3: Il envoie ensuite la transaction conflictuelle avec des frais plus élevés pour attirer les mineurs ou un pool de minage.
- Étape 4: Si les mineurs incluent d'abord le conflit dans un bloc, le paiement en attente du vendeur est rejeté par le réseau.
- Étape 5: Un attaquant plus puissant peut miner une branche privée puis la publier pour remplacer l'historique public, inversant ainsi quel paiement compte.
Voilà l'idée et pourquoi les confirmations sont importantes.
Pourquoi Double Spend est important
Si vous acceptez des paiements en crypto, ce n'est pas anodin. Cela affecte vos résultats et votre tranquillité d'esprit.
- Avantage: Connaître le risque vous permet de définir des règles de confirmation intelligentes et de sécuriser davantage les ventes instantanées.
- Perspective: Les menaces de Double Spend ont influencé la manière dont les chaînes considèrent la finalité, les frais et le comportement des mineurs.
- Pertinence: Vous le verrez dans les flux de point de vente, les plateformes d'échange, les lancements de NFT et les ponts DeFi.
Pour les petits achats, appliquez des paliers de risque et surveillez les indicateurs 'replace by fee'. Pour de plus grosses sommes, attendez plusieurs confirmations. Six confirmations sur Bitcoin restent une norme solide.
Caractéristiques clés de Double Spend
Traits principaux à noter :
- Conflit: Deux transactions ou plus tentent de dépenser les mêmes entrées, que le réseau ne peut accepter ensemble.
- Temporalité: La probabilité de succès diminue à mesure que le nombre de confirmations augmente.
- Incitation: Les mineurs ont tendance à privilégier les transactions avec des frais plus élevés, ce qui peut favoriser le conflit de l'attaquant.
- Risque: Le Double Spend prospère lorsque les vendeurs acceptent des paiements sans confirmation sans vérification.
Variantes
Différents scénarios, même principe. Quelques variantes courantes :
- Race Attack: L'attaquant envoie deux transactions conflictuelles presque en même temps, en espérant que les mineurs choisissent celle qui l'avantage.
- Finney Attack: Un mineur mine à l'avance un bloc contenant un paiement pour lui-même, puis dépense ces pièces chez un vendeur avant de publier le bloc.
- 51% Attack: Avec suffisamment de puissance de calcul, un attaquant peut dépasser la chaîne honnête et inverser régulièrement des paiements.
La finalité augmente avec la profondeur. Après suffisamment de confirmations, la immutability prend effet et il devient extrêmement difficile de Double Spend sans ressources importantes.
Exemple
Un café accepte un paiement sans confirmation, l'acheteur sort avec son café, puis une transaction conflictuelle avec des frais plus élevés est confirmée et annule le paiement du café.
Fait amusant
Satoshi a présenté Bitcoin comme une solution au problème du Double Spend, donc empêcher le Double Spend n'était pas une mission secondaire, c'était le défi principal.
Conclusion
En bref : Double Spend concerne le timing et le consensus, et on le contrer avec des confirmations, des vérifications judicieuses et un peu de patience. Rolex rencontre les threads de Reddit.
