Une preuve à connaissance nulle permet à une partie de prouver à une autre qu'une affirmation est vraie sans révéler aucune information au-delà de la vérité de l'affirmation elle-même. C'est la technique cryptographique derrière la confidentialité de la blockchain, les rollups évolutifs et un nombre croissant de systèmes de vérification d'identité.
Résumé
- Les preuves à connaissance nulle permettent à un prouveur de convaincre un vérificateur qu'un calcul a été effectué correctement sans révéler les données sous-jacentes, offrant ainsi à la fois confidentialité et évolutivité sur les blockchains.
- Les deux principales familles de preuves à connaissance nulle utilisées dans la blockchain sont les zk-SNARK, qui nécessitent une cérémonie de configuration de confiance initiale, et les zk-STARK, qui ne nécessitent pas de configuration de confiance mais produisent des preuves plus volumineuses.
- Les rollups de couche 2 d'Ethereum comme zkSync, Scroll et Polygon zkEVM utilisent des preuves à connaissance nulle pour compresser des milliers de transactions en une seule preuve vérifiée sur la chaîne principale, réduisant les coûts de gaz de 90 pour cent ou plus.
- Vitalik Buterin a introduit le protocole GKR fin 2025 comme un moyen d'accélérer la vérification des preuves à connaissance nulle d'Ethereum, visant à rendre la technologie pratique pour une utilisation quotidienne à grande échelle.
- Les preuves à connaissance nulle sont mathématiquement solides mais pas magiques. Elles dépendent d'hypothèses cryptographiques spécifiques, nécessitent des ressources de calcul importantes pour être générées et ont été déployées en production à grande échelle depuis moins de trois ans.
L'explication standard des preuves à connaissance nulle utilise l'analogie de la caverne. Ali Baba connaît le mot secret pour ouvrir une porte à l'intérieur d'une caverne circulaire. Il peut prouver qu'il connaît le mot en entrant d'un côté et en sortant de l'autre, à la demande, sans jamais prononcer le mot à voix haute. Après suffisamment de démonstrations réussies, le vérificateur devient statistiquement certain qu'Ali Baba connaît le secret.
Cette analogie est correcte mais incomplète. Elle capture l'intuition mais manque la mécanique. En pratique, les preuves à connaissance nulle ne concernent pas les cavernes ou les portes. Elles concernent les engagements polynomiaux, les couplages de courbes elliptiques et les propriétés mathématiques qui permettent à une partie d'encoder un calcul comme un ensemble de contraintes et à une autre partie de vérifier que ces contraintes sont satisfaites sans apprendre quelles valeurs les ont satisfaites.
Cet article explique ce que font les preuves à connaissance nulle, comment fonctionnent les deux systèmes de preuve dominants, où ils sont déployés en production et ce qu'ils ne peuvent pas faire. Si vous avez entendu dire que les preuves à connaissance nulle résolvent tous les problèmes de confidentialité et d'évolutivité de la blockchain, la réalité est plus spécifique et plus intéressante.
Les trois propriétés
Une preuve à connaissance nulle doit satisfaire trois propriétés mathématiques. L'exhaustivité signifie que si l'affirmation est vraie et que le prouveur et le vérificateur suivent tous deux le protocole, le vérificateur acceptera toujours la preuve. La solidité signifie que si l'affirmation est fausse, aucun prouveur malhonnête ne peut convaincre le vérificateur de l'accepter, sauf avec une probabilité négligeable. La connaissance nulle signifie que le vérificateur n'apprend rien au-delà de la vérité de l'affirmation.
La troisième propriété est contre-intuitive. Comment pouvez-vous vérifier un calcul sans rien apprendre à son sujet ? La réponse réside dans la structure du système de preuve. Le prouveur encode le calcul comme une équation polynomiale, s'engage sur ce polynôme en utilisant un schéma d'engagement cryptographique, puis répond aux défis aléatoires du vérificateur. Le vérificateur vérifie les réponses par rapport à l'engagement sans jamais voir le polynôme lui-même.
Dans les preuves à connaissance nulle non interactives, qui sont le type utilisé dans les blockchains, les défis aléatoires sont remplacés par une fonction de hachage appliquée à l'engagement. C'est ce qu'on appelle l'heuristique de Fiat-Shamir, et elle permet au prouveur de générer la preuve entière sans aucune communication aller-retour. La preuve résultante est une chaîne de données compacte que n'importe qui peut vérifier indépendamment.
La fondation mathématique repose sur la difficulté de certains problèmes computationnels. Pour les zk-SNARK, la sécurité repose sur la difficulté de calculer des logarithmes discrets sur des courbes elliptiques. Pour les zk-STARK, la sécurité repose sur la résistance aux collisions des fonctions de hachage, ce qui est considéré comme une hypothèse plus faible et plus conservatrice. Si l'une ou l'autre de ces hypothèses s'avère fausse, le système de preuve correspondant casse. C'est pourquoi le choix entre zk-SNARK et zk-STARK implique des compromis au-delà de la taille de la preuve et de la vitesse de vérification.
zk-SNARKs : configuration de confiance, petites preuves
zk-SNARK signifie Zero-Knowledge Succinct Non-interactive Argument of Knowledge. Le mot succinct est le différenciateur clé : une preuve zk-SNARK est extrêmement petite, généralement quelques centaines d'octets, et peut être vérifiée en millisecondes, quelle que soit la complexité du calcul sous-jacent.
Le coût de cette concision est la configuration de confiance. La plupart des constructions zk-SNARK nécessitent une cérémonie initiale où un ensemble de chaînes de référence structurées sont générées. Ces chaînes sont utilisées à la fois par les prouveurs et les vérificateurs. Si les valeurs aléatoires utilisées pour les générer ne sont pas correctement détruites, toute personne qui les conserve pourrait créer de fausses preuves qui semblent valides. C'est ce qu'on appelle parfois les déchets toxiques.
Les cérémonies modernes de configuration de confiance utilisent des protocoles de calcul multipartite où des centaines ou des milliers de participants contribuent chacun avec leur aléa. La garantie de sécurité est que tant qu'au moins un participant détruit honnêtement sa contribution aléatoire, la configuration est sécurisée. Zcash a été le pionnier de cette approche avec sa cérémonie Powers of Tau, et les projets ultérieurs l'ont affinée.
Les constructions zk-SNARK plus récentes comme PLONK et ses variantes utilisent une configuration de confiance universelle et mise à jour, ce qui signifie que la même configuration peut être réutilisée pour différents circuits et que des participants supplémentaires peuvent renforcer la configuration au fil du temps sans repartir de zéro. Cela atténue le problème de la configuration de confiance mais ne l'élimine pas entièrement. Le compromis fondamental reste : des preuves plus petites et plus rapides en échange d'une hypothèse de confiance unique.
zk-STARKs : pas de configuration de confiance, preuves plus grandes
zk-STARK signifie Zero-Knowledge Scalable Transparent Argument of Knowledge. Transparent signifie qu'aucune configuration de confiance n'est requise. Les chaînes de référence sont générées à partir d'aléa publiquement vérifiable, ce qui élimine entièrement le problème des déchets toxiques. Scalable fait référence au fait que le temps de preuve croît quasi-linéairement avec la taille du calcul, ce qui rend les STARK adaptés aux très grands calculs.
Le compromis est la taille de la preuve. Une preuve zk-STARK fait généralement des dizaines à des centaines de kilo-octets, contre quelques centaines d'octets pour un zk-SNARK. Sur une blockchain où le stockage de données est coûteux, cette différence compte. Le temps de vérification est également un peu plus long pour les STARK, bien que toujours assez rapide pour une utilisation pratique.
StarkWare, la société derrière Starknet, a été le principal défenseur commercial des zk-STARK. Leur argument est que la propriété de transparence, combinée à la résistance quantique due à l'utilisation uniquement de fonctions de hachage plutôt que de courbes elliptiques, fait des STARK le meilleur choix à long terme même au prix de preuves plus grandes. La question de savoir si les ordinateurs quantiques menaceront réellement la cryptographie à courbe elliptique dans un délai pertinent est débattue, mais la posture de sécurité conservatrice séduit les applications où la robustesse à long terme importe plus que l'efficacité immédiate.
ZK rollups : l'application de mise à l'échelle
L'application pratique la plus importante des preuves à connaissance nulle dans la blockchain aujourd'hui est les ZK rollups. Un rollup exécute les transactions hors chaîne, les regroupe en lots, génère une preuve à connaissance nulle que toutes les transactions étaient valides, et publie uniquement la preuve et les données de transaction compressées sur la chaîne principale. La chaîne principale vérifie la preuve, ce qui est des ordres de grandeur moins coûteux que d'exécuter chaque transaction individuellement.
Cette architecture permet aux réseaux de couche 2 d'Ethereum de traiter des milliers de transactions pour le coût d'une seule vérification de preuve sur la couche 1. En pratique, les ZK rollups comme ceux construits sur l'infrastructure Ethereum réduisent les coûts de gaz de 90 pour cent ou plus par rapport à l'exécution des mêmes transactions directement sur le réseau principal.
Les principaux projets de rollups ZK en production ou en phase avancée de développement à la mi-2026 incluent zkSync Era, Scroll, Polygon zkEVM, Linea et Taiko. Chacun utilise un système de preuve différent et fait des compromis différents entre la compatibilité EVM, la vitesse de preuve et la décentralisation. zkSync utilise une machine virtuelle personnalisée et des preuves basées sur PLONK. Scroll vise une équivalence EVM au niveau des octets en utilisant un prouveur zk-SNARK. Polygon zkEVM utilise une combinaison de preuves STARK et SNARK dans une architecture récursive.
La concurrence entre ces projets stimule une innovation rapide dans la génération de preuves. Les temps de preuve sont passés d'heures à des minutes puis à des secondes au cours des deux dernières années. L'introduction par Vitalik Buterin du protocole GKR pour Ethereum représente une autre étape vers la vérification des preuves ZK comme opération de routine plutôt que comme goulot d'étranglement computationnel.
Applications de confidentialité au-delà des rollups
Les preuves à connaissance nulle ont été développées à l'origine pour la confidentialité, pas pour l'évolutivité. Zcash, lancé en 2016, a été la première grande blockchain à utiliser des zk-SNARK pour les transactions privées. Dans une transaction Zcash protégée, l'expéditeur, le destinataire et le montant sont tous cachés du public, tandis que la preuve garantit qu'aucune pièce n'a été créée de toutes pièces et qu'aucune double dépense n'a eu lieu.
L'application de confidentialité s'étend au-delà des transactions financières. Les preuves à connaissance nulle peuvent vérifier des attributs d'identité sans révéler les données sous-jacentes. Un utilisateur pourrait prouver qu'il a plus de 18 ans sans révéler sa date de naissance, prouver qu'il est citoyen d'un pays spécifique sans révéler son numéro de passeport, ou prouver qu'il détient une certaine certification sans révéler quelle institution l'a délivrée.
Des projets comme Worldcoin et Polygon ID ont mis en œuvre des systèmes de vérification d'identité basés sur ZK. Worldcoin utilise des preuves à connaissance nulle pour vérifier qu'une personne a été scannée par son dispositif de balayage de l'iris sans lier le scan à une identité spécifique. Les projets de l'écosystème Ethereum intègrent de plus en plus l'identité basée sur ZK comme primitive aux côtés des transactions financières.
Le cas d'utilisation de la confidentialité fait face à des vents contraires réglementaires. Les régulateurs financiers de plusieurs juridictions ont exprimé des inquiétudes quant au fait que des transactions entièrement privées pourraient faciliter le blanchiment d'argent, la fraude aux sanctions et le financement du terrorisme. La tension entre la confidentialité en tant que droit fondamental et la transparence en tant qu'exigence réglementaire est l'un des débats politiques déterminants dans la cryptomonnaie, et les preuves à connaissance nulle se trouvent directement au centre de celui-ci.
Ce que les preuves à connaissance nulle ne couvrent pas
Les preuves à connaissance nulle garantissent l'intégrité computationnelle : qu'un calcul spécifique a été effectué correctement. Elles ne garantissent pas que les entrées du calcul étaient correctes, que le calcul valait la peine d'être effectué, ou que le système construit autour de la preuve est exempt de bogues.
Un rollup ZK peut prouver que toutes les transactions d'un lot étaient valides selon les règles du rollup. Il ne peut pas prouver que les règles elles-mêmes sont correctes. Un bogue dans les contrats intelligents du rollup ou dans le circuit de preuve pourrait produire des preuves valides pour des transitions d'état invalides. Plusieurs projets de rollups ZK ont divulgué et corrigé des bogues critiques dans leurs circuits lors d'audits et de déploiements sur les testnets.
Les preuves à connaissance nulle ne suppriment pas non plus le besoin de disponibilité des données. Dans un rollup ZK, la preuve indique à la chaîne principale que la transition d'état était valide, mais les utilisateurs ont toujours besoin d'accéder aux données de transaction sous-jacentes pour reconstruire l'état et vérifier que leurs fonds sont intacts. Sans disponibilité des données, les utilisateurs doivent faire confiance à l'opérateur du rollup, ce qui défait partiellement le but de la preuve.
Le coût computationnel de la génération de preuves est substantiel. Alors que la vérification est peu coûteuse, la génération de preuves nécessite du matériel important. Exécuter un prouveur ZK à l'échelle de la production nécessite généralement des serveurs avec des centaines de gigaoctets de RAM et des accélérateurs matériels spécialisés. Ce coût crée une force centralisatrice naturelle dans la capacité à payer pour exécuter des prouveurs, même si les preuves elles-mêmes peuvent être vérifiées par n'importe qui.
Vérifications pratiques pour évaluer les projets ZK
Lors de l'évaluation d'un projet qui prétend utiliser des preuves à connaissance nulle, plusieurs questions distinguent les implémentations sérieuses du marketing.
Premièrement, demandez si le système de preuve a été audité indépendamment. Les bugs de circuit peuvent créer des vulnérabilités de solidité où des preuves invalides sont acceptées comme valides. Un projet qui n'a pas été audité par plusieurs cabinets de cryptographie indépendants doit être traité avec prudence.
Deuxièmement, demandez si le système de preuve utilise une configuration de confiance et, si oui, comment la cérémonie a été menée. Une configuration de confiance avec seulement un petit nombre de participants, ou menée par une seule entreprise sans vérification externe, représente une hypothèse de confiance significative.
Troisièmement, vérifiez si le projet publie ses contrats de vérification de preuve et si ces contrats ont été vérifiés sur la chaîne. Si la vérification se fait hors chaîne ou via des contrats proxy évolutifs contrôlés par un multisig, les preuves à connaissance nulle peuvent ne pas fournir les garanties de sécurité que les utilisateurs attendent.
Quatrièmement, examinez la solution de disponibilité des données. Si le projet ne publie pas les données de transaction sur la chaîne ou sur une couche de disponibilité des données crédible, les utilisateurs ne peuvent pas vérifier indépendamment l'état et doivent faire confiance à l'opérateur. Cela constitue un écart significatif par rapport à la confiance minimale que les preuves à connaissance nulle sont censées permettre.
Questions fréquemment posées
Qu'est-ce qu'une preuve à divulgation nulle de connaissance en termes simples ?
Une preuve à divulgation nulle de connaissance est un moyen de prouver que vous savez quelque chose sans révéler ce que vous savez. Dans la blockchain, elle permet à un ordinateur de prouver à un autre qu'un ensemble de transactions est valide sans montrer les détails de ces transactions. Cela permet à la fois la confidentialité et l'évolutivité.
Quelle est la différence entre les zk-SNARKs et les zk-STARKs ?
Les zk-SNARKs produisent des preuves très petites, généralement de quelques centaines d'octets, et se vérifient rapidement, mais nécessitent une cérémonie de configuration de confiance unique. Les zk-STARKs produisent des preuves plus grandes, généralement de quelques dizaines de kilo-octets, mais ne nécessitent aucune configuration de confiance et sont considérés comme résistants aux attaques de l'informatique quantique. Les deux atteignent le même objectif de calcul vérifiable avec divulgation nulle de connaissance.
Comment les rollups ZK réduisent-ils les coûts de gaz d'Ethereum ?
Les rollups ZK exécutent les transactions hors de la chaîne principale d'Ethereum, les regroupent et génèrent une preuve à divulgation nulle de connaissance que toutes les transactions sont valides. Seules la preuve et les données compressées sont publiées sur Ethereum. Vérifier une seule preuve est beaucoup moins coûteux que d'exécuter des milliers de transactions individuelles, ce qui entraîne des réductions des coûts de gaz de 90 pour cent ou plus.
Les preuves à divulgation nulle de connaissance sont-elles résistantes aux ordinateurs quantiques ?
Cela dépend du système de preuve. Les zk-STARKs reposent sur des fonctions de hachage, qui sont considérées comme résistantes aux ordinateurs quantiques. Les zk-SNARKs reposent sur la cryptographie à courbe elliptique, qui pourrait théoriquement être cassée par un ordinateur quantique suffisamment puissant. Cependant, des ordinateurs quantiques pratiques capables de casser les courbes elliptiques n'existent pas encore et pourraient ne pas exister avant des décennies.
Les preuves à divulgation nulle de connaissance peuvent-elles rendre toutes les transactions de la blockchain privées ?
Techniquement oui, mais en pratique il y a des compromis. Générer des preuves pour chaque transaction ajoute un coût de calcul et une complexité. Les transactions entièrement privées posent également des défis réglementaires dans les juridictions qui exigent une transparence financière. Des projets comme Zcash offrent une confidentialité optionnelle, tandis que la plupart des rollups ZK utilisent la technologie principalement pour l'évolutivité plutôt que pour la confidentialité.
Qu'est-ce qu'une configuration de confiance et pourquoi est-elle importante ?
Une configuration de confiance est une cérémonie unique qui génère les paramètres cryptographiques nécessaires à certains systèmes de preuve. Si les valeurs aléatoires utilisées pendant la cérémonie ne sont pas correctement détruites, quelqu'un pourrait créer de fausses preuves. Les cérémonies modernes utilisent le calcul multipartite où des centaines de participants contribuent au hasard, et la configuration est sécurisée tant qu'au moins un participant est honnête.
Quelles blockchains utilisent les preuves à divulgation nulle de connaissance ?
Zcash a été la première grande blockchain à utiliser les preuves à divulgation nulle de connaissance pour les transactions privées. Ethereum utilise les preuves ZK via des rollups de couche 2, notamment zkSync, Scroll, Polygon zkEVM, Linea et Starknet. Mina Protocol utilise des preuves ZK récursives pour maintenir une blockchain de taille fixe. Plusieurs autres chaînes intègrent la technologie ZK pour des fonctionnalités spécifiques comme la vérification d'identité ou la messagerie inter-chaînes.
Combien de temps faut-il pour générer une preuve à divulgation nulle de connaissance ?
Le temps de génération de la preuve dépend de la complexité du calcul et du matériel utilisé. Pour les lots de rollups ZK contenant des milliers de transactions, la génération de preuves prend actuellement de quelques secondes à quelques minutes sur du matériel spécialisé. Il y a deux ans, les mêmes preuves prenaient des heures. La tendance est à une preuve plus rapide grâce à l'accélération matérielle et aux améliorations algorithmiques, avec pour objectif la génération de preuves en temps réel.






