Chaumian CoinJoin
Un Chaumian CoinJoin utilise des signatures aveugles (David Chaum) pour empêcher le coordinateur de relier inputs et outputs. Modèle de Wasabi/WabiSabi. Le coordinateur ne peut pas lui-même tracer les fonds. Pierre angulaire de la confidentialité moderne.
Le problème du coordinateur
Un CoinJoin standard regroupe les inputs de plusieurs utilisateurs dans une seule transaction collaborative. Un coordinateur est nécessaire pour orchestrer la rencontre des participants et construire la transaction. Problème : si ce coordinateur voit qui apporte quel input et qui souhaite quel output, il peut tracer l'opération aussi bien que n'importe quel chaînalyste — l'anonymat n'est qu'apparent.
La solution Chaumian
Le Chaumian CoinJoin résout ce problème via les signatures aveugles inventées par David Chaum dans les années 1980 pour eCash. Le protocole se déroule en deux phases :
- Phase 1 (inputs) : chaque participant s'enregistre avec ses inputs et reçoit un crédit signé aveuglement par le coordinateur
- Phase 2 (outputs) : le participant se reconnecte via une connexion anonyme distincte (Tor), présente son crédit déaveuglé, et demande les outputs
Côté coordinateur, impossible de lier les deux connexions : le crédit a été signé sans qu'il en connaisse le contenu. Il atteste seulement qu'« un participant légitime demande X sats », sans savoir lequel.
Mathématique simplifiée
| Étape | Côté participant | Côté coordinateur | |-------|-------------------|---------------------| | Aveuglement | r·M + V (V = output désiré) | Reçoit r·M + V | | Signature | — | Signe (sk · (r·M + V)) | | Désaveuglement | retire r·sk·M | — | | Présentation (output) | Montre V + signature valide | Vérifie sans lien avec phase 1 |
C'est la même mécanique que les Chaumian Mints utilisées dans Cashu et Fedimint.
Implémentations Bitcoin
| Wallet | Protocole | Statut | |--------|-----------|--------| | Wasabi 1.x | Chaumian classique (ZeroLink) | Actif jusqu'en 2022 | | Wasabi 2.x | WabiSabi (KVAC + Chaumian) | Actif | | Trezor Suite | WabiSabi via zkSNACK | Actif jusqu'en 2024 | | BTCPay Server | Plugin WabiSabi | Disponible | | JoinMarket | Modèle différent (atomic swaps) | Pas chaumian | | Whirlpool (Samourai) | Pas chaumian (équal-amounts) | Arrêté en 2024 |
WabiSabi, proposé par Yuval Kogman et al., étend le modèle Chaumian aux montants arbitraires en utilisant des KVAC (Keyed-Verification Anonymous Credentials), levant la contrainte historique des outputs égaux.
Garanties et limites
Le Chaumian CoinJoin protège contre le coordinateur lui-même, mais pas contre :
- Un coordinateur qui collecte malgré tout des IP via Tor mal configuré
- Une analyse statistique sur les montants (avant WabiSabi)
- Un participant complice du chaînalyste (sybil attack)
- La timing analysis si Tor circuit est trop court
D'où l'importance des grands « rondes » avec beaucoup de participants : plus l'anonymity set est large, plus l'attaque devient improbable.
À retenir
Le Chaumian CoinJoin est l'aboutissement cryptographique de la confidentialité on-chain. Il garantit qu'un coordinateur honnête mais curieux ne peut pas trahir ses utilisateurs. Combiné à WabiSabi et à Tor, c'est aujourd'hui le standard de référence en privacy Bitcoin.
Termes lies
- WabiSabiWabiSabi est le protocole CoinJoin centralisé-anonyme de Wasabi 2.0. Utilise les Keyed-Verification Anonymous Credentials. Permet sorties de tailles arbitraires (vs Whirlpool). Coordonné par zkSNACKs (KYC depuis 2024).
- Wasabi WalletWasabi Wallet est un wallet desktop open-source axé sur la confidentialité. Implémente WabiSabi CoinJoin. Le passage au KYC en 2024 a poussé une partie de la communauté vers Ginger. Toujours largement utilisé.
- Signature aveugleUne signature aveugle permet à un tiers de signer un message sans en connaître le contenu. Inventée par David Chaum, elle est au cœur d'eCash. Elle est aujourd'hui utilisée dans Cashu et Fedimint pour préserver la confidentialité des paiements. Elle est étrangère au protocole Bitcoin lui-même mais centrale pour certaines couches.
- CoinJoinUn CoinJoin combine plusieurs transactions en une seule, brouillant les liens d'entrée-sortie. Inventé par Gregory Maxwell en 2013. Implémenté par JoinMarket, Wasabi (WabiSabi), Samourai (Whirlpool), Ginger. Pierre angulaire de la confidentialité Bitcoin.
- Coordinateur de CoinJoinLe coordinateur d'un CoinJoin orchestre les rounds entre participants sans pouvoir les identifier (Chaumian). En 2024 zkSNACKs (Wasabi) instaure un KYC, ce qui a cassé la confiance et provoqué des forks (Ginger). Élément critique des CoinJoins centralisés.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.