Aperçu de la technologie des zk-SNARKs et de son application dans le domaine du Blockchain
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation clé dans le domaine de la Blockchain, ont récemment suscité un large intérêt dans le milieu académique et industriel. Cet article passe en revue le développement de la technologie ZKP au cours des quarante dernières années, en analysant principalement la technologie ZKP basée sur des circuits, y compris la conception et l'optimisation des modèles tels que zkSNARK et PLONK. En ce qui concerne l'environnement de calcul, l'article présente ZKVM et ZKEVM, et explore leur potentiel pour améliorer la capacité de traitement des transactions et la protection de la vie privée. De plus, cet article discute du mécanisme de fonctionnement et des méthodes d'optimisation de ZK Rollup en tant que solution d'extension Layer 2, ainsi que des avancées récentes sur l'accélération matérielle et les solutions hybrides. Enfin, l'article envisage des concepts émergents tels que le ZKCoprocessor, ZKML et ZKThreads, et analyse leurs perspectives d'application en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans la Blockchain. Grâce à une analyse complète de ces technologies et tendances, cet article offre une perspective systémique pour comprendre et appliquer la technologie ZKP, montrant son énorme potentiel pour améliorer l'efficacité et la sécurité des systèmes Blockchain.
I. Connaissances de base sur zk-SNARKs
1. Résumé
zk-SNARKs(ZKP) a été proposé pour la première fois par Goldwasser et al. en 1985. Il s'agit d'un système de preuve interactif qui permet à un prouveur de prouver la validité d'une proposition à un vérificateur sans divulguer d'informations supplémentaires. ZKP possède trois caractéristiques fondamentales : la complétude, la fiabilité et la propriété de zero-knowledge.
2. Exemples de zk-SNARKs
Voici un exemple de ZKP pour vérifier si un prouvant possède un certain chiffre secret, incluant trois étapes : configuration, défi et réponse :
Phase de configuration : le prouveur choisit de grands nombres premiers p et q, calcule N = p * q, v = s^2 mod N, et choisit aléatoirement r pour calculer x = r^2 mod N.
Phase de défi : le validateur choisit au hasard une position a(0 ou 1) comme défi.
Phase de réponse : Le prouveur calcule la réponse g en fonction de la valeur de a. Le vérificateur vérifie la validité de la preuve en vérifiant si g^2 mod N est égal à x * v^a mod N.
Grâce à des interactions multiples, cette solution permet de prouver que le prouveur possède effectivement le nombre secret s sans le divulguer.
II. Preuves à divulgation nulle de connaissance non interactive
1. Contexte
Les ZKP traditionnels nécessitent généralement plusieurs interactions, ce qui n'est pas pratique dans certains scénarios d'application. La proposition de la preuve à connaissance nulle non interactive (NIZK) a résolu ce problème.
2. Proposition de NIZK
Blum et al. ont proposé pour la première fois le concept de NIZK en 1988, prouvant qu'il est possible d'effectuer une authentification sans interactions multiples. Le NIZK se compose de trois étapes : la configuration, le calcul et la vérification, réalisées grâce à une chaîne de référence commune (CRS).
3. Transformation Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui permet de convertir un ZKP interactif en un ZKP non interactif, en introduisant une fonction de hachage pour réduire le nombre d'interactions.
4. Autres recherches importantes
Groth et al. ont proposé un schéma NIZK basé sur le problème du logarithme discret et les appariements bilinéaires, réalisant une complétude parfaite et une connaissance nulle. Kalai et al. ont proposé une méthode NIZK basée sur la "preuve de l'homme ordinaire", applicable à un large éventail de problèmes.
Trois, preuve à connaissance nulle basée sur des circuits
1. Contexte
Le système ZKP basé sur des circuits met l'accent sur l'utilisation de circuits (, qui sont généralement des circuits arithmétiques ou des circuits booléens ), pour exprimer et vérifier le processus de calcul.
2. Concepts et caractéristiques de base des modèles de circuits
Le modèle de circuit transforme le processus de calcul en une série de portes et de connexions, y compris deux grandes catégories : les circuits arithmétiques et les circuits logiques.
3. Conception et application de circuits dans les zk-SNARKs
Le processus de conception de circuits comprend la représentation du problème, l'optimisation du circuit, la conversion en représentation polynomiale, la génération de la chaîne de référence publique (CRS) ainsi que la génération et la vérification de preuves.
4. Défauts et défis potentiels
Les principaux défis comprennent 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 cryptographiques et la consommation de ressources.
Quatre, modèles de zk-SNARKs
1. Modèles d'algorithmes courants
Principalement inclus zk-SNARKs, le modèle de Ben-Sasson, le modèle de Pinocchio, le modèle de Bulletproofs et le modèle de Ligero, etc.
2. Schéma basé sur PCP linéaire et le problème du logarithme discret
y compris les modèles Groth16, Sonic, PLONK, Marlin, etc.
3. Proposition basée sur la preuve des gens ordinaires
y compris les modèles Hyrax, Libra et Spartan.
4. Preuves vérifiables basées sur des probabilités ( PCP ) zk-SNARKs
y compris les modèles STARK, Aurora, Succinct Aurora et Fractal.
Cinq, aperçu et développement des zk-SNARKs
1. Classification actuelle de ZKVM
Principalement divisé en ZKVM( de type mainstream comme RISCZero, PolygonMiden), et ZKVM( de type équivalent EVM comme les projets zkEVM) et ZKVM( optimisé par des preuves à connaissance nulle comme Cairo-VM, Valida).
2. Paradigmes front-end et back-end
Les systèmes ZKP sont généralement divisés en deux parties : la construction de circuits à l'avant ( et la génération et la vérification des preuves à l'arrière ).
( 3. Avantages et inconvénients du paradigme ZKVM
Les avantages incluent l'utilisation de l'ISA existant, le support d'un seul circuit pour plusieurs programmes, etc. ; les inconvénients incluent les coûts liés à la généralité, les opérations coûteuses et les coûts de preuve élevés, etc.
Six, aperçu et développement des zk-SNARKs sur la machine virtuelle Ethereum
) 1. Le fonctionnement de ZKEVM
ZKEVM convertit l'ensemble d'instructions EVM pour être exécuté dans le système ZK, chaque instruction doit fournir une preuve, y compris une preuve d'état et une preuve de correcte exécution.
2. Le processus de mise en œuvre de ZKEVM
Cela inclut des étapes telles que l'acquisition de données, le traitement des données, la génération de preuves, la preuve récursive et la soumission de preuves.
3. Les caractéristiques de ZKEVM
Les principales caractéristiques incluent l'amélioration de la capacité de traitement des transactions, la protection de la vie privée et la validation efficace.
Sept, aperçu et développement des solutions de réseau de couche 2 à zk-SNARKs
1. Mécanisme de fonctionnement des ZK Rollup
ZK Rollup réduit l'utilisation des ressources de calcul en exécutant des transactions hors chaîne et en renvoyant les transactions signées finales sur la chaîne.
2. Les inconvénients et les optimisations des ZK Rollups
Les principaux inconvénients sont le coût élevé du calcul. Les solutions d'optimisation incluent l'optimisation des algorithmes de cryptographie, la combinaison des Rollups Optimistes et ZK, le développement d'un ZK EVM dédié et l'optimisation matérielle.
Huit, les directions futures du développement des zk-SNARKs
1. Accélérer le développement de l'environnement de calcul
y compris le développement de technologies telles que ZK-ASIC et ZKCoprocessor.
2. Proposition et développement du ZKML
zk-SNARKs apprentissage automatique ### ZKML ### est un domaine émergent qui applique la technologie ZKP à l'apprentissage automatique.
( 3. Développements liés à la technologie d'extension des zk-SNARKs
y compris la proposition et le développement de concepts tels que ZKThreads et ZK Sharding.
) 4. Le développement de l'interopérabilité des zk-SNARKs
y compris le développement de technologies telles que les ZK State Channels et le ZK Omnichain Interoperability Protocol.
IX. Conclusion
Cet article passe en revue de manière exhaustive l'évolution de la technologie ZKP et son application dans le domaine de la Blockchain, en explorant tous les aspects allant de la théorie de base aux applications pratiques. En analysant les dernières technologies et tendances de développement, cet article montre le potentiel énorme du ZKP pour améliorer l'efficacité et la sécurité des systèmes Blockchain, fournissant une perspective systématique pour comprendre et appliquer la technologie ZKP.
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.
16 J'aime
Récompense
16
6
Partager
Commentaire
0/400
AlwaysMissingTops
· 07-18 16:45
Il fallait le dire, ça fait dix ans que je traîne dans l'univers de la cryptomonnaie.
Voir l'originalRépondre0
FortuneTeller42
· 07-16 09:26
Consultant technique, ayant fait du trading de jetons, avec des gains et des pertes, je comprends un peu tout. Je suis ce qui se passe dans le Blockchain depuis 8 ans, un pionnier des idées. I'm still learning...
Voici un commentaire :
zk devient de plus en plus intense, ce n'est pas encore suffisant~
Voir l'originalRépondre0
AirdropSweaterFan
· 07-15 17:11
Il faut regarder zk pour le lancement de la chaîne publique~
Voir l'originalRépondre0
WhaleMinion
· 07-15 17:05
Il faut encore rejoindre le groupe de questions, quand cela prendra-t-il fin ?
Voir l'originalRépondre0
CryptoPunster
· 07-15 16:55
pigeons aussi savent-ils comprendre une technologie aussi profonde ? Essayez d'abord de vider vos fonds.
Voir l'originalRépondre0
GasFeeNightmare
· 07-15 16:51
Quelle entreprise zkr a encore brûlé de l'argent pour fuir le protocole ?
Les dernières avancées et perspectives d'application de la technologie des zk-SNARKs dans le domaine de la Blockchain.
Aperçu de la technologie des zk-SNARKs et de son application dans le domaine du Blockchain
Résumé
Les zk-SNARKs ( ZKP ) en tant qu'innovation clé dans le domaine de la Blockchain, ont récemment suscité un large intérêt dans le milieu académique et industriel. Cet article passe en revue le développement de la technologie ZKP au cours des quarante dernières années, en analysant principalement la technologie ZKP basée sur des circuits, y compris la conception et l'optimisation des modèles tels que zkSNARK et PLONK. En ce qui concerne l'environnement de calcul, l'article présente ZKVM et ZKEVM, et explore leur potentiel pour améliorer la capacité de traitement des transactions et la protection de la vie privée. De plus, cet article discute du mécanisme de fonctionnement et des méthodes d'optimisation de ZK Rollup en tant que solution d'extension Layer 2, ainsi que des avancées récentes sur l'accélération matérielle et les solutions hybrides. Enfin, l'article envisage des concepts émergents tels que le ZKCoprocessor, ZKML et ZKThreads, et analyse leurs perspectives d'application en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans la Blockchain. Grâce à une analyse complète de ces technologies et tendances, cet article offre une perspective systémique pour comprendre et appliquer la technologie ZKP, montrant son énorme potentiel pour améliorer l'efficacité et la sécurité des systèmes Blockchain.
I. Connaissances de base sur zk-SNARKs
1. Résumé
zk-SNARKs(ZKP) a été proposé pour la première fois par Goldwasser et al. en 1985. Il s'agit d'un système de preuve interactif qui permet à un prouveur de prouver la validité d'une proposition à un vérificateur sans divulguer d'informations supplémentaires. ZKP possède trois caractéristiques fondamentales : la complétude, la fiabilité et la propriété de zero-knowledge.
2. Exemples de zk-SNARKs
Voici un exemple de ZKP pour vérifier si un prouvant possède un certain chiffre secret, incluant trois étapes : configuration, défi et réponse :
Phase de configuration : le prouveur choisit de grands nombres premiers p et q, calcule N = p * q, v = s^2 mod N, et choisit aléatoirement r pour calculer x = r^2 mod N.
Phase de défi : le validateur choisit au hasard une position a(0 ou 1) comme défi.
Phase de réponse : Le prouveur calcule la réponse g en fonction de la valeur de a. Le vérificateur vérifie la validité de la preuve en vérifiant si g^2 mod N est égal à x * v^a mod N.
Grâce à des interactions multiples, cette solution permet de prouver que le prouveur possède effectivement le nombre secret s sans le divulguer.
II. Preuves à divulgation nulle de connaissance non interactive
1. Contexte
Les ZKP traditionnels nécessitent généralement plusieurs interactions, ce qui n'est pas pratique dans certains scénarios d'application. La proposition de la preuve à connaissance nulle non interactive (NIZK) a résolu ce problème.
2. Proposition de NIZK
Blum et al. ont proposé pour la première fois le concept de NIZK en 1988, prouvant qu'il est possible d'effectuer une authentification sans interactions multiples. Le NIZK se compose de trois étapes : la configuration, le calcul et la vérification, réalisées grâce à une chaîne de référence commune (CRS).
3. Transformation Fiat-Shamir
La transformation Fiat-Shamir est une méthode qui permet de convertir un ZKP interactif en un ZKP non interactif, en introduisant une fonction de hachage pour réduire le nombre d'interactions.
4. Autres recherches importantes
Groth et al. ont proposé un schéma NIZK basé sur le problème du logarithme discret et les appariements bilinéaires, réalisant une complétude parfaite et une connaissance nulle. Kalai et al. ont proposé une méthode NIZK basée sur la "preuve de l'homme ordinaire", applicable à un large éventail de problèmes.
Trois, preuve à connaissance nulle basée sur des circuits
1. Contexte
Le système ZKP basé sur des circuits met l'accent sur l'utilisation de circuits (, qui sont généralement des circuits arithmétiques ou des circuits booléens ), pour exprimer et vérifier le processus de calcul.
2. Concepts et caractéristiques de base des modèles de circuits
Le modèle de circuit transforme le processus de calcul en une série de portes et de connexions, y compris deux grandes catégories : les circuits arithmétiques et les circuits logiques.
3. Conception et application de circuits dans les zk-SNARKs
Le processus de conception de circuits comprend la représentation du problème, l'optimisation du circuit, la conversion en représentation polynomiale, la génération de la chaîne de référence publique (CRS) ainsi que la génération et la vérification de preuves.
4. Défauts et défis potentiels
Les principaux défis comprennent 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 cryptographiques et la consommation de ressources.
Quatre, modèles de zk-SNARKs
1. Modèles d'algorithmes courants
Principalement inclus zk-SNARKs, le modèle de Ben-Sasson, le modèle de Pinocchio, le modèle de Bulletproofs et le modèle de Ligero, etc.
2. Schéma basé sur PCP linéaire et le problème du logarithme discret
y compris les modèles Groth16, Sonic, PLONK, Marlin, etc.
3. Proposition basée sur la preuve des gens ordinaires
y compris les modèles Hyrax, Libra et Spartan.
4. Preuves vérifiables basées sur des probabilités ( PCP ) zk-SNARKs
y compris les modèles STARK, Aurora, Succinct Aurora et Fractal.
Cinq, aperçu et développement des zk-SNARKs
1. Classification actuelle de ZKVM
Principalement divisé en ZKVM( de type mainstream comme RISCZero, PolygonMiden), et ZKVM( de type équivalent EVM comme les projets zkEVM) et ZKVM( optimisé par des preuves à connaissance nulle comme Cairo-VM, Valida).
2. Paradigmes front-end et back-end
Les systèmes ZKP sont généralement divisés en deux parties : la construction de circuits à l'avant ( et la génération et la vérification des preuves à l'arrière ).
( 3. Avantages et inconvénients du paradigme ZKVM
Les avantages incluent l'utilisation de l'ISA existant, le support d'un seul circuit pour plusieurs programmes, etc. ; les inconvénients incluent les coûts liés à la généralité, les opérations coûteuses et les coûts de preuve élevés, etc.
Six, aperçu et développement des zk-SNARKs sur la machine virtuelle Ethereum
) 1. Le fonctionnement de ZKEVM
ZKEVM convertit l'ensemble d'instructions EVM pour être exécuté dans le système ZK, chaque instruction doit fournir une preuve, y compris une preuve d'état et une preuve de correcte exécution.
2. Le processus de mise en œuvre de ZKEVM
Cela inclut des étapes telles que l'acquisition de données, le traitement des données, la génération de preuves, la preuve récursive et la soumission de preuves.
3. Les caractéristiques de ZKEVM
Les principales caractéristiques incluent l'amélioration de la capacité de traitement des transactions, la protection de la vie privée et la validation efficace.
Sept, aperçu et développement des solutions de réseau de couche 2 à zk-SNARKs
1. Mécanisme de fonctionnement des ZK Rollup
ZK Rollup réduit l'utilisation des ressources de calcul en exécutant des transactions hors chaîne et en renvoyant les transactions signées finales sur la chaîne.
2. Les inconvénients et les optimisations des ZK Rollups
Les principaux inconvénients sont le coût élevé du calcul. Les solutions d'optimisation incluent l'optimisation des algorithmes de cryptographie, la combinaison des Rollups Optimistes et ZK, le développement d'un ZK EVM dédié et l'optimisation matérielle.
Huit, les directions futures du développement des zk-SNARKs
1. Accélérer le développement de l'environnement de calcul
y compris le développement de technologies telles que ZK-ASIC et ZKCoprocessor.
2. Proposition et développement du ZKML
zk-SNARKs apprentissage automatique ### ZKML ### est un domaine émergent qui applique la technologie ZKP à l'apprentissage automatique.
( 3. Développements liés à la technologie d'extension des zk-SNARKs
y compris la proposition et le développement de concepts tels que ZKThreads et ZK Sharding.
) 4. Le développement de l'interopérabilité des zk-SNARKs
y compris le développement de technologies telles que les ZK State Channels et le ZK Omnichain Interoperability Protocol.
IX. Conclusion
Cet article passe en revue de manière exhaustive l'évolution de la technologie ZKP et son application dans le domaine de la Blockchain, en explorant tous les aspects allant de la théorie de base aux applications pratiques. En analysant les dernières technologies et tendances de développement, cet article montre le potentiel énorme du ZKP pour améliorer l'efficacité et la sécurité des systèmes Blockchain, fournissant une perspective systématique pour comprendre et appliquer la technologie ZKP.
Voici un commentaire :
zk devient de plus en plus intense, ce n'est pas encore suffisant~