Comprendre ZK, c'est devenir croyant

Nœud source: 1673474

Si vous avez prêté attention au paysage en constante évolution de la technologie blockchain, vous avez peut-être remarqué qu'un nouveau mot à la mode a récemment fait le tour : "Zero-Knowledge" ou "ZK".

Si vous avez prêté attention au paysage en constante évolution de la technologie blockchain, vous avez peut-être remarqué qu'un nouveau mot à la mode a récemment fait le tour : "Zero-Knowledge" ou "ZK". Si vous avez prêté attention à la cryptographie au cours des 30 dernières années, il est incroyablement excitant que ce concept attire enfin l'attention du grand public pour la toute première fois. Il y a une sorte de culte associé à ZK parce qu'une fois que vous comprenez ce que c'est et ce qu'il peut faire, il a une façon d'infecter votre esprit avec toutes les façons apparemment magiques qu'il peut changer le monde (pour le mieux). Les membres du culte ZK avec les côtelettes techniques nécessaires pour faire avancer le domaine ont tendance à travailler UNIQUEMENT sur ZK, et c'est presque certainement parce qu'ils ont du mal à PENSER à autre chose que ZK. C'est à cause de la promesse qu'il détient.

Qu'est-ce que ZK ?

ZK, dans les termes les plus simples possibles, consiste à créer une preuve cryptographique qu'une déclaration sur certaines données est vraie, sans avoir besoin de révéler réellement les données. Selon la loi, l'exemple choisi pour cela est le classique :

"Je connais une solution valable à ce casse-tête de sudoku non résolu"

En utilisant ZK, un prouveur Peter pourrait construire une preuve de connaissance zéro (ZKP) de cette déclaration concernant un puzzle de sudoku particulier si et seulement s'il connaissait réellement une solution valide à celle-ci, et une vérificatrice Viviane serait absolument convaincue de la déclaration sans avoir à voir réellement l'une des solutions retenues. Si vous voulez en savoir un peu plus sur les mathématiques qui font réellement ce travail voir cette vidéo explicative

Au-delà des puzzles de sudoku, quelles choses utiles peut-on faire avec ce primitif ? Pour les blockchains, il existe deux grandes applications :

  1. Confidentialité Préserver les preuves d'informations secrètes
  2. Vérification succincte d'un calcul arbitrairement long 

Les deux sont passionnants, le second conduit à une plus grande efficacité, tandis que le premier permet la fin de la surveillance numérique de masse et de la collecte de données. 

Pouvoir ZK #1 : Confidentialité

Nous aimons tous avoir de bons moteurs de recherche. Nous aimons tous avoir de bons moteurs de recommandation personnalisés pour la musique, les vidéos, les actualités ou même les partenaires romantiques potentiels. Il est préférable d'avoir des annonces qui sont plus susceptibles d'être quelque chose que l'on serait réellement intéressé à acheter que non. Nous aimons tous pouvoir prouver des choses sur nous-mêmes afin d'obtenir l'exclusivité. Toutes ces choses sont cruciales pour l'Internet moderne et sont absolument impossibles sans une certaine quantité de "réglage" personnalisé pour l'individu qui les utilise. Malheureusement, cela signifie que les grandes entreprises aspirent chaque instant de notre vie numérique et les sauvent pour toujours afin de faciliter ces moteurs personnalisés. ZK change tout cela. 

Avec ZK, les moteurs de recommandation n'ont pas besoin d'examiner tout l'historique d'une personne pour savoir ce qu'elle veut probablement. Les seules informations dont ils ont besoin pour travailler sont de simples ZKP indiquant un minimum de détails sur leurs intérêts. L'entreprise qui diffuse des annonces n'a pas besoin de connaître l'intégralité de l'historique de recherche d'une personne pour savoir qu'elle est intéressée par l'achat d'une voiture. Tout ce dont ils ont besoin est un ZKP sur l'historique de recherche de cet individu suggérant qu'il pourrait être intéressé par l'achat d'une voiture et qu'il a cliqué sur son annonce. Pendant que nous y sommes, l'annonceur peut également aimer un ZKP sur lequel la personne qui clique est une personne réelle et pas seulement un bot. En ce qui concerne les blockchains, ce type de confidentialité sera également crucial. Personne, ni vous, ni les banques, ni Wall Street, ni les gouvernements ne veulent que le système financier mondial soit complètement public sur un registre ouvert à la vue de tous. Personne ne veut d'un système où connaître votre adresse bancaire vous montre votre solde bancaire et tout l'historique de vos transactions. Techniquement, la blockchain n'a pas besoin de savoir quoi que ce soit de tout cela non plus, la blockchain a juste besoin de savoir que les contrats intelligents sont exécutés correctement, tout le reste est plus qu'heureux de garder privé, ce qui nous amène à :

