
La troisième grande innovation technologique dans l'histoire du développement de la blockchain : l'application de la technologie de preuve à connaissance nulle
TechFlow SélectionTechFlow Sélection

La troisième grande innovation technologique dans l'histoire du développement de la blockchain : l'application de la technologie de preuve à connaissance nulle
Cet article présente principalement les applications étendues des preuves à divulgation nulle dans le domaine de la blockchain, les voies technologiques, les tendances de développement et les défis auxquels elles sont confrontées.
Auteurs :
Chercheur au nœud de finance inclusive de la Singapore University of Social Sciences (SUSS NiFT) @Jesse_meta
Chercheur chez Beosin @EatonAshton2
Chercheur en sécurité chez Least Authority @kaplannie
Qu'il s'agisse de données stockées sur Internet ou dans des archives physiques, les fuites d'informations — qu'elles soient intentionnelles ou accidentelles — sont aujourd'hui monnaie courante. Tant que l'information est stockée de manière centralisée, elle reste vulnérable à une attaque ciblée unique. Tant que le processus de vérification dépend d'un tiers de confiance, il présente un risque moral et manque d'efficacité. La sécurisation des données est donc cruciale et urgente. La technologie de preuve à connaissance nulle permet aux utilisateurs de valider efficacement et en toute sécurité leurs informations tout en préservant leur vie privée. Si Bitcoin constitue la première grande invention de la blockchain, offrant une nouvelle forme de stockage de valeur, et si les contrats intelligents d'Ethereum marquent un deuxième tournant majeur en libérant le potentiel de l'innovation, alors l'application des preuves à connaissance nulle représente la troisième révolution technologique clé de l'histoire de la blockchain, apportant confidentialité et extensibilité. Cette technologie constitue non seulement un élément fondamental de l'écosystème Web3, mais aussi une base prometteuse pour transformer la société.
Cet article présente, à destination des lecteurs non techniques, les cas d’usage, les principes de fonctionnement, l’état actuel et les tendances futures des preuves à connaissance nulle, afin de faire comprendre aux non-spécialistes les changements profonds qu’elles sont appelées à provoquer.
1. Qu’est-ce qu’une preuve à connaissance nulle ?
La preuve à connaissance nulle (ZKP) est un protocole mathématique introduit en 1985 par Shafi Goldwasser, Silvio Micali et Chales Rackoff dans leur article « The Knowledge Complexity of Interactive Proof Systems ». Ce protocole permet de prouver une affirmation sans divulguer aucune autre information que celle nécessaire à cette preuve. Le vérificateur ne peut pas accéder aux données secrètes utilisées pour générer la preuve. Prenons un exemple : pour prouver que je connais le numéro de téléphone de quelqu’un, il me suffit d’appeler cette personne devant témoins — inutile de révéler le numéro lui-même. La preuve à connaissance nulle offre ainsi une méthode efficace et quasi sans risque de partager des données. Grâce à cette technologie, nous pouvons conserver la propriété de nos données, renforcer considérablement la protection de la vie privée, et rendre les fuites de données obsolètes.
Une preuve à connaissance nulle possède trois propriétés essentielles :
Complétude
Si une affirmation est vraie, un vérificateur honnête sera convaincu par un prouveur honnête. Autrement dit, ce qui est juste ne peut être rejeté.
Solidité (Soundness)
Si une affirmation est fausse, un prouveur malhonnête ne pourra presque jamais convaincre un vérificateur honnête. En d'autres termes, ce qui est faux ne peut être accepté.
Connaissance nulle
Si une affirmation est vraie, le vérificateur apprend uniquement qu’elle est vraie, sans obtenir aucune information supplémentaire.
Les preuves à connaissance nulle comportent une très faible probabilité d’erreur de solidité : un prouveur tricheur pourrait théoriquement convaincre un vérificateur d’une fausse affirmation. Il s’agit donc de preuves probabilistes, non déterministes. Toutefois, grâce à certaines techniques, cette erreur peut être réduite à un niveau négligeable.
2. Applications des preuves à connaissance nulle
Les deux applications principales des preuves à connaissance nulle sont la confidentialité et l’extensibilité.
2.1 Confidentialité
Les preuves à connaissance nulle permettent aux utilisateurs de partager uniquement les informations nécessaires pour accéder à des biens ou services, sans divulguer leurs données personnelles, et ainsi éviter piratages et fuites d’identité. À mesure que les mondes numérique et physique convergent, cette capacité de protection devient essentielle, tant pour le Web3 que pour la sécurité informatique en général. Sans preuves à connaissance nulle, les informations utilisateur resteraient stockées dans des bases de données centralisées, exposées aux cyberattaques. Le premier cas d’usage de cette technologie dans la blockchain a été la cryptomonnaie Zcash, conçue pour masquer les détails des transactions.
2.1.1 Protection et vérification de l’identité
En ligne, nous devons souvent fournir nom, date de naissance, e-mail ou mots de passe complexes pour prouver notre identité. Cela laisse derrière nous des traces de données sensibles que nous préférerions garder privées. Les appels frauduleux qui connaissent déjà notre nom illustrent bien la gravité du problème de fuite d’identité.
Grâce à la blockchain, chaque individu pourrait disposer d’un identifiant numérique crypté contenant ses données personnelles. Cet identifiant permettrait de créer une identité décentralisée, impossible à falsifier ou modifier sans le consentement de son propriétaire. L’utilisateur garde le contrôle total sur l’accès à ses informations. Par exemple, il pourrait prouver sa citoyenneté sans révéler les détails de son passeport, simplifiant ainsi l’authentification tout en réduisant les pertes d’accès dues à l’oubli de mot de passe. Une preuve à connaissance nulle, générée à partir de données publiques et d’informations privées, permettrait d’authentifier l’utilisateur lors de l’accès à un service. Cela allège les procédures de vérification, améliore l’expérience utilisateur, et évite le stockage centralisé des données.
De plus, les preuves à connaissance nulle peuvent servir à construire des systèmes de réputation privés. Les institutions pourraient ainsi vérifier qu’un utilisateur répond à certains critères sans connaître son identité. Par exemple, un utilisateur pourrait exporter anonymement sa réputation depuis Facebook, Twitter ou GitHub, sans révéler son compte source.
2.1.2 Paiements anonymes
Les détails des paiements par carte bancaire sont généralement visibles par plusieurs parties : prestataires, banques, gouvernements… Ce modèle expose la vie privée des citoyens et repose sur la confiance en ces intermédiaires.
Les cryptomonnaies permettent des transactions directes pair-à-pair, sans tiers. Mais sur les blockchains principales, les transactions sont publiques. Bien que les adresses soient pseudonymes, il est possible de relier une adresse à une identité réelle via des données en chaîne (adresses liées) ou hors chaîne (KYC des exchanges, comptes Twitter, etc.). Connaître l’adresse d’un portefeuille revient à pouvoir consulter à tout moment son solde, voire menacer la sécurité de l’utilisateur.
Les preuves à connaissance nulle permettent des paiements anonymes à trois niveaux : monnaies privées, applications privées, et blockchains privées. Zcash, une monnaie privée, cache l’expéditeur, le destinataire, le montant, le type d’actif et l’horodatage. Tornado Cash est une application décentralisée sur Ethereum qui utilise les preuves à connaissance nulle pour brouiller les transactions (bien qu'elle soit souvent utilisée pour blanchir des fonds). Aleo est une blockchain de niveau 1 (L1) conçue pour intégrer la confidentialité au niveau du protocole.
2.1.3 Comportement honnête
Les preuves à connaissance nulle favorisent un comportement honnête tout en préservant la vie privée. Un protocole peut exiger qu’un utilisateur soumette une preuve à connaissance nulle attestant d’un comportement conforme. Grâce à la solidité (« ce qui est faux ne peut être accepté »), seul un utilisateur agissant honnêtement selon les règles du protocole pourra générer une preuve valide.
MACI (Minimal Anti-Collusion Infrastructure) est un exemple d’application visant à prévenir la collusion lors de votes ou décisions en chaîne. Ce système repose sur des paires de clés et la technologie des preuves à connaissance nulle. Dans MACI, les utilisateurs enregistrent leur clé publique dans un contrat intelligent et envoient leur vote sous forme de message chiffré. La fonction anti-collusion de MACI permet aux votants de changer leur clé publique, empêchant ainsi qu’on découvre leur choix. À la fin du scrutin, un coordinateur utilise une preuve à connaissance nulle pour démontrer qu’il a correctement traité tous les messages et que le résultat final correspond à la somme des votes valides. Cela garantit intégrité et équité du vote.
2.1.4 Vérification des données personnelles
Pour obtenir un prêt, on peut fournir une attestation numérique de revenus. Sa validité peut être vérifiée cryptographiquement. La banque peut alors utiliser une preuve à connaissance nulle pour confirmer que nos revenus atteignent un seuil minimum, sans avoir accès aux données sensibles précises.
2.1.5 Combinaison avec le machine learning pour exploiter les données privées
L’entraînement des modèles d’apprentissage automatique requiert généralement d’énormes volumes de données. Grâce aux preuves à connaissance nulle, les propriétaires de données peuvent prouver que leurs données satisfont aux exigences du modèle sans les divulguer. Cela permet d’exploiter la valeur des données privées et même de les monétiser.
Par ailleurs, les créateurs de modèles peuvent prouver que leurs algorithmes atteignent certains indicateurs de performance sans révéler les détails du modèle, empêchant ainsi la copie ou la falsification.
2.2 Extensibilité
Avec l’augmentation du nombre d’utilisateurs, la blockchain doit effectuer de nombreux calculs, entraînant des congestions. Certaines blockchains optent pour le sharding, mais cela implique des modifications complexes de la couche de base, compromettant potentiellement la sécurité. Une alternative plus viable est la solution ZK-Rollup, qui utilise le calcul vérifiable : les calculs sont externalisés vers une autre chaîne, puis une preuve à connaissance nulle accompagnée du résultat est soumise à la chaîne principale pour validation. La preuve garantit l’exactitude des transactions ; la chaîne principale met simplement à jour l’état sans stocker les détails ni rejouer les calculs, ni attendre une validation collective. Cela améliore considérablement l’efficacité et l’évolutivité. Grâce aux preuves à connaissance nulle, les développeurs peuvent concevoir des dApps légères fonctionnant sur du matériel standard comme un smartphone, facilitant ainsi l’adoption massive du Web3.
L’extensibilité par preuve à connaissance nulle peut s’appliquer aux couches 1 (ex : Mina Protocol) ou aux couches 2 (ZK-Rollups).
3. Comment fonctionnent les preuves à connaissance nulle ?
Dmitry Laverenov (2019) distingue deux structures : interactive et non interactive.
3.1 Preuve à connaissance nulle interactive
La version interactive suit trois étapes : preuve, défi et réponse.
Preuve : l’information secrète est la base de la preuve. Elle permet de formuler une série de questions dont seule une personne connaissant cette information peut donner les bonnes réponses. Le prouveur choisit aléatoirement une question, calcule la réponse et l’envoie au vérificateur.
Défi : le vérificateur choisit aléatoirement une autre question dans l’ensemble et demande au prouveur d’y répondre.
Réponse : le prouveur calcule la réponse et la transmet au vérificateur. Cette réponse permet au vérificateur de s’assurer que le prouveur connaît bien l’information secrète.
Ce processus peut être répété jusqu’à ce que la probabilité que le prouveur devine correctement sans connaître le secret devienne négligeable. Par exemple, si la probabilité de deviner juste est de 1/2, après 10 itérations, la probabilité de réussir chaque fois tombe à environ 0,001 % — rendant pratiquement impossible de tromper le vérificateur.
3.2 Preuve à connaissance nulle non interactive
Les preuves interactives ont deux limites : elles nécessitent la présence simultanée du prouveur et du vérificateur, et chaque preuve doit être recalculée pour chaque vérification, sans possibilité de réutilisation.
Pour y remédier, Manuel Blum, Paul Feldman et Silvio Micali ont proposé la version non interactive : prouveur et vérificateur partagent une clé, et une seule étape de vérification suffit. Le prouveur transforme l’information secrète en une preuve à connaissance nulle via un algorithme spécial, puis l’envoie au vérificateur. Ce dernier utilise un autre algorithme pour vérifier que le prouveur connaît bien le secret. Une fois générée, cette preuve peut être vérifiée par toute personne disposant de la clé partagée et de l’algorithme.
Cette avancée a permis le développement moderne des systèmes basés sur les preuves à connaissance nulle, notamment ZK-SNARKs et ZK-STARKs.
4. Principales voies technologiques
Alchemy (2022) distingue trois approches : ZK-SNARKs, ZK-STARKs et ZK-SNARKs récursifs.
4.1 ZK-SNARKs
ZK-SNARKs signifie Zero-Knowledge Succinct Non-Interactive Argument of Knowledge — preuve succincte, non interactive et à connaissance nulle.


Les blockchains doivent garantir l’exactitude des transactions en les faisant rejouer par d’autres nœuds. Cette méthode ralentit le réseau et limite l’évolutivité, car chaque nœud doit stocker toutes les données, provoquant une croissance exponentielle de la chaîne.
Les ZK-SNARKs résolvent ce problème en prouvant la validité de calculs effectués hors chaîne, sans que les nœuds aient à rejouer chaque étape. Cela supprime le besoin de stocker les données transactionnelles, augmentant ainsi le débit du réseau.
Les SNARKs encodent le calcul hors chaîne en une expression mathématique, produisant une preuve de validité. Le vérificateur teste cette preuve. Si elle passe tous les tests, le calcul est jugé valide. La taille de la preuve est minuscule comparée au calcul qu’elle représente — d’où le terme « succinct ».
Les ZK Rollups utilisant les SNARKs suivent généralement ces étapes :
1. L’utilisateur de niveau 2 signe une transaction et la soumet au validateur.
2. Le validateur compresse plusieurs transactions en une preuve de validité (SNARK) via la cryptographie.
3. Un contrat intelligent sur la chaîne de niveau 1 vérifie la preuve et décide si les transactions sont validées.
Les ZK-SNARKs nécessitent une configuration initiale de confiance. Une clé générée à partir d’un programme et d’un paramètre secret produit deux clés publiques : l’une pour créer la preuve, l’autre pour la vérifier. Ces clés ne sont générées qu’une fois, lors d’une cérémonie de configuration. Les utilisateurs doivent faire confiance aux participants pour ne pas conserver le paramètre secret, car sa connaissance permettrait de générer de fausses preuves. Cela pose un risque de sécurité. Des recherches sont en cours pour des SNARKs sans hypothèse de confiance.
Avantages
1. Sécurité
Les ZK rollups sont considérés comme plus sûrs que les OP rollups, car les ZK-SNARKs reposent sur des mécanismes cryptographiques robustes, difficiles à contourner.
2. Débit élevé
Les ZK-SNARKs réduisent la charge de calcul sur Ethereum, allégeant la congestion. Le calcul hors chaîne diminue les frais, accélérant les transactions.
3. Taille réduite des preuves
La petite taille des preuves facilite leur vérification sur la chaîne principale, réduisant les frais de gaz et les coûts pour les utilisateurs.
Limites
1. Centralisation relative
La dépendance à une configuration initiale va à l’encontre du principe de décentralisation.
Générer une preuve SNARK est intensif en calcul. Le prouveur doit investir dans du matériel spécialisé, cher et peu accessible, ce qui concentre fortement le processus.
2. Les ZK-SNARKs utilisent la cryptographie à courbe elliptique (ECC), sûre aujourd’hui, mais vulnérable aux ordinateurs quantiques futurs.
Projets utilisant ZK-SNARKs
Polygon Hermez
Polygon a acquis Hermez en 2021 pour 250 millions de dollars, marquant la première fusion complète entre deux réseaux blockchain. Hermez a apporté à Polygon des outils ZK, soutenant le développement de zkEVM. Hermez 1.0 était une plateforme de paiement permettant de transférer des jetons ERC-20 entre comptes, avec un débit de 2000 TPS. Hermez 2.0 est un zkEVM exécutant transparentment des transactions Ethereum, y compris des contrats intelligents avec validation à connaissance nulle. Compatible avec Ethereum, il permet un déploiement facile des projets L1. Hermez 1.0 utilise des preuves SNARK ; la version 2.0 combine SNARK et STARK : les STARK prouvent la validité hors chaîne, mais comme leur vérification sur chaîne est coûteuse, des preuves SNARK sont utilisées pour vérifier les preuves STARK.
zkSync
zkSync 1.0, lancé par Matter Labs en 2020, ne supportait pas les contrats intelligents, uniquement les transferts. zkSync 2.0, compatible contrats intelligents, est passé en production principale en mars 2023.
zkSync compile le code Solidity en Yul, un langage intermédiaire. Via le framework LLVM, le code Yul est recompilé en un bytecode personnalisé adapté au zkEVM. Cette méthode évite de prouver chaque étape de l’exécution EVM, facilitant la décentralisation tout en maintenant de hautes performances. À l’avenir, des compilateurs pour Rust, JavaScript, etc., pourront être ajoutés, rendant l’architecture plus flexible et attirant plus de développeurs.
Aztec
Aztec est le premier zkRollup hybride, exécutant à la fois des contrats publics et privés dans un même environnement. Ce n’est pas un zkEVM, mais un environnement d’exécution à connaissance nulle. En combinant exécution publique et privée dans un agrégat unique, Aztec permet des cas comme des transactions privées sur un AMM public, des discussions confidentielles dans un jeu public, ou des votes privés dans un DAO public.
4.2 ZK-STARKs
Les ZK-STARKs n’exigent aucune configuration initiale de confiance. L’acronyme signifie Zero-Knowledge Scalable Transparent Argument of Knowledge. Comparés aux ZK-SNARKs, ils offrent une meilleure évolutivité et transparence.

Avantages
1. Absence de confiance requise
Les ZK-STARKs utilisent un aléa public vérifiable à la place d'une configuration confidentielle, réduisant la dépendance aux participants et améliorant la sécurité.
2. Meilleure évolutivité
Même si la complexité du calcul sous-jacent croît exponentiellement, les temps de génération et de vérification des preuves STARK restent faibles, contrairement aux SNARKs où ils croissent linéairement.
3. Sécurité accrue
Les ZK-STARKs utilisent des fonctions de hachage résistantes aux collisions, plutôt que la cryptographie à courbe elliptique. Ils sont donc résistants aux attaques par ordinateur quantique.
Limites
1. Taille plus importante des preuves
Les preuves STARK sont plus volumineuses, augmentant le coût de leur vérification sur la chaîne principale.
2. Adoption moindre
Les ZK-SNARKs ont été les premiers utilisés dans la blockchain, ce qui leur donne un écosystème plus mature. Malgré le soutien de la Fondation Ethereum, les ZK-STARKs sont moins adoptés et leurs outils sont encore en développement.
Projets utilisant ZK-STARKs
Polygon Miden
Polygon Miden est une solution d’extension L2 pour Ethereum utilisant les zk-STARKs pour regrouper des milliers de transactions L2 en une seule transaction Ethereum, augmentant le débit et réduisant les coûts. Sans sharding, Miden produit un bloc en 5 secondes avec un TPS > 1000. Avec sharding, le TPS peut atteindre 10 000. Le retrait vers Ethereum prend environ 15 minutes. Son cœur est une machine virtuelle Turing-complète basée sur STARK — Miden VM — facilitant la vérification formelle des contrats.
StarkEx et StarkNet
StarkEx est un cadre de solution d’extension autorisé, adapté à des applications spécifiques. Les projets utilisent StarkEx pour effectuer des calculs hors chaîne à faible coût, puis génèrent une preuve STARK attestant de leur exactitude. Cette preuve couvre 12 000 à 500 000 transactions. Elle est envoyée à un vérificateur Stark sur chaîne, qui, une fois validée, accepte la mise à jour d’état. Parmi les applications : dYdX (options perpétuelles), Immutable (NFT L2), Sorare (cartes sportives) et rhino.fi (agrégateur DeFi multi-chaîne).
StarkNet est une solution L2 sans permission, où n’importe qui peut déployer des contrats intelligents en langage Cairo. Les contrats peuvent interagir entre eux, créant de nouveaux protocoles composites. Contrairement à StarkEx, où les applications soumettent leurs transactions, StarkNet utilise un séquenceur qui regroupe et traite les transactions. StarkNet convient mieux aux protocoles nécessitant une interaction avec d’autres protocoles ou sortant du cadre de StarkEx. À mesure que StarkNet évolue, les applications StarkEx pourront migrer dessus pour bénéficier de la compositabilité.
Comparaison ZK-SNARKs et ZK-STARKs


4.3 ZK-SNARKs récursifs
Un ZK rollup classique ne traite qu’un seul bloc de transactions, limitant le volume traitable. Les ZK-SNARKs récursifs permettent de valider plusieurs blocs : les preuves générées par différents blocs L2 sont fusionnées en une seule preuve de validité, sou
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News











