Crypto

Preuve à divulgation nulle (ZKP)

Definition

Une preuve à divulgation nulle (ZKP) est une méthode cryptographique qui prouve qu'une affirmation est vraie sans révéler les données secrètes sous-jacentes.

Qu'est-ce que la preuve à divulgation nulle de connaissance (ZKP) ?

Une preuve à divulgation nulle de connaissance (ZKP) est un moyen pour une partie (le preuveur) de convaincre une autre partie (le vérificateur) qu'une affirmation est vraie—sans exposer les informations privées qui la rendent vraie. En d'autres termes, le vérificateur apprend seulement une chose : l'affirmation est vérifiée.

Cela est particulièrement utile dans le domaine de la crypto, car les blockchains sont conçues pour être transparentes, mais de nombreuses transactions et applications du monde réel nécessitent la confidentialité, la divulgation sélective ou la confidentialité.

Comment fonctionne la preuve à divulgation nulle de connaissance (ZKP) ?

À un niveau élevé, une ZKP transforme “fais-moi confiance” en “vérifie-moi.” Le preuveur a un secret (comme un mot de passe, un solde de compte ou une signature valide) et veut prouver qu'il remplit certaines conditions (comme “je suis autorisé à retirer” ou “cette transaction respecte les règles”) sans révéler le secret lui-même.

La plupart des systèmes ZKP sont construits autour de trois garanties fondamentales :

1. Complétude: Si l'énoncé est vrai et que le prouveur suit le protocole, le vérificateur acceptera la preuve. 2. Solidité: Si l'énoncé est faux, un prouveur malhonnête ne devrait pas être capable de tromper le vérificateur de manière cohérente. 3. Zero-knowledge: La preuve ne révèle pas le secret—seulement la véracité de l'énoncé.

Une manière simple et étape par étape de penser à cela en termes de crypto ressemble à ceci :

1. Définir l'énoncé: Par exemple, « Je connais une clé secrète qui contrôle cette adresse », ou « ce transfert ne crée pas de pièces à partir de rien. » 2.Encoder les règles: L'énoncé est exprimé comme un ensemble de contraintes mathématiques (souvent décrit comme un « circuit » dans les systèmes ZK).

3.Générer une preuve: Le prouveur utilise ses entrées privées (le secret) et les entrées publiques (ce que tout le monde peut voir) pour calculer une preuve compacte. 4.Vérifier la preuve: Le vérificateur vérifie la preuve en utilisant des informations publiques. Si cela est vérifié, le vérificateur est convaincu que les règles ont été suivies—sans apprendre les entrées privées.

Une analogie utile : imaginez prouver que vous avez l'âge requis pour entrer dans un lieu sans montrer votre date de naissance. Au lieu de remettre votre pièce d'identité (qui révèle des détails supplémentaires), vous présentez une preuve cryptographique « oui/non » que votre âge est au moins le seuil requis. Le videur apprend seulement que vous êtes qualifié, pas votre âge exact ou vos détails d'identité.

Dans les systèmes blockchain, les ZKP apparaissent souvent dans deux grands modèles :

  • Preuves de confidentialité: Masquer les détails des transactions (comme les montants ou les participants) tout en prouvant que la transaction est valide.
  • Preuves de validité: Prouver qu'un lot de calculs ou de transactions a été exécuté correctement, permettant aux autres de faire confiance au résultat sans refaire tout le travail.

Preuve à divulgation nulle de connaissance (ZKP) en pratique

