Analyse des applications et des perspectives de développement de la technologie zk-SNARKs dans le domaine du Blockchain.

Application et développement de la technologie zk-SNARKs dans le domaine du Blockchain

Résumé

Les zk-SNARKs ( ZKP ) en tant qu'innovation importante dans le domaine de la Blockchain ont suscité un large intérêt ces dernières années. Cet article passe en revue de manière systématique l'évolution de la technologie ZKP au cours des quarante dernières années, en analysant en détail ses applications récentes dans le domaine de la Blockchain.

Tout d'abord, les concepts de base et le contexte historique des ZKP sont présentés. Ensuite, l'accent est mis sur la technologie ZKP basée sur les circuits, y compris la conception et l'optimisation des solutions telles que zkSNARK, le modèle de Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, l'article présente les principes de ZKVM et ZKEVM ainsi que leurs applications dans l'amélioration de la capacité de traitement des transactions, la protection de la vie privée et l'augmentation de l'efficacité de la validation. Il décrit également en détail le mécanisme de fonctionnement et les méthodes d'optimisation de ZK Rollup en tant que solution d'extension de 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, cet article se penche sur des concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, et explore leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans le domaine de la Blockchain.

En analysant ces dernières technologies et tendances de développement, cet article fournit une perspective complète pour comprendre et appliquer la technologie ZKP, montrant son immense 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

Avant-propos
Une, connaissances de base sur les zk-SNARKs Deux, zk-SNARKs non interactifs Trois, preuves de connaissance nulle basées sur des circuits Quatre, modèle de zk-SNARKs Cinq, aperçu et développement des zk-SNARKs virtuels 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 deuxième couche zk-SNARKs Huit, les directions futures du zk-SNARKs. Neuf, conclusion Références

Introduction

Avec l'entrée d'Internet dans l'ère Web3, les applications Blockchain ( DApps ) se développent rapidement, traitant des milliards de transactions chaque jour. Les énormes quantités de données générées par ces transactions incluent souvent des informations personnelles sensibles, telles que l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes, etc. En raison de l'ouverture et de la transparence de la Blockchain, ces données sont visibles par tous, ce qui soulève divers problèmes de sécurité et de confidentialité.

Actuellement, plusieurs technologies cryptographiques peuvent relever ces défis, y compris le chiffrement homomorphe, les signatures en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Parmi elles, les zk-SNARKs (ZKP) constituent une solution plus complète. Les zk-SNARKs permettent de vérifier la validité de certaines propositions sans révéler aucune donnée intermédiaire. Grâce aux zk-SNARKs, le vérificateur peut confirmer si le prouveur possède un montant de transaction suffisant sans divulguer aucune donnée de transaction privée.

La caractéristique ZKP lui permet de jouer 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'extension du réseau. Elle est devenue non seulement un point focal de la recherche académique, mais aussi un domaine clé pour les applications industrielles et le capital-risque. De nombreux projets de réseau basés sur ZKP ont émergé, tels que ZkSync, StarkNet, Mina, Filecoin et Aleo. Avec le développement de ces projets, les innovations algorithmiques ZKP affluent, presque chaque semaine un nouvel algorithme est annoncé. De plus, le développement de matériel lié à la technologie ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP.

Ces avancées montrent que la technologie ZKP 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 Blockchain, en particulier en ce qui concerne l'amélioration de la protection de la vie privée et des capacités de traitement. Par conséquent, nous avons décidé de rassembler 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 principaux articles académiques et les documents des projets leaders liés au ZKP, fournissant ainsi une base solide pour une analyse systématique.

I. Connaissances de base sur les zk-SNARKs

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 processus de résolution des problèmes NP est complexe, mais le processus de vérification est relativement simple, ce qui le rend très adapté pour la vérification ZKP.

