L’anonymat a toujours été considéré comme l’une des caractéristiques les plus précieuses de la communauté des cryptomonnaies. C’est le précurseur de la fongibilité, une caractéristique également nécessaire pour une forme de monnaie largement utilisée. De même, la plupart des détenteurs d’actifs cryptographiques ne souhaitent pas que leurs actifs et leurs enregistrements de transactions soient entièrement divulgués. Parmi toutes les différentes technologies cryptographiques qui contribuent à assurer la confidentialité des blockchains, zk-SNARK et zk-STARK sont deux exemples remarquables.

zk-SNARK représente une preuve simplifiée non interactive à connaissance nulle, et zk-STARK représente une preuve simplifiée à connaissance nulle entièrement transparente. Zk-SNARK est déjà utilisé sur les systèmes de paiement basés sur la blockchain tels que Zcash, les projets JP Morgan Chase et comme méthode de vérification sécurisée client-serveur. Mais alors que les zk-SNARK sont déjà bien établis et largement utilisés, zk-STARK est désormais présenté comme une nouvelle version améliorée du protocole qui vise à combler de nombreuses lacunes précédentes des zk-SNARK.

  

La fable des cavernes d'Ali Baba

En 1990, le cryptographe Jean-Jacques Quisquater (avec d'autres collaborateurs) a publié un article intitulé « Comment expliquer aux enfants les protocoles de preuve de connaissance nulle ». Cet article introduit le concept de preuves à connaissance nulle, intégrant la parabole de la grotte d'Alibaba. Cette fable a été adaptée à de nombreuses reprises depuis sa création et nous en possédons aujourd'hui plusieurs versions. Mais le contenu exprimé est fondamentalement le même.

Imaginons une grotte circulaire avec une entrée et une porte magique qui sépare deux chemins. Pour ouvrir la porte magique, il faut murmurer le bon secret. Considérons donc qu'Alice (jaune) veut prouver à Bob (bleu) qu'elle connaît le mot de passe, tout en gardant le mot de passe secret. Pour ce faire, Bob accepte d'attendre dehors pendant qu'Alice entre dans la grotte et choisit l'un des deux chemins jusqu'au bout. Dans ce cas, elle décide de passer par le chemin 1.

zk-SNARKs和zk-STARKs解释

Au bout d'un moment, Bob se dirige vers l'entrée et demande de quel côté il veut qu'Alice émerge (dans ce cas, ce serait le chemin 2).

zk-SNARKs和zk-STARKs解释

Si Alice connaît le mot de passe, elle pourra suivre correctement le chemin demandé par Bob.

zk-SNARKs和zk-STARKs解释

Ce processus peut être répété plusieurs fois pour confirmer qu’Alice n’a pas choisi le bon chemin par chance.

La parabole des cavernes d'Alibaba illustre le concept de preuves sans connaissance, qui font partie des protocoles zk-SNARK et zk-STARK. Les preuves de connaissance nulle peuvent être utilisées pour prouver la possession de certaines connaissances sans révéler aucune information à leur sujet.


zk-SNARK

Zcash est la première application répandue des zk-SNARK. Alors que les projets de confidentialité comme Monero utilisent également des signatures en anneau et d'autres techniques qui créent efficacement un écran de fumée pour protéger les expéditeurs, les zk-SNARK changent fondamentalement la façon dont les données sont partagées. La confidentialité de Zcash découle du fait que les transactions sur le réseau peuvent être cryptées, mais leur validité peut toujours être vérifiée grâce à l'utilisation de preuves sans connaissance. Par conséquent, ceux qui appliquent les règles de consensus n’ont pas besoin de connaître toutes les données sur chaque transaction. Il convient de mentionner que les fonctionnalités de confidentialité de Zcash sont inactives par défaut et sont facultatives, sous réserve de paramètres manuels.

Les preuves sans connaissance permettent à une personne de prouver à une autre personne que ce qu’elle déclare est vrai sans révéler aucune information au-delà de la validité de la déclaration. Les parties impliquées sont souvent appelées prouveurs et vérificateurs, et les secrets qu’elles détiennent sont appelés preuves. L'objectif principal de ces fonctions est de permettre le moins d'échanges de données possible entre les deux parties. En d’autres termes, les gens peuvent utiliser des preuves sans connaissance pour prouver qu’ils savent quelque chose sans révéler aucune information sur la connaissance elle-même.

Dans l'acronyme SNARK, la première lettre « succinct » signifie que ces preuves sont simples et peuvent être vérifiées rapidement. « Non interactif » signifie qu'il y a peu d'interaction entre le prouveur et le vérificateur. Les anciennes versions des protocoles de preuve à connaissance nulle nécessitaient généralement que le prouveur et le vérificateur communiquent et étaient donc considérées comme des preuves à connaissance nulle « interactives ». Mais dans une structure « non interactive », le prouveur et le vérificateur n’ont qu’à échanger les preuves pertinentes.

Actuellement, les preuves zk-SNARK reposent sur une configuration de confiance initiale entre les prouveurs et les vérificateurs, ce qui signifie qu'un ensemble de paramètres publics sont requis pour construire une preuve sans connaissance et donc une transaction privée. Ces paramètres sont presque comme des règles du jeu, ils sont programmés dans le protocole et constituent l’un des facteurs nécessaires pour prouver qu’une transaction est valide. Cependant, cela crée des problèmes potentiels de centralisation, car les paramètres sont souvent définis par un très petit groupe.

Alors que le cadre public d'origine constitue la base des implémentations actuelles de zk-SNARK, les chercheurs s'efforcent de trouver des alternatives qui réduisent la confiance requise dans le processus d'interaction. La phase de configuration initiale est importante pour éviter les faux paiements, car si quelqu'un a accès au caractère aléatoire des paramètres générés, il pourrait créer de fausses preuves valables pour le validateur. Dans Zcash, la phase de configuration initiale est appelée processus de génération de paramètres.

Parlons à nouveau de l’acronyme « ARguments ». Les zk-SNARK sont considérés comme raisonnablement calculables, ce qui signifie que la probabilité qu'un faux prouveur réussisse à tromper le système est très faible. Cette propriété est appelée robustesse et suppose que le prouveur dispose d’une puissance de calcul limitée. En théorie, un prouveur doté d'une puissance de calcul suffisante peut créer de fausses preuves, ce qui est l'une des raisons pour lesquelles les ordinateurs quantiques sont considérés par beaucoup comme une menace possible pour les zk-SNARK et les systèmes blockchain.

La dernière initiale est « Connaissance », ce qui signifie que celui qui prouve ne peut pas construire de preuves sans une connaissance réelle (ou des témoins) pour étayer sa déclaration.

Les preuves sans connaissance peuvent être vérifiées rapidement et nécessitent généralement beaucoup moins de données que les transactions Bitcoin standard. Cela ouvre une nouvelle voie pour que la technologie zk-SNARK soit utilisée comme solution d'anonymat et d'évolutivité.

 

 zk-STARK

Les zk-STARK ont été créés comme une version alternative du protocole zk-SNARK et sont considérés comme une mise en œuvre plus rapide et plus pratique de la technologie. Mais plus important encore, zk-STARK ne nécessite pas de configuration de confiance initiale (d'où la lettre « T » pour transparence).

Techniquement, les Zk-STARK ne nécessitent pas de configuration de confiance initialisée, car ils s'appuient sur une méthode de chiffrement symétrique plus simple via des collisions de fonctions de hachage. Cette approche élimine également les hypothèses de théorie des nombres des zk-SNARK, qui sont coûteuses en calcul et théoriquement vulnérables aux attaques des ordinateurs quantiques.

L'une des principales raisons pour lesquelles Zk-STARK offre une implémentation plus pratique et plus rapide est que la quantité de communication entre les prouveurs et les vérificateurs reste constante quel que soit l'incrément de calcul. En revanche, dans les zk-SNARK, plus les calculs sont nécessaires, plus les parties doivent envoyer des messages dans les deux sens. Par conséquent, la taille globale des données de zk-SNARK est beaucoup plus grande que la taille des données de la preuve zk-STARK.

Il est clair que zk-SNARKS et zk-STARK suscitent de plus en plus de questions sur l'anonymat. Dans le monde des crypto-monnaies, ces protocoles ont un énorme potentiel pour devenir une approche révolutionnaire en vue d’une utilisation généralisée.