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

  1. Aperçu
  2. Exemple de preuve à divulgation nulle de connaissance

Deux, preuve à divulgation nulle de connaissance non interactive

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

Trois, preuve à connaissance nulle basée sur le circuit

  1. Contexte
  2. Concepts et caractéristiques de base du modèle de circuit
  3. Conception et application des circuits dans les preuves à divulgation nulle de connaissance
  4. Défauts et défis potentiels

Quatre, modèle de preuve à divulgation nulle de connaissance

  1. Contexte
  2. Modèles d'algorithmes courants
  3. Solutions basées sur le problème PCP linéaire et le problème du logarithme discret
  4. Un plan basé sur la preuve des gens ordinaires
  5. Preuve de connaissance zéro vérifiable par probabilité
  6. Classification des phases de configuration basée sur le CPC

Cinq, aperçu et développement de la machine virtuelle à connaissance nulle

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

VI. Aperçu et développement de la machine virtuelle Ethereum à connaissance nulle

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

VII. Vue d'ensemble et développement des solutions de réseau de deuxième couche à connaissance nulle

  1. Contexte
  2. Le mécanisme de fonctionnement de ZK Rollup
  3. Inconvénients et optimisations des ZK Rollups

Huit, les directions futures du développement des preuves à connaissance nulle.

  1. Accélérer le développement de l'environnement de calcul
  2. Proposition et développement de ZKML
  3. Développement des technologies d'extension ZKP
  4. 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 :

  1. Complétude : Si l'argument est vrai, 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 probabilité négligeable.

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

  1. Circuits arithmétiques : composés principalement de portes d'addition et de multiplication, utilisés pour traiter des éléments sur un corps fini.
  2. 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 :

  1. Représentation du problème : convertir le problème à prouver en forme de circuit.
  2. Optimisation du circuit : optimiser la conception du circuit par des moyens techniques tels que la fusion de portes et le repliement de constantes.
  3. Conversion en représentation polynomiale : Convertir le circuit optimisé en forme polynomiale.
  4. 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.
  5. 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 :

  1. 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.
  2. Difficulté d'optimisation : concevoir et optimiser des circuits efficaces nécessite une expertise technique approfondie.
  3. 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.
  4. 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.
  5. 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

  1. Modèle zkSNARK : proposé par Bitansky et al., abréviation de "preuve de connaissance non interactive et succincte à divulgation nulle".

  2. Le modèle de Ben-Sasson : un nouveau modèle zkSNARK pour l'exécution de programmes sur l'architecture RISC de von Neumann.

  3. Modèle Pinocchio : un ensemble complet de génération de preuves à connaissance nulle non interactive, comprenant un compilateur avancé.

  4. 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.

  5. 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.

ZK-2.36%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • 7
  • Partager
Commentaire
0/400
GasFeeCryervip
· 07-19 22:14
le gas s'envoler vers le ciel
Voir l'originalRépondre0
WalletWhisperervip
· 07-19 20:44
La vie privée, c'est la force.
Voir l'originalRépondre0
GigaBrainAnonvip
· 07-19 17:04
ZK est en effet le remède du futur.
Voir l'originalRépondre0
MrDecodervip
· 07-18 05:36
L'avenir de ZK est prometteur.
Voir l'originalRépondre0
BlockchainGrillervip
· 07-18 05:35
Communauté vieux cuisinier
Voir l'originalRépondre0
Deconstructionistvip
· 07-18 05:22
C'est trop fondamental, j'en ai marre.
Voir l'originalRépondre0
NFTDreamervip
· 07-18 05:21
Consortium Blockchain aussi doit être mentionné
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)