Points clés
Une preuve à connaissance nulle (ZKP) est une méthode cryptographique qui permet à une partie de prouver qu’une affirmation est vraie sans révéler aucune donnée sous-jacente.
Les preuves à connaissance nulle renforcent la confidentialité et la sécurité sur la blockchain en permettant de vérifier des transactions sans exposer des détails sensibles comme les adresses des portefeuilles ou les montants.
Les zk-SNARKs et les zk-STARKs sont les deux principaux types de preuves à connaissance nulle utilisés aujourd’hui, avec des compromis différents concernant la vitesse, la taille des preuves et la nécessité d’une mise en place de confiance.
Les zk-rollups utilisent des preuves à connaissance nulle pour regrouper de nombreuses transactions hors chaîne et soumettre une preuve cryptographique unique on-chain, augmentant le débit et réduisant les frais.
Les applications concrètes des preuves à connaissance nulle incluent les transactions privées, la vérification d’identité, la finance décentralisée (DeFi) et l’interopérabilité entre chaînes.
Introduction
Les blockchains sont construites autour de la transparence. Chaque transaction sur un réseau public est visible par toute personne qui prend la peine de regarder. Cette transparence crée de la confiance, mais elle fait aussi naître une tension fondamentale : parfois, vous devez vérifier quelque chose sans exposer les données sous-jacentes.
Les preuves à connaissance nulle résolvent ce problème. Elles permettent à une partie, appelée le prouveur, de convaincre une autre partie, appelée le vérificateur, qu’une affirmation est vraie sans révéler d’informations au-delà de ce seul fait. Le nom vient directement de l’idée : le vérificateur obtient zéro connaissance sur les données sous-jacentes, tout en pouvant être certain que l’affirmation est valide.
Les preuves à connaissance nulle ont été un concept théorique en cryptographie dès les années 1980, mais des implémentations pratiques dans la blockchain n’ont vraiment été viables qu’à partir des années 2010. Depuis, elles sont devenues l’une des technologies les plus activement développées dans ce domaine, soutenant les monnaies de confidentialité, les solutions de passage à l’échelle de couche 2 et les systèmes d’identité.
Comment fonctionnent les preuves à connaissance nulle
À la base, une preuve à connaissance nulle est un protocole mathématique dans lequel le prouveur génère une preuve qui satisfait à un ensemble de conditions que le vérificateur peut vérifier. Le vérificateur peut confirmer que la preuve est correcte sans être capable de remonter à l’entrée initiale par rétro-ingénierie.
Une analogie classique est celle d’un tunnel avec une porte verrouillée au milieu. Un prouveur qui connaît le code de la porte peut entrer de manière cohérente d’un côté et sortir de l’autre. Un vérificateur observant depuis l’extérieur voit la preuve, sans jamais apprendre le code lui-même.
Pour qu’une preuve à connaissance nulle soit valide, elle doit satisfaire à trois propriétés. La complétude signifie qu’un prouveur honnête peut toujours convaincre le vérificateur. La solidité (soundness) signifie qu’un prouveur malhonnête ne peut pas convaincre le vérificateur d’une fausse affirmation, sauf avec une probabilité négligeable. La confidentialité à connaissance nulle signifie que le vérificateur n’apprend rien au-delà du fait de savoir si l’affirmation est vraie.
Dans la pratique, la plupart des preuves à connaissance nulle utilisées dans la blockchain sont non interactives : le prouveur génère une preuve comme un simple bloc de données, et le vérificateur la vérifie sans aller-retour. Cela rend les preuves à connaissance nulle pratiques pour une utilisation dans des contrats intelligents on-chain et des protocoles de couche 2.
zk-SNARKs et zk-STARKs
Les deux types de preuves à connaissance nulle les plus largement utilisés dans la blockchain sont les zk-SNARKs et les zk-STARKs. Les deux permettent de vérifier un calcul hors chaîne on-chain, mais ils diffèrent par leur approche technique.
zk-SNARKs
Les preuves à connaissance nulle succinctes et non interactives argumentant une connaissance (zk-SNARK) sont compactes et rapides à vérifier, ce qui les a rendues populaires dans les premières applications de preuves à connaissance nulle, telles que les transactions privées de Zcash et la vérification de contrats intelligents sur Ethereum.
Le principal inconvénient est que les zk-SNARKs nécessitent une mise en place de confiance (trusted setup), une cérémonie au cours de laquelle un ensemble de paramètres cryptographiques est généré. Si cette mise en place est compromise, un attaquant pourrait potentiellement générer des preuves frauduleuses. De nombreux projets utilisent des cérémonies de calcul multipartite afin de minimiser ce risque.
zk-STARKs
Les preuves à connaissance nulle évolutives et transparentes argumentant une connaissance (zk-STARK) ne nécessitent pas de mise en place de confiance, ce qui élimine le risque lié au « trusted setup ». Elles sont aussi considérées comme plus résistantes aux attaques par informatique quantique que les zk-SNARKs. Le compromis est que les preuves zk-STARK sont plus volumineuses, ce qui peut entraîner des coûts plus élevés de vérification on-chain. StarkNet est un réseau de production notable utilisant les zk-STARKs à grande échelle.
zk-Rollups et passage à l’échelle de la blockchain
L’une des applications les plus importantes des preuves à connaissance nulle est celle des zk-rollups, une solution de scalabilité de couche 2 pour les blockchains. Un zk-rollup traite des centaines de transactions hors chaîne, les regroupe en un lot, puis soumet une preuve zk-SNARK ou zk-STARK unique à la chaîne principale afin de prouver que toutes ces transactions sont valides.
Cette approche peut augmenter considérablement le débit des transactions tout en héritant de la sécurité de la couche de base. L’alternative principale, les rollups optimistes, suppose que les transactions sont valides tant qu’elles ne sont pas contestées, ce qui introduit un délai de retrait. Les zk-rollups n’ont pas ce délai, car la validité est prouvée cryptographiquement au moment de la publication.
Le EIP-4844 d’Ethereum, activé en mars 2024, a introduit des « blobs » comme couche de stockage de données dédiée pour les données des rollups de couche 1 et de couche 2. Cela a fortement réduit le coût de publication de lots de preuves à connaissance nulle on-chain, rendant les zk-rollups nettement moins chers pour les utilisateurs finaux. Plusieurs réseaux zkEVM, dont zkSync Era, Polygon zkEVM, Scroll et Taiko, sont désormais actifs en production.
Cas d’utilisation des preuves à connaissance nulle
Transactions privées
Les preuves à connaissance nulle peuvent dissimuler les adresses de l’expéditeur, du destinataire et les montants des transactions sur les blockchains publiques. Zcash l’a introduit avec les transactions protégées utilisant des zk-SNARKs, permettant aux utilisateurs d’effectuer des transactions sans divulguer leur activité financière au grand livre public.
Vérification d’identité numérique
Les preuves à connaissance nulle permettent à un utilisateur de prouver qu’il satisfait à une exigence, comme être âgé de plus de 18 ans ou détenir un justificatif valide, sans révéler les documents sous-jacents. Elles ont des applications dans les systèmes d’identité décentralisés, la conformité KYC et le contrôle d’accès.
Confidentialité DeFi
Les protocoles de finance décentralisée peuvent utiliser des preuves à connaissance nulle pour permettre des prêts, des emprunts et des échanges privés. Les utilisateurs peuvent prouver qu’ils disposent d’un collatéral suffisant ou qu’ils remplissent les critères d’emprunt sans exposer l’intégralité de l’historique de leur portefeuille ni leur solde.
Interopérabilité entre chaînes
Les preuves à connaissance nulle peuvent vérifier l’état d’une blockchain à une autre, sans nécessiter un nœud complet. Cela rend possible la construction de ponts inter-chaînes et de couches d’interopérabilité qui héritent de la sécurité cryptographique, plutôt que de s’appuyer sur des intermédiaires de confiance.
Limites des preuves à connaissance nulle
Les preuves à connaissance nulle ne constituent pas une solution complète à tous les défis de confidentialité et de passage à l’échelle. Générer une preuve à connaissance nulle nécessite de la puissance de calcul substantielle, ce qui peut entraîner des besoins matériels plus élevés pour les prouveurs. Cette situation s’améliore à mesure que les logiciels de génération de preuves évoluent, mais reste un point à considérer pour les réseaux plus petits.
L’exigence de « trusted setup » (mise en place de confiance) pour les zk-SNARKs introduit une hypothèse de confiance que certains développeurs et utilisateurs préfèrent éviter. Et même si les preuves à connaissance nulle sont probabilistes dans leurs garanties d’authenticité (c’est-à-dire que la probabilité qu’une preuve fausse passe la vérification est extrêmement faible, mais pas nulle), cela est généralement jugé acceptable dans la pratique.
Enfin, la technologie des preuves à connaissance nulle continue de mûrir. Auditer des circuits de preuve à connaissance nulle est complexe et requiert une expertise spécialisée. Plusieurs bogues très médiatisés ont été trouvés dans des implémentations de preuves à connaissance nulle, soulignant l’importance d’un examen rigoureux avant de les déployer dans des systèmes de production.
FAQ
Qu’est-ce qu’une preuve à connaissance nulle, simplement ?
Une preuve à connaissance nulle est une façon de prouver que vous savez quelque chose sans révéler ce que c’est. Le prouveur convainc le vérificateur qu’une affirmation est vraie, et le vérificateur n’apprend rien d’autre, sauf que l’affirmation est correcte.
Quelle est la différence entre les zk-SNARKs et les zk-STARKs ?
Les zk-SNARKs produisent des preuves plus petites et se vérifient rapidement, mais nécessitent une mise en place de confiance. Les zk-STARKs ne requièrent pas de « trusted setup » et sont plus résistants aux attaques quantiques, mais produisent des preuves plus volumineuses. Les deux sont utilisés dans des systèmes blockchain en production.
Comment les preuves à connaissance nulle sont-elles utilisées pour le passage à l’échelle d’Ethereum ?
Les zk-rollups utilisent des preuves à connaissance nulle pour regrouper de nombreuses transactions hors chaîne et soumettre une preuve unique à Ethereum afin de la faire vérifier. Cela augmente le débit et réduit les frais de transaction tout en conservant la sécurité de la couche de base d’Ethereum.
Les preuves à connaissance nulle sont-elles totalement sécurisées ?
Les preuves à connaissance nulle offrent des garanties cryptographiques très solides, mais elles ne sont pas infaillibles. L’étape de « trusted setup » dans les zk-SNARKs introduit une hypothèse de confiance. Des bogues d’implémentation dans des circuits de preuves à connaissance nulle ont été découverts dans certains projets. Comme pour tout système cryptographique, la sécurité dépend d’une implémentation correcte et d’un audit continu.
Réflexions finales
Les preuves à connaissance nulle sont passées d’une idée théorique à un élément constitutif central de l’infrastructure blockchain moderne. Elles permettent la confidentialité, améliorent la scalabilité et rendent possibles de nouvelles applications dans les domaines de la DeFi, de l’identité et de l’interopérabilité.
La technologie continue d’évoluer rapidement. Les réseaux zkEVM sont désormais en ligne sur Ethereum, prouvant que les coûts baissent, et de nouvelles applications basées sur des preuves à connaissance nulle sont déployées régulièrement. Les preuves à connaissance nulle joueront probablement un rôle de plus en plus central dans la manière dont les blockchains gèrent la confidentialité et le passage à l’échelle dans les années à venir.
Pour aller plus loin
zk-SNARKs et zk-STARKs expliqués
Que sont les zk-Rollups ? La technique de scalabilité de couche 2
Rollups optimistes vs rollups à connaissance nulle : quelle différence ?
Solutions de passage à l’échelle : couche 1 vs couche 2 pour la blockchain
Améliorer la transparence crypto avec des preuves à connaissance nulle
Avertissement : ce contenu vous est fourni « tel quel », uniquement à des fins d’information générale et d’éducation, sans aucune représentation ni garantie de quelque nature que ce soit. Il ne doit pas être interprété comme un conseil financier, juridique ou professionnel, ni comme une recommandation d’achat d’un produit ou service spécifique. Vous devriez demander conseil à des conseillers professionnels appropriés. Lorsque le contenu est fourni par un contributeur tiers, veuillez noter que les opinions exprimées appartiennent à ce contributeur tiers et ne reflètent pas nécessairement celles de Binance Academy. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut baisser ou augmenter et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d’investissement et Binance Academy n’est pas responsable des pertes que vous pourriez subir. Pour plus d’informations, veuillez consulter nos Conditions d’utilisation, l’Avertissement relatif aux risques et les Conditions d’utilisation de Binance Academy.