Goldwasser et al. ont proposé le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances divulguées par le prouveur au vérificateur. Ils ont également proposé le système de preuve interactive (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 des zk-SNARKs comprennent :

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

  2. Fiabilité : Si le prouveur ne connaît pas le contenu de l'énoncé, il ne peut tromper le vérificateur qu'avec une probabilité négligeable.

  3. Propriété de la connaissance zéro : après l'achèvement du processus de preuve, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir de contenu supplémentaire.

2. Exemples de zk-SNARKs

Pour mieux comprendre le ZKP et ses attributs, voici un exemple de vérification si le prouveur possède certaines informations privées, cet exemple se divise en trois phases : configuration, défi et réponse.

Première étape : configurer (Setup) Le prouveur crée une preuve, prouvant qu'il connaît un certain nombre secret s, mais ne montre pas directement s. Il choisit deux grands nombres premiers p et q, puis calcule n = pq. Il choisit un entier aléatoire r, calcule x = r^2 mod n et l'envoie au vérificateur.

Deuxième étape : défi (Challenge) Le validateur choisit aléatoirement un bit a(0 ou 1), et l'envoie au prouveur.

Troisième étape : réponse (Response) Selon la valeur de a, le prouveur répond :

  • Si a=0, envoyer y=r
  • Si a=1, calculez y=rs mod n et envoyez

Le validateurs vérifient si x est égal à y^2 mod n( lorsque a=0) ou y^2v mod n( lorsque a=1). Si l'égalité est vraie, le validateurs acceptent cette preuve.

Cet exemple démontre l'intégrité, la fiabilité et le caractère zéro connaissance du système ZKP. En répétant ce processus plusieurs fois, il est possible de réduire considérablement la probabilité que le prouveur réussisse la vérification simplement par chance.

Deux, zk-SNARKs non interactifs

1. Contexte

Les ZKP traditionnels sont généralement des protocoles interactifs et en ligne. Cependant, dans certaines situations, comme les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs interactions. Ainsi, le concept de preuve zéro connaissance non interactive (NIZK) est né.

2. La proposition de NIZK

En 1988, Blum, Feldman et Micali ont d'abord proposé le concept de NIZK, prouvant qu'il était possible pour le prouveur et le vérificateur de compléter le processus d'authentification sans nécessiter de multiples interactions. Le NIZK peut être divisé en trois phases : configuration, calcul et vérification.

La phase de configuration utilise une fonction de calcul pour convertir les paramètres de sécurité en connaissances publiques, généralement encodée dans une chaîne de référence commune (CRS). La phase de calcul utilise la fonction de calcul, les entrées et les clés de preuve, et produit les résultats de calcul et la preuve. La phase de vérification valide l'efficacité de la preuve à l'aide de la clé de vérification.

3.Fiat-Shamir transformation

La transformation Fiat-Shamir est une méthode pour convertir 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 la véracité de la preuve et sa difficulté à être falsifiée. Bien que ce protocole soit considéré comme sûr dans le modèle d'oracle aléatoire, il peut rencontrer des défis dans les 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é, avec d'autres chercheurs, plusieurs systèmes NIZK améliorés, tels qu'un système NIZK parfait applicable à tout langage NP, ainsi que des schémas NIZK combinés avec le chiffrement homomorphe complet, entre autres. Ces recherches ont établi une base importante pour les applications pratiques des ZKP.

5.Autres recherches

En plus des travaux de Groth, il existe plusieurs recherches importantes sur les NIZK, y compris :

  • Le schéma de cryptographie à clé publique basé sur une fonction de hachage universelle développé par Cramer et Shoup
  • Une nouvelle méthode d'amélioration de la transformation Fiat-Shamir proposée par Damgård, Fazio et Nicolosi
  • Le concept de "fiabilité de responsabilité faible" proposé par Ventre et Visconti
  • La transformation d'Unruh, en tant qu'alternative à la conversion Fiat-Shamir, offre une sécurité NIZK prouvable contre les adversaires quantiques.
  • Système de preuve de problème de décision arbitraire basé sur la technologie de recherche d'information privée par Kalai et al.

Ces recherches ont considérablement avancé le développement de la technologie NIZK, établissant une base pour son application dans des domaines tels que les transactions financières, le vote électronique et la Blockchain.

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 nécessitant une parallélisation élevée et des types de calcul spécifiques, 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 mieux adapté à certaines tâches de traitement cryptographique spécifiques.

2. Concepts et caractéristiques fondamentaux 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 les éléments sur un corps fini.
  • Circuits logiques : composés de portes logiques de base telles que portes AND, portes OR, portes NOT, utilisés pour traiter les opérations booléennes.

3. Conception et application des circuits dans les zk-SNARKs

Dans un système ZKP, le processus de conception du circuit implique d'exprimer le problème à prouver sous la forme d'un circuit. Ce processus suit généralement les étapes suivantes :

  1. Représentation du problème : transformer le problème à prouver en forme de circuit.
  2. Optimisation des circuits : optimiser la conception des circuits par des moyens techniques tels que la fusion de portes et le repliement constant.
  3. Conversion en représentation polynomiale : convertir le circuit optimisé en une forme polynomiale.
  4. Génération de la chaîne de référence publique (CRS) : au stade d'initialisation du système, générer le CRS incluant les clés de preuve et les clés de vérification.
  5. Génération et vérification de preuve : Le prouveur génère une preuve en fonction des entrées privées et du CRS, le vérificateur vérifie la validité de la preuve en fonction de la description du circuit public et du CRS.

4. Défauts et défis potentiels

Les ZKP basés sur des circuits font face à certains défis, notamment :

  • Complexité et échelle des circuits : Des calculs complexes nécessitent de vastes circuits, entraînant une augmentation significative des coûts de calcul pour la génération et la vérification des preuves.
  • Optimisation de la difficulté : concevoir et optimiser des circuits efficaces nécessite des connaissances professionnelles approfondies.
  • Adaptabilité des tâches de calcul spécifiques : différentes tâches de calcul nécessitent des conceptions de circuits différentes, ce qui rend leur généralisation difficile.
  • Difficulté de mise en œuvre des algorithmes de cryptographie : la mise en œuvre d'algorithmes cryptographiques complexes peut nécessiter un grand nombre de portes logiques.
  • Consommation de ressources : les circuits à grande échelle nécessitent beaucoup de ressources matérielles.

Pour résoudre ces défis, les chercheurs ont proposé plusieurs directions d'amélioration, telles que la technologie de compression de circuits, la conception modulaire et l'accélération matérielle.

Quatre, modèle de zk-SNARKs

1. Contexte

La généricité 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 pertinents peut être effectuée à l'aide d'outils de construction de circuits manuels ou de compilateurs automatiques.

2. Modèles d'algorithmes courants

  1. Modèle zkSNARK : proposé par Bitansky et al. en 2011, c'est un mécanisme ZKP amélioré.

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

  3. Modèle Pinocchio : un ensemble complet de génération ZKP non interactif, comprenant un compilateur avancé et des programmes arithmétiques secondaires (QAPs).

  4. Modèle Bulletproofs : pas besoin de configuration de confiance, la taille de la preuve augmente logarithmiquement avec la taille de la valeur de témoignage.

  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.

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

Ces solutions incluent les modèles Groth16, Sonic, PLONK, Marlin, SLONK et SuperSonic. Ces modèles sont basés sur des PCP linéaires et/ou des problèmes de logarithme discret, mais ne possèdent pas de sécurité contre les quantiques.

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

"Preuve de personne ordinaire" est une nouvelle méthode de ZKP proposée par Goldwasser, Kalai et Rothblum. Les modèles basés sur ce concept incluent les modèles Hyrax, Libra et Spartan.

5. Preuve vérifiable basée sur la probabilité ( PCP ) de zk-SNARKs

Ces solutions incluent le modèle STARK, le modèle Aurora, Succinct

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
  • 3
  • Partager
Commentaire
0/400
GraphGuruvip
· 08-02 06:07
Encore en train de parler de zkp
Voir l'originalRépondre0
DegenMcsleeplessvip
· 08-02 06:00
Defi vieux pigeons, gagnez de l'argent et investissez à nouveau.
Voir l'originalRépondre0
CryptoCrazyGFvip
· 08-02 05:55
C'est normal de ne pas comprendre, de toute façon, c'est très bull et c'est tout~
Voir l'originalRépondre0
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)