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 zk-SNARKs et de son application dans le domaine du Blockchain

Résumé

Les zk-SNARKs ( ZKP ) sont largement considérés comme l'une des innovations les plus importantes dans le domaine de la Blockchain, et constituent également un domaine d'intérêt majeur pour le capital-risque ces dernières années. Cet article propose une revue systématique des près de 40 ans de développement de la technologie ZKP et des recherches les plus récentes.

Tout d'abord, le concept de base et le contexte historique des ZKP sont présentés. Ensuite, une analyse approfondie de la technologie ZKP basée sur des circuits est effectuée, y compris la conception, l'application et les méthodes d'optimisation des modèles tels que zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs et Ligero. En ce qui concerne l'environnement de calcul, cet article présente ZKVM et ZKEVM, et examine comment ils améliorent la capacité de traitement des transactions, protègent la vie privée et augmentent l'efficacité de la vérification. L'article explique également le mécanisme de fonctionnement et les méthodes d'optimisation du zero-knowledge Rollup(ZK Rollup) en tant que solution d'extension Layer 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, cet article examine les 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, cet article offre une perspective complète pour comprendre et appliquer la technologie ZKP, montrant son é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 zk-SNARKs

  1. Aperçu
  2. Exemple de zk-SNARKs

Deux, zk-SNARKs non interactifs

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

Trois, preuve de connaissance nulle basée sur des circuits

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

Quatre, modèle de zk-SNARKs

  1. Contexte
  2. Modèles d'algorithmes courants
  3. Schéma basé sur les PCP linéaires et le problème du logarithme discret
  4. Schéma basé sur la preuve des gens ordinaires
  5. Preuve de connaissance nulle vérifiable par probabilité ( PCP )
  6. Classifier la phase de configuration de la construction de preuve générale CPC( )

Cinq, aperçu et développement des zk-SNARKs

  1. Contexte
  2. La classification existante de ZKVM
  3. Paradigme front-end et back-end
  4. Les avantages et inconvénients du paradigme ZKVM

VI. Aperçu et développement des zk-SNARKs sur la machine virtuelle Ethereum

  1. Contexte
  2. Le fonctionnement du 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 deuxième couche zk-SNARKs.

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

Huit, les directions futures du 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 aux technologies d'extension ZKP
  4. Le développement de l'interopérabilité des zk-SNARKs

Neuf, conclusion

Références

Avant-propos

Internet entre dans l'ère du Web3, les applications Blockchain (DApps) se développent rapidement. Ces dernières années, les plateformes Blockchain portent chaque jour des millions d'activités d'utilisateurs, traitant des milliards de transactions. Ces transactions génèrent une grande quantité de données sensibles concernant l'identité des utilisateurs, le montant des transactions, les adresses de compte et les soldes. En raison de l'ouverture et de la transparence de la Blockchain, ces données stockées sont accessibles à 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, les signatures en anneau, le calcul multipartite sécurisé et les zk-SNARKs. Le chiffrement homomorphe permet d'effectuer des opérations sans déchiffrer le texte chiffré, ce qui aide à protéger la sécurité des soldes de compte et des montants des transactions, mais ne peut pas protéger la sécurité des adresses de compte. Les signatures en anneau offrent une forme de signature numérique spéciale qui peut cacher l'identité du signataire, protégeant ainsi la sécurité des adresses de compte, mais ne peut pas protéger les soldes de compte et les montants des transactions. Le calcul multipartite sécurisé permet de répartir des tâches de calcul entre plusieurs participants sans que l'un d'eux ne connaisse les données des autres participants, protégeant efficacement la sécurité des soldes de compte et des montants des transactions, mais ne peut également pas protéger la sécurité des adresses de compte. De plus, ces technologies ne peuvent pas être utilisées pour vérifier si un prouveur dispose de montants de transaction suffisants dans un environnement de Blockchain sans divulguer le montant de la transaction, l'adresse du compte et le solde du compte.

Les zk-SNARKs sont une solution plus complète, ce protocole de vérification permet de valider la véracité de certaines propositions sans révéler aucune donnée intermédiaire. Ce protocole ne nécessite pas d'infrastructures complexes de clés publiques, et sa mise en œuvre répétée ne donne pas aux utilisateurs malveillants l'occasion d'accéder à des informations utiles supplémentaires. Grâce aux zk-SNARKs, le vérificateur peut confirmer si le prouveur dispose d'un montant de transaction suffisant sans divulguer aucune donnée de transaction privée. Le processus de vérification comprend la génération d'une preuve contenant le montant de transaction revendiqué par le prouveur, puis cette preuve est transmise au vérificateur, qui effectue des calculs prédéfinis sur la preuve et produit un résultat final, permettant ainsi de conclure si la déclaration du prouveur est acceptée. Si la déclaration du prouveur est acceptée, cela signifie qu'il dispose d'un montant de transaction suffisant. Le processus de vérification susmentionné peut être enregistré sur la Blockchain, sans aucune falsification.

