paint-brush
Échangez-le comme s'il faisait chaud : un examen des projets ZK populaires et de la technologie Zero-Knowledge Proofpar@sin7y
2,206 lectures
2,206 lectures

Échangez-le comme s'il faisait chaud : un examen des projets ZK populaires et de la technologie Zero-Knowledge Proof

par Sin7Y2022/05/05
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

La confidentialité a toujours été considérée comme l'une des caractéristiques les plus précieuses de la communauté des crypto-monnaies, car la plupart des détenteurs de crypto-actifs ne veulent pas que leurs actifs et leurs enregistrements de transaction soient entièrement divulgués. Parmi les différentes technologies de cryptage qui assurent la confidentialité, la Zero-Knowledge Proof est l'une des technologies les plus importantes. Plutôt que de parler de connaissances professionnelles en cryptographie, nous expliquerons la théorie de la Zero-Knowledge Proof, qui peut aider les lecteurs à revoir grossièrement le système Zero-Knowledge Proof et son état de développement actuel. 1 Développement de la technologie Zero-Knowledge Proof 1.1 Concept de la preuve de connaissance zéro Zero-Knowledge Proof (ZKP) est une partie importante de la cryptographie moderne. Elle fait référence à la capacité du démonstrateur à convaincre le vérificateur qu'une hypothèse est correcte sans fournir aucune information utile à ce dernier. Le Zero-Knowledge Proof est essentiellement un protocole impliquant deux parties ou plus, qui est une série d'étapes que deux parties ou plus doivent suivre pour accomplir une tâche.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Échangez-le comme s'il faisait chaud : un examen des projets ZK populaires et de la technologie Zero-Knowledge Proof
Sin7Y HackerNoon profile picture


La confidentialité a toujours été considérée comme l'une des caractéristiques les plus précieuses de la communauté des crypto-monnaies, car la plupart des détenteurs de crypto-actifs ne veulent pas que leurs actifs et leurs enregistrements de transactions soient entièrement divulgués.


Parmi les différentes technologies de cryptage qui assurent la confidentialité, la Zero-Knowledge Proof est l'une des technologies les plus importantes.


Plutôt que de parler de connaissances professionnelles en cryptographie, nous expliquerons la théorie de la Zero-Knowledge Proof, qui peut aider les lecteurs à revoir grossièrement le système Zero-Knowledge Proof et son état de développement actuel.

1 Développement de la technologie Zero-Knowledge Proof

1.1 Concept de la preuve de connaissance zéro

Zero-Knowledge Proof (ZKP) est une partie importante de la cryptographie moderne.


Elle fait référence à la capacité du démonstrateur à convaincre le vérificateur qu'une hypothèse est correcte sans fournir aucune information utile à ce dernier.


Le Zero-Knowledge Proof est essentiellement un protocole impliquant deux parties ou plus, qui est une série d'étapes que deux parties ou plus doivent suivre pour accomplir une tâche.


Le prouveur prouve au vérificateur et fait croire au vérificateur qu'il connaît ou possède un certain message, mais aucune information sur le message prouvé ne peut être révélée au vérificateur dans le processus de preuve.


En termes simples, non seulement il prouve ce qu'il veut prouver, mais il divulgue également « zéro » information au vérificateur en même temps.


La Zero-Knowledge Proof elle-même implique un algorithme cryptographique relativement complexe. Par conséquent, pour rendre la théorie Zero-Knowledge Proof claire et conviviale pour tout le monde, nous citons un exemple de [Finding Pandas] :


Un groupe de personnes recherche le panda sur cette image, et la personne A est la première à découvrir où se trouve le panda, mais la réponse ne peut pas être disponible au public immédiatement car cela apportera de mauvaises expériences de jeu aux autres.


Existe-t-il un moyen de prouver que A sait où se trouve le panda sans que personne d'autre ne connaisse la réponse ?


Ensuite, A trouve un grand morceau de papier blanc et place au hasard le papier sur l'image du panda.


Ensuite, A coupe un petit trou dans le papier blanc pour n'exposer que le panda.


De cette façon, l'emplacement du panda est protégé en tant qu'information clé, mais A peut toujours prouver qu'il a trouvé le panda sans que les autres connaissent l'information clé. C'est la preuve de la connaissance zéro.


La méthode de vérification du Zero-Knowledge Proof met l'accent sur l'exhaustivité et la fiabilité.


Le principe de complétude signifie que le démonstrateur peut persuader le démonstrateur d'accepter une déclaration correcte ; le principe de fiabilité signifie que le démonstrateur ne peut pas persuader le vérificateur d'accepter une déclaration erronée.


Mais en fait, la fiabilité est encore probabiliste. Nous pouvons simplement dire que la probabilité que le prouveur triche est extrêmement faible.


Parce que la crédibilité de la preuve Zero-Knowledge dépend de deux facteurs : l'un est la difficulté de la preuve et l'autre le degré d'interaction.