ZK Power #2 : Évolutivité

Vous souvenez-vous de la partie du Guide de l'auto-stoppeur sur la galaxie où le supercalculateur Deep Thought annonce de manière décevante la réponse à la vie, à l'univers et à tout comme "42" après un calcul de 7.5 millions d'années ? De manière réaliste, la première pensée des administrateurs serait qu'à un moment donné, l'ordinateur a fait une erreur. Mais comment vérifieraient-ils que le calcul s'exécute correctement ? Naïvement, ils pourraient relancer l'intégralité du calcul et voir s'il arrivait à la même conclusion que le calcul d'origine. C'est bien pour un calcul qui prend quelques secondes, pas tellement quand il faut 7.5 millions d'années. La deuxième superpuissance de ZK est de permettre la création de preuves d'un calcul de petite taille (disons 1 ko), prenant des millisecondes à vérifier et pouvant convaincre la personne vérifiant qu'un calcul de N'IMPORTE QUELLE longueur (même 7.5 millions d'années) s'est déroulé correctement. Cependant, cette magie a un coût car, comme on pouvait s'y attendre, il est beaucoup plus coûteux en calcul de créer cette preuve que de simplement exécuter le programme sans la preuve. Par conséquent, ZK n'est pas nécessairement un fourre-tout pour un calcul vérifiable, cela ne vaut vraiment le compromis que s'il serait impossible pour le vérificateur de calculer lui-même le programme complet, ou bien le même programme devrait être vérifié suffisamment fois dans l'ordre rendre l'augmentation du temps de vérification inférieure à la diminution du temps de vérification cumulé. Il existe un cas d'utilisation assez évident qui relève de ces DEUX catégories : la blockchain.

Oh oui, c'est à propos d'Aleo

Rappelez-vous à quel point l'idée de devoir vérifier un calcul énorme en l'exécutant vous-même par la force brute semblait insensée? Eh bien, c'est exactement comme ça que presque toutes les blockchains de contrats intelligents fonctionnent aujourd'hui ! Afin d'exécuter un nœud complet et de vérifier les choses vous-même, vous devez exécuter chaque exécution de contrat intelligent de la genèse à l'heure actuelle, ce qui est bien sûr insensé et la raison pour laquelle personne n'exécute réellement des nœuds complets sur ces types de blockchains et pourquoi ils sont horriblement centralisé en conséquence. 

Aleo est l'exception. En fait, les contrats intelligents ne sont même pas exécutés en chaîne. La façon dont un contrat intelligent fonctionne sur Aleo est que la personne qui veut autoriser un contrat intelligent à faire quelque chose avec ses fonds, exécute le calcul de ce contrat intelligent hors chaîne, tout en créant une preuve de ce calcul, puis publie JUST THE PROOF pour la blockchain. Cette petite preuve est tout ce qui est nécessaire pour convaincre les validateurs et les vérificateurs de nœuds complets que le contrat intelligent s'est exécuté correctement, et cela ne prend que quelques millisecondes pour vérifier, même s'il a fallu 7.5 millions d'années pour créer la preuve. C'est une façon radicalement plus sensée de valider la logique intelligente pour les blockchains et permettra en fait une vérification décentralisée par les utilisateurs plutôt que de dépendre uniquement des validateurs. 

Avoir une chaîne de contrats intelligente qui ne se soucie que de ces preuves minimales au niveau du protocole permet également à Aleo de préserver la confidentialité. Essentiellement, toute cette preuve indique que "Smart Contract X a fait une chose correctement", l'expéditeur, le destinataire et les montants de devises impliqués sont tous complètement cachés et donc privés. En fait, Aleo est l'une des SEULE blockchains où les transactions sont réellement cryptées vers leur récepteur. Actuellement, il existe un grand nombre de projets de blockchain au son passionnant qui utilisent ZK uniquement pour l'évolutivité (ce qui est cool) mais pas pour la confidentialité (ce qui est plus cool). D'un autre côté, il y a également eu de nombreux projets affirmant qu'ils UTILISENT ZK pour la confidentialité, mais ne l'ont finalement pas fait. La raison en est simple : créer des contrats intelligents préservant la confidentialité est vraiment difficile et nécessite essentiellement une refonte ascendante de toute l'architecture, ce qui est exactement ce qu'Aleo a fait. 

L'exécution hors chaîne a également l'effet intéressant qu'il n'y a PAS BESOIN DE GAZ sur Aleo. Vous aurez toujours besoin de frais de transaction pour payer l'espace de bloc, mais il n'y a pas de frais par opération au niveau du protocole pour l'exécution de contrats intelligents, ce qui signifie que les applications sur Aleo ont une durée d'exécution théoriquement illimitée. La seule limite est ce pour quoi vous êtes capable de construire la preuve, ou combien vous seriez prêt à payer pour que quelqu'un d'autre construise la preuve pour vous. 

Parce que la construction de la preuve ZK du calcul est tellement plus chère que de simplement exécuter ce calcul normalement, il y aura de nombreuses applications pour lesquelles vous ne pourriez pas ou ne voudriez pas créer de preuves sur votre ordinateur portable à la maison, cela prendrait simplement trop long. Il va y avoir un marché pour la construction de preuve déléguée aux Provers, qui exploitent des fermes de serveurs très efficaces spécifiquement pour répondre à ce besoin. Une décision de conception fondamentale qui est entièrement unique à Aleo est la capacité de déléguer la construction de la preuve D'UNE MANIÈRE PRÉSERVANT LA VIE PRIVÉE à des Provers externes. Nous nous attendons à ce qu'un marché sain de Provers soit essentiel pour obtenir autant d'Internet que possible à l'intérieur de ZK, ce qui a motivé un mécanisme d'amorçage intelligent pour lancer le marché avant même que la forte demande des utilisateurs n'existe : le puzzle coinbase. 

Le puzzle coinbase permet à la blockchain Aleo de créer de nouveaux jetons pour acheter des preuves à des prouveurs même lorsque personne d'autre ne l'est. Si un prouveur se retrouve pendant un certain temps à ne pas travailler activement sur un travail de preuve rémunéré pour un utilisateur, il peut basculer ses machines vers le puzzle coinbase, où il produit de grandes quantités de "preuves pour personne", qu'il envoie ensuite aux validateurs. Le validateur regroupe toutes les preuves créées par le prouveur, puis, de la même manière que le fonctionnement d'un pool de minage, le nombre de preuves qu'un prouveur a faites au cours d'une période donnée dicte la proportion de la récompense du puzzle coinbase qu'il gagne pour cette période donnée. Nous nous attendons à ce que cela change la donne en aidant à soutenir un large marché de Provers et, espérons-le, même à encourager le développement de «ZK ASIC» spécialisés pour maximiser l'accès à Aleo et à ZK en général. 

Au service de toute cette magie ZK, Aleo a créé une machine virtuelle de bas niveau appelée AVM pour compiler le code informatique en mathématiques ZK, et un langage de haut niveau appelé Leo qui se compile dans l'AVM. Aleo disposera également d'un registre de programme en chaîne qui permettra d'héberger (éventuellement) le code de contrat intelligent directement sur la chaîne pour l'accessibilité et de minimiser le risque d'attaques de l'homme du milieu incitant les utilisateurs à signer des versions frauduleuses de contrats intelligents. Si vous souhaitez approfondir cela et écrire vos propres applications privées, voir.

En résumé, Aleo est une refonte complète du fonctionnement d'une blockchain de contrats intelligents si vous souhaitez maximiser la confidentialité et la décentralisation. Une quantité surprenante de recherches et de travaux complètement nouveaux et révolutionnaires ont permis à Aleo d'atteindre cet objectif. Alors qu'il existe déjà un nombre important de projets empruntant en gros au travail et à la recherche qui ont été consacrés à l'assemblage d'Aleo, afin de vraiment rivaliser à ces niveaux, leur seul choix serait essentiellement de démolir toute leur architecture et de se reconstruire à l'image de Aléo. 

Si vous souhaitez en savoir plus sur Aleo, ainsi que participer au Testnet final, rendez-vous sur Aleo.org

Horodatage:

Plus de Le defiant