Score de Boltzmann
Le score de Boltzmann est une mesure de l'entropie d'une transaction (combien d'interprétations sont possibles). Permet d'évaluer la « privacy » d'une transaction. Outil d'OXT et de Samourai. Sert au coin control informé.
Origine
Le score de Boltzmann est une métrique de confidentialité on-chain développée par Laurent Salat (LaurentMT) à partir de 2015-2017 dans le cadre de ses recherches sur la blockchain Bitcoin. Le nom est emprunté à Ludwig Boltzmann, dont la formule S = k_B · ln(W) quantifie l'entropie d'un système physique en termes de nombre de micro-états possibles.
Le principe
Pour une transaction Bitcoin avec plusieurs inputs et plusieurs outputs, il existe plusieurs combinaisons possibles d'attribution entre eux qui respectent la conservation de la valeur (input → output). Plus le nombre d'interprétations valides est grand, plus l'analyse de chaîne est ambiguë, et plus la confidentialité est élevée.
L'algorithme :
- Énumère toutes les attributions input→output qui respectent les sommes (inputs = outputs + fees).
- Compte les liens déterministes (ceux qui apparaissent dans toutes les solutions) et les liens ambigus (différents selon la solution).
- Calcule une entropie :
S = log₂(nombre de solutions). - Calcule une "linkability" entre chaque paire input/output (pourcentage de solutions où ils sont liés).
Exemples
| Transaction | Solutions valides | Entropie | |-------------|-------------------|----------| | 1 input → 1 output | 1 | 0 | | 2 inputs → 2 outputs (montants asymétriques) | 1 | 0 | | CoinJoin 5 inputs égaux → 5 outputs égaux | 120 | 6.9 | | CoinJoin 10 inputs égaux → 10 outputs égaux | 3 628 800 | 21.8 |
Un CoinJoin parfait à 5 participants atteint un score de Boltzmann élevé, c'est-à-dire que l'analyse de chaîne est confrontée à 120 hypothèses équiprobables.
Outils qui l'utilisent
- OXT.me : explorateur de blockchain de Samourai Tools, affichait le score Boltzmann pour chaque tx.
- Samourai Wallet (Ricochet/Whirlpool) : utilisé en interne pour évaluer les sorties.
- KYCP.org : "Know Your Coin Privacy", note la confidentialité de chaque tx.
- btcparser et autres explorateurs orientés privacy.
Après la saisie de Samourai en avril 2024, plusieurs outils sont passés sous Ashigaru ou ont fermé.
Pourquoi c'est important
Le score de Boltzmann objective une notion souvent intuitive : "est-ce que ma tx est privée ?" Il permet de faire du coin control informé, c'est-à-dire de choisir ses inputs/outputs pour maximiser l'ambiguïté future. Couplé à l'anonset (taille du jeu d'identités plausibles), il forme la métrique de base de la confidentialité on-chain.
Limites
- N'évalue qu'une tx isolée : un attaquant peut chaîner plusieurs tx pour réduire l'entropie globale (heuristique de "cluster").
- Ne capture pas les méta-données : timing, IP, frais payés peuvent eux-mêmes désanonymiser.
- Sensible aux changements ultérieurs : si tu dépenses un output et révèles son histoire, tu casses rétroactivement la confidentialité.
À retenir
Le score de Boltzmann a apporté à l'analyse de la confidentialité Bitcoin la rigueur que la cryptographie applique au reste du protocole. Il reste un outil de référence pour quiconque construit ses transactions avec un souci de privacy.
Termes lies
- Anonsets (anonymity sets)Un anonset est l'ensemble des UTXO indistinguables après un mix. Plus l'anonset est grand, plus la confidentialité est forte. Mesurable via score de Boltzmann. Indicateur clé de la qualité d'un CoinJoin.
- Coin controlLe coin control permet à l'utilisateur de choisir manuellement quelles UTXO dépenser. Outil indispensable à la confidentialité et à la gestion fine des frais. Disponible dans Sparrow, Wasabi, Samourai, Bitcoin Core. Défaut désactivé sur les wallets grand public.
- Analyse de chaîneL'analyse de chaîne consiste à étudier les transactions Bitcoin pour relier des adresses à des entités. Pratiquée par Chainalysis, Elliptic, OXT, etc. Source de risque pour les utilisateurs. Combat permanent entre privacy tools et analystes.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.