Introduction

Le Bitcoin est souvent considéré comme de l’argent numérique, mais cela reste discutable. Si Alice paie 10 $ en espèces à Bob, Bob n'a aucun moyen de savoir d'où vient l'argent. Lorsque Bob transfère les 10 $ à Carol, Carol n'a aucun moyen de savoir que les 10 $ proviennent à l'origine d'Alice.

Cependant, la nature publique inhérente du Bitcoin fait que la situation est différente. L’historique d’un jeton donné (sorties de transaction non dépensées, ou UTXO pour être précis) est accessible à tous. Cela revient à écrire le montant de la transaction et les noms des participants sur une facture.

Cependant, les adresses publiques peuvent être rendues anonymes, permettant aux utilisateurs de cacher facilement leur identité. Cependant, Bitcoin ne peut pas complètement cacher ses traces. La technologie d’analyse pour la blockchain devient de plus en plus mature et peut efficacement faire correspondre les adresses aux identités. En plus d’autres techniques de surveillance, des entités dédiées peuvent également désanonymiser les utilisateurs de crypto-monnaie. Afin de résoudre ce problème, diverses technologies de dégroupage des transactions sont apparues sur le marché.


Qu'est-ce que le mélange de jetons ?

D'une manière générale, le mixage de jetons fait référence à toutes les opérations qui mélangent des fonds via des swaps. Cependant, dans le monde des cryptomonnaies, le mixage des pièces est assuré par des tiers. Le fournisseur de services prend généralement les jetons de l'utilisateur (moyennant une somme modique) et renvoie ultérieurement certains jetons qui n'ont aucun rapport avec les jetons envoyés. Ces services sont également appelés gobelets ou mélangeurs de pièces de monnaie.

Bien entendu, la sécurité et l’anonymat de ces services centralisés sont discutables. Les utilisateurs n'ont aucune garantie que le mélangeur restituera les fonds ou que les jetons restitués ne seront pas entachés d'une manière ou d'une autre. De plus, lors de l’utilisation d’un mixeur, les adresses IP et Bitcoin peuvent également être enregistrées par des tiers. Le résultat du mélange de jetons est que les utilisateurs abandonnent le contrôle de leurs fonds dans l’espoir d’obtenir des jetons sans rapport.

Il existe actuellement un nouveau système appelé « CoinJoin Transaction » qui donne aux utilisateurs une grande marge de refus. En d’autres termes, après avoir utilisé CoinJoin, la preuve exacte du lien entre l’utilisateur et les transactions passées est effacée. De nombreuses solutions CoinJoin deviennent des alternatives décentralisées aux mélangeurs. S'il est possible qu'un coordinateur intervienne, les utilisateurs n'ont pas besoin de renoncer à leurs droits de gestion des fonds.


Qu’est-ce que CoinJoin ?

Le trading CoinJion est sorti en 2013 et a été proposé pour la première fois par le développeur Bitcoin Gregory Maxwell. Dans son article, il a brièvement présenté la structure de telles transactions et comment obtenir des rendements privés élevés sans modifier le protocole.

Essentiellement, les transactions CoinJoin intègrent les entrées de plusieurs utilisateurs. Avant d'expliquer le fonctionnement de cette technologie, comprenons d'abord la structure de la transaction sous-jacente.

Les transactions Bitcoin se composent d’entrées et de sorties. Lorsqu'un utilisateur souhaite effectuer une transaction, il prend un UTXO comme entrée, spécifie la sortie et signe l'entrée. Veuillez noter que chaque entrée est signée indépendamment, mais l'utilisateur peut configurer plusieurs sorties (ciblant différentes adresses).


image of an example transaction with four inputs and two outputs


En prenant comme exemple une transaction donnée composée de quatre entrées (0,2 BTC chacune) et de deux sorties (0,7 BTC et 0,09 BTC), nous pouvons faire une série d'hypothèses à son sujet. Regardez d'abord un paiement avoir lieu - l'expéditeur envoie l'une des sorties à quelqu'un et reçoit ensuite la monnaie. Cette transaction utilise quatre entrées, la sortie la plus importante doit donc être dirigée vers le récepteur. Veuillez noter que nous devons payer des frais au mineur et que la production perdra 0,01 BTC.

