Bulletproofs
Bulletproofs sont des range proofs courtes sans setup de confiance. Utilisés par Monero et envisagés pour CT. Plus efficaces que les range proofs classiques.
Le problème des range proofs
Quand on veut prouver qu'une valeur cachée derrière un engagement cryptographique (commitment) appartient à un intervalle donné — typiquement « ce montant est positif et inférieur à 2⁶⁴ » —, on a besoin d'une range proof. Sans elle, un attaquant peut créer des montants négatifs ou supérieurs à l'offre, sapant la conservation de la valeur dans un protocole de transactions confidentielles.
Naissance des Bulletproofs
Bulletproofs est un schéma proposé en 2017 par Benedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra, Pieter Wuille et Greg Maxwell. C'est une preuve à divulgation nulle de connaissance non-interactive, courte, sans setup de confiance, basée sur la difficulté du logarithme discret sur courbe elliptique. Pour un range proof sur 64 bits, la taille passe d'environ 5 Ko (range proofs classiques) à environ 670 octets.
Caractéristiques techniques
| Propriété | Valeur | |-----------|--------| | Taille (range 64 bits) | ~670 octets | | Setup | Aucun (trustless) | | Hypothèse cryptographique | Discrete log sur courbe elliptique | | Agrégation | Plusieurs range proofs combinées dans une seule | | Vérification | O(n log n), parallélisable | | Génération | Coûteuse côté prouveur |
L'agrégation est l'aspect révolutionnaire : prouver 100 montants positifs coûte presque autant qu'un seul, ce qui rend les blocs CT viables.
Adoption concrète
Monero a adopté Bulletproofs en octobre 2018 (hard fork v0.13), réduisant la taille moyenne d'une transaction de ~13 Ko à ~2 Ko, ce qui a divisé les frais par environ cinq. Sur Bitcoin, Bulletproofs ne sont pas activés en mainnet mais sont étudiés pour :
- Liquid Network : Confidential Transactions sur la sidechain
- MimbleWimble (Grin, Beam) : architecture native CT
- Recherches MuSig / FROST : preuves auxiliaires
Limites et successeurs
Bulletproofs reste relativement coûteux à vérifier comparé aux SNARKs avec trusted setup. Plusieurs successeurs ont été proposés : Bulletproofs+ (2020), encore plus courts ; DLOG-PROOF ; Halo (Sean Bowe, Electric Coin Company) qui supprime le besoin de setup tout en proposant une vérification récursive. À mesure que les ZK-proofs matures arrivent, Bulletproofs trouvent leur niche dans les contextes sans setup acceptable.
À retenir
Bulletproofs ont transformé ce qui était une curiosité académique (CT) en une technologie pragmatique, immédiatement déployée par Monero et Liquid. C'est un excellent exemple de cryptographie post-Bitcoin qui pourrait, à terme, alimenter des évolutions du protocole Bitcoin lui-même.
Termes lies
- Range proofsUne range proof prouve qu'une valeur engagée est dans une plage donnée, sans la révéler. Indispensable aux Confidential Transactions. Bulletproofs en sont la version compacte.
- Confidential TransactionsLes Confidential Transactions cachent les montants on-chain par engagements de Pedersen. Validables sans connaître le montant. Implémentés sur Liquid. Compromis : vérification plus lourde, peg-out limité.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.