Tout d'abord, précisons que tout fait ou action peut être prouvé sans aucune connaissance. Ce concept a été développé dans début des années 80 dans des articles de mathématiques puis appliqué à de multiples applications, trouvant la meilleure solution dans le domaine de la blockchain. Ici, une preuve à connaissance nulle (ZKP) fait référence à une méthode cryptographique qui permet à une partie de prouver la validité d'une déclaration à une autre partie sans révéler aucune des données sous-jacentes, et les deux parties seront sûres à 100 % que c'est vrai.
Ici vous trouverez encore plus de moyens de comprendre le ZKP et de l'expliquer même à un enfant.
Cette méthode, si elle est utilisée correctement de A à Z, offre aux participants un ensemble complet d'avantages liés à la blockchain : sécurité et anonymat renforcés, protection de la sensibilité des données, fiabilité, évolutivité, rapidité, faible coût et liberté d'utilisation. Voici quelques commentaires sur la façon dont ZK Proof fait de n'importe quelle blockchain une véritable identité :
Attributes | STARK | SNARK | SNORK | Bulletproof |
Trusted setup | No | Yes | Yes | No |
Post-quantum security | Yes | No | No | No |
Prove | Actual data | Actual data | Actual data | Range |
Universality | No | No | Yes | No |
Prover-verifier Interaction | Multiple times | Once | Once | Depends |
Prove Size | Large | Small | Small | Small |
Nous avons mentionné quelques manières d'implémenter la preuve ZK dans la blockchain, mais nous allons en développer davantage pour vous donner une vue d'ensemble.
La polyvalence de cette méthode informatique la rend accessible à tous les acteurs de la blockchain et permet de résoudre de nombreuses incertitudes, ce qui rend les zones grises plus fiables et transparentes. Et même s'il est très complexe à première vue, il apporte la percée en termes de fonctionnalités et d'efficacité de nombreux projets Web3 ou alimentés par la blockchain.
La méthode ZKP peut apporter des changements suffisants dans la vie sociale, financière et politique de l'humanité si elle est correctement mise en œuvre.
Cet exemple de preuve à connaissance nulle permet des transactions privées sur une blockchain publique et élargit les possibilités pour une seule personne à l'échelle de la blockchain. Les transactions dont la confidentialité est préservée garantissent la confidentialité des montants des transactions, des adresses des expéditeurs et des destinataires, ainsi que d'autres informations sensibles, tout en préservant l'intégrité de la blockchain.
Les preuves ZK sont activement utilisées pour créer des méthodes d'authentification sécurisées et anonymes. Il s'agit d'une méthode fiable et sûre pour se connecter ou se connecter sans partager aucune information personnelle avec le service.
Les échanges décentralisés peuvent utiliser les preuves ZK pour activer les échanges atomiques, permettant aux utilisateurs d'échanger différentes crypto-monnaies sans avoir besoin d'une autorité centrale ni de révéler les détails commerciaux. Plus de liberté pour un seul trader !
Utilisez les preuves ZK pour valider certaines conditions ou certains calculs dans le cadre de contrats intelligents tout en préservant la confidentialité des données sous-jacentes. Aucune autre partie n'est requise.
Vous pouvez valider les données hors chaîne et attester de leur exactitude, permettant ainsi aux applications blockchain d'interagir avec le monde extérieur en toute sécurité. Les zKP peuvent faciliter les interactions fiables entre les différentes blockchains, permettant ainsi l'interopérabilité tout en préservant la confidentialité.
Cette méthode peut améliorer l'évolutivité de la blockchain en permettant la vérification efficace de calculs complexes hors chaîne tout en fournissant une preuve concise de leur exactitude.
C'est littéralement le principal moyen d'améliorer la confidentialité et la sécurité des transactions de cryptomonnaies, par exemple en garantissant l'approvisionnement total en jetons sans révéler les soldes des portefeuilles individuels.
Cette méthode peut être utilisée pour créer des services oracle blockchain qui fournissent des données hors chaîne précises aux contrats intelligents sans révéler les données brutes.
Des élections décentralisées ? Mmmm, ça ressemble à de la démocratie ! C'est le moyen de vaincre la corruption liée au vote grâce à des systèmes de vote vérifiables et anonymes, garantissant que les votes sont comptés avec précision sans compromettre la confidentialité des électeurs.
Lors des ventes aux enchères gouvernementales qui mettent fin à des stratagèmes de corruption à dessein, il est important de préserver l'anonymat des parties, ainsi que de maintenir un contrôle maximal et une répartition stricte des responsabilités en ce qui concerne la qualité des produits. Les preuves ZK peuvent aider à vérifier l'authenticité et l'intégrité des produits dans les chaînes d'approvisionnement sans révéler d'informations exclusives.
Cette méthode peut faciliter les audits en démontrant la conformité à certaines réglementations ou règles sans exposer les données sensibles et la personnalité des auditeurs eux-mêmes.
Les ZKP aident les parties à partager des données agrégées (par exemple, des statistiques) sans révéler de points de données individuels, préservant ainsi la confidentialité tout en permettant des décisions fondées sur les données.
Les preuves ZK peuvent aider à concevoir des mécanismes d'incitation et des jeux aux résultats vérifiables tout en préservant la confidentialité des stratégies des joueurs. Cette application peut être une avancée pour de nombreux défis encore insolubles.
C'est tout simplement WOW, vous pourriez penser. Le prix à payer pour cette flexibilité et cette universalité est la complexité des mathématiques et du code qui les sous-tendent. Cela vous oblige non seulement à comprendre le concept, mais aussi à adapter ses principes à votre réalité et à le faire fonctionner dans différentes conditions de la même manière attendue.
Nous sommes heureux de partager quelques informations supplémentaires sur notre cas zkSync que nous avons brièvement décrit précédemment. Nous faisons partie des rares entreprises au monde à pouvoir gérer le produit alimenté par ZKP de A à Z en créant le design et l'architecture les mieux adaptés à celui-ci.
L'équipe de zkSync n'a eu qu'une idée et a obtenu la mise en œuvre complète de ses objectifs grâce aux technologies les mieux adaptées et à des approches innovantes.
En 2020, zkSync, l'une des premières sociétés de preuve à connaissance nulle, est devenue une solution de mise à l'échelle de couche 2 pour Ethereum qui utilisait ZK-Rollups, une variante des preuves à connaissance zéro, pour agréger et compresser plusieurs transactions en une seule preuve, qui est ensuite validée en chaîne. Cette approche améliore considérablement le débit des transactions d'Ethereum et réduit les frais. C'était la principale proposition de valeur de ce projet.
Peu de temps après son lancement, zkSync a obtenu de nombreux partenaires importants (DEX, par exemple) et s'est intégré à plus de 200 projets Web3. Il était plus facile de déléguer un certain nombre de transactions à zkSync que de diffuser chaque transaction sur le réseau, de payer des frais, d'attendre la validation, etc. Tout cela se fait sans aucun problème de sécurité grâce aux fonctionnalités de base basées sur la méthode ZKP.
La solution à l'origine de cette plateforme simple, élégante et utile était basée sur l'architecture créée par les ingénieurs de Dysnix. Il se compose de :
L'équipe zkSync a maintenant développé le zkSync Era, le protocole réinventé par rapport à la première version, mais sur la même infrastructure que nous avions créée à l'époque, en 2020. C'est formidable de se rappeler comment nos efforts en matière d'infrastructure ont été harmonisés avec l'architecture d'une solution aussi solide.
Après une brève présentation des objectifs de notre coopération, nous avons entamé des négociations avec quelques représentants commerciaux de sous-couches populaires : GCP, AWS et Azure Cloud. Nous recherchions une offre rentable de serveurs hautement disponibles qui devraient être accessibles dans de nombreuses variantes et pendant quelques heures : de 10 à 200 sur demande, en fonction de la charge de preuve.
Et GCP a trouvé quelque chose à offrir pour répondre à notre demande. Nous avons convenu d'utiliser les instances ponctuelles qui ne seront utilisées que pendant une courte période, puis seront résiliées. C'était également l'option la moins chère sans nuire à la fonctionnalité. Cette architecture de serveur répond parfaitement à nos besoins car elle n'a été utilisée que lors de la phase d'essai du travail de zkSync. Ils fournissent au projet un débit extrêmement élevé.
Vous avez peut-être entendu parler de notre produit PredictKube, que nous avons créé sur la base de modèles AI/ML. Nous admettons que nous nous sommes inspirés de projets tels que zkSync pour le réaliser.
Mais la solution de dimensionnement que nous avons conçue pour zkSync n'avait rien à voir avec l'IA ou le ML, car nous avons créé un modèle mathématique solide qui s'adapte à tous les scénarios possibles, sans effort supplémentaire. Il a été implémenté dans le code par l'équipe zkSync et fonctionne sans problème jusqu'à présent.
Mais il y a eu un problème.
Nous avons atteint la limite de débit du centre de données GCP lors du lancement de nombreux nœuds. Dans l'environnement de test, tout fonctionnait plutôt bien : le passage d'un à cinq nœuds s'est déroulé sans problème. Mais du côté de la production, nous avons respecté les limites du centre de données et nos nœuds étaient lancés très longtemps. Pour résoudre ce problème, nos ingénieurs ont décidé d'utiliser le protocole S3 appliqué à GCP Object Storage.
Grâce aux fonctions de parallélisation disponibles via le protocole S3, nous avons géré le flux de données via plusieurs objets et répliques entre le centre de données et notre projet. Nous avons ainsi dépassé la limite de 60 Gbit/s et augmenté la vitesse de lancement du nouveau nœud pour le prover ZKSynx. Cela nous a aidés à changer le schéma d'amorçage des nouveaux nœuds, passant d'un mode itératif, une fois 5, puis 5 autres, à un mode explosif, soit tout ce dont nous avons besoin en même temps et pendant moins d'une heure.
Chaque transaction est sécurisée et ne peut pas être modifiée après avoir été signée et envoyée à zkSync pour approbation et validation au bloc. Tout cela peut arriver avec TX : il peut (ou ne peut pas) être inclus dans le bloc suivant.
La solution de l'algorithme mathématique pour la mise à l'échelle couvre tous les besoins du zkSync. Même le volume de transactions élevé n'affectera pas le fonctionnement de la méthode ZKP.
En raison de la haute disponibilité et des capacités opérationnelles, la validation en tant que processus n'a pris que quelques millisecondes pour zkSync. C'est bien plus que ce qu'Ethereum lui-même peut offrir.
Grâce à l'architecture de serveur sélectionnée avec soin pour le zkSync, ils offrent littéralement le meilleur prix du marché pour la validation des transactions. Avec la mise en œuvre d'un tel protocole, les coûts opérationnels restent également faibles.
Pour assimiler toute cette histoire de prouveur et de vérificateur, vous devez trouver une idée de mise en œuvre. Comme vous le voyez, le domaine d'application est extrêmement vaste, mais cela ne signifie pas pour autant que toutes ces sphères disposent déjà de la solution basée sur la blockchain à connaissance nulle la mieux mise en œuvre.
En vous basant sur l'histoire de zkSync, vous voyez que la bonne idée a un potentiel de développement qui nourrira votre projet avec de nouvelles étapes et la mise en œuvre de produits.
Nous espérons avoir réussi à vous expliquer la signification de la notion de « zéro preuve ». N'hésitez pas à nous demander plus de détails !