LocalMonero will be winding down

The winding down process begins May 7th, 2024, and finishes after November 7th, 2024. Our support staff will be available for help throughout this period.
  1. Effective immediately, all new signups and ad postings are disabled;
  2. On May 14th, 2024, new trades will be disabled as well;
  3. After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.

Comment Dandelion++ garde les origines des transactions de Monero privées

Publié:
By Diego Salazar

La confidentialité comme priorité

En tant que crypto-monnaie, Monero peut sembler très ennuyeuse en surface. Il n'a pas une grande prétention à la renommée, comme être un « ordinateur mondial » ou « révolutionner l'industrie xyz ». Elle essaie simplement d'être une monnaie privée, numérique et fongible, et chaque mise à niveau et nouvelle technologie ne fait que favoriser ce but.

Ceux qui jugent cet objectif trop étroit ou inintéressant ne comprennent généralement pas à quel point il est difficile d'atteindre une confidentialité significative, en particulier sur un grand registre immuable et ouvert comme une blockchain. Toute fuite de métadonnées est un risque d'atteinte à la vie privée.

Monero prend des précautions pour masquer les données enregistrées sur la chaîne, telles que le destinataire, l'expéditeur et les montants, via respectivement des « adresses furtives », des « signatures de cercle » et des « engagements Pedersen ». Cela minimise les chances pour un observateur extérieur de déduire des informations critiques après que les transactions aient déjà été envoyées et ne soient plus qu'une partie de l'historique enregistré. Il existe cependant certaines attaques qui peuvent être effectuées au moment où une transaction se produit et qui ne peuvent plus être exécutées ultérieurement.


Attaque pour révéler l'adresse IP

Ces attaques tournent autour de l'identification de l'adresse IP d'où provient une transaction. Si cette information est déduite, cela pourrait révéler qu'un individu a envoyé une transaction Monero. Il n'est pas en mesure de montrer à qui et combien, mais il y a des cas où la connaissance de quelqu'un qui utilise Monero est suffisante pour causer du tort.

La bonne nouvelle est que si ces informations ne sont pas récupérées au moment où la transaction est effectuée, elles ne peuvent pas l'être ultérieurement, car les adresses IP ne sont pas stockées sur la blockchain. Il est également rassurant de savoir qu'une telle attaque a peu de chances d'être vue dans la réalité, car, pour la réussir, l'attaquant aurait besoin de contrôler une grande majorité de nœuds sur le réseau. Cependant, si une personne était en mesure de commander un si grand nombre de nœuds, elle serait en mesure d'identifier la « direction » d'où provient une transaction.

Cela peut prêter à confusion, nous allons donc expliquer quelques informations de base ici. Chaque nœud se connecte à d'autres nœuds du réseau, afin qu'ils puissent maintenir leur blockchain à jour, ainsi que partager ce qu'ils savent avec les autres. Ces connexions leur permettent de se renseigner sur les nouvelles transactions, de les propager et d'envoyer les leurs. Puisqu'un nœud ne peut informer ses pairs que des transactions dont il a connaissance, il va de soi que le tout premier nœud qui propage une transaction est le nœud qui envoie réellement du Monero.

Si un attaquant possède une grande majorité de nœuds sur le réseau, chaque nœud entendra parler d'une transaction de l'un de ses pairs, et en fonction du moment où chaque nœud reçoit cette information, il peut en déduire des candidats probables pour le début de la transaction.

Si cela reste déroutant, nous vous proposons cet exemple. Supposons que nous ayons tous les deux un ami commun que nous ne voyons pas. Cet ami crie fort. J'entends son appel en premier, et je l'entends plus fort que vous. À partir de ces informations, nous pouvons savoir que je suis probablement plus proche de notre ami que vous ne l'êtes. Le fait que vous entendiez le son plus tard (même d'une fraction de seconde seulement) et que le son soit plus faible signifie que nous devrions commencer notre recherche autour de ma zone, pas la vôtre.

Si un attaquant est capable de deviner avec succès lequel de ses pairs a envoyé la transaction, puisqu'il dispose de l'adresse IP qui est connectée à son nœud et qu'il la lui a transmise, il peut être certain de l'adresse IP qui l'a envoyée. Il s'agit d'informations très importantes, car les adresses IP contiennent des informations sur le pays et le fournisseur de services Internet (FAI) de l'utilisateur, et le FAI lui-même sait quel utilisateur est lié à quelle adresse IP, désanonymisant de fait l'utilisateur de Monero.

Possible(s) contre-mesure(s)

Une contre-mesure possible à cette attaque est l'utilisation d'un « réseau en couches » tel que Tor ou I2P. Cela fait en sorte que même si un attaquant peut déduire une adresse IP source, ce n'est probablement pas celle qui a effectué la transaction, mais plutôt le proxy sortant (I2P) ou le nœud de sortie (Tor) du réseau en couches. Cependant, il ne s'agit pas d'une solution globale, car les réseaux couches, les VPN et les logiciels similaires sont interdits dans de nombreux pays, et s'attendre à ce que tout le monde utilise, synchronise et propage sur ces réseaux est irréaliste. Il doit y avoir une solution qui ne nécessite pas l'utilisation de logiciels et de réseaux externes ; une qui soit à la portée de tout le monde.

Cette solution est Dandelion++ (DPP), qui est un protocole amélioré par rapport à la proposition originale de Dandelion pour Bitcoin. Dans ce protocole, il y a deux phases, la phase « stem » (tige) et la phase « fluff » (pétales) ; les deux ensemble sont censées représenter la forme d'un pissenlit.

Dans la phase « stem », à intervalle de quelques minutes, le nœud expéditeur choisit au hasard deux pairs parmi tous les nœuds auxquels il est connecté. Lorsqu'il envoie une transaction, soit en son nom, soit simplement en transmettant la transaction provenant d'un autre nœud dans la phase « stem », il choisit au hasard l'un de ces deux pairs sélectionnés et lui envoie la transaction.

La phase « fluff » est lorsqu'un nœud reçoit une transaction et la diffuse à chaque connexion sortante, plutôt qu'à une seule choisie au hasard, ce qui permet une véritable propagation de la transaction. À intervalles de quelques minutes, un nœud choisit aléatoirement comment il propagera les transactions, soit en mode « stem » soit en mode « fluff », donc une phase de « stem » peut être assez longue si chaque nœud connecté s'est défini comme un nœud « stem », mais une fois que la transaction atteint la phase de « fluff », le protocole s'arrête.

Cela signifie qu'un attaquant ne pourra plus suivre facilement le cheminement d'une transaction, car avant qu'elle ne soit propagée à tout le monde, elle a subi la phase « stem », et le nœud d'origine de la phase « fluff » n'est pas le nœud d'où provient la transaction. , et on ne sait pas combien de sauts la transaction a effectué le long de la « tige ».

Bien sûr, combiner les solutions ci-dessus (DPP plus un réseau en couches) donnera des garanties encore plus fortes de confidentialité et de protection contre le traçage IP. Il convient également de noter que DPP ne protège pas contre une autre forme d'attaque de traçage de réseau qui peut être effectuée avec les FAI, mais cela dépasse le cadre de cet article.

Dandelion++ est prêt à mis en servicel sur le réseau Monero et être utilisé par défaut sur le client de référence, dans la version 0.16. Ce petit changement réduira davantage les attaques possibles sur le réseau Monero et illustre pourquoi Monero est en tête du peloton dans les technologies de confidentialité pratiques et appliquées.

Ressources complémentaires

© 2025 Blue Sunday Limited