Cette caractéristique du 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'extensibilité du réseau, ce qui en fait non seulement un point focal de la recherche académique, mais aussi l'une des innovations technologiques les plus importantes depuis la mise en œuvre réussie de la technologie des registres distribués, tout en étant également une piste clé pour les applications industrielles et le capital-risque.

De ce fait, 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 liées à ZKP ne cessent d'apparaître, avec des rapports indiquant qu'à peu près chaque semaine, un nouvel algorithme est lancé. De plus, le développement de matériel lié à la technologie ZKP progresse rapidement, y compris des puces spécialement optimisées pour ZKP. Par exemple, certains projets ont déjà achevé des levées de fonds à grande échelle, ces développements non seulement démontrent les progrès rapides de la technologie ZKP, mais reflètent également la transition du matériel général vers du matériel spécialisé tel que GPU, FPGA et ASIC.

Ces avancées 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 Blockchain, en particulier en ce qui concerne l'amélioration de la protection de la vie privée et de la capacité de traitement.

Ainsi, nous avons décidé de rassembler systématiquement les connaissances pertinentes sur les zk-SNARKs ( ZKP ) afin de mieux nous aider à prendre des décisions d'investissement futures. Pour ce faire, nous avons examiné de manière exhaustive les articles académiques centraux liés aux ZKP ( classés en fonction de leur pertinence et du nombre de citations ) ; en même temps, nous avons également analysé en détail les informations et les livres blancs des projets leaders dans ce domaine ( classés en fonction de leur taille de financement ). Cette collecte et analyse de données complètes ont fourni une base solide pour la rédaction de cet article.

Une, zk-SNARKs connaissances de base

1. Aperçu

En 1985, les chercheurs Goldwasser, Micali et Rackoff ont proposé pour la première fois les zk-SNARKs dans leur article "The Knowledge Complexity of Interactive Proof-Systems". Cet article est une œuvre fondatrice des zk-SNARKs, définissant de nombreux concepts qui ont influencé les recherches académiques ultérieures. Par exemple, la définition de la connaissance est "la sortie d'un calcul non réalisable", c'est-à-dire que la connaissance doit être une sortie, et c'est un calcul non réalisable, ce qui signifie qu'elle ne peut pas être une simple fonction, mais doit être une fonction complexe. Un calcul non réalisable peut généralement être compris comme un problème NP, c'est-à-dire un problème dont la solution peut être vérifiée en temps polynomial, le temps polynomial désignant le temps d'exécution de l'algorithme pouvant être exprimé par une fonction polynomiale de la taille de l'entrée. C'est un critère important pour évaluer l'efficacité et la faisabilité des algorithmes en informatique. Étant donné que le processus de résolution des problèmes NP est complexe, il est donc considéré comme un calcul non réalisable ; mais son processus de vérification est relativement simple, ce qui le rend très adapté à la vérification des zk-SNARKs.

Un exemple classique de problème NP est le problème du voyageur de commerce, où il s'agit de trouver le chemin le plus court pour visiter une série de villes et revenir au point de départ. Bien qu'il puisse être difficile de trouver le chemin le plus court, vérifier si un chemin donné est le plus court est relativement facile. En effet, la distance totale d'un chemin spécifique peut être vérifiée en temps polynomial.

Dans leur article, Goldwasser et al. introduisent le concept de "complexité de la connaissance" pour quantifier la quantité de connaissances que le prouveur divulgue au vérificateur dans un système de preuve interactif. Ils proposent également le système de preuve interactif (Interactive Proof Systems, IPS), où le prouveur (Prover) et le vérificateur (Verifier) interagissent par le biais de plusieurs tours pour prouver la véracité d'une déclaration.

En résumé, la définition des zk-SNARKs résumée par Goldwasser et al. est un type de preuve interactive spéciale, où le vérificateur n'obtient aucune information supplémentaire en dehors de la véracité de l'énoncé pendant le processus de vérification ; et trois caractéristiques fondamentales sont proposées, y compris :

  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 la déclaration, il ne peut tromper le vérificateur qu'avec une probabilité négligeable ;

  3. Caractère de zéro connaissance : une fois le processus de preuve terminé, le vérificateur ne reçoit que l'information "le prouveur possède cette connaissance", sans obtenir aucun contenu supplémentaire.

