FRFAM.COM >> L'argent >> Éducation

zk-SNARK

Qu'est-ce que zk-SNARK ?

Zk-SNARK est un acronyme qui signifie « Zero-Knowledge Succinct Non-Interactive Argument of Knowledge ». Un zk-SNARK est une preuve cryptographique qui permet à une partie de prouver qu'elle possède certaines informations sans révéler ces informations. Cette preuve est rendue possible grâce à une clé secrète créée avant que la transaction n'ait lieu. Il est utilisé dans le cadre du protocole de la crypto-monnaie, Zcash.

Principaux plats à emporter

  • Zk-SNARK est un protocole de preuve de connaissance zéro utilisé dans le chiffrement, et est un acronyme qui signifie "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge".
  • Cette preuve a été développée et introduite pour la première fois à la fin des années 1980, et est maintenant utilisée par la crypto-monnaie Zcash pour résoudre un problème d'anonymat perçu avec les blockchains de type Bitcoin.
  • Les preuves Zk-SNARK reposent sur une configuration initiale de "système de confiance" qui a été critiquée comme une faille de sécurité inhérente.

Comprendre zk-SNARK

Pour de nombreux membres originaux de la communauté des crypto-monnaies, principalement la communauté Bitcoin, la confidentialité était un objectif et une caractéristique supposés des crypto-monnaies. Cependant, la confidentialité a toujours été une préoccupation de second ordre, étant donné le besoin de la crypto-monnaie de créer un système "sans confiance" garantissant l'intégrité de la monnaie électronique et des transactions numériques.

Au début des années 2010, les utilisateurs de Bitcoin supposaient parfois que leurs transactions étaient anonymes car leurs identités hors ligne n'étaient pas associées aux clés publiques des utilisateurs. Mais jusqu'à la fin de la décennie, les efforts coordonnés des scientifiques des données, des pirates et des forces de l'ordre ont prouvé qu'il était non seulement possible, mais relativement facile, de réidentifier les personnes qui avaient fourni des données pseudonymes à plusieurs sources.

En raison du manque perçu de confidentialité de certaines des crypto-monnaies originales comme Bitcoin, les développeurs ont commencé à travailler sur des pièces axées sur la confidentialité. Le plus important d'entre eux était Zcash, soutenu par une technologie connue sous le nom de zk-SNARK.

Preuve sans connaissance

Un zk-SNARK ("argument de connaissance succinct non interactif à connaissance nulle") utilise un concept connu sous le nom de "preuve à connaissance nulle". L'idée derrière ces preuves a été développée pour la première fois dans les années 1980. En termes simples, une preuve à connaissance nulle est une situation dans laquelle chacune des deux parties d'une transaction est en mesure de vérifier l'une à l'autre qu'elle dispose d'un ensemble particulier d'informations, tout en ne révélant pas de quoi il s'agit.

Pour la plupart des autres types de preuves, au moins une des deux parties doit avoir accès à toutes les informations. Une preuve traditionnelle peut être comparée à un mot de passe utilisé pour accéder à un réseau en ligne. L'utilisateur soumet le mot de passe et le réseau lui-même vérifie le contenu du mot de passe pour vérifier qu'il est correct. Pour ce faire, le réseau doit également avoir accès au contenu du mot de passe.

Une version sans preuve de connaissance de cette situation impliquerait que l'utilisateur démontre au réseau (via une preuve mathématique) qu'il a le bon mot de passe sans réellement révéler le mot de passe lui-même. Les avantages en matière de confidentialité et de sécurité dans cette situation sont clairs :si le réseau n'a pas le mot de passe stocké quelque part à des fins de vérification, le mot de passe ne peut pas être volé.

La base mathématique de zk-SNARKS est complexe. Néanmoins, les preuves de ce type permettent à une partie de démontrer non seulement qu'une information particulière existe, mais également que la partie en question a connaissance de cette information. Dans le cas de Zcash, les zk-SNARK peuvent être vérifiés presque instantanément, et le protocole ne nécessite aucune interaction entre le prouveur et le vérificateur.

Critique des zk-SNARK

Il y a, bien sûr, des préoccupations liées aux zk-SNARK. Par exemple, si quelqu'un pouvait accéder à la clé privée qui a été utilisée pour créer les paramètres du protocole de preuve, il pourrait créer de fausses preuves qui semblaient néanmoins valables pour les vérificateurs. Cela permettrait à cette personne de créer de nouveaux jetons de Zcash via un processus de contrefaçon. Afin d'éviter que cela ne se produise, Zcash a été conçu de manière à rendre les protocoles de preuve élaborés et répartis sur plusieurs parties.

Bien que la construction du processus de preuve Zcash ait été achevée de manière à minimiser la possibilité de contrefaçon de jetons via de fausses preuves, il existe également au moins une autre préoccupation liée à la crypto-monnaie. Zcash a été créé avec une "taxe" de 20 % prélevée sur tous les blocs créés au cours des premières années du jeton. Cette taxe est connue sous le nom de "taxe du fondateur" et elle est utilisée pour indemniser les développeurs de la crypto-monnaie.

Les critiques ont suggéré que les fondateurs pourraient potentiellement utiliser cette facette du système pour créer un nombre infini de jetons Zcash sans que personne d'autre ne soit au courant de l'existence de ces jetons. Pour cette raison, il n'est pas tout à fait possible de connaître le nombre exact de jetons Zcash existants à ce stade.

Depuis 2019, certains développeurs travaillent à l'amélioration des zk-SNARK en supprimant la configuration de confiance. Une équipe appelée Suterusu a développé un système appelé zK-ConSNARK qui prétend être utilisable sans configuration de confiance, peut fournir une protection de la vie privée pour les chaînes de blocs traditionnelles comme Bitcoin et a l'inflation la plus faible pour toutes les crypto-monnaies existantes.


[]