Cet article est une soumission de la communauté. L'auteur est Kenny Li, co-fondateur de Manta Network, un protocole de confidentialité programmable de couche 1 alimenté par une technologie de preuve sans connaissance.
Les opinions exprimées dans cet article sont celles du contributeur/auteur et ne reflètent pas nécessairement celles de Binance Academy.
TL;DR
La preuve à connaissance nulle (ZKP) est une technologie cryptographique qui permet de vérifier la véracité d'une information sans révéler l'information elle-même. C’est devenu une technologie de plus en plus importante dans la blockchain, la crypto-monnaie et la finance décentralisée (DeFi) pour améliorer la confidentialité et la sécurité.
De nombreux projets DeFi utilisent déjà les ZKP pour offrir aux utilisateurs une meilleure confidentialité et sécurité pour des services tels que le prêt, l'emprunt et le trading. Un certain nombre de blockchains de couche 1 ajoutent des roll-ups basés sur ZKP ou zkEVM. Les preuves sans connaissance devraient jouer un rôle de plus en plus crucial dans le monde de la blockchain et du Web3, à mesure que leurs applications devraient être plus largement adoptées.
Comment fonctionne la preuve sans connaissance ?
La preuve sans connaissance est une méthode par laquelle une partie (le prouveur) peut prouver à une autre partie (le vérificateur) qu'une déclaration est vraie sans révéler aucune information supplémentaire. Ceci est particulièrement utile lorsque les informations sont sensibles et que le prouveur ne souhaite pas que le vérificateur y ait accès.
Le prouveur fournit une preuve mathématique qu'il est le seul à pouvoir générer et le vérificateur peut utiliser cette preuve pour vérifier la véracité de la déclaration. Cependant, ils ne peuvent pas utiliser la preuve pour reconstituer les informations originales.
Imaginez un tunnel avec deux entrées, A et B. Il y a une porte verrouillée avec un code secret bloquant le seul chemin et empêchant les gens de traverser le tunnel d'un bout à l'autre (A vers B). Vous connaissez le code secret et souhaitez le vendre à Mme X, qui souhaite accéder au tunnel.
Vous voulez qu'elle paie d'avance avant de lui révéler le code, mais elle veut d'abord que vous prouviez que vous connaissez vraiment le code. Dans ce cas, elle peut le faire en se tenant devant le tunnel et en vous regardant entrer dans l’une des entrées et sortir par l’autre. De cette façon, elle sera convaincue que vous connaissez vraiment le code secret.
Exemple avancé de preuve sans connaissance
Imaginez que vous avez un ami qui ne peut pas faire la distinction entre les couleurs rouge et bleue. Vous avez deux boules exposées : une rouge et une bleue. Votre ami ne croit cependant pas que les boules puissent être distinguées les unes des autres. Vous voulez prouver qu’ils sont de couleurs différentes sans révéler que vous avez une boule rouge et une boule bleue. En fait, vous ne souhaitez divulguer aucune information sur la façon dont vous les distinguez.
Alors, comment prouver qu’ils peuvent être distingués tout en ne révélant aucune connaissance sur le processus d’identification ou sur les caractéristiques déterminantes ? La réponse est simple. Vous demandez à votre ami de tenir les deux ballons derrière son dos avant d’en afficher un. Ils placeront ensuite le ballon derrière leur dos et choisiront au hasard (50/50) l'un des deux pour le montrer à nouveau. Notez que votre ami saura toujours s’il a changé la balle.
Votre ami vous demandera alors : « La balle a-t-elle changé ? avant de confirmer la validité de votre réponse. Après avoir donné votre bonne réponse, votre ami peut soupçonner que vous avez deviné. Ils vous demandent de le faire cinq fois supplémentaires, ce qui signifie que les chances que vous ayez deviné correctement à chaque fois au cours de l'expérience seraient :
Les chances semblent minces ! Pour être sûr, vous et votre ami répétez le processus 15 fois. Les chances que vous deviniez correctement seraient alors :
Vous seriez presque certain que la preuve est correcte à ce stade. Si vous et votre ami répétez l’expérience un nombre infini de fois, la chance que vous deviniez correctement à chaque fois tend vers zéro.
Vous avez donc prouvé à votre ami que les balles peuvent être distinguées sans aucune connaissance de sa part de la manière dont cela se fait. Il peut cependant accepter cette conclusion avec confiance.
Pourquoi utiliser des preuves à connaissance nulle ?
La popularité des preuves sans connaissance dans la blockchain et la cryptographie est motivée par la demande croissante de confidentialité et de sécurité dans les transactions numériques. Avec l’essor de la technologie blockchain et des crypto-monnaies, il existe un besoin croissant d’un moyen de vérifier les transactions sans révéler d’informations sensibles – un besoin que les ZKP peuvent répondre.
Les preuves sans connaissance ont attiré une plus grande attention et un plus grand intérêt ces dernières années, de nombreux protocoles utilisant les ZKP ayant été lancés et de grandes chaînes de blocs ayant construit des cumuls de connaissances nulles. Un signe clair de la popularité des preuves sans connaissance a été observé lors de la conférence DevCon 2022, où plus de 20 % de toutes les discussions portaient sur cette technologie.
Développements clés
L’un des développements clés dans les preuves à connaissance nulle est l’utilisation accrue des zk-SNARK, un type spécifique de ZKP. Les zk-SNARK ont été largement adoptés dans diverses applications DeFi, telles que les transactions de jetons privés et les prêts et emprunts protégés. Un autre développement majeur dans les preuves à connaissance nulle est l'accent accru mis sur l'évolutivité et les performances via les zk-rollups.
zk-SNARK
L'argument de connaissance succinct non interactif à connaissance nulle (zk-SNARK) est un type spécifique de preuve à connaissance nulle qui permet de vérifier une déclaration sans révéler aucune information sur la déclaration elle-même.
Les zk-SNARK ont déjà été utilisés sur des applications telles que Zcash et le système de paiement basé sur la blockchain de JP Morgan Chase. Il a également été utilisé pour authentifier en toute sécurité les clients auprès des serveurs.
Zk-Rollups
Les Zk-rollups sont une solution de mise à l'échelle pour les réseaux blockchain qui facilite le regroupement de plusieurs transactions en une seule transaction plus importante qui est ensuite enregistrée sur la blockchain. Par exemple, BNB Chain a lancé son réseau de test zkBNB construit sur l'architecture zk-rollup en 2022.
zkBNB peut regrouper des centaines de transactions en un seul lot hors chaîne et générer une preuve cryptographique pour prouver la validité de toutes les transactions. Les zk-rollups offrent un équilibre entre évolutivité et sécurité et conviennent aux paramètres à grande échelle et à faible latence.
Cas d'utilisation pour les preuves sans connaissance
Les preuves sans connaissance ont de nombreux cas d'utilisation, dont certains ont déjà été réalisés ; d’autres devraient devenir une réalité à l’avenir. Certains cas d'utilisation majeurs de ZKP incluent :
Vérification de l'identité numérique
Des preuves sans connaissance peuvent être utilisées pour vérifier l’identité des utilisateurs sans révéler aucune information personnelle sensible. Cela peut être utile dans des applications telles que les systèmes de vote numérique, où l'identité des électeurs doit être vérifiée sans compromettre leur anonymat.
Transactions préservant la confidentialité
L’un des cas d’utilisation les plus populaires des preuves sans connaissance en cryptographie consiste à permettre des transactions préservant la confidentialité. Par exemple, l'application décentralisée MantaPay (DApp) de Manta Network utilise les ZKP pour permettre aux utilisateurs d'effectuer des transactions sur l'échange décentralisé (DEX) sans révéler leur identité ou les détails de la transaction. Cela permet aux utilisateurs de préserver leur confidentialité tout en pouvant utiliser la plateforme pour des transactions.
Transactions protégées
Zcash est une crypto-monnaie qui utilise des preuves sans connaissance pour permettre des transactions protégées. Dans de telles transactions, les adresses de l'expéditeur et du destinataire, ainsi que les montants des transactions, sont masqués de la blockchain publique, offrant ainsi une confidentialité accrue aux utilisateurs.
Tokenisation et vérification de la propriété
Les preuves sans connaissance peuvent également être utilisées pour symboliser les actifs et vérifier leur preuve de propriété. Par exemple, une propriété peut être symbolisée et toute partie peut vérifier sa propriété sans révéler publiquement aucune autre information.
Conformité mondiale
Certains pays ont des réglementations strictes concernant la collecte et le partage d’informations financières, qui peuvent être difficiles à respecter pour les plateformes décentralisées. Les preuves sans connaissance peuvent être utilisées pour partager les informations requises avec les régulateurs tout en les gardant confidentielles des autres parties.
Cela peut aider à combler le fossé entre les plateformes décentralisées et les institutions financières traditionnelles, permettant ainsi à DeFi de se conformer plus facilement aux réglementations de diverses juridictions.
L’avenir des preuves sans connaissance dans la blockchain
Les preuves sans connaissance sont susceptibles d’entraîner de nouvelles innovations technologiques à l’avenir. Certains développements futurs liés au ZKP méritent d’être pris en compte :
Couches de confidentialité inter-chaînes
À mesure que les écosystèmes blockchain et DeFi continuent de croître et d’évoluer, il existe un besoin croissant d’interopérabilité entre les différents réseaux blockchain. Les couches de confidentialité inter-chaînes permettront d’effectuer des transactions sur différents réseaux blockchain tout en préservant la confidentialité des parties impliquées.
zk-STARK
Un autre domaine à surveiller est l'utilisation accrue des zk-STARK (argument de connaissance transparent évolutif à connaissance nulle), un type plus récent de preuve à connaissance nulle qui est considéré comme plus efficace et plus sûr que les zk-SNARK. Un autre avantage des zk-STARK par rapport aux zk-SNARK est que les premiers sont plus rapides à vérifier et ne nécessitent pas de configuration fiable.
Boîtes à outils conviviales
La technologie de preuve sans connaissance peut être complexe, et toutes les équipes de développement ne possèdent pas d'expertise dans ce domaine particulier de la cryptographie. Les boîtes à outils ZKP conviviales peuvent aider à combler cette lacune et permettre aux développeurs d'horizons différents d'utiliser plus facilement la technologie.
Limites des preuves à connaissance nulle
Les preuves sans connaissance représentent une méthode unique pour vérifier la véracité des informations tout en préservant la confidentialité, mais elles n’offrent pas une garantie à 100 %. Bien que la probabilité de vérification lorsque le prouveur ment soit négligeable, les utilisateurs doivent être conscients que les ZKP ne sont pas à l’épreuve des balles.
De plus, les algorithmes utilisés par les preuves à connaissance nulle nécessitent des ressources informatiques intenses. Dans certains types de ZKP, un calcul intensif est nécessaire car ils nécessitent de nombreuses interactions entre vérificateurs et prouveurs. Dans d’autres, les algorithmes sont extrêmement gourmands en calcul, ce qui pourrait potentiellement limiter les applications des ZKP.
Pensées finales
Les preuves sans connaissance attirent rapidement l’attention en raison de leurs propriétés uniques de préservation de la vie privée et de leur potentiel d’évolutivité. L’application croissante de cette technologie dans la blockchain, la crypto-monnaie et la DeFi apportera probablement des services plus innovants qui bénéficieront grandement aux utilisateurs. Les preuves sans connaissance devraient jouer un rôle crucial dans la création d’écosystèmes DApp plus sécurisés, plus privés et plus efficaces.
Lectures complémentaires
zk-SNARK et zk-STARK expliqués
Solutions de mise à l'échelle de la couche 1 et de la couche 2 de la blockchain