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

  1. Résumé
  2. Exemple de zk-SNARKs

Deux, zk-SNARKs non interactifs

  1. Contexte
  2. Proposition de NIZK
  3. Transformation Fiat-Shamir
  4. Jens Groth et ses recherches
  5. Autres recherches

Trois, preuve à savoir basée sur le circuit zk-SNARKs

  1. Contexte
  2. Concepts de base et caractéristiques du modèle de circuit
  3. Conception et application de circuits dans les zk-SNARKs
  4. Défaillances et défis potentiels

Quatre, modèle zk-SNARKs

  1. Contexte
  2. Modèles d'algorithmes courants
  3. Schéma basé sur le PCP linéaire et le problème du logarithme discret
  4. Solution basée sur la preuve des gens ordinaires
  5. Preuves vérifiables basées sur la probabilité ( PCP ) de zk-SNARKs
  6. 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.

  1. Contexte
  2. Classification actuelle du ZKVM
  3. Paradigme front-end et back-end
  4. Avantages et inconvénients du paradigme ZKVM

VI. Aperçu et développement des zk-SNARKs sur Ethereum Virtual Machine

  1. Contexte
  2. Le fonctionnement de ZKEVM
  3. Le processus de mise en œuvre de ZKEVM
  4. Caractéristiques de ZKEVM

Sept, aperçu et développement des solutions de réseau de seconde couche zk-SNARKs

  1. Contexte
  2. Le mécanisme de fonctionnement de ZK Rollup
  3. Les inconvénients et les optimisations des ZK Rollup

Huit, les directions futures de développement des zk-SNARKs.

  1. Accélérer le développement de l'environnement de calcul
  2. Proposition et développement de ZKML
  3. Développements liés à la technologie d'extension ZKP
  4. 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 :

  1. Complétude : si la preuve est vraie, un prouveur honnête peut convaincre un vérificateur honnête de ce fait.

  2. 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é.

  3. 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 :

  1. modèle zk-SNARKs
  2. Le modèle de Ben-Sasson
  3. Modèle Pinocchio
  4. Modèle Bulletproofs
  5. Modèle Ligero

3. Schéma basé sur le PCP linéaire et le problème du logarithme discret

Ces types de solutions incluent :

  1. Modèle Groth16
  2. Modèle Sonic
  3. Modèle PLONK
  4. Modèle Marlin
  5. Modèle SLONK
  6. Modèle SuperSonic

4. Solution basée sur la preuve des gens ordinaires

  1. Modèle Hyrax
  2. Modèle Libra
  3. Modèle Spartan

5. Preuve vérifiable par probabilité (PCP) des zk-SNARKs

  1. Modèle STARK
  2. Modèle Aurora
  3. Modèle Aurora Succinct
  4. 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 :

  1. ZKVM de type mainstream : comme RISCZero, PolygonMiden, zkWASM, etc.
  2. ZKVM équivalent EVM : comme le projet zkEVM.
  3. 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.

1. Contexte

ZK Rollup est un type de

Voir l'original
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.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
BearMarketSagevip
· 07-12 08:12
Avoir du snark c'est le meilleur bull.
Voir l'originalRépondre0
RektRecordervip
· 07-12 08:12
Que pensez-vous d'un zkvm qui redémarre ?
Voir l'originalRépondre0
GasFeeCryvip
· 07-12 08:09
zksnark YYDS voir le message rapport cher
Voir l'originalRépondre0
UnluckyValidatorvip
· 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-3824aa38vip
· 07-12 07:57
Ce n'est rien d'autre que l'emballage de code et de matériel.
Voir l'originalRépondre0
SignatureDeniedvip
· 07-12 07:51
zk peut résoudre le plus grand point de douleur actuel
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)