Aller au contenu principal
Cryptographie

Pedersen commitment

Un engagement de Pedersen lie une valeur sans la révéler tout en permettant d'additionner des engagements. Base des Confidential Transactions et Mimblewimble.

Définition

Un Pedersen commitment est un schéma d'engagement cryptographique proposé par Torben Pryds Pedersen en 1991. Il permet à une partie de s'engager sur une valeur (par exemple un montant) sans la révéler, tout en gardant la possibilité de le prouver plus tard. Deux propriétés essentielles :

  • Hiding : l'engagement ne révèle rien sur la valeur engagée.
  • Binding : impossible d'ouvrir l'engagement sur une valeur différente.

Sa propriété additive en fait un outil unique : la somme de plusieurs engagements engage à la somme des valeurs.

Formulation mathématique

Soient G et H deux points sur une courbe elliptique (avec un log discret inconnu entre eux). Pour engager une valeur v :

C = v · G + r · H

r est un nombre aléatoire (blinding factor). Pour ouvrir l'engagement plus tard, on révèle (v, r).

Pourquoi c'est puissant

| Propriété | Conséquence | |-----------|-------------| | Hiding | C n'apprend rien sur v | | Binding | On ne peut pas changer v après coup | | Additivité | C1 + C2 = (v1+v2)·G + (r1+r2)·H | | Homomorphique | Calculs sur engagements possibles |

La propriété additive est ce qui rend possible la vérification de la conservation des montants dans une transaction confidentielle sans jamais voir les montants.

Application : Confidential Transactions

Dans les Confidential Transactions (Greg Maxwell, 2015), les montants ne sont pas en clair mais sous forme d'engagements Pedersen. Pour qu'une transaction soit valide :

sum(commitments d'entrée) = sum(commitments de sortie) + commitment des frais

Cette équation s'écrit en termes de points elliptiques et peut être vérifiée publiquement sans connaître les montants. Pour assurer qu'aucun montant négatif n'est introduit (créant des bitcoins par soustraction), on ajoute des rangeproofs prouvant que v ∈ [0, 2^64].

Application : Mimblewimble

Mimblewimble (2016) construit un protocole complet de blockchain sur Pedersen commitments :

  • Plus d'adresses, plus de scripts.
  • Tout est en commitments et signatures sur ces commitments.
  • Les transactions peuvent être agrégées et compactées (cut-through).

Implémentations : Grin, Beam. Pas utilisé directement par Bitcoin, mais étudié pour des sidechains.

Application : Liquid Network

Liquid, la sidechain de Blockstream, utilise les Confidential Assets : Pedersen commitments étendus à des actifs multiples, pas seulement BTC. Les montants ET les types d'actifs sont cachés.

Limites

  • Pas adapté tel quel à Bitcoin : la taille des transactions augmenterait massivement à cause des rangeproofs.
  • Pas quantum-safe : repose sur le problème du log discret.
  • Complexité : impose une cryptographie plus avancée que ECDSA/Schnorr classique.

Comparaison avec d'autres engagements

| Schéma | Hiding | Binding | Additif | Computational | |--------|--------|---------|---------|---------------| | Hash commitment | Parfait | Calculatoire | Non | Très simple | | Pedersen | Calculatoire | Parfait | Oui | Cryptographique | | Bulletproofs (extension) | Calculatoire | Parfait | Oui | Plus compact |

À retenir

Le Pedersen commitment est l'un des outils cryptographiques les plus élégants pour la confidentialité financière : il prouve sans révéler, additionne sans dévoiler, et reste vérifiable publiquement. C'est la brique qui rend imaginable un Bitcoin avec montants cachés.

Termes lies

← Retour au glossaire complet

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