(# 2.zk-SNARKs示例

Pour mieux comprendre les zk-SNARKs et leurs propriétés, voici un exemple de vérification pour savoir 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(

À cette étape, l'objectif du prouveur est de créer une preuve qu'il connaît un certain nombre secret s, mais sans montrer directement s. Soit le nombre secret ;

Choisissez deux grands nombres premiers p et q, puis calculez leur produit. Soit le nombre premier et , calculez le résultat.

Calcul, ici, v est envoyé au vérificateur comme partie de la preuve, mais cela ne suffit pas pour permettre au vérificateur ou à tout observateur d'inférer s.

Sélectionnez un entier aléatoire r, calculez et envoyez-le au vérificateur. Cette valeur x est utilisée pour le processus de vérification ultérieur, mais ne révèle pas s. Soit un entier aléatoire, calculez le résultat obtenu.

Deuxième étape : défi )Challenge###

Le validateur choisit aléatoirement un bit a( qui peut être 0 ou 1), puis l'envoie au prouveur. Ce "défi" détermine les étapes que le prouveur doit suivre ensuite.

Troisième étape : réponse (Response)

Selon la valeur a émise par le validateurs, le prouveur répond:

Si le prouveur envoie ( ici, r est le nombre qu'il a choisi aléatoirement auparavant ).

Si, le prouveur calcule et envoie. Supposons que le vérificateur envoie un bit aléatoire, selon la valeur de a, le prouveur calcule ;

Enfin, le validateurs vérifient si g est égal à . Si l'égalité est vérifiée, le validateur accepte cette preuve. Lorsque , le validateur calcule , vérification à droite ; lorsque , le validateur calcule , vérification à droite.

Ici, nous voyons que le validateur calcule que le prouveur a réussi à passer le processus de validation, tout en ne révélant pas son numéro secret s. Ici, comme a ne peut prendre que 0 ou 1, il n'y a que deux possibilités, la probabilité que le prouveur réussisse à passer la validation par chance est ( lorsque a vaut 0. Mais le validateur défie ensuite à nouveau le prouveur, le prouveur change constamment les numéros pertinents et les soumet au validateur, et réussit toujours à passer le processus de validation, de sorte que la probabilité que le prouveur réussisse par chance à passer la validation tend infiniment vers 0), prouvant ainsi que le prouveur connaît effectivement un numéro secret s. Cet exemple prouve l'intégrité, la fiabilité et la nature sans connaissance du système de zéro connaissance.

( Deux, zk-SNARKs non interactifs

)# 1. Contexte

Les zk-SNARKs ( ZKP ) sont généralement considérés comme des formes de protocoles interactifs et en ligne dans le concept traditionnel ; par exemple, le protocole Sigma nécessite généralement de trois à cinq tours d'interaction pour compléter l'authentification. Cependant, dans des scénarios tels que les transactions instantanées ou le vote, il n'y a souvent pas d'opportunité pour plusieurs tours d'interaction, en particulier dans les applications de la technologie Blockchain, où la fonctionnalité de vérification hors ligne devient particulièrement importante.

(# 2. Proposition des NIZK

En 1988, Blum, Feldman et Micali ont d'abord proposé le concept de preuve non interactive à connaissance nulle )NIZK###, prouvant qu'il était possible pour le prouveur ###Prover( et le vérificateur )Verifier### de réaliser un processus d'authentification sans avoir besoin d'interactions multiples. Cette avancée a rendu possibles des transactions instantanées, des votes et des applications de Blockchain.

Ils proposent des zk-SNARKs non interactifs ( NIZK ).

ZK2.19%
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
  • 4
  • Partager
Commentaire
0/400
GateUser-afe07a92vip
· 08-05 10:44
Quelle technologie noire, je ne comprends pas...
Voir l'originalRépondre0
WalletDoomsDayvip
· 08-05 10:42
zkp est le remède du portefeuille
Voir l'originalRépondre0
BanklessAtHeartvip
· 08-05 10:30
La lumière de L2 est juste là dans zk
Voir l'originalRépondre0
WenAirdropvip
· 08-05 10:14
La promotion du vide est annuelle, les airdrops gratuits suscitent des soupirs.
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)