La difficulté de la preuve est de rendre la preuve plus difficile mathématiquement directement ; le degré d'interaction signifie que le vérificateur doit constamment poser des questions au démonstrateur, puis le démonstrateur prouve qu'il est plus difficile pour le démonstrateur de tromper le vérificateur à mesure que le nombre de leurs interactions augmente car la probabilité que le démonstrateur fournisse la preuve correcte sans connaître les informations correctes diminue statistiquement.

1.2 Évolution de la théorie de la preuve à connaissance nulle

Le concept de Zero-Knowledge Proof a été proposé à l'origine par S. Goldwasser, S. Micali et C. Rackoff en 1985. Il a introduit "l'interaction" et le "randomness" dans son article et a ainsi construit un premier système de preuve interactif.


La preuve interactive demande au vérificateur de poser en permanence une série de questions sur les « connaissances » qu'il possède.


En répondant à une série de questions, le démonstrateur convainc le vérificateur qu'il connaît bien la « connaissance ».


Plus il y a de questions créées, plus il y a d'interactions. Cependant, une telle méthode ne peut pas convaincre les gens que le prouveur et le vérificateur sont sincères car les deux peuvent entrer en collision à l'avance afin que le prouveur puisse toujours être vérifié sans connaître la réponse.


Au cours des dix années suivantes, de nombreux cryptographes légendaires ont apporté d'importantes contributions au développement des systèmes Zero-Knowledge Proof.


Par exemple, M. Blum, P. Feldman et S. Micali ont souligné que « l'interaction » et « l'aléatoire caché » ne sont pas nécessaires, puis ils ont proposé un [Système de preuve non interactif à connaissance nulle] basé sur une référence commune. Modèle CRS (Common Reference String).


La preuve non interactive signifie que le prouveur n'a pas besoin d'interagir avec le vérificateur, qu'un ensemble de références communes doit être défini à l'avance dans le système et que la transaction est construite et vérifiée avec les références communes de la preuve Zero-Knowledge.


C'est-à-dire que le prouveur peut générer la preuve de manière indépendante, évitant ainsi la possibilité d'une collusion entre le prouveur et le vérificateur.


En 2010, Jens Groth a proposé la connaissance de l'hypothèse de l'exposant, qui était controversée à l'époque. Il a raccourci la longueur de la preuve à un niveau constant en cachant certaines valeurs aléatoires secrètes dans CRS.


Ce processus peut être compris car il a créé un secret que seul le système "connaît", et quiconque sait générer cette référence commune peut en forger la preuve. Ce processus est [Initialiser les paramètres de confiance].


Cette solution, tout en réduisant drastiquement la longueur de la preuve, introduit également des risques de sécurité puisque quiconque sait générer cette référence commune peut falsifier la preuve.


Cependant, cette solution a établi la branche la plus importante de la technologie Zero-Knowledge Proof au cours de la prochaine décennie. Avec le développement continu de la théorie Zero-Knowledge Proof, les cryptographes ont commencé à mener des recherches approfondies dans le sens de l'ingénierie.


En 2013, Rosario Gennaro, Craig Gentry et d'autres ont créé une solution d'amélioration plus optimisée basée sur le travail de Jens Groth en 2010, qui a considérablement raccourci le temps de preuve et réduit la longueur de preuve à une constante plus petite.


Par la suite, Parno et d'autres ont mis en place un protocole informatique vérifiable appelé Pinocchio sur cette base et ont continué à l'optimiser et à l'améliorer.


En 2014, la crypto-monnaie privée ZeroCash est sortie. Eli Ben-Sasson, Alessandro Chiesa et d'autres ont légèrement amélioré le protocole Pinocchio, qui a été la première implémentation réussie de la technologie Zero-Knowledge Proof dans le domaine de la blockchain.


ZeroCash est le prédécesseur de Zcash, et l'équipe Zcash a également apporté de grandes contributions à l'ingénierie Zero-Knowledge Proof.

1.3 État de développement de la preuve à connaissance nulle

La combinaison de la technologie Zero-Knowledge Proof et de Zcash a attiré l'attention sur son rôle important dans le domaine de la blockchain, et c'est également une pratique importante pour la technologie Zero-Knowledge Proof de passer de la théorie à l'application.


À l'heure actuelle, il existe principalement les solutions suivantes pour Zero-Knowledge Proof. Chaque solution représente différentes pratiques Zero-Knowledge Proof, qui produiront également des effets différents, principalement en termes de sécurité, de taille de preuve, de vitesse de calcul et de vitesse de vérification.


L'axe horizontal représente la taille de la preuve, tandis que l'axe vertical représente les hypothèses de sécurité. Parmi eux, le plus sûr est l'algorithme STARK, qui ne repose pas sur des hypothèses de difficultés mathématiques et a un caractère postquantique.


** La plus petite taille de preuve est l'algorithme Groth16 dans la solution SNARK. PLONK, également l'une des solutions SNARK, a une sécurité et une taille de preuve modérées. De nos jours, zk-STARK et zk-SNARK sont les plus largement utilisés.

1.3.1 zk-SNARK

SNARK est l'abréviation de Succinct Non-Interactive Argument of Knowledge.


