Définition
Confidential Transactions : définition
Les Confidential Transactions sont une technique cryptographique qui masque les montants des transactions tout en permettant à chacun de vérifier qu'aucune monnaie n'a été créée à partir de rien. On les retrouve notamment sur Liquid et, sous une forme dérivée, sur Monero.
Thème : Confidentialité
Sur Bitcoin, les montants de chaque transaction sont publics. Les Confidential Transactions, proposées par Gregory Maxwell, remplacent chaque montant par un engagement de Pedersen. Il s'agit d'une valeur qui cache le montant grâce à un facteur aléatoire, mais qui possède une propriété mathématique utile : les engagements peuvent s'additionner. Les nœuds vérifient ainsi que la somme des engagements en entrée est égale à la somme des engagements en sortie, plus les frais, sans connaître aucun des montants.
Cette vérification ne suffit pas seule : un attaquant pourrait inscrire un montant négatif qui, en arithmétique modulaire, ressemblerait à un très grand nombre, et créer ainsi de la monnaie. Chaque sortie est donc accompagnée d'une preuve d'intervalle (range proof), qui démontre que le montant est positif et inférieur à une limite, sans le révéler. Ces preuves étaient initialement volumineuses ; les Bulletproofs les ont considérablement réduites. La sidechain Liquid utilise les Confidential Transactions, Monero les combine avec des signatures en anneau et des adresses furtives, et le protocole Mimblewimble les place au cœur de son fonctionnement.
Un exemple concret
Imaginons que Julien envoie un paiement sur une chaîne utilisant les Confidential Transactions. Un observateur voit qu'une transaction a eu lieu, mais à la place des montants il ne lit que des engagements cryptographiques. Les nœuds vérifient que les entrées équilibrent les sorties et que chaque montant est positif. Seuls Julien et le destinataire, qui reçoit les informations nécessaires, connaissent la somme transférée.
Les risques à connaître
Les transactions sont plus volumineuses et plus lourdes à vérifier qu'avec des montants en clair. Masquer les montants ne cache pas forcément les adresses ni les liens entre transactions. La sécurité repose enfin sur des hypothèses cryptographiques et sur la qualité de l'implémentation : une faille pourrait permettre une création de monnaie difficile à détecter, puisque l'offre n'est plus directement visible.
Questions fréquentes sur Confidential Transactions
Les Confidential Transactions existent-elles sur Bitcoin ?
Pas sur la chaîne principale de Bitcoin, où les montants restent publics. Elles sont en revanche utilisées sur la sidechain Liquid, liée à Bitcoin.
Comment vérifier une transaction dont on ne connaît pas le montant ?
Grâce aux engagements de Pedersen, qui peuvent s'additionner : les nœuds contrôlent que les entrées et les sorties s'équilibrent. Des preuves d'intervalle garantissent en plus que chaque montant est positif.