Glossaire
Preuve à divulgation nulle de connaissance (zero knowledge proof)
Une preuve à divulgation nulle de connaissance (ZKP) permet à un prouveur de convaincre un vérificateur qu’une affirmation est vraie sans rien révéler d’autre. La crypto s’en sert pour les paiements privés (Zcash) et les rollups ZK qui prouvent des lots de transactions Ethereum.
Aussi appelé Zero knowledge proof, ZKP, Preuve à connaissance nulle, Preuve zero-knowledge, Preuve ZK, zk-SNARK, zk-STARK
Voir aussi
Une preuve à divulgation nulle de connaissance (zero knowledge proof, ou ZKP) permet à un prouveur de convaincre un vérificateur qu’une affirmation est vraie sans rien révéler d’autre. En crypto, elle masque les paiements Zcash et permet à une seule preuve courte de garantir tout un lot de transactions Ethereum.
L’idée vient de Shafi Goldwasser et Silvio Micali (MIT) et de Charles Rackoff (université de Toronto). Leur article, « The Knowledge Complexity of Interactive Proof Systems », a été présenté pour la première fois en 1985 et publié en revue en 1989.
Comment fonctionne une preuve à divulgation nulle de connaissance : trois garanties
Leur constat de départ : une preuve ordinaire en dit plus qu’un oui ou un non. Montrer un itinéraire passant par tous les points d’un réseau prouve qu’il existe, mais le livre aussi.
Ethereum.org résume trois garanties. Si l’affirmation est vraie et que chacun joue honnêtement, le vérificateur accepte (complétude). Si elle est fausse, un tricheur ne passe qu’avec une probabilité négligeable (on parle de solidité). Enfin, le vérificateur n’apprend rien d’autre : c’est la divulgation nulle.
La caverne d’Ali Baba : 20 manches et un tricheur à moins d’une chance sur un million
L’exemple classique vient du cryptographe belge Jean-Jacques Quisquater et de ses coauteurs, à la conférence CRYPTO ’89. Une caverne en anneau se divise en deux galeries, A et B, reliées au fond par une porte qui ne s’ouvre qu’avec un mot secret. Peggy affirme le connaître. Victor attend dehors pendant qu’elle s’engage, hors de sa vue, dans l’une des deux.
Victor annonce alors, au hasard, la galerie par laquelle elle doit ressortir. Si elle connaît le mot, elle obéit à tous les coups. Si elle bluffe, elle ne s’en sort que lorsqu’il désigne la galerie déjà empruntée : une chance sur deux.
Notre calcul : les manches étant indépendantes, un bluffeur en franchit n avec une probabilité de 1/2^n.
| Manches | Calcul | Chance du tricheur |
|---|---|---|
| 1 | 1/2 | 50 % |
| 5 | 1/2^5 = 1/32 | 3,125 % |
| 10 | 1/2^10 = 1/1 024 | environ 0,098 % |
| 20 | 1/2^20 = 1/1 048 576 | moins d’une sur un million |
Après 20 manches, Victor est sûr à 1 − 1/1 048 576, soit environ 99,9999 %. Le risque ne tombe jamais à zéro, mais descend aussi bas que Victor le veut. Lui n’entend jamais le mot, et une vidéo ne convaincrait personne d’autre : les appels auraient pu être arrangés.