**Les fonctionnalités de cette solution sont simples. C'est-à-dire que le processus de vérification n'implique pas une grande quantité de transmission de données et que l'algorithme de vérification est simple, ce qui signifie que le temps de vérification n'augmente pas de façon exponentielle avec le débit de l'opération.


Deuxièmement, la démonstration de connaissances non interactive est une information linéaire unique du démonstrateur au vérificateur, ce qui rend l'ensemble du processus de vérification plus efficace.


** Actuellement, Groth16 est le zk-SNARK avec la vitesse de vérification la plus rapide et la plus petite taille de données, et Zcash est sa première implémentation largement répandue. Groth16 est un raffinement supplémentaire du protocole Pinocchio, comprimant la taille de la preuve de près de moitié avec des hypothèses de sécurité légèrement plus fortes.


Cependant, l'un des aspects les plus controversés de la solution Groth16 est [Initialize Trusted Settings], car les valeurs aléatoires cachées dans CRS sont généralement déterminées par un petit groupe, il peut donc y avoir des problèmes de confiance.


De plus, théoriquement, si le démonstrateur a une capacité de calcul suffisante, il peut soumettre de fausses preuves, affectant ainsi la sécurité de l'ensemble du système. C'est pourquoi les ordinateurs quantiques sont considérés comme une menace pour ces algorithmes.


Par conséquent, [Initialize Trusted Settings] est également le problème central que les autres technologies Zero-Knowledge Proof tentent de surmonter. L'algorithme PLONK est également un raffinement ciblant un paramètre de confiance, et nous discuterons plus en détail de la différence entre Groth16 et PLONK plus tard.


Pour résoudre ce problème, les cryptographes de Stanford Benedikt Bünz et d'autres ont proposé la technologie Bulletproof. Par rapport à l'ancien zk-SNARK, il n'est pas nécessaire d'initialiser les paramètres de confiance pour Bulletproof, mais le calcul et la vérification prennent plus de temps que STARK avec une taille de preuve beaucoup plus petite. Une fois proposée, cette solution a été adoptée par le projet Monero.

1.3.2 zk-STARK

STARK est l'abréviation de Scalable Transparent Argument of Knowledge. Il a été établi comme une version de remplacement de SNARK. À la différence du "Succinct" de SNARK, STARK est "Scalable" ici, ce qui suggère principalement que la complexité du temps de génération de preuve de STARK est proche de la complexité de calcul, tandis que la complexité du temps de vérification de la preuve est beaucoup plus petite que cela. C'est-à-dire qu'avec l'amélioration de l'évolutivité de STARK, la complexité de la preuve de STARK est maintenue.


Plus important encore, STARK n'a pas besoin d'initialiser les paramètres de confiance car il s'appuie sur un cryptage symétrique plus rationalisé via les collisions de fonctions de hachage, qui peuvent être considérées comme la partie [Transparente] de STARK.


Le troisième raffinement de STARK par rapport à SANRK est l'informatique post-quantique, ce qui signifie qu'il ne peut pas être fissuré par l'informatique quantique. Bien sûr, les raffinements s'accompagnent toujours de sacrifices.


STARK est plus complexe que SNARK, augmentant la taille de la preuve de 288 octets à plusieurs centaines de Ko et consommant des frais de vérification plus élevés sur l'Ethereum.


1.3.3 Solution Zero-Knowledge Proof de Trusted Setting

Bien que le système Zero-Knowledge Proof basé sur des paramètres de confiance ait besoin de générer des références communes, il a prouvé ses avantages en termes de coût de calcul et de taille de preuve, ce qui peut expliquer qu'il reste la première option pour de nombreuses applications blockchain axées sur la confidentialité.


La sécurité d'un système de confiance Zero-Knowledge Proof peut être largement attribuée à la sécurité de la génération de références communes. Il est possible de réaliser une génération de centralisation de manière fiable tout en étant incompatible avec l'objectif de décentralisation.


De loin, la priorité utilisée dans les paramètres de confiance est le calcul multipartite sécurisé (MPC).


La solution MPC tente de garantir qu'aucune partie ne puisse générer ou acquérir des connaissances sur la structure mathématique sous-jacente de ces paramètres.


Il réalise cela en exigeant que le processus de génération soit partagé entre autant de participants indépendants que possible, avec seulement quelques-uns (ou même un) tenus d'agir honnêtement pour s'assurer que le cadre est sécurisé. Lors de l'utilisation de MPC, plus il y a de participants, plus la sécurité est grande .


Zk-SNARK est une solution Zero-Knowledge Proof pour les paramètres de confiance, mais différents algorithmes y ont évolué. Groth16 et PLONK sont les paramètres de confiance Zero-Knowledge Proof les plus largement utilisés. La différence entre eux réside dans :


Groth16 a la vitesse de vérification la plus rapide et la plus petite taille de données , mais comme les calculs secrets de Groth16 sont associés à des problèmes spécifiques, il est nécessaire de réinitialiser les paramètres de confiance MPC en fonction d'un problème différent à chaque fois.


Les protocoles informatiques nécessitant plusieurs participants sont souvent encombrants, ce qui peut affecter les performances de Groth16.


