Leçon #8 : Les anonymiseurs

Leçon #8 : Les anonymiseurs
Qu'est-ce qui les rend anonyme ? Et pour retirer l'argent ?

Les cryptomonnaies étant pour la plupart publiques et traçables, il est devenu nécessaire pour certains individus de rendre privée les mouvements de certaines transactions, afin d'envoyer des fonds à un amant, cacher sa fortune considérable à sa famille ou ses amis, ou faire des choses illégales comme l'évasion fiscale ou le trafic de drogues. Dans certains cas, légaux ou illégaux, cela peut poser problème d'avoir toutes ses transactions à la vue de tout le monde.

En tant que tel, une solution fut créée, connu sous le nom de "mixer" (mélangeur) ou "anonymizer" (anonymiseur). D'abord des systèmes centralisés créés pour l'utilisation avec le Bitcoin, et fortement popularisés par les marchés de drogue du deep web, le concept fut par la suite introduit aux blockchains EVM comme Ethereum de manière décentralisée. La combinaison des smart-contracts et d'une technologie appelée "Zero-Knowledge Proofs" (souvent abrégé "zk" ou "zkp") on permit son utilisation.

Qu'est-ce qui les rend anonyme ?

La façon dont fonctionnent ces protocoles est simple : une pool est créée pour que tous les assets soient anonymisés. Une fois qu'un utilisateur entame ce processus, il obtient une clé générée grâce aux Zero Knowledge Proofs (donc invisible sur la blockchain mais vérifiable par la blockchain) pour accéder à ses fonds. Il envoie ensuite les fonds en question au protocole. Ceux-ci sont déposés dans la pool avec les fonds de tous les autres utilisateurs.

Puis, il ne reste plus qu'à attendre. Plus les fonds passent de temps dans le pool, plus il sera difficile de corréler le dépôt et le retrait, surtout si le retrait est effectué en plusieurs fois sur plusieurs adresses, car le même montant total retiré sur une adresse est plus facile à reconnaître. De plus, ces protocoles permettent maintenant de transférer des tokens à différentes adresses, échanger des tokens (Railgun) et bientôt accéder à d'autres dApps, sans retirer les fonds.

Et pour retirer l'argent ?

Quand vient le moment de retirer, tout ce que doit faire l'utilisateur c'est entrer sa clé et spécifier une adresse. La transaction sera ensuite soumise à un "relayeur", qui va la soumettre à la blockchain à sa place en échange d'un frais. Les "relayeurs" peuvent être mis en place par n'importe quelle personne, et brisent le lien entre l'adresse qui envoie la demande de retrait et l'adresse de réception, qui ne contient pas forcément le gas nécessaire si c'est une nouvelle adresse. Ils reçoivent la transaction déjà signée et ne peuvent pas la modifier.

Exemples :

  • Tornado.cash: Premier anonymiseur décentralisé, multi-chain
  • Aztec Network: Surcouche privée Ethereum
  • Railgun: Protocol en bêta visant l'accès anonyme à la DeFi
  • Panther Protocol: Anonymiseur en cours de développement