Glossaire / Confidentialité et sécurité
Attaque de poussière
Aussi appelé Attaque de poussière.
- Qu'est-ce qu'une attaque de poussière ?
- Une attaque de poussière diffuse de minuscules paiements sur des milliers d'adresses afin que l'expéditeur puisse observer lesquelles sont ensuite dépensées ensemble, ce qui relie des adresses distinctes à un même propriétaire.
L'attaquant plante un mouchard, il ne vole rien. Une campagne d'août 2019 a envoyé 0,00000546 LTC à 294 582 adresses Litecoin en une seule vague, et la même technique s'applique au bitcoin pour quelques centaines de satoshis par cible. La poussière ne rapporte que si vous la dépensez, ce qui fait de l'abstention une défense complète.
Comment cela fonctionne
L'attaque repose sur une hypothèse que les analystes de la chaîne font pour chaque transaction : si deux sorties sont dépensées comme entrées d'une même transaction, une même personne contrôle les deux clés.
Cette hypothèse est généralement exacte, et c'est elle qui transforme un ensemble d'adresses sans lien en un groupe de portefeuilles. Une attaque de poussière l'exploite. Au lieu d'attendre que vous révéliez vous-même un lien, l'expéditeur place une sortie à une adresse de son choix et attend que votre portefeuille la récupère avec des bitcoins qu'il ne pouvait pas relier à vous autrement.
La séquence est courte :
- L'expéditeur choisit ses cibles. Des adresses de retrait vues quitter une plateforme d'échange, des adresses publiées en public, ou des plages entières aspirées depuis un explorateur de blocs.
- L'expéditeur verse à chacune quelques centaines de satoshis, juste au-dessus du montant que le réseau relaye.
- Rien ne se passe pendant des semaines ou des mois.
- Votre portefeuille prépare un paiement, son algorithme de sélection des pièces saisit la petite sortie parce que les petites sorties coûtent peu à inclure, et toutes les autres entrées de cette transaction sont désormais liées de façon prouvable à l'adresse poussiérée.
Le coût rend la chose pratique. Une sortie supplémentaire ajoute environ 31 octets virtuels à la transaction de l'attaquant, donc à 5 sat/vB, mille cibles coûtent environ 155 000 satoshis en frais, plus la poussière elle-même. Regrouper des milliers de sorties dans une poignée de transactions ramène le prix de la surveillance de toute une population d'adresses au coût d'un repas.
Tous les petits paiements inexpliqués ne relèvent pas de la surveillance. Une grande partie de ce qui arrive aujourd'hui dans les portefeuilles est de la publicité, avec une URL glissée dans un libellé de transaction ou dans un message d'accompagnement, ou un appât pour une arnaque à l'adresse sosie. La réponse est identique dans les trois cas.
Pourquoi cela compte quand vous achetez du bitcoin
Acheter du bitcoin sur une plateforme d'échange est le moment où votre identité et une adresse on-chain sont inscrites au même endroit.
Toutes les grandes plateformes que ce site examine, de Kraken et Coinbase à Bitpanda et Luno, vérifient l'identité avant de vous laisser retirer. C'est la loi dans la plupart des 231 pays couverts ici, et non une bizarrerie d'une entreprise en particulier. Cela signifie que la partie difficile de la désanonymisation, relier un nom légal à une adresse, est déjà faite et conservée dans une base de données de conformité. Reste la correspondance entre cette première adresse et tout ce que vous faites ensuite, et c'est exactement ce qu'une attaque de poussière cherche à construire.
La défense pratique est une fonction du portefeuille, pas un état d'esprit. Utilisez le contrôle des pièces, qui vous permet de voir et de choisir les sorties individuellement au lieu de laisser le logiciel choisir pour vous. Sparrow, Electrum et BlueWallet vont plus loin et vous laissent geler une sortie pour que la sélection automatique ne puisse jamais y toucher, et Trezor Suite permet de choisir les entrées à la main à chaque envoi. Étiquetez la poussière le jour où elle arrive, gelez-la, et elle devient un zéro permanent dans votre solde.
Deux habitudes comptent plus que tout outil. Ne regroupez pas des sorties de sources différentes dans une même transaction, sauf si vous acceptez qu'elles soient publiquement liées, et prenez une nouvelle adresse de réception à chaque fois au lieu de réutiliser la même, car une adresse réutilisée est une cible qui n'expire jamais.
La vague Litecoin d'août 2019
L'exemple public le plus clair de poussiérage de masse n'était pas sur bitcoin, et son arithmétique mérite d'être lue.
En août 2019, l'équipe de sécurité de Binance a signalé que 294 582 adresses Litecoin avaient chacune reçu 0,00000546 LTC lors d'une vague coordonnée. Faites le calcul : toute la campagne a déplacé environ 1,6 LTC, et le Litecoin s'échangeait près de 80 dollars ce mois-là, donc la poussière a coûté à l'expéditeur moins de 150 dollars hors frais. Pour cela, il a obtenu un fil piège sur près de 300 000 adresses d'un coup, chacune attendant silencieusement que son propriétaire fasse une seule dépense imprudente.
Le chiffre de 546 n'est pas un hasard, et il explique l'allure du poussiérage sur bitcoin. C'est le seuil de relais de Bitcoin Core pour une sortie legacy, copié dans Litecoin, et les attaquants s'en tiennent au plancher parce que chaque satoshi au-dessus est du gaspillage.
Attaque de poussière vs limite de poussière
Une attaque de poussière est une action ; la limite de poussière est la règle à laquelle cette action est calibrée. La limite fixe la plus petite sortie que le réseau transmettra, et le poussiérage envoie exactement ce montant, pas plus. Lire un dépôt de 546 satoshis comme la preuve d'une attaque est toutefois une erreur : les sorties de monnaie rendue, les paiements de test échoués et les fermetures de canaux Lightning produisent tous honnêtement de petits montants.
Attaque de poussière vs empoisonnement d'adresse
Les deux arrivent comme un minuscule paiement inexpliqué, et ils attendent de vous des choses opposées. Une attaque de poussière veut que vous dépensiez la pièce, pour que vos autres pièces soient entraînées dans la même transaction. L'empoisonnement d'adresse veut que vous regardiez l'expéditeur, que vous preniez son adresse sosie pour l'une des vôtres et que vous la copiiez dans un futur paiement. Le poussiérage est de la surveillance et vous coûte votre confidentialité ; l'empoisonnement est un vol et vous coûte votre solde.