PLONK est une version raffinée de Sonic avec un temps de preuve cinq fois plus rapide. Sonic est une solution CRS globale pouvant être mise à jour. « Mise à jour » signifie ici que les paramètres de confiance peuvent être mis à jour à tout moment tant qu'un secret est suspecté d'avoir été compromis.


Et "Global" signifie ici que le processus de calcul n'est plus lié au CRS, et qu'une application n'a qu'à compléter le préréglage de confiance pour réaliser différents calculs de circuit Zero-Knowledge Proof.


Autrement dit, le paramètre de confiance n'a besoin d'être défini qu'une seule fois, au lieu d'avoir à maintenir un nouveau MPC à chaque fois pour différents problèmes, à l'exception des mises à jour. Vous trouverez ci-dessous une comparaison des performances de Groth16 et PLONK :


L'algorithme PLONK est une collaboration entre Gabizon, un chercheur de Protocol Labs, et deux chercheurs d'Aztec Protocol, un protocole de transaction privé pour Ethereum.


Proposé plus tard que Groth16, PLONK prend du retard en termes de taille de preuve et de vitesse de vérification. Cependant, l'algorithme PLONK occupe une place dans le domaine du Zero-Knowledge Proof basé sur la fonctionnalité d'un paramètre de confiance pouvant être mis à jour.

2 Application de la technologie Zero-Knowledge Proof

Deux caractéristiques importantes de la technologie Zero-Knowledge Proof sont les principaux facteurs de son application dans le domaine de la blockchain :


  1. Zero-Knowledge Proof peut protéger la confidentialité des données et le prouver sans fuite d'informations sur les données.


  2. Zero-Knowledge Proof ne peut prouver une grande quantité de données qu'en générant une petite quantité de preuves, ce qui peut jouer un rôle important dans la compression de la quantité de données et l'amélioration des performances.


Par conséquent, les deux directions de la preuve Zero-Knowledge sont :


2.1 Protection de la vie privée

La protection de la vie privée a toujours été un concept extrêmement important dans la blockchain, représentant la capacité de protéger les transactions et les participants dans un réseau distribué.


Bien que la blockchain ait toujours prôné l'anonymat, les participants n'ont pas besoin d'utiliser leur vrai nom dans la plupart des transactions, alors qu'ils peuvent toujours utiliser à plusieurs reprises les valeurs de hachage de clé publique comme identifiants de transaction pour identifier les commerçants.


Par conséquent, ces transactions n'ont que des pseudonymes au lieu de réaliser un véritable anonymat. Par défaut, chaque transaction d'un utilisateur est publique, et une fois l'adresse d'un utilisateur verrouillée, elle peut être utilisée pour examiner la source des fonds, calculer les positions de détention et même analyser les activités en chaîne de l'utilisateur.


La technologie Zero-Knowledge Proof peut confirmer la validité de la transaction en soumettant la preuve sans divulguer aucune information et en réalisant l'anonymat total des informations de transaction.


Au cours de la période de développement mettant l'accent sur le cryptage des problèmes de confidentialité, de nombreux développeurs se sont consacrés à l'exploration de la chaîne publique de confidentialité. La protection de la vie privée et la capacité de compression des données de la Zero-Knowledge Proof sont les principales raisons de devenir une technologie de composant de chaîne publique.


Pendant ce temps, des projets tels que Zcash et Monero ont donné des résultats exceptionnellement brillants.

Prenant Zcash comme exemple, Zcash a d'abord adopté le protocole Pinocchio et est passé au système de preuve Groth16 en 2019.


L'adresse du portefeuille Zcash est divisée en adresse cachée et en adresse transparente. Les transactions entre adresses transparentes ne sont pas différentes des transactions Bitcoin (BTC) : l'expéditeur, le destinataire et le montant de la transaction sont visibles publiquement ; Les transactions entre adresses cachées apparaîtront également sur la blockchain publique, mais l'adresse, le montant des fonds et les champs de remarque de la transaction sont cryptés, et zk-SNARK prouvera l'efficacité de la transaction selon les règles de consensus du réseau ; De plus, des transactions peuvent également être effectuées entre des adresses cachées et des adresses transparentes.


Zcash est convivial pour l'audit et la supervision tout en protégeant la confidentialité des transactions. L'expéditeur et le destinataire des transactions d'adresse cachée peuvent divulguer les détails de la transaction à des tiers pour répondre aux besoins des témoins, de la conformité ou de l'audit.

2.2 Évolutivité

"Impossible Triangle" est un problème éternel auquel sont confrontées les blockchains L1 telles que l'Ethereum. Différentes chaînes trouvent toujours un équilibre entre décentralisation, sécurité et évolutivité.


Ethereum se concentre davantage sur la décentralisation et la sécurité, il doit donc faire face à la limitation de l'évolutivité. Les frais d'essence élevés et le long délai de confirmation des transactions sur Ethereum ont grandement affecté l'expérience des utilisateurs.


Par conséquent, son équipe de développement principale et sa communauté ont exploré diverses solutions d'évolutivité.


