Développement et application de la technologie zk-SNARKs dans le domaine de la Blockchain : revue de littérature complète
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation importante dans le domaine de la Blockchain, jouent un rôle clé dans l'amélioration de la protection de la vie privée et de l'évolutivité. Cet article propose une revue systématique des recherches sur les ZKP au cours des quarante dernières années et des avancées récentes.
Tout d'abord, le concept de base et le contexte historique des ZKP sont introduits, en mettant l'accent sur l'analyse des technologies ZKP basées sur des circuits, y compris la conception et l'application de modèles tels que zkSNARK, Pinocchio et Bulletproofs. En ce qui concerne l'environnement de calcul, il est exploré comment ZKVM et ZKEVM peuvent améliorer la capacité de traitement des transactions et l'efficacité de vérification. L'article présente également le fonctionnement et les méthodes d'optimisation des ZK Rollup en tant que solution d'extension 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, nous avons examiné des 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 le domaine du Blockchain.
En analysant ces technologies et tendances de développement, cet article offre une perspective complète sur la compréhension et l'application des zk-SNARKs, montrant leur énorme 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
Introduction
Un, zk-SNARKs connaissances de base
Résumé
Exemple de zk-SNARKs
Deux, zk-SNARKs non interactifs
Contexte
Proposition de NIZK
Transformation Fiat-Shamir
Jens Groth et ses recherches
Autres recherches
Trois, preuve à savoir basée sur le circuit zk-SNARKs
Contexte
Concepts de base et caractéristiques du modèle de circuit
Conception et application de circuits dans les zk-SNARKs
Défaillances et défis potentiels
Quatre, modèle zk-SNARKs
Contexte
Modèles d'algorithmes courants
Schéma basé sur le PCP linéaire et le problème du logarithme discret
Solution basée sur la preuve des gens ordinaires
Preuves vérifiables basées sur la probabilité ( PCP ) de zk-SNARKs
Classification basée sur la phase de configuration de la construction de preuve générale CPC( ).
Cinq, aperçu et développement des machines virtuelles à preuve nulle.
Contexte
Classification actuelle du ZKVM
Paradigme front-end et back-end
Avantages et inconvénients du paradigme ZKVM
VI. Aperçu et développement des zk-SNARKs sur Ethereum Virtual Machine
Contexte
Le fonctionnement de ZKEVM
Le processus de mise en œuvre de ZKEVM
Caractéristiques de ZKEVM
Sept, aperçu et développement des solutions de réseau de seconde couche zk-SNARKs
Contexte
Le mécanisme de fonctionnement de ZK Rollup
Les inconvénients et les optimisations des ZK Rollup
Huit, les directions futures de développement des zk-SNARKs.
Accélérer le développement de l'environnement de calcul
Proposition et développement de ZKML
Développements liés à la technologie d'extension ZKP
Le développement de l'interopérabilité des zk-SNARKs
Neuf, conclusion
Références
Avant-propos
Avec l'avènement de l'ère Web3, les applications Blockchain ( DApps ) se développent rapidement, avec un grand nombre de nouvelles applications émergeant chaque jour. Ces dernières années, les plateformes Blockchain supportent chaque jour les activités de millions d'utilisateurs, traitant des milliards de transactions. Les quantités massives de données générées par ces transactions contiennent souvent des informations personnelles sensibles, telles que l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes, etc. Étant donné l'ouverture et la transparence de la Blockchain, ces données stockées sont visibles par tous, ce qui soulève diverses questions de sécurité et de confidentialité.
Il existe actuellement plusieurs technologies cryptographiques pour relever ces défis, notamment le chiffrement homomorphe, la signature en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Parmi celles-ci, les zk-SNARKs représentent une solution plus complète, permettant de vérifier la véracité de certaines propositions sans divulguer de données intermédiaires. 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 de ZKP lui confère 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'expansion du réseau, ce qui en fait non seulement un point focal de la recherche académique, mais aussi une voie clé pour les applications industrielles et le capital-risque. Avec l'émergence successive de projets de réseaux basés sur ZKP comme ZkSync, StarkNet et Mina, les innovations algorithmiques concernant ZKP ne cessent d'apparaître. De plus, le développement de matériel lié à ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces progrès indiquent que la technologie des zk-SNARKs 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 technologie Blockchain. Par conséquent, cet article vise à organiser systématiquement les connaissances pertinentes sur les ZKP, afin d'assister les décisions d'investissement futures. Nous avons passé en revue les principales publications académiques et les documents des projets leaders concernant les ZKP, fournissant ainsi une base solide pour la rédaction de cet article.
Une, zk-SNARKs connaissances de base
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 système ZKP possède trois caractéristiques fondamentales :
Complétude : si la preuve est vraie, 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 faible probabilité.
Caractère de non-divulgation : à la fin du processus de preuve, le vérificateur ne reçoit que des informations sur "le fait que le prouveur possède cette connaissance", sans obtenir de contenu supplémentaire.
2. exemples de zk-SNARKs
Pour mieux comprendre les ZKP et leurs attributs, voici un exemple de vérification si le prouveur possède certaines informations confidentielles, divisé en trois phases : configuration, défi et réponse :
Première étape : réglage
Le prouveur choisit deux grands nombres premiers p et q, calcule n=p*q. Il choisit un entier aléatoire r, calcule x=r^2 mod n, et l'envoie au vérificateur.
Deuxième étape : défi
Le validateur choisit aléatoirement un bit a(0 ou 1), puis l'envoie au prouveur.
Troisième étape : réponse
Selon la valeur de a, le prouveur calcule et envoie la réponse :
Si a=0, envoyer r
Si a=1, calculez et envoyez y=r*s mod n
Les validateurs vérifient en fonction des réponses reçues. Ce processus peut être répété plusieurs fois pour réduire la probabilité que le prouveur réussisse la vérification par la devinette.
Deux, zk-SNARKs non interactifs
1. Contexte
Les ZKP traditionnels nécessitent généralement plusieurs interactions pour compléter l'authentification. Cependant, dans certains scénarios, comme les transactions instantanées ou le vote, il est souvent impossible d'effectuer plusieurs interactions, en particulier dans les applications Blockchain, où la fonction de vérification hors ligne devient particulièrement importante.
2. Proposition des NIZK
En 1988, Blum, Feldman et Micali ont proposé pour la première fois le concept de preuve non interactive de connaissance nulle (NIZK), prouvant que sans nécessiter plusieurs interactions, le prouveur et le vérificateur pouvaient toujours compléter le processus d'authentification. NIZK peut être divisé en trois étapes : préparation, calcul et vérification.
3. Transformation de Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui convertit 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 l'authenticité de la preuve et sa difficulté à être falsifiée.
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 adapté à tout langage NP et a conçu un système NIZK simple et efficace, réduisant de manière significative la taille du CRS et des preuves.
5. Autres recherches
D'autres recherches incluent le schéma de cryptographie à clé publique développé par Cramer et Shoup utilisant des fonctions de hachage universelles, la méthode d'amélioration de la transformation Fiat-Shamir proposée par Damgård et al., ainsi que le concept de "fiabilité faible imputable" proposé par Ventre et Visconti.
Trois, preuve à connaissance nulle basée sur des circuits
1. Contexte
Lors du traitement de tâches nécessitant une forte parallélisation et des types spécifiques de calcul, 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 plus adapté à certaines tâches spécifiques de traitement cryptographique.
2. Concepts et caractéristiques de base du modèle de circuit
Les modèles de circuits se divisent principalement en deux grandes catégories :
Circuits arithmétiques : principalement composés de portes d'addition et de portes de multiplication, utilisés pour traiter les éléments sur un corps fini.
Circuits logiques : composés de portes logiques de base telles que les portes ET, OU et NON, utilisés pour traiter les opérations booléennes.
3. zk-SNARKs dans la conception et l'application de circuits
Dans un système ZKP, le processus de conception de circuits implique d'exprimer le problème à prouver sous forme de circuit et d'assurer l'exactitude des résultats de calcul par des contraintes polynomiales. Ce processus comprend la représentation du problème, l'optimisation du circuit, la conversion en représentation polynomiale, la génération d'une chaîne de référence publique (CRS) ainsi que la génération et la vérification de la preuve.
4. Défauts et défis potentiels
Les principaux défis auxquels sont confrontés les ZKP basés sur des circuits incluent la complexité et l'échelle des circuits, la difficulté d'optimisation, l'adaptabilité aux tâches de calcul spécifiques, la difficulté de mise en œuvre des algorithmes de cryptage et la consommation de ressources. Les solutions comprennent la technologie de compression des circuits, la conception modulaire et l'accélération matérielle.
Quatre, modèle de zk-SNARKs
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. Divers compilateurs de langages de haut niveau et outils de combinaison de circuits de bas niveau existent pour la génération de circuits et la conception d'algorithmes.
2. Modèles d'algorithmes courants
Les principaux modèles de zk-SNARKs comprennent :
modèle zk-SNARKs
Le modèle de Ben-Sasson
Modèle Pinocchio
Modèle Bulletproofs
Modèle Ligero
3. Schéma basé sur le PCP linéaire et le problème du logarithme discret
Ces types de solutions incluent :
Modèle Groth16
Modèle Sonic
Modèle PLONK
Modèle Marlin
Modèle SLONK
Modèle SuperSonic
4. Solution basée sur la preuve des gens ordinaires
Modèle Hyrax
Modèle Libra
Modèle Spartan
5. Preuve vérifiable par probabilité (PCP) des zk-SNARKs
Modèle STARK
Modèle Aurora
Modèle Aurora Succinct
Modèle Fractal
6. Classification de la phase de configuration de la construction de preuve générale CPC(
Première génération )G1( : chaque circuit nécessite un paramétrage de confiance distinct.
Deuxième génération )G2( : initialement configurée une fois pour tous les circuits.
Troisième génération )G3( : système de preuve sans besoin d'un cadre de confiance.
) Cinq, aperçu et développement des zk-SNARKs virtuels
1. Contexte
ZKVM est une machine virtuelle axée sur les zk-SNARKs, qui étend les fonctionnalités des VM traditionnelles, permettant de réduire de manière généralisée le seuil de développement des circuits zk-SNARKs et capable de générer instantanément des preuves pour toute application ou calcul.
2. Classification actuelle du ZKVM
Principalement divisé en trois catégories :
ZKVM de type mainstream : comme RISCZero, PolygonMiden, zkWASM, etc.
ZKVM équivalent EVM : comme le projet zkEVM.
zk-SNARKs optimisé type ZKVM : comme Cairo-VM, Valida, TinyRAM, etc.
3. Paradigmes front-end et back-end
Les systèmes ZKP peuvent généralement être divisés en deux parties : le front-end et le back-end. Le front-end utilise principalement des langages de bas niveau pour représenter des langages de haut niveau, tandis que le back-end est un système de preuve cryptographique qui convertit les circuits décrits par le langage de bas niveau construit par le front-end en preuves générées et en vérification de la correction.
4. Avantages et inconvénients du paradigme ZKVM
Les avantages incluent l'utilisation des ISA existants, le support de plusieurs programmes par un seul circuit, les circuits à structure répétée, etc. Les inconvénients incluent les coûts liés à la généralité, les opérations coûteuses, et le coût élevé des preuves.
Six, aperçu et développement des zk-SNARKs dans la machine virtuelle Ethereum
1. Contexte
ZKEVM est conçu pour Ethereum, principalement utilisé pour vérifier l'exécution correcte des contrats intelligents tout en protégeant la confidentialité des transactions. Les principales solutions ZKEVM incluent STARKWARE, ZkSync, Polygen-Hermez, Scroll, etc.
2. Fonctionnement de ZKEVM
Le flux de travail de ZKEVM comprend des étapes telles que le traitement des programmes de nœud, la génération de preuves ZK, l'agrégation de preuves et l'envoi au contrat L1.
3. Le processus de mise en œuvre de ZKEVM
Le processus de mise en œuvre comprend les étapes suivantes : collecte des données, traitement des données, génération de preuves, preuves récursives, soumission des preuves, etc.
4. Caractéristiques de ZKEVM
Les principales caractéristiques de ZKEVM incluent l'amélioration de la capacité de traitement des transactions, la protection de la vie privée, et une validation efficace.
Sept, aperçu et développement des solutions de réseau de deuxième couche zk-SNARKs.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
12 J'aime
Récompense
12
6
Partager
Commentaire
0/400
BearMarketSage
· 07-12 08:12
Avoir du snark c'est le meilleur bull.
Voir l'originalRépondre0
RektRecorder
· 07-12 08:12
Que pensez-vous d'un zkvm qui redémarre ?
Voir l'originalRépondre0
GasFeeCry
· 07-12 08:09
zksnark YYDS voir le message rapport cher
Voir l'originalRépondre0
UnluckyValidator
· 07-12 08:03
Regarder juste la tête me donne mal à la tête... Ceux qui ont déjà été nœud de validation savent.
Voir l'originalRépondre0
GateUser-3824aa38
· 07-12 07:57
Ce n'est rien d'autre que l'emballage de code et de matériel.
Voir l'originalRépondre0
SignatureDenied
· 07-12 07:51
zk peut résoudre le plus grand point de douleur actuel
L'application complète et les perspectives de développement de la technologie zk-SNARKs dans le domaine de la Blockchain.
Développement et application de la technologie zk-SNARKs dans le domaine de la Blockchain : revue de littérature complète
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation importante dans le domaine de la Blockchain, jouent un rôle clé dans l'amélioration de la protection de la vie privée et de l'évolutivité. Cet article propose une revue systématique des recherches sur les ZKP au cours des quarante dernières années et des avancées récentes.
Tout d'abord, le concept de base et le contexte historique des ZKP sont introduits, en mettant l'accent sur l'analyse des technologies ZKP basées sur des circuits, y compris la conception et l'application de modèles tels que zkSNARK, Pinocchio et Bulletproofs. En ce qui concerne l'environnement de calcul, il est exploré comment ZKVM et ZKEVM peuvent améliorer la capacité de traitement des transactions et l'efficacité de vérification. L'article présente également le fonctionnement et les méthodes d'optimisation des ZK Rollup en tant que solution d'extension 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, nous avons examiné des 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 le domaine du Blockchain.
En analysant ces technologies et tendances de développement, cet article offre une perspective complète sur la compréhension et l'application des zk-SNARKs, montrant leur énorme 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
Introduction
Un, zk-SNARKs connaissances de base
Deux, zk-SNARKs non interactifs
Trois, preuve à savoir basée sur le circuit zk-SNARKs
Quatre, modèle zk-SNARKs
Cinq, aperçu et développement des machines virtuelles à preuve nulle.
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 seconde couche zk-SNARKs
Huit, les directions futures de développement des zk-SNARKs.
Neuf, conclusion
Références
Avant-propos
Avec l'avènement de l'ère Web3, les applications Blockchain ( DApps ) se développent rapidement, avec un grand nombre de nouvelles applications émergeant chaque jour. Ces dernières années, les plateformes Blockchain supportent chaque jour les activités de millions d'utilisateurs, traitant des milliards de transactions. Les quantités massives de données générées par ces transactions contiennent souvent des informations personnelles sensibles, telles que l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes, etc. Étant donné l'ouverture et la transparence de la Blockchain, ces données stockées sont visibles par tous, ce qui soulève diverses questions de sécurité et de confidentialité.
Il existe actuellement plusieurs technologies cryptographiques pour relever ces défis, notamment le chiffrement homomorphe, la signature en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Parmi celles-ci, les zk-SNARKs représentent une solution plus complète, permettant de vérifier la véracité de certaines propositions sans divulguer de données intermédiaires. 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 de ZKP lui confère 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'expansion du réseau, ce qui en fait non seulement un point focal de la recherche académique, mais aussi une voie clé pour les applications industrielles et le capital-risque. Avec l'émergence successive de projets de réseaux basés sur ZKP comme ZkSync, StarkNet et Mina, les innovations algorithmiques concernant ZKP ne cessent d'apparaître. De plus, le développement de matériel lié à ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.
Ces progrès indiquent que la technologie des zk-SNARKs 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 technologie Blockchain. Par conséquent, cet article vise à organiser systématiquement les connaissances pertinentes sur les ZKP, afin d'assister les décisions d'investissement futures. Nous avons passé en revue les principales publications académiques et les documents des projets leaders concernant les ZKP, fournissant ainsi une base solide pour la rédaction de cet article.
Une, zk-SNARKs connaissances de base
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 système ZKP possède trois caractéristiques fondamentales :
Complétude : si la preuve est vraie, 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 faible probabilité.
Caractère de non-divulgation : à la fin du processus de preuve, le vérificateur ne reçoit que des informations sur "le fait que le prouveur possède cette connaissance", sans obtenir de contenu supplémentaire.
2. exemples de zk-SNARKs
Pour mieux comprendre les ZKP et leurs attributs, voici un exemple de vérification si le prouveur possède certaines informations confidentielles, divisé en trois phases : configuration, défi et réponse :
Première étape : réglage Le prouveur choisit deux grands nombres premiers p et q, calcule n=p*q. Il choisit un entier aléatoire r, calcule x=r^2 mod n, et l'envoie au vérificateur.
Deuxième étape : défi Le validateur choisit aléatoirement un bit a(0 ou 1), puis l'envoie au prouveur.
Troisième étape : réponse Selon la valeur de a, le prouveur calcule et envoie la réponse : Si a=0, envoyer r Si a=1, calculez et envoyez y=r*s mod n
Les validateurs vérifient en fonction des réponses reçues. Ce processus peut être répété plusieurs fois pour réduire la probabilité que le prouveur réussisse la vérification par la devinette.
Deux, zk-SNARKs non interactifs
1. Contexte
Les ZKP traditionnels nécessitent généralement plusieurs interactions pour compléter l'authentification. Cependant, dans certains scénarios, comme les transactions instantanées ou le vote, il est souvent impossible d'effectuer plusieurs interactions, en particulier dans les applications Blockchain, où la fonction de vérification hors ligne devient particulièrement importante.
2. Proposition des NIZK
En 1988, Blum, Feldman et Micali ont proposé pour la première fois le concept de preuve non interactive de connaissance nulle (NIZK), prouvant que sans nécessiter plusieurs interactions, le prouveur et le vérificateur pouvaient toujours compléter le processus d'authentification. NIZK peut être divisé en trois étapes : préparation, calcul et vérification.
3. Transformation de Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui convertit 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 l'authenticité de la preuve et sa difficulté à être falsifiée.
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 adapté à tout langage NP et a conçu un système NIZK simple et efficace, réduisant de manière significative la taille du CRS et des preuves.
5. Autres recherches
D'autres recherches incluent le schéma de cryptographie à clé publique développé par Cramer et Shoup utilisant des fonctions de hachage universelles, la méthode d'amélioration de la transformation Fiat-Shamir proposée par Damgård et al., ainsi que le concept de "fiabilité faible imputable" proposé par Ventre et Visconti.
Trois, preuve à connaissance nulle basée sur des circuits
1. Contexte
Lors du traitement de tâches nécessitant une forte parallélisation et des types spécifiques de calcul, 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 plus adapté à certaines tâches spécifiques de traitement cryptographique.
2. Concepts et caractéristiques de base du modèle de circuit
Les modèles de circuits se divisent principalement en deux grandes catégories :
3. zk-SNARKs dans la conception et l'application de circuits
Dans un système ZKP, le processus de conception de circuits implique d'exprimer le problème à prouver sous forme de circuit et d'assurer l'exactitude des résultats de calcul par des contraintes polynomiales. Ce processus comprend la représentation du problème, l'optimisation du circuit, la conversion en représentation polynomiale, la génération d'une chaîne de référence publique (CRS) ainsi que la génération et la vérification de la preuve.
4. Défauts et défis potentiels
Les principaux défis auxquels sont confrontés les ZKP basés sur des circuits incluent la complexité et l'échelle des circuits, la difficulté d'optimisation, l'adaptabilité aux tâches de calcul spécifiques, la difficulté de mise en œuvre des algorithmes de cryptage et la consommation de ressources. Les solutions comprennent la technologie de compression des circuits, la conception modulaire et l'accélération matérielle.
Quatre, modèle de zk-SNARKs
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. Divers compilateurs de langages de haut niveau et outils de combinaison de circuits de bas niveau existent pour la génération de circuits et la conception d'algorithmes.
2. Modèles d'algorithmes courants
Les principaux modèles de zk-SNARKs comprennent :
3. Schéma basé sur le PCP linéaire et le problème du logarithme discret
Ces types de solutions incluent :
4. Solution basée sur la preuve des gens ordinaires
5. Preuve vérifiable par probabilité (PCP) des zk-SNARKs
6. Classification de la phase de configuration de la construction de preuve générale CPC(
) Cinq, aperçu et développement des zk-SNARKs virtuels
1. Contexte
ZKVM est une machine virtuelle axée sur les zk-SNARKs, qui étend les fonctionnalités des VM traditionnelles, permettant de réduire de manière généralisée le seuil de développement des circuits zk-SNARKs et capable de générer instantanément des preuves pour toute application ou calcul.
2. Classification actuelle du ZKVM
Principalement divisé en trois catégories :
3. Paradigmes front-end et back-end
Les systèmes ZKP peuvent généralement être divisés en deux parties : le front-end et le back-end. Le front-end utilise principalement des langages de bas niveau pour représenter des langages de haut niveau, tandis que le back-end est un système de preuve cryptographique qui convertit les circuits décrits par le langage de bas niveau construit par le front-end en preuves générées et en vérification de la correction.
4. Avantages et inconvénients du paradigme ZKVM
Les avantages incluent l'utilisation des ISA existants, le support de plusieurs programmes par un seul circuit, les circuits à structure répétée, etc. Les inconvénients incluent les coûts liés à la généralité, les opérations coûteuses, et le coût élevé des preuves.
Six, aperçu et développement des zk-SNARKs dans la machine virtuelle Ethereum
1. Contexte
ZKEVM est conçu pour Ethereum, principalement utilisé pour vérifier l'exécution correcte des contrats intelligents tout en protégeant la confidentialité des transactions. Les principales solutions ZKEVM incluent STARKWARE, ZkSync, Polygen-Hermez, Scroll, etc.
2. Fonctionnement de ZKEVM
Le flux de travail de ZKEVM comprend des étapes telles que le traitement des programmes de nœud, la génération de preuves ZK, l'agrégation de preuves et l'envoi au contrat L1.
3. Le processus de mise en œuvre de ZKEVM
Le processus de mise en œuvre comprend les étapes suivantes : collecte des données, traitement des données, génération de preuves, preuves récursives, soumission des preuves, etc.
4. Caractéristiques de ZKEVM
Les principales caractéristiques de ZKEVM incluent l'amélioration de la capacité de traitement des transactions, la protection de la vie privée, et une validation efficace.
Sept, aperçu et développement des solutions de réseau de deuxième couche zk-SNARKs.
1. Contexte
ZK Rollup est un type de