zk-SNARK ou zk-STARK : deux façons de tout prouver en un seul message
Les preuves non interactives remplacent les questions du vérificateur par un aléa cryptographique : chacun peut contrôler une preuve publiée.
Un zk-SNARK est un « zero-knowledge succinct non-interactive argument of knowledge ». Selon Zcash, ces preuves pèsent quelques centaines d’octets et se vérifient en quelques millisecondes. Beaucoup exigent une cérémonie de configuration de confiance (trusted setup) : qui garderait son aléa secret, les « déchets toxiques », pourrait forger de fausses preuves, soit chez Zcash de la fausse monnaie. À plusieurs participants, la cérémonie reste sûre si un seul détruit sa part.
Le zk-STARK (scalable transparent argument of knowledge) a été présenté par Eli Ben-Sasson et trois coauteurs dans un article de janvier 2018. Il se passe de cérémonie. La contrepartie, c’est le poids : les preuves STARK sont plus volumineuses, et en vérifier une sur Ethereum coûte davantage que les quelque 500 000 gas d’un SNARK, d’après ethereum.org.
Zero knowledge proof en crypto, et bientôt pour prouver son âge
Lancé le 28 octobre 2016, Zcash a été la première grande application des zk-SNARK : une transaction Zcash protégée prouve qu’elle est valide tout en masquant l’expéditeur, le destinataire et le montant. Depuis mai 2022, son pool Orchard tourne sur Halo 2, sans cérémonie.
Sur Ethereum, les preuves ZK font fonctionner les rollups ZK. Un opérateur exécute un lot de transactions hors chaîne et publie un résumé avec une preuve de validité, qu’un contrat vérifie sur Ethereum. ZKsync Era, Starknet et Scroll reposent sur ce modèle.
Hors crypto, le modèle européen de vérification de l’âge permet à un site de s’assurer qu’un visiteur a plus de 18 ans sans connaître son identité. Sa deuxième version (octobre 2025) a ajouté passeports et cartes d’identité et renvoyé les ZKP à plus tard ; la Commission indique désormais qu’elles sont incluses. Le Danemark, la France, la Grèce, l’Italie et l’Espagne l’adaptent. L’association EDRi juge que les spécifications suggèrent les ZKP sans les imposer.
La France n’est pas partie de zéro. En juin 2022, le LINC, laboratoire de la CNIL, a publié un démonstrateur de vérification d’âge conçu avec le cryptographe Olivier Blazy (École polytechnique) et développé avec le PEReN. Il combine signatures de groupe et preuves à divulgation nulle : le site apprend seulement que l’internaute est majeur, le tiers vérificateur ne sait pas quel site l’interroge.
Ce qu’une preuve ZK ne garantit pas
Une preuve ZK ne couvre que l’affirmation qu’elle encode, comme l’a rappelé cette semaine l’exploit contre Pirate Chain. Le 15 octobre 2026, l’équipe a indiqué qu’un bug de validation avait permis de créer environ 39,8 millions d’ARRR (près de 20 % d’offre en plus), aussitôt versés dans le pool protégé Sapling. Elle ne voit aucun signe que la cryptographie de ses transactions protégées ait été cassée. Si c’est exact, les preuves ont tenu : les jetons sont nés d’une faille du code de validation ordinaire, en amont du pool. Un post-mortem est attendu.
Zcash avait frôlé l’accident : une faille de contrefaçon dans ses paramètres d’origine, découverte en mars 2018, a été supprimée par Sapling en octobre, puis révélée en 2019, sans trace d’exploitation.

Confidentialité ne veut pas dire légalité. À partir du 10 juillet 2027, le règlement européen anti-blanchiment (AMLR) interdit aux plateformes crypto de tenir des comptes en cryptos à anonymat renforcé. Il n’interdit pas les preuves à divulgation nulle, et les rollups ZK ne sont pas des privacy coins.
Zero knowledge proof : les questions des lecteurs
Qu’est-ce que la preuve à divulgation nulle de connaissance ?
C’est un protocole cryptographique qui prouve qu’une affirmation est vraie sans dévoiler l’information qui la fonde. En crypto, il valide une transaction ou un calcul sans exposer les données privées : Zcash cache qui a payé qui et combien, les rollups ZK garantissent un lot de transactions par une seule preuve.
Que veut dire zk-SNARK ?
Zero-knowledge succinct non-interactive argument of knowledge. Succinct : la preuve est petite et vite vérifiée. Non interactif : un seul message, sans échange en direct. Argument de connaissance : le prouveur montre qu’il détient le secret, pas seulement qu’un secret existe.
Quelle différence entre zk-SNARK et zk-STARK ?
Le SNARK donne des preuves de quelques centaines d’octets, mais exige souvent une cérémonie et repose sur des courbes elliptiques qu’un ordinateur quantique assez puissant pourrait en théorie casser, selon ethereum.org. Le STARK s’appuie sur des fonctions de hachage résistantes aux collisions, sans cérémonie, avec des preuves plus lourdes et plus chères à vérifier.
Peut-on falsifier une preuve à divulgation nulle ?
Seulement avec une probabilité négligeable, si le système est bien construit. Les vrais risques se logent autour : un secret de configuration qui fuit, un circuit mal conçu, un code qui saute une vérification. Zcash en 2018 et Pirate Chain en 2026 ont connu ce genre de problème, pas un échec des mathématiques.