Il existe deux façons de faire évoluer la blockchain :


  1. Pour mettre à l'échelle la blockchain L1 elle-même, les méthodes incluent l'augmentation de la taille des blocs ou le sharding. Autrement dit, les nœuds du réseau blockchain sont divisés en plusieurs fragments relativement indépendants.


    L'échelle de traitement d'un seul fragment est petite, et même une partie seulement de l'état du réseau est stockée. Mais, en théorie, le débit de l'ensemble du réseau sera amélioré si plusieurs fragments traitent les transactions en parallèle. Cependant, une telle approche conduira au sacrifice de la décentralisation ;


  2. Transférez les transactions sur le réseau L1 vers le L2, qui collecte les transactions puis les envoie au réseau L1 pour règlement. De cette façon, chaque lot de transactions paie des frais de gaz au lieu de payer des frais de gaz pour chaque transaction.


    Par conséquent, toutes les transactions partagent les frais de gaz à parts égales, ce qui réduit efficacement le coût de chaque transaction. De cette manière, L1 devient la couche de règlement pour toutes les transactions exécutées sur L2. La solution de mise à l'échelle L2 peut résoudre le problème d'évolutivité de L1 sans sacrifier la décentralisation et la sécurité.


Bien sûr, la solution de mise à l'échelle L2 a également connu l'évolution du canal d'état vers Plasma puis vers Rollup. À l'heure actuelle, ** Rollup est la L2 la plus courante et la plus potentielle.


Le cumul fait référence à l'exécution d'abord d'un calcul hors chaîne complexe et d'une maintenance d'état, puis à la sauvegarde en chaîne des données liées à un changement d'état dans la manière de l'appeler par contrat en utilisant le CALLDATA moins cher, par lequel résumer et emballer un grand nombre des transactions en une seule transaction, et enfin l'amélioration du TPS sur la prémisse d'assurer [la disponibilité des données].


Le point commun des solutions Rollup est de privilégier la disponibilité des données sur la chaîne. C'est-à-dire que n'importe qui peut restaurer l'état global en fonction des données enregistrées sur la chaîne, de manière à éliminer le risque de sécurité causé par le problème de disponibilité des données.


Outre la compression de la quantité de calcul sur la chaîne, l'un des aspects dans lesquels Zero-Knowledge Proof joue un rôle consiste à garantir l'exactitude des données.


La solution ZK Rollup est née au second semestre 2018. La clé de cette solution est ZK. La preuve Zero-Knowledge doit être fournie et vérifiée par le contrat sur la chaîne principale pour chaque changement d'état de la solution ZK Rollup.


Ce n'est qu'après avoir réussi la vérification que l'état peut être modifié. Autrement dit, le changement d'état de ZK Rollup dépend strictement de la preuve cryptographique. (Remarque : pour une explication détaillée du principe ZK Rollup, reportez-vous à A Clear View on Layer and Cross-chain Methods de Li Hua)


Bien sûr, il existe d'autres solutions Rollup, telles que Optimistic Rollup, qui a été créée au second semestre 2019. Elle n'a pas besoin d'une vérification stricte pour chaque changement d'état.


Il suppose d'abord avec optimisme que chaque heure de changement est correcte, puis conteste un changement dans un certain délai. Si la modification est contestée avec succès, il sera prouvé qu'il y a un problème avec la soumission précédente, et l'auteur de la soumission sera puni et l'état sera annulé.


Autrement dit, le changement d'état du cumul optimiste dépend des incitations économiques et des jeux.


Le problème majeur de ZK Rollup est qu'il est difficile de réaliser la programmabilité, mais la machine virtuelle de ZkSync et sa conception associée peuvent rendre la programmabilité implémentée ; le problème le plus préoccupant de Optimistic Rollup semble être que lorsque les fonds reviennent de la couche 2, le retard causé par la période de contestation, mais des intermédiaires sont disponibles pour fournir des services de paiement anticipé.


Par conséquent, la mise en œuvre de la solution Optimistic Rollup est plus rapide.

La comparaison des performances entre les deux est illustrée dans la figure suivante :


Par rapport à Optimistic Rollup, la solution ZK Rollup présente une complexité technique très élevée et nécessite beaucoup de calcul. De plus, son délai de transaction deviendra plus long et le coût de calcul sera plus élevé.


Cependant, le coût de chaque transaction est inférieur et le coût de vérification est bien inférieur au coût de calcul. Une telle simplicité fournit des conditions pour la mise à l'échelle.


Selon les dernières données d'I2beat.com, l'échelle des actifs verrouillés par la solution Layer 2 est d'environ 6,7 milliards de dollars. Parmi eux, la solution de mise à l'échelle de la couche 2 d'Optimistic Rollup a été proposée par Arbitrum et Optimism et a été introduite pour la première fois sur le marché.


À l'heure actuelle, il représente la moitié de la solution Layer 2. L'échelle d'actifs verrouillée par la solution Zero-Knowledge Proof n'est que d'environ 1,7 milliard de dollars américains car elle présente une plus grande difficulté de mise en œuvre technique et la construction d'applications écologiques de celle-ci n'a pas été mise en œuvre.


Projets 3 étoiles de la solution Zero-Knowledge Proof

