Comme vous n'avez fourni aucune liste d'images, je ne peux pas insérer d'images dans le texte. Voici le contenu du texte original, sans aucune modification :
Recherche sur le développement et l'application de la technologie des preuves à divulgation nulle de connaissance dans le domaine de la blockchain
Résumé
La preuve à divulgation nulle de connaissance ( ZKP ) est considérée comme l'une des innovations les plus importantes dans le domaine de la blockchain et est également un sujet d'intérêt pour le capital-risque. Cet article présente une revue systématique de l'histoire de près de quarante ans de ZKP et des derniers développements.
Tout d'abord, les concepts de base et le contexte historique de ZKP sont introduits. Une analyse approfondie des techniques ZKP basées sur des circuits est effectuée, y compris la conception, l'application et l'optimisation des modèles tels que zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, ZKVM et ZKEVM sont présentés, explorant comment ils améliorent la capacité de traitement des transactions, protègent la vie privée et augmentent l'efficacité de la vérification. ZK Rollup est également introduit en tant que mécanisme de travail et méthodes d'optimisation pour une solution d'extension de couche 2, ainsi que les derniers progrès en matière d'accélération matérielle, de solutions hybrides et de ZK EVM dédiés.
Enfin, nous avons examiné les concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, en discutant de leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans la blockchain.
En analysant ces technologies et tendances, cet article offre une perspective complète sur la compréhension et l'application des ZKP, démontrant leur énorme potentiel pour améliorer l'efficacité et la sécurité des systèmes blockchain, fournissant ainsi une référence importante pour les décisions d'investissement futures.
Table des matières
Préface
Un, connaissances de base sur les preuves à divulgation nulle de connaissance
Aperçu
Exemple de preuve à divulgation nulle de connaissance
Deux, preuve à divulgation nulle de connaissance non interactive
Contexte
Proposition du NIZK
Transformation Fiat-Shamir
Jens Groth et ses recherches
Autres recherches
Trois, preuve à connaissance nulle basée sur le circuit
Contexte
Concepts et caractéristiques de base du modèle de circuit
Conception et application des circuits dans les preuves à divulgation nulle de connaissance
Défauts et défis potentiels
Quatre, modèle de preuve à divulgation nulle de connaissance
Contexte
Modèles d'algorithmes courants
Solutions basées sur le problème PCP linéaire et le problème du logarithme discret
Un plan basé sur la preuve des gens ordinaires
Preuve de connaissance zéro vérifiable par probabilité
Classification des phases de configuration basée sur le CPC
Cinq, aperçu et développement de la machine virtuelle à connaissance nulle
Contexte
Classification actuelle de ZKVM
Paradigmes front-end et back-end
Avantages et inconvénients du paradigme ZKVM
VI. Aperçu et développement de la machine virtuelle Ethereum à connaissance nulle
Contexte
Le fonctionnement de ZKEVM
Le processus de mise en œuvre de ZKEVM
Les caractéristiques de ZKEVM
VII. Vue d'ensemble et développement des solutions de réseau de deuxième couche à connaissance nulle
Contexte
Le mécanisme de fonctionnement de ZK Rollup
Inconvénients et optimisations des ZK Rollups
Huit, les directions futures du développement des preuves à connaissance nulle.
Accélérer le développement de l'environnement de calcul
Proposition et développement de ZKML
Développement des technologies d'extension ZKP
Le développement de l'interopérabilité ZKP
Neuf, conclusion
Références
Introduction
Avec l'avènement de l'ère Web3, les applications blockchain (DApps) se développent rapidement, traitant chaque jour des milliards de transactions. Les énormes quantités de données générées par ces transactions contiennent souvent des informations personnelles sensibles. En raison de l'ouverture et de la transparence de la blockchain, ces données sont accessibles à tous, suscitant diverses questions de sécurité et de confidentialité.
Il existe actuellement plusieurs technologies de cryptographie pour relever ces défis, notamment le chiffrement homomorphe, les signatures en anneau, le calcul multipartite sécurisé et les preuves à divulgation nulle de connaissance. Parmi celles-ci, les preuves à divulgation nulle de connaissance constituent une solution plus complète, car elles permettent de vérifier la validité de certaines propositions sans divulguer aucune donnée intermédiaire. Grâce aux ZKP, le vérificateur peut confirmer si le prouveur dispose d'un montant de transaction suffisant sans révéler aucune donnée de transaction privée.
La caractéristique ZKP joue 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'évolutivité du réseau, devenant le point focal de la recherche académique et une voie de financement à risque. Avec le développement de projets tels que ZkSync et StarkNet, des innovations algorithmiques autour de ZKP émergent sans cesse, et il est rapporté qu'un nouvel algorithme voit le jour presque chaque semaine. De plus, le développement de matériel lié à ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces avancées montrent que le ZKP n'est pas seulement une percée importante dans le domaine de la cryptographie, mais aussi un moteur clé pour la réalisation d'applications plus larges de la technologie blockchain. Par conséquent, nous avons décidé d'organiser 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 articles académiques fondamentaux et les informations sur les projets de pointe liés au ZKP, fournissant ainsi une base solide pour la rédaction.
I. Connaissances de base sur les preuves à divulgation nulle
1. Aperçu
En 1985, Goldwasser, Micali et Rackoff ont proposé pour la première fois le concept de preuve à divulgation nulle d'information (ZKP) et de preuve interactive de connaissance (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 simple, ce qui le rend très approprié pour la vérification ZKP.
Goldwasser et al. ont introduit le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances que le prouveur divulgue au vérificateur. Ils ont également proposé un système de preuve interactif (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 de ZKP comprennent :
Complétude : Si l'argument est vrai, un prouveur honnête peut convaincre un vérificateur honnête de ce fait.
Fiabilité : Si le prouveur ne connaît pas le contenu de la déclaration, il ne peut tromper le vérificateur qu'avec une probabilité négligeable.
Zero-knowledge : À la fin du processus de preuve, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir aucun contenu supplémentaire.
2. Exemple de preuve à divulgation nulle de connaissance
Voici un exemple de vérification pour prouver si un vérificateur possède certaines informations privées, divisé en trois phases : configuration, défi et réponse.
Étape 1 : Configuration
Le prouveur crée une preuve, montrant qu'il connaît le nombre secret s, mais ne révèle pas directement s.
Choisissez deux grands nombres premiers p et q, calculez N=pq.
Calculer v=s^2 mod N, envoyer v au vérificateur.
Choisir un entier aléatoire r, calculer x=r^2 mod N et l'envoyer au vérificateur.
Deuxième étape : défi
Le validateur choisit au hasard un emplacement a(0 ou 1), puis l'envoie au prouveur.
Étape trois : réponse
Selon la valeur de a, le prouveur répond :
Si a=0, le prouveur envoie y=r.
Si a=1, le prouveur calcule y=rs mod N et l'envoie.
Le vérificateur vérifie si y^2 mod N est égal à xa^v mod N en fonction de y reçu. Si l'égalité est vraie, le vérificateur accepte cette preuve.
Cet exemple prouve l'intégrité, la fiabilité et la propriété de connaissance nulle des systèmes ZKP.
II. Preuve à zéro connaissance non interactive
1. Contexte
Les ZKP traditionnels nécessitent souvent plusieurs échanges pour compléter l'authentification. Cependant, dans certains scénarios, tels que les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs échanges, en particulier dans les applications blockchain où la capacité de vérification hors ligne est particulièrement importante.
2. Proposition du NIZK
En 1988, Blum, Feldman et Micali ont proposé pour la première fois le concept de preuve non interactive à connaissance nulle (NIZK), prouvant que l'authentification pouvait être réalisée entre le prouveur et le vérificateur sans nécessiter plusieurs interactions. NIZK peut être divisé en trois étapes : configuration, calcul et vérification.
La phase de configuration utilise une fonction de calcul pour transformer les paramètres de sécurité en connaissance publique, généralement codée dans une chaîne de référence commune (CRS). La phase de calcul utilise la fonction de calcul, les clés d'entrée et de preuve, et produit le résultat du calcul et la preuve. Lors de la phase de vérification, la validité de la preuve est vérifiée à l'aide de la clé de vérification.
3. Transformation Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui convertit les ZKP interactifs en ZKP non interactifs. Cette méthode réduit le nombre d'interactions en introduisant une fonction de hachage et repose sur des hypothèses de sécurité pour garantir l'authenticité de la preuve et sa difficulté à être falsifiée. Bien que ce protocole soit considéré comme sécurisé dans le modèle des oracles aléatoires, il peut rencontrer des défis dans des 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é le premier système NIZK parfait applicable à tout langage NP, et a conçu un système NIZK simple et efficace, réduisant significativement le CRS et la taille des preuves. Groth a également exploré comment combiner le chiffrement homomorphe avec les NIZK, en proposant une solution pour réduire les coûts de communication.
5. Autres recherches
Dans des cas d'utilisation spécifiques, les NIZK de validateurs particuliers ont montré une valeur pratique unique. Par exemple, le schéma de chiffrement à clé publique développé par Cramer et Shoup résiste efficacement aux attaques par texte chiffré sélectif. Damgård et al. ont proposé une nouvelle méthode d'amélioration de la transformation de Fiat-Shamir, permettant des NIZK sans interaction directe. Le concept de "fiabilité faible attribuable" proposé par Ventre et Visconti augmente la difficulté de la tromperie. La transformation d'Unruh est une alternative à la transformation de Fiat-Shamir, offrant une NIZK sécurisée contre des adversaires quantiques dans le modèle d'oracle aléatoire.
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 de calcul nécessitant une grande parallélisation et des types spécifiques de calculs, le modèle de machine de Turing traditionnel présente certaines limites. En revanche, le modèle de circuit, grâce à son avantage structurel de calcul unique, est mieux adapté à certaines tâches de traitement cryptographique spécifiques.
2. Concepts et caractéristiques fondamentales 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 des éléments sur un corps fini.
Circuits logiques : constitués de portes logiques de base telles que les portes ET, les portes OU et les portes NON, utilisés pour traiter les opérations booléennes.
3. Conception et application des circuits dans les preuves à divulgation nulle de connaissance
Dans un système ZKP, le processus de conception de circuits implique d'exprimer le problème à prouver sous la forme d'un circuit. Le processus de conception suit généralement les étapes suivantes :
Représentation du problème : convertir le problème à prouver en forme de circuit.
Optimisation du circuit : optimiser la conception du circuit par des moyens techniques tels que la fusion de portes et le repliement de constantes.
Conversion en représentation polynomiale : Convertir le circuit optimisé en forme polynomiale.
Générer une chaîne de référence publique (CRS) : générer un CRS incluant la clé de preuve et la clé de vérification.
Génération et vérification de preuves : Le prouveur génère une preuve en fonction des entrées privées et du CRS, tandis que le vérificateur valide la correctitude de la preuve en fonction de la description du circuit public et du CRS.
4. Défauts et défis potentiels
Les défis auxquels fait face le ZKP basé sur des circuits :
Complexité et taille du circuit : des calculs complexes nécessitent de grands circuits, ce qui entraîne une augmentation significative des coûts de calcul pour la génération et la vérification des preuves.
Difficulté d'optimisation : concevoir et optimiser des circuits efficaces nécessite une expertise technique approfondie.
Adaptabilité des tâches de calcul spécifiques : différentes tâches de calcul nécessitent des conceptions de circuit différentes, ce qui rend difficile la généralisation.
Difficulté de mise en œuvre des algorithmes de cryptographie : la mise en œuvre d'algorithmes cryptographiques complexes peut nécessiter une grande quantité de portes logiques.
Consommation de ressources : les circuits à grande échelle nécessitent une grande quantité de ressources matérielles, ce qui peut entraîner des goulots d'étranglement lors de la mise en œuvre matérielle réelle.
Les solutions et directions d'amélioration incluent : la technologie de compression de circuit, la conception modulaire et l'accélération matérielle, etc.
Quatre, Modèle de preuve à connaissance nulle
1. Contexte
La généralité 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 connexes pouvant être réalisée par des outils de construction de circuits manuels ou des compilateurs automatiques.
2. Modèles d'algorithmes courants
Modèle zkSNARK : proposé par Bitansky et al., abréviation de "preuve de connaissance non interactive et succincte à divulgation nulle".
Le modèle de Ben-Sasson : un nouveau modèle zkSNARK pour l'exécution de programmes sur l'architecture RISC de von Neumann.
Modèle Pinocchio : un ensemble complet de génération de preuves à connaissance nulle non interactive, comprenant un compilateur avancé.
Modèle Bulletproofs : Pas besoin de configuration de confiance, et la taille de la preuve augmente de manière logarithmique avec la taille de la valeur témoignée.
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.
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.
zk-SNARKs : Développement et perspectives d'application de la technologie innovante Blockchain
Comme vous n'avez fourni aucune liste d'images, je ne peux pas insérer d'images dans le texte. Voici le contenu du texte original, sans aucune modification :
Recherche sur le développement et l'application de la technologie des preuves à divulgation nulle de connaissance dans le domaine de la blockchain
Résumé
La preuve à divulgation nulle de connaissance ( ZKP ) est considérée comme l'une des innovations les plus importantes dans le domaine de la blockchain et est également un sujet d'intérêt pour le capital-risque. Cet article présente une revue systématique de l'histoire de près de quarante ans de ZKP et des derniers développements.
Tout d'abord, les concepts de base et le contexte historique de ZKP sont introduits. Une analyse approfondie des techniques ZKP basées sur des circuits est effectuée, y compris la conception, l'application et l'optimisation des modèles tels que zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, ZKVM et ZKEVM sont présentés, explorant comment ils améliorent la capacité de traitement des transactions, protègent la vie privée et augmentent l'efficacité de la vérification. ZK Rollup est également introduit en tant que mécanisme de travail et méthodes d'optimisation pour une solution d'extension de couche 2, ainsi que les derniers progrès en matière d'accélération matérielle, de solutions hybrides et de ZK EVM dédiés.
Enfin, nous avons examiné les concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, en discutant de leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans la blockchain.
En analysant ces technologies et tendances, cet article offre une perspective complète sur la compréhension et l'application des ZKP, démontrant leur énorme potentiel pour améliorer l'efficacité et la sécurité des systèmes blockchain, fournissant ainsi une référence importante pour les décisions d'investissement futures.
Table des matières
Préface
Un, connaissances de base sur les preuves à divulgation nulle de connaissance
Deux, preuve à divulgation nulle de connaissance non interactive
Trois, preuve à connaissance nulle basée sur le circuit
Quatre, modèle de preuve à divulgation nulle de connaissance
Cinq, aperçu et développement de la machine virtuelle à connaissance nulle
VI. Aperçu et développement de la machine virtuelle Ethereum à connaissance nulle
VII. Vue d'ensemble et développement des solutions de réseau de deuxième couche à connaissance nulle
Huit, les directions futures du développement des preuves à connaissance nulle.
Neuf, conclusion
Références
Introduction
Avec l'avènement de l'ère Web3, les applications blockchain (DApps) se développent rapidement, traitant chaque jour des milliards de transactions. Les énormes quantités de données générées par ces transactions contiennent souvent des informations personnelles sensibles. En raison de l'ouverture et de la transparence de la blockchain, ces données sont accessibles à tous, suscitant diverses questions de sécurité et de confidentialité.
Il existe actuellement plusieurs technologies de cryptographie pour relever ces défis, notamment le chiffrement homomorphe, les signatures en anneau, le calcul multipartite sécurisé et les preuves à divulgation nulle de connaissance. Parmi celles-ci, les preuves à divulgation nulle de connaissance constituent une solution plus complète, car elles permettent de vérifier la validité de certaines propositions sans divulguer aucune donnée intermédiaire. Grâce aux ZKP, le vérificateur peut confirmer si le prouveur dispose d'un montant de transaction suffisant sans révéler aucune donnée de transaction privée.
La caractéristique ZKP joue 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'évolutivité du réseau, devenant le point focal de la recherche académique et une voie de financement à risque. Avec le développement de projets tels que ZkSync et StarkNet, des innovations algorithmiques autour de ZKP émergent sans cesse, et il est rapporté qu'un nouvel algorithme voit le jour presque chaque semaine. De plus, le développement de matériel lié à ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces avancées montrent que le ZKP n'est pas seulement une percée importante dans le domaine de la cryptographie, mais aussi un moteur clé pour la réalisation d'applications plus larges de la technologie blockchain. Par conséquent, nous avons décidé d'organiser 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 articles académiques fondamentaux et les informations sur les projets de pointe liés au ZKP, fournissant ainsi une base solide pour la rédaction.
I. Connaissances de base sur les preuves à divulgation nulle
1. Aperçu
En 1985, Goldwasser, Micali et Rackoff ont proposé pour la première fois le concept de preuve à divulgation nulle d'information (ZKP) et de preuve interactive de connaissance (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 simple, ce qui le rend très approprié pour la vérification ZKP.
Goldwasser et al. ont introduit le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances que le prouveur divulgue au vérificateur. Ils ont également proposé un système de preuve interactif (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 de ZKP comprennent :
Complétude : Si l'argument est vrai, un prouveur honnête peut convaincre un vérificateur honnête de ce fait.
Fiabilité : Si le prouveur ne connaît pas le contenu de la déclaration, il ne peut tromper le vérificateur qu'avec une probabilité négligeable.
Zero-knowledge : À la fin du processus de preuve, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir aucun contenu supplémentaire.
2. Exemple de preuve à divulgation nulle de connaissance
Voici un exemple de vérification pour prouver si un vérificateur possède certaines informations privées, divisé en trois phases : configuration, défi et réponse.
Étape 1 : Configuration
Le prouveur crée une preuve, montrant qu'il connaît le nombre secret s, mais ne révèle pas directement s.
Choisissez deux grands nombres premiers p et q, calculez N=pq. Calculer v=s^2 mod N, envoyer v au vérificateur. Choisir un entier aléatoire r, calculer x=r^2 mod N et l'envoyer au vérificateur.
Deuxième étape : défi
Le validateur choisit au hasard un emplacement a(0 ou 1), puis l'envoie au prouveur.
Étape trois : réponse
Selon la valeur de a, le prouveur répond :
Si a=0, le prouveur envoie y=r. Si a=1, le prouveur calcule y=rs mod N et l'envoie.
Le vérificateur vérifie si y^2 mod N est égal à xa^v mod N en fonction de y reçu. Si l'égalité est vraie, le vérificateur accepte cette preuve.
Cet exemple prouve l'intégrité, la fiabilité et la propriété de connaissance nulle des systèmes ZKP.
II. Preuve à zéro connaissance non interactive
1. Contexte
Les ZKP traditionnels nécessitent souvent plusieurs échanges pour compléter l'authentification. Cependant, dans certains scénarios, tels que les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs échanges, en particulier dans les applications blockchain où la capacité de vérification hors ligne est particulièrement importante.
2. Proposition du NIZK
En 1988, Blum, Feldman et Micali ont proposé pour la première fois le concept de preuve non interactive à connaissance nulle (NIZK), prouvant que l'authentification pouvait être réalisée entre le prouveur et le vérificateur sans nécessiter plusieurs interactions. NIZK peut être divisé en trois étapes : configuration, calcul et vérification.
La phase de configuration utilise une fonction de calcul pour transformer les paramètres de sécurité en connaissance publique, généralement codée dans une chaîne de référence commune (CRS). La phase de calcul utilise la fonction de calcul, les clés d'entrée et de preuve, et produit le résultat du calcul et la preuve. Lors de la phase de vérification, la validité de la preuve est vérifiée à l'aide de la clé de vérification.
3. Transformation Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui convertit les ZKP interactifs en ZKP non interactifs. Cette méthode réduit le nombre d'interactions en introduisant une fonction de hachage et repose sur des hypothèses de sécurité pour garantir l'authenticité de la preuve et sa difficulté à être falsifiée. Bien que ce protocole soit considéré comme sécurisé dans le modèle des oracles aléatoires, il peut rencontrer des défis dans des 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é le premier système NIZK parfait applicable à tout langage NP, et a conçu un système NIZK simple et efficace, réduisant significativement le CRS et la taille des preuves. Groth a également exploré comment combiner le chiffrement homomorphe avec les NIZK, en proposant une solution pour réduire les coûts de communication.
5. Autres recherches
Dans des cas d'utilisation spécifiques, les NIZK de validateurs particuliers ont montré une valeur pratique unique. Par exemple, le schéma de chiffrement à clé publique développé par Cramer et Shoup résiste efficacement aux attaques par texte chiffré sélectif. Damgård et al. ont proposé une nouvelle méthode d'amélioration de la transformation de Fiat-Shamir, permettant des NIZK sans interaction directe. Le concept de "fiabilité faible attribuable" proposé par Ventre et Visconti augmente la difficulté de la tromperie. La transformation d'Unruh est une alternative à la transformation de Fiat-Shamir, offrant une NIZK sécurisée contre des adversaires quantiques dans le modèle d'oracle aléatoire.
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 de calcul nécessitant une grande parallélisation et des types spécifiques de calculs, le modèle de machine de Turing traditionnel présente certaines limites. En revanche, le modèle de circuit, grâce à son avantage structurel de calcul unique, est mieux adapté à certaines tâches de traitement cryptographique spécifiques.
2. Concepts et caractéristiques fondamentales 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 preuves à divulgation nulle de connaissance
Dans un système ZKP, le processus de conception de circuits implique d'exprimer le problème à prouver sous la forme d'un circuit. Le processus de conception suit généralement les étapes suivantes :
4. Défauts et défis potentiels
Les défis auxquels fait face le ZKP basé sur des circuits :
Les solutions et directions d'amélioration incluent : la technologie de compression de circuit, la conception modulaire et l'accélération matérielle, etc.
Quatre, Modèle de preuve à connaissance nulle
1. Contexte
La généralité 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 connexes pouvant être réalisée par des outils de construction de circuits manuels ou des compilateurs automatiques.
2. Modèles d'algorithmes courants
Modèle zkSNARK : proposé par Bitansky et al., abréviation de "preuve de connaissance non interactive et succincte à divulgation nulle".
Le modèle de Ben-Sasson : un nouveau modèle zkSNARK pour l'exécution de programmes sur l'architecture RISC de von Neumann.
Modèle Pinocchio : un ensemble complet de génération de preuves à connaissance nulle non interactive, comprenant un compilateur avancé.
Modèle Bulletproofs : Pas besoin de configuration de confiance, et la taille de la preuve augmente de manière logarithmique avec la taille de la valeur témoignée.
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.