
Auteur: Lita Foundation, Traduction: Bit Chain Vision Xiaozou
« À l’avenir5Au cours de l’année, nous parlerons de l’application de protocoles de connaissances zéro comme l’application du protocole de blockchain.Le potentiel publié par les percées au cours des dernières années balayera le courant dominant du chiffrement.«
————Systèmes Espresso CSO Jill,,2021Année5lune
Depuis 2021, le modèle de certificat de connaissances zéro (ZK) est devenu un écosystème diversifié composé de primaires, de réseaux et d’applications sur plusieurs champs.Cependant, malgré le développement progressif de ZK, le lancement de Rollup axé sur ZK (comme Starknet et l’ère Zksync) a marqué les derniers progrès dans le domaine, pour les utilisateurs de ZK et l’ensemble du champ de chiffrement, la plupart du ZK est toujours un mystère.
Mais les temps changent.Nous pensons que le cryptage zéro connaissance est un outil puissant et universel qui peut être utilisé pour développer et protéger la sécurité des logiciels.Pour le dire simplement, ZK est un pont utilisé dans le chiffrement à grande échelle.Si vous citez à nouveau Jill, que ce soit web2 ou web3, tout ce qui implique une preuve de connaissances zéro (ZKP) créera une valeur énorme (y compris la valeur de base et la valeur spéculative).Les meilleurs talents dans le domaine du chiffrement tentent de mettre à jour l’itération, ce qui rend l’économie ZK faisable et prête.Même ainsi, avant que le modèle que nous envisageons ne devienne une réalité, il y en avait encore beaucoup dans l’industrie.
En comparant l’utilisation de ZK avec le bitcoin, l’une des raisons de la monnaie Internet du Bitcoin du Forum Edge Enthusiast en une raison de «l’or numérique» approuvé par BlackRock est que les développeurs et le contenu créatif communautaire ont augmenté, et la culture a été cultivée .À l’heure actuelle, ZK existe dans les bulles en bulles.Les informations sont décentralisées.Il semble que tout le monde (experts et profanes) sache quelle connaissance zéro est prouvée, mais personne ne peut décrire comment cela fonctionne réellement.
En tant que l’une des équipes qui contribuent au paradigme de la connaissance zéro, nous espérons dévoiler le mystère de notre travail et aider un plus large éventail de publics à établir une base standardisée pour le système ZK et les applications pour promouvoir l’éducation et la publicité entre les parties et les discussions concernées permet aux informations pertinentes de se propager et de se propager.
En cela, nous présenterons les connaissances de base de la preuve de la connaissance zéro et de la machine virtuelle de connaissances zéro, résumer le processus de fonctionnement de ZKVM et enfin analyser les normes d’évaluation de ZKVM.
1, Zéro preuve de connaissance des connaissances de base
Qu’est-ce que le certificat Zero-Knowledge (Zkp)?
En bref, ZKP permet à une partie (preuve de la preuve du prover) de prouver de l’autre côté (vérificateur vérificateur) qu’ils savent quelque chose, mais n’ont pas besoin de divulguer le contenu spécifique ou toute autre information du problème.Plus précisément, ZKP prouve un paragraphe de données ou de sensibilisation aux résultats du calcul sans divulguer les données ou le contenu d’entrée.Le processus de création de la certification Zero-Knowledge implique une série de modèles mathématiques et de convertir les résultats du calcul en exécution réussie du code de preuve.
Dans certains cas, la charge de travail requise pour vérifier que la preuve de la conversion algébrique multiple et de la construction cryptographique est inférieure à la charge de travail requise pour les calculs de fonctionnement.C’est cette combinaison unique de sécurité et d’évolutivité qui a fait du cryptage de connaissances zéro un outil puissant.
Zksnark: Zéro Connaissance Simplicité Démonstration des connaissances non interactives
· S’appuyer sur le processus de réglage initial (fiable ou incroyable) pour établir des paramètres de vérification
· Au moins une interaction entre la preuve requise et la vérification
· Pouvoir moins et facile à vérifier
· Rollup comme Zksync, Scroll et Linea utilisent une preuve basée sur Snark
zkstark: Expansion zéro – démonstration de connaissances transparente et transparenteSombre
· Pas besoin de faire confiance
· Créez un système vérifiable qui n’a pas besoin de faire confiance en utilisant le caractère aléatoire qui peut être vérifié publiquement, c’est-à-dire pour générer des paramètres aléatoires qui peuvent être prouvés pour prouver et vérifier, offrant ainsi une transparence élevée.
· Très évolutif, car ils peuvent générer et vérifier rapidement la preuve (pas toujours), même si le témoignage sous-jacent (données) est important.
· Aucune interaction entre la preuve et la vérification
· Le prix est que Stark générera des preuves plus importantes, ce qui est plus difficile à vérifier que Snark.
· La preuve est plus difficile à vérifier que certaines preuves Zksnark, mais elle est plus facile à vérifier par rapport aux autres preuves.
· Starknet et ZKVM (comme Lita, Risc Zero et Succincy Labs) utilisent Stark.
(Avis:Pont succinctutiliserSnow,maisSP1Basé surRigideAccord)
Il convient de noter que tous les Starks sont snark, mais tous les horrels ne sont pas austères.
2Qu’est-ce quezkvmIntersection
Virtual Machine (VM) est un programme pour l’exécution de programmes.Dans le contexte, ZKVM est un ordinateur virtuel, qui est implémenté en tant que système, circuit général ou outil qui génère une preuve de connaissance de zéro pour générer ZKVM pour tout programme ou calcul.
Le ZKVM ne nécessite pas d’apprentissage des mathématiques complexes et de la conception cryptographique et encodant ZK, afin que tout développeur puisse effectuer des programmes écrits dans leur langue préférée et générer ZKP (certificat de connaissance zéro), qui est plus facile à interagir et à interagir avec des connaissances zéro.Dans un sens large, la plupart du ZKVM signifie que la chaîne d’outils du compilateur et le système de certification qui incluent des machines virtuelles attachées au programme d’exécution, pas seulement à la machine virtuelle elle-même.Ci-dessous, nous résumons les principaux composants et fonctions de ZKVM:
>
La conception et la mise en œuvre de chaque composant sont contrôlées par le choix de la preuve de ZKVM (SNARKS ou Starks) et de l’architecture de jeu d’instructions (ISA).Traditionnellement, ISA spécifie l’ordre d’opération des capacités du CPU (type de données, registre, mémoire, etc.) et le CPU exécuté lors de l’exécution d’un programme.Dans le contexte, ISA détermine le code machine qui peut être expliqué et exécuté par VM.Choisir ISA peut générer des différences fondamentales dans l’accessoire et la disponibilité du ZKVM, et prouver la vitesse et l’efficacité du processus de traitement, et soutenir la construction de tout ZKVM.
Voici quelques exemples de ZKVM et de ses composants, pour référence uniquement.
>
Maintenant, nous nous concentrerons sur l’interaction de niveau élevé entre chaque composant afin que nous puissions fournir un cadre dans les articles suivants pour comprendre l’algèbre et le processus de cryptage et l’équilibre de conception du ZKVM.
3Abstraitzkvmprocessus
La figure ci-dessous est un organigramme ZKVM abstrait et général.
>
Le processus de ZKVM est généralement le suivant:
(1) Phase de compilation
Le compilateur compile d’abord le programme écrit par les langues traditionnelles (C, C ++, Rust, Solidity) dans un code machine.Le format du code machine est déterminé par l’ISA sélectionné.
(2.Machine virtuellescène
VM exécute le code machine et génère le suivi d’exécution, qui est une série d’étapes du programme sous-jacent.Son format est déterminé par la sélection et les contraintes polynomiales de l’algorithme.Les algorithmes communs comprennent R1CS dans GROTH16, l’algorithme plonkish dans HALO2 et AIR dans Plonky2 et Plonky3.
(3) Phase de vérification
Le rétrécteur reçoit le suivi et l’exprime comme un ensemble de polynomes restreints par un ensemble de contraintes, qui est essentiellement converti en algèbre par le fait que les faits de la cartographie mathématique sont convertis.
Les provers utilisent le schéma d’engagement polynomial (PCS) pour soumettre ces polynômes.Le plan d’engagement est un accord qui permet au rétablissement de créer certaines empreintes digitales de données, qui est appelée engagement envers X, puis utilise la promesse à X pour prouver les faits sur X sans divulguer le contenu de X.PCS est l’empreinte digitale, la version concise « pré-procédé » de la retenue calculée.Cela permet aux épreuveurs d’utiliser la valeur aléatoire proposée par la vérifiée par la personne vérifiée par la personne de vérification pour prouver les faits du calcul, et maintenant il est représenté par des équations polynomiales.
Le rétréateur exécute une interaction polynomiale Oracle Proof (PIOP) pour prouver que le polynôme soumis par la preuve représente la trajectoire d’exécution qui répond aux contraintes données.Le PIOP est un protocole de preuve interactif qui envoie un engagement au polynôme. manière.
Fiat-Shamir Inspirational Application;En cryptographie, l’inspiration FIAAT-Shamir convertit les connaissances interactives pour se prouver aux signatures numériques pour la vérification.Cette étape est cryptée pour prouver et en faire une preuve de connaissance zéro.
Le contre-préjudice doit persuader la personne de vérification et l’évaluation polynomiale prétendue être envoyée au vérification est correcte.Pour ce faire, le REPREER génère un certificat «évaluation» ou «ouvrir», qui est fourni par le Schéma d’engagement polynomial (empreinte digitale).
(4) Étape de vérification
Verifins vérifie la provenance en suivant l’accord de vérification du système de preuve, soit en utilisant des contraintes ou des promesses.Les vérifications acceptent ou rejettent les résultats en fonction de la validité de la preuve.
En bref, ZKVM a prouvé qu’il existe des entrées pour les procédures données, les résultats donnés et les conditions initiales de données, de sorte que le programme génère un résultat donné des conditions initiales données.Nous pouvons combiner cette déclaration avec le processus pour obtenir la description suivante de ZKVM.
zkvmProuver que cela prouvera que pour donnéMachine virtuelleLe programme et la sortie donnée ont des entrées, ce qui entraîne un programme donné enMachine virtuelleUne sortie donnée pendant l’exécution.
4,Évaluerzkvm
Nous évaluons quelle est la norme de ZKVM?En d’autres termes, quelles circonstances devrions-nous dire qu’un ZKVM est meilleur qu’un autre?En fait, la réponse dépend du cas d’utilisation.
Les études de marché de Lita montrent que pour la plupart des cas d’utilisation commerciale, les attributs les plus importants entre la vitesse, l’efficacité et la simplicité sont soit la vitesse, soit l’efficacité du temps central, selon l’application.Certaines applications sont sensibles au prix et espèrent optimiser le processus de preuve en faible consommation d’énergie et en faible coût pour ces applications, l’efficacité du temps du noyau peut être l’indicateur d’optimisation le plus important.D’autres applications, en particulier les applications financières ou liées aux transactions, sont très sensibles au retard et doivent optimiser la vitesse.
La plupart des performances publiques sont plus préoccupées par la vitesse.Il existe également des attributs importants qui peuvent mesurer la fiabilité du ZKVM, la plupart d’entre eux ne respectent pas les normes de production, même les entreprises à l’ancienne à la mode.
Nous suggérons que ZKVM sera évalué selon les normes suivantes, et elle est divisée en deux petites catégories:
>
Ligne de base: utilisée pour mesurerzkvmFiabilité
· Exactitude
· Sécurité
· Hypothèse de confiance
Performance: utilisé pour mesurerzkvmCapacité
· efficacité
· vitesse
· Simple
(1) Ligne de base: Exactitude, sécurité et confiance
Lors de l’évaluation du ZKVM de l’application de tâche clé, l’exactitude et la sécurité doivent être utilisées comme référence.Il y a suffisamment de raisons pour avoir confiance en l’exactitude et avoir une sécurité suffisante.De plus, pour les demandes, les hypothèses de confiance doivent être suffisamment faibles.
Sans ces attributs, le ZKVM peut être plus inutile pour les applications qu’inutile, car il peut ne pas être en mesure d’exécuter en fonction de la manière spécifiée et de faire exposer les utilisateurs à des attaques de piratage et de vulnérabilité.
Précision
· La machine virtuelle doit être calculée comme prévu
· Prouver que le système doit répondre aux attributs de sécurité qu’ils prétendent
La correction contient trois attributs majeurs:
· Stabilité: le système de preuve est réel, donc tout ce qu’il prouve est vrai.Les vérificateurs ont refusé d’accepter les preuves de fausses déclarations et n’ont accepté que les résultats de calcul des résultats du calcul réels.
· Achèvement: prouver que le système est complet et peut prouver toutes les déclarations réelles.Si le rétablissement prétend qu’il peut prouver le résultat du calcul, il doit être en mesure de générer des preuves acceptables qui vérifications.
· Proof de connaissances zéro: par rapport aux résultats lui-même, avoir une preuve ne peut pas révéler plus d’informations sur le calcul de l’entrée.
Vous pouvez avoir une intégrité sans stabilité.Et vous pouvez également avoir un son mais pas une complétude. complet.
Sécurité
· Tolérance, intégrité et certificat de connaissance zéro
En pratique, les trois attributs corrects ont des différences publiques non nulles.Cela signifie que toutes les preuves sont la probabilité statistique de correction, pas absolument la certitude.La tolérance fait référence à la probabilité de tolérance maximale d’une défaillance d’attribut.La différence de zéro gong est bien sûr idéale, mais dans la pratique, le ZKVM n’a pas atteint la différence publique zéro dans tous ces attributs.La stabilité parfaite et l’exhaustivité semblent être compatibles avec la simplicité, et il n’y a pas de méthodes connues pour obtenir une preuve de connaissance zéro parfaite.Une méthode courante de mesure de la sécurité est basée sur le bit de sécurité, où la tolérance de 1 / (2 ^ n) est appelée sécurité n bit.Plus le bit est élevé, meilleur est la sécurité.
Si un ZKVM est complètement correct, cela ne signifie pas nécessairement qu’il est fiable.La circularité signifie seulement que le ZKVM répond aux attributs de sécurité dans le cadre de la tolérance de sa revendication.Cela ne signifie pas que la tolérance est suffisamment faible pour entrer sur le marché.De plus, si ZKVM est suffisamment sûr, cela ne signifie pas qu’il est correct.Ce n’est que lorsque ZKVM est complètement correct et sûr que ZKVM peut être fiable dans la plage de tolérance revendiquée.
Hypothèse
· Supposons l’intégrité de la preuve et du vérification comme la vérification, pour tirer la conclusion de l’opération fiable ZKVM.
Lorsque ZKVM a les hypothèses de confiance, la forme des paramètres de confiance est généralement adoptée.Avant d’utiliser le système de preuve pour générer la première preuve, le processus de réglage du système de preuve ZK s’exécutera une fois pour générer des informations appelées « Données de réglage ».Pendant le processus de réglage du crédit, un ou plusieurs individus génèrent un certain hasard.
Il existe deux modèles d’hypothèses de confiance communes dans la pratique.
Les hypothèses hypothétiques de la confiance « honnête » montrent que plus de la moitié des personnes atteintes de N, plus de la moitié des gens se produisent honnêtement dans certaines interactions spécifiques avec le système.
La confiance « 1 / n » suppose que parmi un groupe de personnes atteintes de N, au moins une de ces personnes montre l’honnêteté dans certaines interactions spécifiques avec le système.
On pense généralement que dans d’autres conditions, le ZKVM, qui ne fait pas confiance aux hypothèses que ZKVM, qui doit être fiable.
(2.zkvmTrois dilemmes:zkvmVitesse moyenne, efficacité et équilibre de simplicité
>
La vitesse, l’efficacité et la simplicité sont des attributs évolutifs.Tous ces facteurs augmenteront le coût de l’utilisateur final de ZKVM.Comment les peser dans l’évaluation dépend de l’application.Généralement, la solution la plus rapide n’est pas la plus efficace ou la plus simple, et la solution la plus simple n’est pas la plus rapide ou la plus efficace, etc.Avant d’expliquer la relation entre eux, définissons chaque attribut.
vitesse
· Quelle est la vitesse de la preuve de la preuve
· Calculez au moment de l’horloge, c’est-à-dire de calculer l’heure du début à la fin
La vitesse doit être définie et mesurée en fonction du programme de test spécifique, de l’entrée et du système pour garantir que la vitesse peut être évaluée quantitativement.Cet indicateur est crucial pour les applications retardées.
efficacité
· Nos moins les ressources consommées par le rétablissement, mieux c’est.
· Il est similaire au temps de l’utilisateur, c’est-à-dire le temps de l’ordinateur passé sur le code du programme.
Les épreuveurs consomment deux ressources: le temps et l’espace du noyau.Par conséquent, l’efficacité peut être subdivisée dans l’efficacité du temps central et l’efficacité spatiale.
Efficacité du temps du cœur: le prover est multiplié par le temps moyen qui exécute tous les noyaux pour exécuter le noyau du prover.
Pour un prover de raccordement unique, la consommation de temps et la vitesse du noyau sont la même chose.Pour un prover de fonction multi-oreaux qui s’exécute dans un système multi-rages, la consommation de temps et la vitesse du noyau ne sont pas les mêmes.Si un programme utilise pleinement 5 noyau ou threads dans les 5 secondes, ce sera un temps d’utilisateur de 25 secondes et 5 secondes de l’horloge.
Efficacité de l’espace: fait référence à la capacité de stockage utilisée, comme la RAM.
Il est très intéressant d’utiliser le temps des utilisateurs comme l’énergie consommée par l’exécution de l’informatique.Avec presque tous les noyaux entièrement utilisés, la consommation d’énergie du CPU doit être relativement constante.Dans ce cas, le temps utilisateur restreint par le CPU, qui est principalement utilisé par le mode utilisateur, devrait être à peu près la proportion linéaire de la wattime (énergie) consommée par l’exécution du code.
Du point de vue de toute opération de preuve suffisante, l’économie d’énergie ou l’utilisation des ressources informatiques devrait être un problème intéressant, car le coût éprouvé de l’énergie (ou les coûts de cloud computing) est un coût d’exploitation considérable.Pour ces raisons, le temps de l’utilisateur est une mesure intéressante.Le coût à faible épreuve permet aux prestataires de services de passer les prix inférieurs aux clients sensibles au coût.
Les deux efficacité sont liées au montant des fonds utilisés dans le processus de preuve et au montant des fonds utilisés dans le processus de preuve, et le montant des fonds est lié au coût financier de la preuve.Afin de faire la définition de l’efficacité de la mesure, cette définition doit être liée à une ou plusieurs procédures de test, une ou plusieurs entrées de test de chaque programme et un ou plusieurs systèmes de test.
Simplicité
· La taille de la preuve et la complexité de la vérification
La simplicité est une combinaison de trois indicateurs différents.
· Taille prouvée: la taille physique de la preuve est généralement unie par des milliers d’octets.
· Temps de vérification de la preuve: le temps nécessaire pour vérifier la preuve.
Prouver l’espace de vérification: preuve de l’utilisation de la mémoire pendant la vérification.
La vérification est généralement une opération unique, donc dans cette situation, la vitesse et l’efficacité du temps du noyau sont généralement une chose.Comme la vitesse et l’efficacité, la définition de la concision nécessite de spécifier les procédures de test, les systèmes d’entrée de test et de test.
Après avoir défini chaque attribut de performance, nous démontrerons l’impact de l’optimisation d’un attribut plutôt que d’autres attributs.
· Vitesse: une preuve de preuve rapide provoque une plus grande preuve, mais la vitesse de vérification prouvée est plus lente.Plus des ressources sont générées, plus l’efficacité est faible.
· Simple: le prover a besoin de plus de temps pour comprimer la preuve.Mais la preuve de vérification est rapide.Plus la preuve est concise, plus les dépenses de calcul sont élevées.
· Efficacité: pour maximiser l’utilisation de l’utilisation des ressources, cela ralentira la vitesse de preuve et réduira la simplicité de la preuve.
D’une manière générale, l’optimisation signifie que d’un autre côté, il n’est pas optimisé, donc une analyse multidimensionnelle est nécessaire pour sélectionner la meilleure solution sur la base des cas.
Une bonne façon de peser ces attributs dans l’évaluation peut être de définir un degré acceptable pour chaque attribut, puis de déterminer quels attributs sont les plus importants.L’attribut le plus important doit être optimisé, tout en maintenant un bon niveau sur tous les autres attributs.
Ci-dessous, nous résumons les différents attributs et ses considérations clés:
>