Dans les premiers projets Zero-Knowledge Proof, bien que Zcash et Monero aient fait du bon travail en matière de protection de la vie privée, ils ne peuvent être utilisés que comme moyen de stockage de valeur et sont difficiles à coopérer avec d'autres applications.


Avec les efforts de nombreux développeurs, ils essaient de combiner Zero-Knowledge Proof avec des contrats intelligents pour explorer le plus grand potentiel de la technologie Zero-Knowledge Proof.


Les applications actuelles peuvent être grossièrement réparties dans les trois catégories suivantes. Dans cette section, nous présenterons quelques projets Zero-Knowledge Proof très prometteurs, dont la plupart n'ont pas encore émis de jetons.


3.1 Mine

Autrefois avec un nom appelé Coda Protocol, le Mina a été fondé en 2017. Son équipe de développement est O (1) Labs, qui est maintenant composée de cryptographes, d'ingénieurs, de docteurs et d'entrepreneurs de classe mondiale.


Mina se concentre sur la construction d'une blockchain légère. Par rapport à Ethereum et Bitcoin (BTC), qui contiennent souvent des centaines de Go d'espace de bloc, la taille de bloc de Mina sera maintenue à 22 Ko, ce qui peut permettre à la plupart des gens de participer et peut être disponible pour devenir des nœuds.


Le déploiement de nœuds à seuil bas permet d'atteindre plus facilement tous les types d'utilisateurs. Les utilisateurs sont faciles d'accès aux nœuds et aux nœuds de déploiement, ce qui rendra également le réseau plus distribué et améliorera la sécurité en conséquence.


Le cœur de la capacité de Mina à atteindre une taille de bloc constante est l'utilisation de [Recursive Zero-Knowledge Proof], c'est-à-dire qu'à chaque génération de bloc, le bloc est compressé en une seule preuve à l'aide de la technologie zk-SNARK, et chaque nouvelle preuve SNARK contient la preuve SNARK passée.


Le nœud n'a besoin que de vérifier la preuve, il n'a donc pas besoin de détecter tout l'historique des transactions.


Mais ce n'est que la première étape. Une caractéristique de la blockchain est que chaque bloc doit se référer au bloc précédent car si seule une preuve SNARK est générée pour chaque bloc, sa capacité globale augmentera de manière linéaire.