L'expéditeur peut également souhaiter créer un grand UTXO, combinant ainsi de petites entrées pour atteindre un résultat cible de 0,7 BTC.

Nous pouvons également supposer que chaque entrée est signée indépendamment. Cette transaction a au plus quatre parties signant l'entrée. C'est exactement ainsi que fonctionne CoinJoin.


Comment fonctionne CoinJoin ?

L'idée centrale est que plusieurs parties collaborent pour créer des transactions, chaque partie fournissant les entrées et les sorties attendues. Lorsque toutes les entrées sont mélangées, les autres ne peuvent pas identifier la correspondance entre la sortie et l'utilisateur. Regardons le schéma suivant :


image of an example coinjoin


Comme le montre la figure, quatre participants souhaitent rompre la corrélation entre les transactions. Ils se coordonnent entre eux (ou par l’intermédiaire d’un coordinateur dédié) pour déclarer les entrées et sorties qu’ils souhaitent voir comptabilisées.​

Le coordinateur prendra toutes ces informations et les intégrera dans une transaction, en faisant signer chaque participant avant de la diffuser sur le réseau. Une fois signée par un utilisateur, la transaction ne peut plus être modifiée jusqu'à ce qu'elle devienne invalide. Le coordinateur ne peut donc pas voler de fonds.​

Cette transaction agit comme une boîte noire pour le mélange des pièces. N'oubliez pas, nous détruisons l'UTXO initial pour créer un nouvel UTXO. Le seul lien entre l’ancien et le nouveau UTXO est la transaction elle-même, et bien sûr nous ne pouvons pas distinguer les participants. La situation idéale est simplement de savoir qu’il y a des participants qui apportent leur contribution et peuvent être propriétaires des résultats.

Même ainsi, nous ne pouvons pas en être sûrs à 100 pour cent. En voyant la transaction décrite ci-dessus, qui peut être sûr qu'il y a quatre participants ? Ou y a-t-il une seule personne qui envoie des fonds à ses quatre adresses ? Ou est-ce que deux personnes achètent deux fois chacune et chaque adresse reçoit 0,2 BTC ? Il est également possible que quatre personnes aient envoyé des fonds à de nouveaux participants, ou que les fonds soient restitués à l'individu. Nous ne sommes pas en mesure de déterminer les circonstances spécifiques.


Protéger la vie privée par le « déni »

L’avènement de l’implémentation de CoinJoin a suffi à semer le doute sur les méthodes d’analyse des transactions. Dans de nombreux cas, vous pouvez déduire qu'un CoinJoin s'est produit mais vous ne pouvez pas déterminer le propriétaire de la sortie. À mesure que cette technologie devient plus courante, l’hypothèse selon laquelle tous les intrants appartiennent au même utilisateur s’affaiblit progressivement. Dans un écosystème vaste et complet, la confidentialité s’est considérablement améliorée.

Dans l'exemple ci-dessus, nous supposons que l'ensemble anonyme de transactions a 4 propriétaires d'entrée et que le propriétaire de sortie peut être l'une de ces 4 personnes. Plus l'ensemble d'anonymat est grand, plus la probabilité de trouver une correspondance entre la transaction et le propriétaire d'origine est faible. Heureusement, le récent système CoinJoin permet à des dizaines d'utilisateurs de fusionner des entrées de manière sans confiance, améliorant ainsi considérablement le « déni ». Récemment, CoinJoin a exécuté avec succès des centaines de transactions.


Résumer

Pour les utilisateurs qui accordent une grande attention à la confidentialité, le mélange de devises est une méthode complémentaire très efficace. Contrairement aux améliorations proposées en matière de confidentialité, telles que les transactions confidentielles, cette technologie est compatible avec les protocoles existants.

Pour les utilisateurs qui font confiance à l’intégrité et aux méthodes efficaces de tiers, les services de mixage de devises sont simples et pratiques. Pour les utilisateurs qui préfèrent une solution vérifiable ou non dépositaire, CoinJoin est un excellent choix. Les utilisateurs férus de technologie peuvent extraire des mécanismes plus complexes manuellement ou à l’aide d’outils logiciels. Aujourd’hui, à mesure que le besoin de confidentialité augmente, ces outils deviendront de plus en plus populaires sur le marché.