Utiliser Bitcoin anonymement, sans que personne ne s’en rende compte – Coinswap, la mise à jour qui pourrait tout changer
Avec les années, Bitcoin a souvent été décrié pour son manque d’anonymat. Malgré l’existence de solutions, telles que Coinjoin, l’anonymat est encore loin d’être à portée de main. Coinswap pourrait être LA méthode qui comblerait ce besoin sur Bitcoin.
Anonymat sur Bitcoin
Contrairement à ce que certains pourraient penser, le bitcoin n’est pas anonyme. En réalité, il propose un pseudonymat, où l’utilisateur derrière une adresse n’est clairement identifié. Malgré tout, les transactions restent visibles.
De nombreuses méthodes ont été imaginées pour améliorer l’anonymat du bitcoin. Nous avons alors vu apparaître, tour à tour, des méthodes, telles que les mixeurs ou encore Coinjoin.
Coinjoin : l’anonymat actuel sur Bitcoin
Coinjoin est un type de transaction, imaginé par Gregory Maxwell en 2013. Cette méthode tire parti des entrées et sorties multiples des transactions Bitcoin.
De ce fait, plusieurs wallets différents peuvent se réunir pour créer une transaction unique commune. C’est exactement ce principe qui est utilisé par Coinjoin.
Dans les faits, Coinjoin réunit plusieurs utilisateurs souhaitant effectuer des transactions anonymes. Leurs transactions respectives sont groupées en une seule transaction, ce qui permet de briser les liens entre expéditeur et récepteur d’un transfert.
Bien que cette méthode ait été éprouvée, elle comporte tout de même quelques points faibles. En effet, il est toujours possible, pour un observateur avisé, d’analyser la blockchain à la recherche de transactions ayant des montants similaires.
« Les sorties Coinjoin à valeurs égales sont très évidentes à déceler. Si quelqu’un les repère sur la chaîne, il peut voir que ce genre de méthode de protection de la vie privée a été utilisée. »
Déclaration du développeur Chris Belcher à Coindesk
Effectivement, si 3 utilisateurs envoient des montants respectifs d’1, 2 et 3 BTC via une transaction Coinjoin, il peut être possible de retrouver les sorties respectives et de remonter les transferts.
Coinswap : du Coinjoin sous stéroïdes ?
Évidemment, les développeurs travaillant sur Bitcoin ne cessent de redoubler d’ingéniosité. Une fois de plus, Coinswap est un concept qui a été imaginé par Gregory Maxwell, toujours en 2013.
Cependant, à l’inverse de Coinjoin, l’implémentation de Coinswap est relativement complexe, ce qui fait qu’il n’existe aucune implémentation déployée à ce jour.
Dans la théorie, Coinswap permet de réaliser des transactions anonymes où les observateurs de la blockchain ne sont pas en mesure d’identifier l’émetteur et le récepteur d’une transaction.
Pour ce faire, Coinswap va utiliser des adresses du même nom, qui feront transiter des fonds ainsi que des acteurs tiers.
Par exemple, si Alice souhaite envoyer des fonds qu’elle détient sur un second wallet, sans qu’il soit possible de lier ses 2 adresses, cela se déroulera de la manière suivante :
- Alice envoie ses coins de son adresse 1 (A1) vers une adresse Coinswap 1 (C1). Elle va renvoyer les fonds à l’adresse 1 de Bob (B1).
Dans ce cas, Bob fait office d’intermédiaire pour la transaction. L’ensemble du processus est évidemment encadré par des scripts Bitcoin.
- Par la suite, Bob, qui détient une deuxième adresse (B2), enverra le montant initial de Alice à une adresse Coinswap 2 (C2) qui, elle-même, redirigera vers l’adresse 2 de Alice (A2).
Cela permet d’avoir les 2 groupes de transactions totalement indépendants suivants :
Adresse d'Alice n°1 ----> Adresse CoinSwap n°1 ----> Adresse de Bob n°1
Adresse de Bob n°2 ----> Adresse CoinSwap n°2 ----> Adresse d'Alice n°2
De plus, Coinswap divisera aléatoirement le montant des transactions permettant de compliquer toute recherche de montants concordants sur la blockchain.
Point intéressant : Coinswap pourrait être implémenté, sans avoir à modifier les logiques actuelles de Bitcoin. Ainsi, son implémentation ne nécessiterait aucun soft ou hard fork.
Une première implémentation sur le testnet
Évidemment, il ne pouvait exister une telle méthode, sans que personne ne tente de l’implémenter sur le réseau Bitcoin.
Ainsi, le développeur Chris Belcher est actuellement en train de travailler sur une implémentation de Coinswap sur Bitcoin, et ses expérimentations sont encourageantes.
Récemment, il a révélé une première implémentation qu’il a déployée sur le testnet de Bitcoin. Pour le moment, les tests ont été réalisés avec des transactions en multi-signatures, de type 2-parmi-2.
En revanche, Belcher souhaite rendre les transactions Coinswap indifférenciables des transactions classiques. Pour cela, il compte utiliser le protocole cryptographique ECDSA-2P.
En outre, tout n’est pas complètement rose pour Coinswap. Effectivement, pour être parfaite, cette solution doit être la plus décentralisée possible, comme l’a souligné Belcher :
« Je veux rendre Coinswap aussi décentralisé que possible, afin qu’il n’y ait pas de point central de défaillance qui puisse être désactivé ou censuré. »
Bien que ces premiers tests soient porteurs d’espoir, il reste du chemin à parcourir pour Coinswap, avant d’être déployé sur le mainnet. Quoi qu’il en soit, cela permet d’envisager de belles perspectives d’anonymat sur Bitcoin.