Par conséquent, Mina créera SNARK (c'est-à-dire la récursivité) pour SNARK, puis les itérera et les imbriquera en continu. Ces preuves SNARK sont liées entre elles dans une structure récursive pour maintenir une taille constante d'environ 22 Ko.


De plus, Mina a mis en place un écosystème pour protéger la confidentialité des données basé sur Zero-Knowledge Proof. Son application écologique Snapps (rebaptisée zkApps actuellement), peut implémenter une logique métier spécifique pour certains scénarios.


Il peut également coopérer avec d'autres chaînes publiques via un pont de transfert, améliorant l'interopérabilité et rendant l'ensemble de l'écosystème de la blockchain mutuellement bénéfique et gagnant-gagnant. De plus, il comporte des nœuds légers, qui ne sont actuellement développés dans ce domaine que par Mina.


Contexte de financement :


En mars 2022, Mina a annoncé avoir conclu un tour de financement stratégique de 92 millions de dollars américains mené par FTX Venture (LD Venture Capital) et Three Arrows Capital.


Le capital sera utilisé pour accélérer l'application de Mina en tant que principale plate-forme Zero-Knowledge Proof au sein de Web3 en attirant des développeurs de classe mondiale.


Auparavant, Mina avait effectué un financement pour quatre tours, d'un montant d'environ 48,15 millions de dollars américains, et dans ces financements, les investisseurs comprenaient des institutions de premier plan telles que Coinbase Ventures, Polychain Capital, Three Arrows Capital, Paradigm et Multicoin. Les institutions d'investissement de premier ordre se préoccupent davantage de la valeur à long terme, et la plupart d'entre elles possèdent leurs utilisateurs et leurs fans, c'est-à-dire leur trafic IP, ce qui est très bénéfique pour l'extension active de Mina sur le futur marché.

3.2 ZkSync

Le projet zkSync, mis en place par l'équipe Matter Labs fondée en décembre 2019, vise à faire évoluer Ethereum. zkSync 1.0 est une solution de mise à l'échelle L2 ZK Rollup (Zero-Knowledge Proof) sur Ethereum, principalement axée sur les paiements, et lancée sur le réseau principal Ethereum en juin 2020.


L'algorithme SNARK utilisé par zkSync au début est Groth 16, avec lequel non seulement un paramètre de confiance est requis (comme au début de la création de zkSync), mais chaque nouvelle mise à niveau d'application sur zkSync nécessite un paramètre de confiance.


Cela crée également des obstacles pour que zkSync 1.0 crée un environnement compatible EVM, donc zkSync 1.0 est limité à des applications spécifiques, telles que les applications de paiement.


zkSync 2.0 est une solution L2 compatible EVM établie sur Ethereum, également connue sous le nom de zkEVM. Il recompile le code EVM et utilise Zero-Knowledge Proof pour vérifier les transactions Rollup, permettant aux développeurs d'établir et de déployer des applications décentralisées dans l'environnement L2 avec une faible consommation d'énergie et une grande évolutivité.


En mai 2021, zkSync a publié la version Alpha de zkEVM, en s'attendant à ce que le lancement principal du réseau puisse être achevé en août 2021. Cependant, le lancement a été retardé en raison de difficultés techniques. En février 2022, le réseau de test public zkSync 2.0 a été lancé. zkEVM, le premier ZK Rollup compatible EVM sur le réseau de test Ethereum, a été publié.


Contexte de financement :


En mars 2021, Matter Labs a réalisé un financement A de 6 millions de dollars américains dirigé par Union Square Ventures, avec d'autres participations bien connues de Placeholder et Dragonfly.


Ce qui est encore plus remarquable dans ce tour de financement, c'est l'introduction d'un grand nombre de partenaires écologiques, dont certaines des entreprises et des fondateurs les plus connus dans le domaine de la crypto-monnaie.


En novembre 2021, Matter Labs a réalisé une autre ronde de financement B de 50 millions de dollars américains dirigée par A16Z, avec une autre participation stratégique de nombreux échanges centralisés (Blockchain.com, Crypto.com, ByBit et OKEx).


Peu de temps après l'annonce du financement, ces échanges ont annoncé leur coopération avec zkSync, prenant en charge le dépôt/retrait entre chaque échange et L2.

3.3 Starkware

L'équipe StarkWare a été fondée en mai 2018, dont les membres sont des cryptographes et des scientifiques de classe mondiale. Le membre principal de l'équipe est l'ancien scientifique en chef de Zcash, qui a été un pionnier et a innové dans le domaine de la connaissance zéro au fil des ans.


C'est cette équipe qui a présenté la technologie zk-STARK dans un article académique en 2018. Et puis, l'auteur de l'article a créé StarkWare.


StarkWare, comme zkSync, a également utilisé la solution de mise à l'échelle Zero-Knowledge Proof, tandis que StarkWare est basé sur STARK. Il y a un problème que la technologie de STARK n'est pas aussi mature que celle de SNARK, et si elle est terminée Turing, il sera difficile d'être compatible avec EVM.


StarkWare a créé un langage de programmation spécifique, Cairo, pour exécuter des programmes autonomes pris en charge par STARK, et l'équipe StarkWare crée maintenant un transcodeur Warp, en collaboration avec l'équipe Nethermind, qui convertira de manière transparente les contrats intelligents Solidity en Cairo pour le rendre compatible avec EVM .


StarkWare a lancé StarEx, permettant la création de ZK Rollups spécifiques à l'application pris en charge par Cairo et STARK. Trois applications principales, dydx, Immutable et Deversifi, sont prises en charge par StarkEx. Jusqu'à présent, grâce à ces applications, StarkEx a traité plus de 5 millions de transactions, d'une valeur de plus de 250 milliards de dollars américains.


Le 29 novembre 2021, ils ont publié la version Alpha du réseau principal StarkNet. StarkNet est un réseau d'applications ZK Rollup L2 qui développe son écosystème.


Contexte de financement :


StarkWare a mené quatre tours de financement au total, et le montant est de plus de 160 millions de dollars américains, avec la participation de nombreuses institutions de premier plan, telles que Paradigm, Polychain, Sequoia Capital, IOSG, etc. L'un des anges participants est le fondateur d'Ethereum Vitalik Buterin, étant favorisé par le domaine de la crypto-monnaie.

3.4 Aztèque

L'équipe aztèque a été créée en 2018, dont les membres sont des docteurs d'universités de classe mondiale, et certains sont d'anciens chercheurs de Zcash dotés d'une forte capacité technique. L'algorithme PLONK auto-développé a été adopté par de nombreux projets dans le domaine.


Concernant le problème d'évolutivité d'Ethereum, Aztec a également utilisé la technologie ZK Rollup. De la mise en place du projet au lancement d'Aztec 2.0, l'équipe a mené des recherches approfondies sur l'algorithme PLONK.


Au cours de la période de recherche, ils ont publié des algorithmes Zero-Knowledge Proof tels que PLONKUP. Vitalik Buterin fait l'éloge de leurs excellentes capacités de recherche et développement.


Il y a deux fonctions principales du réseau aztèque. L'une est de protéger la confidentialité des interactions des utilisateurs, et l'autre est que les utilisateurs peuvent établir des applications totalement privées avec les contrats de confidentialité programmables fournis par Aztec.


Aztec 2.0 a été lancé, suivi de l'application de transfert privé zk.money, avec laquelle l'envoi et la réception de jetons sont anonymes et les transactions cryptées sont cryptées grâce à la preuve récursive Zero-Knowledge Proof.


Et par conséquent, aucune donnée de transaction ne sera rendue publique pour protéger la vie privée des utilisateurs. Cependant, actuellement, il ne peut être utilisé que par les utilisateurs pour déposer et transférer. Aztec Connect, en tant que premier pont inter-chaînes privé, est également lancé sur le réseau de test actuellement.


Le projet Aztec a été développé en trois étapes jusqu'à présent :


La première étape est Aztec 1.0, un outil de transaction privé sur Ethereum ;


La deuxième étape est Aztec 2.0, devenant la L2 privée sur l'Ethereum via zk-Rollup, apportant une confidentialité évolutive à l'Ethereum ;


Sur la base de la divulgation actuelle, la troisième étape qui approche sera Aztec 3.0, pour réaliser le contrat intelligent privé de L2 sur Ethereum via le langage de programmation de confidentialité Noir.


Cependant, le défi auquel sont confrontés la plupart des projets zk-Rollup L2 concerne les problèmes de compatibilité EVM. Le réseau aztèque n'est toujours pas compatible avec EVM, ce qui augmentera la difficulté et le coût de la construction de contrats intelligents privés pour de nombreux projets. La partie projet a également révélé que le problème sera amélioré grâce à la recherche technique.


Contexte de financement :


En novembre 2018, Aztec a réalisé un financement d'amorçage de 2,1 millions de dollars américains, dirigé par ConsenSys Labs. En décembre 2021, Aztec a conclu un financement A de 17 millions de dollars américains, dirigé par Paradigm, avec la participation d'IOSG et d'autres, dont l'investisseur providentiel Stani KulecFhov, qui est le fondateur d'Aave, un projet de prêt de premier plan.


Cette ronde de financement servira à poursuivre le développement du système ZK et l'amélioration d'Aztec Connect. Selon Aztec Connect, le pont peut économiser jusqu'à 100 fois sur les frais de gaz lors de transactions privées.

3.5 Aléo

Le projet Aleo a été officiellement créé en 2019 et ses membres sont des cryptographes, ingénieurs, concepteurs et opérateurs de classe mondiale d'entreprises telles que Google, Amazon et Facebook, ainsi que d'universités de recherche telles que UC Berkeley, Johns Hopkins, NYU, et Cornell.


Aleo a construit le système zkCloud pour protéger les identités et les transactions, et les identités protégées peuvent interagir les unes avec les autres directement (comme le transfert d'actifs) ou par programmation (via des contrats intelligents).


Dans les chaînes de blocs publiques typiques, le programme est exécuté en chaîne dans une « machine virtuelle » (VM) globale exécutée par chaque nœud du réseau. Par conséquent, chaque nœud du réseau doit recalculer (et approuver collectivement) chaque étape du programme donné, ce qui est inefficace, réduit la vitesse et augmente les coûts pour les utilisateurs.


zkCloud a résolu ces limitations en découplant l'application en cours d'exécution de la maintenance de l'état de la blockchain (on-chain + off-chain), combinée à la preuve récursive Zero-Knowledge, permettant à Aleo de mettre en œuvre une programmabilité et une confidentialité complètes, ainsi que des transactions plus élevées débit.


Aleo a construit un langage de programmation Leo, qui est plus convivial pour les développeurs d'applications Zero-Knowledge Proof, leur offrant un meilleur environnement. Leo est un langage de programmation à typage statique inspiré de Rust, spécialement conçu pour l'écriture d'applications privées.


En plus d'un environnement convivial pour les développeurs, Aleo a également lancé un plan d'incitation pour les développeurs et une incitation au réseau de test mesurée pour aider l'écosystème initial d'Aleo.


Contexte de financement :


En avril 2021, Aleo a réalisé un financement A de 28 millions de dollars américains dirigé par a16z, avec la participation de Placeholder, Galaxy Digital, Variant Capital et Coinbase Ventures.


En février 2022, Aleo a annoncé avoir finalisé un financement de 200 millions de dollars US, le plus gros montant de financement unique dans le cadre actuel de Zero-Knowledge Proof, dirigé par Kora Management LP et SoftBank Vision Fund 2, avec la participation de Tiger Global et Sea Capital. .

Sommaire

La technologie Zero-Knowledge Proof est désormais à l'avant-garde dans le domaine de la blockchain, mais elle n'a pas encore atteint un état de pleine maturité. Chaque solution présente des lacunes en termes de calcul PostQuantum et d'optimisation des performances.


De plus, la compatibilité avec EVM est également un grand défi maintenant. Cependant, la solution Zero-Knowledge Proof actuelle connaît sa période de développement rapide, et des projets comme zkSync et Starknet offrent également plus de possibilités au développement de la blockchain.

Références

  1. "Rapport de développement sur la technologie Zero-Knowledge Proof", Gyro Research Institute, Ambi Lab


  2. « Qu'est-ce que la preuve sans connaissance ? | ZK Popularization Science Series I ", passionné de ZK


  3. "[Public Due Diligence] Rapport approfondi : Mina", Entrepôt de première classe


  4. «Le développement de Layer2 et l'essor de zk-Rollup | ZK Popularization Science Series II », passionné de ZK


  5. "Une vue claire sur les méthodes de couche et de chaîne croisée", "Li Hua


  6. "[Colonne de mot de passe] Super Advanced : PLONK VS Groth16 (Volume 1)", Technologie HYPERCHAIN


Remarque : Écrit par LD Research, cet article a été traduit et copublié par Sin7Y Labs.