Bonjour les amis
Namada est un protocole blockchain de preuve de participation de couche 1 qui offre une confidentialité multi-chaînes et indépendante des actifs. Comme vous le savez grâce à l'article précédent sur MASP, il s'agit de l'une des principales technologies du projet, qui garantit la confidentialité grâce à la technologie ZKP modernisée basée sur le modèle Sapling de Zcash. Puisqu'il existe plusieurs implémentations de ZKP, et qu'il existe également des rollups qui utilisent également cette solution, nous examinerons spécifiquement l'option utilisée par Namada. Sous une forme ou une autre.
CPC
Les preuves sans connaissance sont des mécanismes qui permettent à une partie de révéler la connaissance d'informations à une autre partie sans révéler l'information elle-même. Les preuves ZK, également appelées preuves de validité, étaient à l'origine utilisées pour masquer les détails des transactions sur les blockchains axées sur la confidentialité.
Mais les preuves ZK ont un autre cas d’utilisation intéressant : la mise à l’échelle de blockchains à usage général. Avec des preuves de validité, les nœuds blockchain peuvent vérifier les transactions sans stocker les détails ni rejouer les calculs. Cela réduit le temps de confirmation et augmente le débit du réseau.
En raison de leurs avantages en matière d'évolutivité, les preuves ZK sont devenues l'infrastructure de base pour les projets de mise à l'échelle de la blockchain, en particulier les cumuls sans connaissance.
ZK-SNARK Argument succinct et non interactif de la connaissance à connaissance nulle
ZK-SNARK est un protocole de génération de preuve sans connaissance permettant de vérifier l'authenticité des informations sans révéler les données sous-jacentes. L’acronyme signifie « Zero Knowledge Short Non-Interactive Argument ».
Le protocole ZK-SNARK implique deux parties : le prouveur (A) et le vérificateur (B). Le prouveur est la partie qui fait la déclaration, et le vérificateur est la partie chargée de vérifier la déclaration.
L'information, disons secrète, est indiquée à l'intérieur du message. Le prouveur utilise le mécanisme ZK-SNARK pour créer une preuve qui montre au vérificateur que la déclaration est vraie... sans révéler cette information.
Un cas d'utilisation hypothétique de ZK-SNARK consiste à authentifier l'identité d'un utilisateur. Une personne peut prouver une affirmation (par exemple, je suis citoyen d'un certain pays) sans révéler d'informations personnelles (par exemple, un passeport ou un numéro de sécurité sociale).
Les ZK-SNARK sont ainsi nommés car ils ont les paramètres suivants :
1. Connaissance nulle : cela signifie que le vérificateur ne sait rien de la déclaration, si ce n'est si elle est vraie ou fausse.
2. Succinct : une preuve suffisamment petite pour qu'un vérificateur puisse l'examiner dans un court laps de temps.
3. Non interactif : les SNARK ne sont pas interactifs car les prouveurs et les vérificateurs n'ont pas besoin d'échanger des informations supplémentaires au-delà des preuves originales fournies. Les premiers systèmes de preuve sans connaissance exigeaient que les prouveurs et les vérificateurs échangent plusieurs messages pour vérifier les déclarations.
4. Argument : Un SNARK est une déclaration « mathématiquement fondée » qui répond à des exigences strictes, ce qui rend difficile la tromperie (c'est-à-dire la création de fausses preuves).
5. Connaissance. Les preuves basées sur SNARK ne peuvent pas être créées avec accès aux informations (secrètes) sous-jacentes.
ZK-SNARK dans les blockchains
Les systèmes informatiques distribués, tels que les blockchains publiques, doivent résoudre ce que l’on appelle le « problème d’intégrité informatique ». L'intégrité informatique (IC) fait référence à l'exactitude des résultats obtenus à partir d'un calcul particulier.
Dans les blockchains publiques, l'intégrité informatique fait référence à l'exactitude des transactions effectuées sur le réseau. La plupart des blockchains y parviennent en demandant à d'autres ordinateurs (nœuds) de réexécuter chaque transaction.
Cependant, cette approche est problématique. Forcer chaque nœud à rejouer chaque transaction ralentit le réseau et limite l'évolutivité. Les nœuds doivent également stocker les données de transaction (sinon ils ne peuvent pas rejouer les calculs), ce qui entraîne une augmentation exponentielle de la taille de la blockchain.
Et si les nœuds pouvaient vérifier la validité des calculs sans les reproduire ? Cela améliorera le débit du réseau et éliminera le besoin pour les nœuds de stocker des données de transaction redondantes. Comment faire cela ?
Utilisez ZK-SNARK :
Les preuves de validité générées par ZK-SNARK peuvent confirmer la validité d'une transaction sans révéler les données d'entrée. C'est pourquoi les crypto-monnaies axées sur la confidentialité telles que Zcash et Monero, et bien sûr Namada, utilisent les SNARK pour masquer les informations de transaction.
SNARK peut également prouver l'exactitude des calculs hors chaîne sans que les nœuds aient à répéter chaque étape du calcul. C'est là que ZK-SNARK devient utile pour faire évoluer les blockchains.
La vérification des calculs hors chaîne à l'aide de SNARK est un processus complexe qui commence par l'encodage des calculs dans une instruction mathématique. Cette déclaration mathématique constitue la base de la preuve de validité.
Le vérificateur effectue ensuite une opération sur la preuve pour vérifier son exactitude. Si une preuve réussit tous les tests, le calcul sous-jacent est considéré comme valide. C'est pourquoi les SNARK sont courts : la taille de la preuve de validité est plusieurs fois inférieure au calcul qu'elle vérifie.
Exemple d'algorithmes de fonctionnement ZK-SNARK
Générateur de clé
Le générateur de clé définit le paramètre pour générer une paire de clés. Ici, une source fiable peut supprimer des informations personnelles après avoir généré une paire de clés privées ou publiques. Une autre paire de clés est ensuite générée à l'aide des informations accessibles au public. De cette paire, l’une servira de preuve et l’autre de vérification.Prouver
Reçoit une clé de preuve et doit prouver ses connaissances. Il recevra et vérifiera la clé privée puis enverra la demande.Inspecteur
Le vérificateur recevra les données du prouveur et vérifiera l'authenticité de la déclaration. L'examinateur ne saura rien d'autre que l'approbation. Si une tâche doit être brève, elle ne devrait prendre que quelques millisecondes.
Options d'utilisation de ZK-SNARK ?
Messagers sur la blockchain
Avec la garantie d’une solution ZKP sécurisée sur la blockchain, il est possible de créer une plateforme de messagerie précieuse et sécurisée pour tous.Contrôles du système de fichiers de nouvelle génération
Les ZKP peuvent aider à ajouter plusieurs couches de sécurité aux fichiers et aux connexions. En conséquence, les ZKP peuvent créer de sérieux obstacles permettant aux pirates informatiques ou aux manipulateurs de modifier et d’obtenir des données.Protection du stockage (MASP ?)
Les ZKP incluent un protocole de sécurité avec les informations contenues dans l'unité de stockage. Les canaux d'accès disposent de mesures de sécurité robustes qui créent un environnement hautement sécurisé et ininterrompu.Transfert de transactions blockchain privées
Le problème le plus notable dans les transactions privées blockchain réside dans les nombreuses failles évidentes dans les procédures normales. L'intégration de ZKP avec des transactions privées sur la blockchain peut créer un processus puissant et sécurisé contre les pirates.Organisations de sécurité des données
Les organisations qui contrôlent des données sensibles, telles que les banques et les hôpitaux, doivent les protéger contre tout accès par des tiers. Ensemble, ZKP et blockchain peuvent rendre l'accès aux données impossible.
Avantages du ZK-SNARK
Simplicité
Simplicité d'utilisation pour les utilisateurs ordinaires de la blockchain, vous n'avez pas besoin de savoir ce qu'il y a sous le capot, vous y allez.Sécurité
Les ZKP sont extrêmement sécurisés lorsqu’il s’agit d’échanger des informations.Rapidité
Réduisez le temps nécessaire aux transactions sur la blockchain.Confidentialité
La protection de la confidentialité des utilisateurs est la fonctionnalité la plus précieuse de ZKP. Il ne nécessite jamais l’échange de données sensibles et est donc globalement hautement privé.
Application de ZK-SNARK
Namada utilise des transactions sécurisées qui ne révèlent pas d'informations sur le montant et le type d'actif, ni d'informations sur le destinataire et l'expéditeur.
Par exemple, les contrats intelligents basés sur ZK-SNARK permettent aux institutions bancaires et financières de proposer des prêts avec des garanties insuffisantes si l'emprunteur a prouvé sa solvabilité. Les emprunteurs peuvent générer des informations d'identification basées sur des enregistrements provenant de sources faisant autorité sans révéler d'informations personnelles ou professionnelles sensibles.
Protocoles d'identité décentralisés basés sur ZKP, où les utilisateurs peuvent obtenir leurs informations et informations d'identification sans recourir à un tiers. Ces informations d'identification sont signées par des émetteurs qui peuvent associer avec autorité les réclamations aux utilisateurs, notamment la nationalité, la profession, l'éducation, etc.
La capacité de monétiser des ensembles de données propriétaires et confidentiels auprès d’institutions et de fournisseurs de données traditionnels. Au lieu de publier toutes les données de la chaîne, ces prestataires de services peuvent utiliser les confirmations reçues du ZKP pour confirmer les faits concernant les données qui seront publiées. Cela crée un nouveau marché permettant aux fournisseurs de données de monétiser et d'augmenter les revenus de leurs ensembles de données sans aucune fuite.
Conclusion
Les ZKP ont un grand potentiel de développement, notamment dans le domaine du maintien de la confidentialité des utilisateurs, de la mise à l'échelle et de nombreux autres processus. Les technologies utilisant ZKP sont très efficaces et cela se voit clairement dans le nombre croissant de projets qui les utilisent dans leur stack. Cela inclut Namada, un projet axé sur la confidentialité des actifs dans lequel les preuves de connaissance nulle jouent un rôle important.