Les ZKP sont déjà utilisés dans plusieurs parties de la pile crypto.

  • Rollups ZK (scalabilité): De nombreux réseaux de couche 2 utilisent des ZKP pour prouver que de grands lots de transactions ont été traités correctement hors chaîne, puis publient une preuve succincte sur une blockchain de couche 1. Cela réduit les coûts et augmente le débit tout en héritant de la sécurité de la chaîne de base.
  • Transactions privées et données protégées: Les protocoles axés sur la confidentialité utilisent des ZKP pour garder les détails sensibles des transactions cachés tout en appliquant toujours les règles fondamentales (pas de double dépense, les soldes s'additionnent, dépenses autorisées, etc.).
  • Identité et conformité avec la divulgation sélective: Les ZKPs peuvent soutenir des flux de travail "prouver une propriété, pas les données"—comme prouver que vous n'êtes pas sur une liste de sanctions, ou que vous avez plus d'un certain âge, sans révéler votre identité complète. Cette idée est de plus en plus pertinente pour l'identité onchain, le contrôle d'accès et les cas d'utilisation réglementés.
  • Oracles et attestations de données hors chaîne: Certains designs d'oracles utilisent des techniques cryptographiques liées aux preuves à divulgation nulle de connaissance pour prouver que les données proviennent d'une source spécifique ou répondent à certaines conditions, tout en gardant les données sous-jacentes privées. Cela peut être important lorsque les contrats intelligents doivent réagir à des informations propriétaires ou sensibles.

Pourquoi la preuve à divulgation nulle de connaissance (ZKP) est importante

Les preuves à divulgation nulle de connaissance sont importantes car elles aident à réconcilier une tension fondamentale dans la crypto :vérifiabilité publique vs. vie privée.Les blockchains sont puissantes précisément parce que tout le monde peut vérifier que les règles ont été suivies—mais cette même transparence peut exposer le comportement des utilisateurs, les relations commerciales et les données financières sensibles.

Les ZKPs offrent un chemin intermédiaire pratique :

  • Les utilisateursbénéficier d'une meilleure confidentialité et d'une authentification plus sécurisée (moins de données personnelles partagées signifie moins de données à divulguer).
  • Développeurspeuvent créer des applications nécessitant la confidentialité—comme le vote privé, les positions DeFi privées ou les flux de travail d'entreprise—sans renoncer à la vérifiabilité.
  • Réseauxpeuvent évoluer plus efficacement lorsque les ZKPs sont utilisés comme preuves de validité, car une petite preuve peut représenter une grande quantité de calcul.

Sans ZKPs, de nombreux systèmes doivent choisir entre (a) révéler trop d'informations pour prouver la justesse ou (b) s'appuyer sur des intermédiaires de confiance et des bases de données privées. Les ZKPs réduisent ce compromis en rendant la « confidentialité sans confiance » et le « calcul vérifiable » plus réalisables sur une infrastructure publique.

Frequently Asked Questions

Qu'est-ce qu'une preuve à divulgation nulle de connaissance (ZKP) en termes simples ?

Une preuve à divulgation nulle de connaissance vous permet de prouver que quelque chose est vrai sans montrer les détails secrets qui le rendent vrai. Le vérificateur apprend uniquement que votre affirmation est valide, pas les données sous-jacentes.

Comment fonctionne une preuve à divulgation nulle de connaissance sur une blockchain ?

Un utilisateur génère une preuve cryptographique qu'une transaction ou un calcul respecte les règles, puis le réseau vérifie cette preuve en utilisant des informations publiques. La chaîne peut accepter le résultat sans voir les entrées privées comme les montants, les identités ou les étapes intermédiaires.

Quelles sont les trois propriétés des preuves à divulgation nulle de connaissance ?

Elles sont la complétude (les déclarations vraies peuvent être prouvées), la solidité (les déclarations fausses ne peuvent pas être prouvées par des tricheurs) et la divulgation nulle de connaissance (la preuve ne révèle aucune information secrète au-delà de la validité). Ces propriétés définissent ce qui rend une preuve à la fois fiable et privée.

Les ZKP sont-elles uniquement pour la confidentialité ?

Non—les ZKP sont également largement utilisées pour la scalabilité et l'efficacité. Les preuves de validité peuvent confirmer que de nombreuses transactions ont été traitées correctement sans obliger chaque vérificateur à réexécuter tous les calculs.

Quelle est la différence entre la divulgation nulle de connaissance et la confiance zéro ?

La divulgation nulle de connaissance est une technique cryptographique pour prouver des déclarations sans révéler de secrets. La confiance zéro est un modèle de sécurité qui suppose qu'aucun utilisateur ou appareil ne devrait être digne de confiance par défaut et nécessite une vérification continue ; les ZKP peuvent être un outil utilisé dans un système de confiance zéro.