Aller au contenu principal
Confidentialité

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 :

  1. Phase 1 (inputs) : chaque participant s'enregistre avec ses inputs et reçoit un crédit signé aveuglement par le coordinateur
  2. 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

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.