Application et développement de la technologie zk-SNARKs dans le domaine du Blockchain
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation importante dans le domaine de la Blockchain ont suscité un large intérêt ces dernières années. Cet article passe en revue de manière systématique l'évolution de la technologie ZKP au cours des quarante dernières années, en analysant en détail ses applications récentes dans le domaine de la Blockchain.
Tout d'abord, les concepts de base et le contexte historique des ZKP sont présentés. Ensuite, l'accent est mis sur la technologie ZKP basée sur les circuits, y compris la conception et l'optimisation des solutions telles que zkSNARK, le modèle de Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, l'article présente les principes de ZKVM et ZKEVM ainsi que leurs applications dans l'amélioration de la capacité de traitement des transactions, la protection de la vie privée et l'augmentation de l'efficacité de la validation. Il décrit également en détail le mécanisme de fonctionnement et les méthodes d'optimisation de ZK Rollup en tant que solution d'extension de Layer 2, ainsi que les dernières avancées en matière d'accélération matérielle, de solutions hybrides et de ZK EVM dédiés.
Enfin, cet article se penche sur des concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, et explore leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans le domaine de la Blockchain.
En analysant ces dernières technologies et tendances de développement, cet article fournit une perspective complète pour comprendre et appliquer la technologie ZKP, montrant son immense potentiel pour améliorer l'efficacité et la sécurité des systèmes Blockchain, et fournissant une référence importante pour les décisions d'investissement futures.
Table des matières
Avant-propos
Une, connaissances de base sur les zk-SNARKs
Deux, zk-SNARKs non interactifs
Trois, preuves de connaissance nulle basées sur des circuits
Quatre, modèle de zk-SNARKs
Cinq, aperçu et développement des zk-SNARKs virtuels
VI. Aperçu et développement des zk-SNARKs sur Ethereum Virtual Machine
Sept, aperçu et développement des solutions de réseau de deuxième couche zk-SNARKs
Huit, les directions futures du zk-SNARKs.
Neuf, conclusion
Références
Introduction
Avec l'entrée d'Internet dans l'ère Web3, les applications Blockchain ( DApps ) se développent rapidement, traitant des milliards de transactions chaque jour. Les énormes quantités de données générées par ces transactions incluent souvent des informations personnelles sensibles, telles que l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes, etc. En raison de l'ouverture et de la transparence de la Blockchain, ces données sont visibles par tous, ce qui soulève divers problèmes de sécurité et de confidentialité.
Actuellement, plusieurs technologies cryptographiques peuvent relever ces défis, y compris le chiffrement homomorphe, les signatures en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Parmi elles, les zk-SNARKs (ZKP) constituent une solution plus complète. Les zk-SNARKs permettent de vérifier la validité de certaines propositions sans révéler aucune donnée intermédiaire. Grâce aux zk-SNARKs, le vérificateur peut confirmer si le prouveur possède un montant de transaction suffisant sans divulguer aucune donnée de transaction privée.
La caractéristique ZKP lui permet de jouer un rôle central dans les transactions Blockchain et les applications de cryptomonnaie, en particulier en matière de protection de la vie privée et d'extension du réseau. Elle est devenue non seulement un point focal de la recherche académique, mais aussi un domaine clé pour les applications industrielles et le capital-risque. De nombreux projets de réseau basés sur ZKP ont émergé, tels que ZkSync, StarkNet, Mina, Filecoin et Aleo. Avec le développement de ces projets, les innovations algorithmiques ZKP affluent, presque chaque semaine un nouvel algorithme est annoncé. De plus, le développement de matériel lié à la technologie ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces avancées montrent que la technologie ZKP n'est pas seulement une percée importante dans le domaine de la cryptographie, mais aussi un moteur clé pour réaliser des applications plus larges de la Blockchain, en particulier en ce qui concerne l'amélioration de la protection de la vie privée et des capacités de traitement. Par conséquent, nous avons décidé de rassembler systématiquement les connaissances relatives au ZKP afin de mieux soutenir les décisions d'investissement futures. Cet article passe en revue de manière exhaustive les principaux articles académiques et les documents des projets leaders liés au ZKP, fournissant ainsi une base solide pour une analyse systématique.
I. Connaissances de base sur les zk-SNARKs
1. Aperçu
En 1985, Goldwasser, Micali et Rackoff ont proposé pour la première fois le concept de zk-SNARKs ( ZKP ) et de preuves de connaissance interactives ( IZK ). Ils ont défini la "connaissance" comme "une sortie non calculable", c'est-à-dire que la connaissance doit être la sortie d'une fonction complexe, généralement comprise comme un problème NP. Le processus de résolution des problèmes NP est complexe, mais le processus de vérification est relativement simple, ce qui le rend très adapté pour la vérification ZKP.
Goldwasser et al. ont proposé le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances divulguées par le prouveur au vérificateur. Ils ont également proposé le système de preuve interactive (IPS), dans lequel le prouveur et le vérificateur interagissent par plusieurs tours pour prouver la véracité d'une affirmation.
Les trois caractéristiques fondamentales des zk-SNARKs comprennent :
Complétude : si la preuve est vraie, le prouveur honnête peut convaincre le vérificateur honnête de ce fait.
Fiabilité : Si le prouveur ne connaît pas le contenu de l'énoncé, il ne peut tromper le vérificateur qu'avec une probabilité négligeable.
Propriété de la connaissance zéro : après l'achèvement du processus de preuve, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir de contenu supplémentaire.
2. Exemples de zk-SNARKs
Pour mieux comprendre le ZKP et ses attributs, voici un exemple de vérification si le prouveur possède certaines informations privées, cet exemple se divise en trois phases : configuration, défi et réponse.
Première étape : configurer (Setup)
Le prouveur crée une preuve, prouvant qu'il connaît un certain nombre secret s, mais ne montre pas directement s. Il choisit deux grands nombres premiers p et q, puis calcule n = pq. Il choisit un entier aléatoire r, calcule x = r^2 mod n et l'envoie au vérificateur.
Deuxième étape : défi (Challenge)
Le validateur choisit aléatoirement un bit a(0 ou 1), et l'envoie au prouveur.
Troisième étape : réponse (Response)
Selon la valeur de a, le prouveur répond :
Si a=0, envoyer y=r
Si a=1, calculez y=rs mod n et envoyez
Le validateurs vérifient si x est égal à y^2 mod n( lorsque a=0) ou y^2v mod n( lorsque a=1). Si l'égalité est vraie, le validateurs acceptent cette preuve.
Cet exemple démontre l'intégrité, la fiabilité et le caractère zéro connaissance du système ZKP. En répétant ce processus plusieurs fois, il est possible de réduire considérablement la probabilité que le prouveur réussisse la vérification simplement par chance.
Deux, zk-SNARKs non interactifs
1. Contexte
Les ZKP traditionnels sont généralement des protocoles interactifs et en ligne. Cependant, dans certaines situations, comme les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs interactions. Ainsi, le concept de preuve zéro connaissance non interactive (NIZK) est né.
2. La proposition de NIZK
En 1988, Blum, Feldman et Micali ont d'abord proposé le concept de NIZK, prouvant qu'il était possible pour le prouveur et le vérificateur de compléter le processus d'authentification sans nécessiter de multiples interactions. Le NIZK peut être divisé en trois phases : configuration, calcul et vérification.
La phase de configuration utilise une fonction de calcul pour convertir les paramètres de sécurité en connaissances publiques, généralement encodée dans une chaîne de référence commune (CRS). La phase de calcul utilise la fonction de calcul, les entrées et les clés de preuve, et produit les résultats de calcul et la preuve. La phase de vérification valide l'efficacité de la preuve à l'aide de la clé de vérification.
3.Fiat-Shamir transformation
La transformation Fiat-Shamir est une méthode pour convertir les ZKP interactifs en non interactifs. Cette méthode réduit le nombre d'interactions en introduisant des fonctions de hachage et repose sur des hypothèses de sécurité pour garantir la véracité de la preuve et sa difficulté à être falsifiée. Bien que ce protocole soit considéré comme sûr dans le modèle d'oracle aléatoire, il peut rencontrer des défis dans les applications pratiques.
4.Jens Groth et ses recherches
Les recherches de Jens Groth ont considérablement avancé l'application des ZKP dans la cryptographie et la technologie Blockchain. Il a proposé, avec d'autres chercheurs, plusieurs systèmes NIZK améliorés, tels qu'un système NIZK parfait applicable à tout langage NP, ainsi que des schémas NIZK combinés avec le chiffrement homomorphe complet, entre autres. Ces recherches ont établi une base importante pour les applications pratiques des ZKP.
5.Autres recherches
En plus des travaux de Groth, il existe plusieurs recherches importantes sur les NIZK, y compris :
Le schéma de cryptographie à clé publique basé sur une fonction de hachage universelle développé par Cramer et Shoup
Une nouvelle méthode d'amélioration de la transformation Fiat-Shamir proposée par Damgård, Fazio et Nicolosi
Le concept de "fiabilité de responsabilité faible" proposé par Ventre et Visconti
La transformation d'Unruh, en tant qu'alternative à la conversion Fiat-Shamir, offre une sécurité NIZK prouvable contre les adversaires quantiques.
Système de preuve de problème de décision arbitraire basé sur la technologie de recherche d'information privée par Kalai et al.
Ces recherches ont considérablement avancé le développement de la technologie NIZK, établissant une base pour son application dans des domaines tels que les transactions financières, le vote électronique et la Blockchain.
Trois, preuve de connaissance nulle basée sur les circuits
1. Contexte
Dans le domaine de la cryptographie, en particulier lors du traitement de tâches nécessitant une parallélisation élevée et des types de calcul spécifiques, le modèle traditionnel de machine de Turing montre certaines limites. En revanche, le modèle de circuit, avec ses avantages structurels de calcul uniques, est mieux adapté à certaines tâches de traitement cryptographique spécifiques.
2. Concepts et caractéristiques fondamentaux des modèles de circuits
Le modèle de circuit transforme le processus de calcul en une série de portes et de connexions, ces portes exécutent des opérations logiques ou arithmétiques spécifiques. Le modèle de circuit se divise principalement en deux grandes catégories :
Circuits arithmétiques : composés principalement de portes d'addition et de multiplication, utilisés pour traiter les éléments sur un corps fini.
Circuits logiques : composés de portes logiques de base telles que portes AND, portes OR, portes NOT, utilisés pour traiter les opérations booléennes.
3. Conception et application des circuits dans les zk-SNARKs
Dans un système ZKP, le processus de conception du circuit implique d'exprimer le problème à prouver sous la forme d'un circuit. Ce processus suit généralement les étapes suivantes :
Représentation du problème : transformer le problème à prouver en forme de circuit.
Optimisation des circuits : optimiser la conception des circuits par des moyens techniques tels que la fusion de portes et le repliement constant.
Conversion en représentation polynomiale : convertir le circuit optimisé en une forme polynomiale.
Génération de la chaîne de référence publique (CRS) : au stade d'initialisation du système, générer le CRS incluant les clés de preuve et les clés de vérification.
Génération et vérification de preuve : Le prouveur génère une preuve en fonction des entrées privées et du CRS, le vérificateur vérifie la validité de la preuve en fonction de la description du circuit public et du CRS.
4. Défauts et défis potentiels
Les ZKP basés sur des circuits font face à certains défis, notamment :
Complexité et échelle des circuits : Des calculs complexes nécessitent de vastes circuits, entraînant une augmentation significative des coûts de calcul pour la génération et la vérification des preuves.
Optimisation de la difficulté : concevoir et optimiser des circuits efficaces nécessite des connaissances professionnelles approfondies.
Adaptabilité des tâches de calcul spécifiques : différentes tâches de calcul nécessitent des conceptions de circuits différentes, ce qui rend leur généralisation difficile.
Difficulté de mise en œuvre des algorithmes de cryptographie : la mise en œuvre d'algorithmes cryptographiques complexes peut nécessiter un grand nombre de portes logiques.
Consommation de ressources : les circuits à grande échelle nécessitent beaucoup de ressources matérielles.
Pour résoudre ces défis, les chercheurs ont proposé plusieurs directions d'amélioration, telles que la technologie de compression de circuits, la conception modulaire et l'accélération matérielle.
Quatre, modèle de zk-SNARKs
1. Contexte
La généricité des ZKP basés sur des circuits est relativement faible, nécessitant le développement de nouveaux modèles et algorithmes pour des problèmes spécifiques. Il existe plusieurs compilateurs de langages de haut niveau et outils de combinaison de circuits de bas niveau pour générer des circuits et concevoir des algorithmes. La conversion des calculs pertinents peut être effectuée à l'aide d'outils de construction de circuits manuels ou de compilateurs automatiques.
2. Modèles d'algorithmes courants
Modèle zkSNARK : proposé par Bitansky et al. en 2011, c'est un mécanisme ZKP amélioré.
Le modèle de Ben-Sasson : un modèle de ZKP pour l'exécution de programmes sur l'architecture RISC de von Neumann.
Modèle Pinocchio : un ensemble complet de génération ZKP non interactif, comprenant un compilateur avancé et des programmes arithmétiques secondaires (QAPs).
Modèle Bulletproofs : pas besoin de configuration de confiance, la taille de la preuve augmente logarithmiquement avec la taille de la valeur de témoignage.
Modèle Ligero : un modèle ZKP léger, dont la complexité de communication est proportionnelle à la racine carrée de la taille du circuit de vérification.
3. Schéma basé sur le PCP linéaire et le problème du logarithme discret
Ces solutions incluent les modèles Groth16, Sonic, PLONK, Marlin, SLONK et SuperSonic. Ces modèles sont basés sur des PCP linéaires et/ou des problèmes de logarithme discret, mais ne possèdent pas de sécurité contre les quantiques.
4. Proposition basée sur la preuve des gens ordinaires
"Preuve de personne ordinaire" est une nouvelle méthode de ZKP proposée par Goldwasser, Kalai et Rothblum. Les modèles basés sur ce concept incluent les modèles Hyrax, Libra et Spartan.
5. Preuve vérifiable basée sur la probabilité ( PCP ) de zk-SNARKs
Ces solutions incluent le modèle STARK, le modèle Aurora, Succinct
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
10 J'aime
Récompense
10
3
Partager
Commentaire
0/400
GraphGuru
· 08-02 06:07
Encore en train de parler de zkp
Voir l'originalRépondre0
DegenMcsleepless
· 08-02 06:00
Defi vieux pigeons, gagnez de l'argent et investissez à nouveau.
Voir l'originalRépondre0
CryptoCrazyGF
· 08-02 05:55
C'est normal de ne pas comprendre, de toute façon, c'est très bull et c'est tout~
Analyse des applications et des perspectives de développement de la technologie zk-SNARKs dans le domaine du Blockchain.
Application et développement de la technologie zk-SNARKs dans le domaine du Blockchain
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation importante dans le domaine de la Blockchain ont suscité un large intérêt ces dernières années. Cet article passe en revue de manière systématique l'évolution de la technologie ZKP au cours des quarante dernières années, en analysant en détail ses applications récentes dans le domaine de la Blockchain.
Tout d'abord, les concepts de base et le contexte historique des ZKP sont présentés. Ensuite, l'accent est mis sur la technologie ZKP basée sur les circuits, y compris la conception et l'optimisation des solutions telles que zkSNARK, le modèle de Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, l'article présente les principes de ZKVM et ZKEVM ainsi que leurs applications dans l'amélioration de la capacité de traitement des transactions, la protection de la vie privée et l'augmentation de l'efficacité de la validation. Il décrit également en détail le mécanisme de fonctionnement et les méthodes d'optimisation de ZK Rollup en tant que solution d'extension de Layer 2, ainsi que les dernières avancées en matière d'accélération matérielle, de solutions hybrides et de ZK EVM dédiés.
Enfin, cet article se penche sur des concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, et explore leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans le domaine de la Blockchain.
En analysant ces dernières technologies et tendances de développement, cet article fournit une perspective complète pour comprendre et appliquer la technologie ZKP, montrant son immense potentiel pour améliorer l'efficacité et la sécurité des systèmes Blockchain, et fournissant une référence importante pour les décisions d'investissement futures.
Table des matières
Avant-propos
Une, connaissances de base sur les zk-SNARKs Deux, zk-SNARKs non interactifs Trois, preuves de connaissance nulle basées sur des circuits Quatre, modèle de zk-SNARKs Cinq, aperçu et développement des zk-SNARKs virtuels VI. Aperçu et développement des zk-SNARKs sur Ethereum Virtual Machine Sept, aperçu et développement des solutions de réseau de deuxième couche zk-SNARKs Huit, les directions futures du zk-SNARKs. Neuf, conclusion Références
Introduction
Avec l'entrée d'Internet dans l'ère Web3, les applications Blockchain ( DApps ) se développent rapidement, traitant des milliards de transactions chaque jour. Les énormes quantités de données générées par ces transactions incluent souvent des informations personnelles sensibles, telles que l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes, etc. En raison de l'ouverture et de la transparence de la Blockchain, ces données sont visibles par tous, ce qui soulève divers problèmes de sécurité et de confidentialité.
Actuellement, plusieurs technologies cryptographiques peuvent relever ces défis, y compris le chiffrement homomorphe, les signatures en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Parmi elles, les zk-SNARKs (ZKP) constituent une solution plus complète. Les zk-SNARKs permettent de vérifier la validité de certaines propositions sans révéler aucune donnée intermédiaire. Grâce aux zk-SNARKs, le vérificateur peut confirmer si le prouveur possède un montant de transaction suffisant sans divulguer aucune donnée de transaction privée.
La caractéristique ZKP lui permet de jouer un rôle central dans les transactions Blockchain et les applications de cryptomonnaie, en particulier en matière de protection de la vie privée et d'extension du réseau. Elle est devenue non seulement un point focal de la recherche académique, mais aussi un domaine clé pour les applications industrielles et le capital-risque. De nombreux projets de réseau basés sur ZKP ont émergé, tels que ZkSync, StarkNet, Mina, Filecoin et Aleo. Avec le développement de ces projets, les innovations algorithmiques ZKP affluent, presque chaque semaine un nouvel algorithme est annoncé. De plus, le développement de matériel lié à la technologie ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces avancées montrent que la technologie ZKP n'est pas seulement une percée importante dans le domaine de la cryptographie, mais aussi un moteur clé pour réaliser des applications plus larges de la Blockchain, en particulier en ce qui concerne l'amélioration de la protection de la vie privée et des capacités de traitement. Par conséquent, nous avons décidé de rassembler systématiquement les connaissances relatives au ZKP afin de mieux soutenir les décisions d'investissement futures. Cet article passe en revue de manière exhaustive les principaux articles académiques et les documents des projets leaders liés au ZKP, fournissant ainsi une base solide pour une analyse systématique.
I. Connaissances de base sur les zk-SNARKs
1. Aperçu
En 1985, Goldwasser, Micali et Rackoff ont proposé pour la première fois le concept de zk-SNARKs ( ZKP ) et de preuves de connaissance interactives ( IZK ). Ils ont défini la "connaissance" comme "une sortie non calculable", c'est-à-dire que la connaissance doit être la sortie d'une fonction complexe, généralement comprise comme un problème NP. Le processus de résolution des problèmes NP est complexe, mais le processus de vérification est relativement simple, ce qui le rend très adapté pour la vérification ZKP.
Goldwasser et al. ont proposé le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances divulguées par le prouveur au vérificateur. Ils ont également proposé le système de preuve interactive (IPS), dans lequel le prouveur et le vérificateur interagissent par plusieurs tours pour prouver la véracité d'une affirmation.
Les trois caractéristiques fondamentales des zk-SNARKs comprennent :
Complétude : si la preuve est vraie, le prouveur honnête peut convaincre le vérificateur honnête de ce fait.
Fiabilité : Si le prouveur ne connaît pas le contenu de l'énoncé, il ne peut tromper le vérificateur qu'avec une probabilité négligeable.
Propriété de la connaissance zéro : après l'achèvement du processus de preuve, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir de contenu supplémentaire.
2. Exemples de zk-SNARKs
Pour mieux comprendre le ZKP et ses attributs, voici un exemple de vérification si le prouveur possède certaines informations privées, cet exemple se divise en trois phases : configuration, défi et réponse.
Première étape : configurer (Setup) Le prouveur crée une preuve, prouvant qu'il connaît un certain nombre secret s, mais ne montre pas directement s. Il choisit deux grands nombres premiers p et q, puis calcule n = pq. Il choisit un entier aléatoire r, calcule x = r^2 mod n et l'envoie au vérificateur.
Deuxième étape : défi (Challenge) Le validateur choisit aléatoirement un bit a(0 ou 1), et l'envoie au prouveur.
Troisième étape : réponse (Response) Selon la valeur de a, le prouveur répond :
Le validateurs vérifient si x est égal à y^2 mod n( lorsque a=0) ou y^2v mod n( lorsque a=1). Si l'égalité est vraie, le validateurs acceptent cette preuve.
Cet exemple démontre l'intégrité, la fiabilité et le caractère zéro connaissance du système ZKP. En répétant ce processus plusieurs fois, il est possible de réduire considérablement la probabilité que le prouveur réussisse la vérification simplement par chance.
Deux, zk-SNARKs non interactifs
1. Contexte
Les ZKP traditionnels sont généralement des protocoles interactifs et en ligne. Cependant, dans certaines situations, comme les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs interactions. Ainsi, le concept de preuve zéro connaissance non interactive (NIZK) est né.
2. La proposition de NIZK
En 1988, Blum, Feldman et Micali ont d'abord proposé le concept de NIZK, prouvant qu'il était possible pour le prouveur et le vérificateur de compléter le processus d'authentification sans nécessiter de multiples interactions. Le NIZK peut être divisé en trois phases : configuration, calcul et vérification.
La phase de configuration utilise une fonction de calcul pour convertir les paramètres de sécurité en connaissances publiques, généralement encodée dans une chaîne de référence commune (CRS). La phase de calcul utilise la fonction de calcul, les entrées et les clés de preuve, et produit les résultats de calcul et la preuve. La phase de vérification valide l'efficacité de la preuve à l'aide de la clé de vérification.
3.Fiat-Shamir transformation
La transformation Fiat-Shamir est une méthode pour convertir les ZKP interactifs en non interactifs. Cette méthode réduit le nombre d'interactions en introduisant des fonctions de hachage et repose sur des hypothèses de sécurité pour garantir la véracité de la preuve et sa difficulté à être falsifiée. Bien que ce protocole soit considéré comme sûr dans le modèle d'oracle aléatoire, il peut rencontrer des défis dans les applications pratiques.
4.Jens Groth et ses recherches
Les recherches de Jens Groth ont considérablement avancé l'application des ZKP dans la cryptographie et la technologie Blockchain. Il a proposé, avec d'autres chercheurs, plusieurs systèmes NIZK améliorés, tels qu'un système NIZK parfait applicable à tout langage NP, ainsi que des schémas NIZK combinés avec le chiffrement homomorphe complet, entre autres. Ces recherches ont établi une base importante pour les applications pratiques des ZKP.
5.Autres recherches
En plus des travaux de Groth, il existe plusieurs recherches importantes sur les NIZK, y compris :
Ces recherches ont considérablement avancé le développement de la technologie NIZK, établissant une base pour son application dans des domaines tels que les transactions financières, le vote électronique et la Blockchain.
Trois, preuve de connaissance nulle basée sur les circuits
1. Contexte
Dans le domaine de la cryptographie, en particulier lors du traitement de tâches nécessitant une parallélisation élevée et des types de calcul spécifiques, le modèle traditionnel de machine de Turing montre certaines limites. En revanche, le modèle de circuit, avec ses avantages structurels de calcul uniques, est mieux adapté à certaines tâches de traitement cryptographique spécifiques.
2. Concepts et caractéristiques fondamentaux des modèles de circuits
Le modèle de circuit transforme le processus de calcul en une série de portes et de connexions, ces portes exécutent des opérations logiques ou arithmétiques spécifiques. Le modèle de circuit se divise principalement en deux grandes catégories :
3. Conception et application des circuits dans les zk-SNARKs
Dans un système ZKP, le processus de conception du circuit implique d'exprimer le problème à prouver sous la forme d'un circuit. Ce processus suit généralement les étapes suivantes :
4. Défauts et défis potentiels
Les ZKP basés sur des circuits font face à certains défis, notamment :
Pour résoudre ces défis, les chercheurs ont proposé plusieurs directions d'amélioration, telles que la technologie de compression de circuits, la conception modulaire et l'accélération matérielle.
Quatre, modèle de zk-SNARKs
1. Contexte
La généricité des ZKP basés sur des circuits est relativement faible, nécessitant le développement de nouveaux modèles et algorithmes pour des problèmes spécifiques. Il existe plusieurs compilateurs de langages de haut niveau et outils de combinaison de circuits de bas niveau pour générer des circuits et concevoir des algorithmes. La conversion des calculs pertinents peut être effectuée à l'aide d'outils de construction de circuits manuels ou de compilateurs automatiques.
2. Modèles d'algorithmes courants
Modèle zkSNARK : proposé par Bitansky et al. en 2011, c'est un mécanisme ZKP amélioré.
Le modèle de Ben-Sasson : un modèle de ZKP pour l'exécution de programmes sur l'architecture RISC de von Neumann.
Modèle Pinocchio : un ensemble complet de génération ZKP non interactif, comprenant un compilateur avancé et des programmes arithmétiques secondaires (QAPs).
Modèle Bulletproofs : pas besoin de configuration de confiance, la taille de la preuve augmente logarithmiquement avec la taille de la valeur de témoignage.
Modèle Ligero : un modèle ZKP léger, dont la complexité de communication est proportionnelle à la racine carrée de la taille du circuit de vérification.
3. Schéma basé sur le PCP linéaire et le problème du logarithme discret
Ces solutions incluent les modèles Groth16, Sonic, PLONK, Marlin, SLONK et SuperSonic. Ces modèles sont basés sur des PCP linéaires et/ou des problèmes de logarithme discret, mais ne possèdent pas de sécurité contre les quantiques.
4. Proposition basée sur la preuve des gens ordinaires
"Preuve de personne ordinaire" est une nouvelle méthode de ZKP proposée par Goldwasser, Kalai et Rothblum. Les modèles basés sur ce concept incluent les modèles Hyrax, Libra et Spartan.
5. Preuve vérifiable basée sur la probabilité ( PCP ) de zk-SNARKs
Ces solutions incluent le modèle STARK, le modèle Aurora, Succinct