Une brève histoire du zéro
ZK-SNARK. Applications ZK. ZK ceci. ZK ça.
Ces deux lettres, raccourci pour les preuves de connaissance zéro, sont partout dans le monde de la crypto. Chaque nouvelle startup inclut apparemment une itération de ZK dans son pitch deck. Même des chaînes de blocs établies comme Polygon, qui fait affaire avec des entreprises comme Starbucks et Mastercard, ont commercialisé de nouveaux produits basés sur les lettres à la mode.
Certains passionnés de cryptographie sont tellement enthousiasmés par les preuves à connaissance nulle qu'ils pensent qu'elles "deviendront une partie importante du fonctionnement de l'économie" et qu'elles finiront par "être enseignées au lycée", Jason Morton, professeur agrégé de mathématiques à Penn Indiquez qui est en congé pour créer sa propre startup, a plaisanté Fortune.
Et certains vont encore plus loin. "Les preuves à connaissance zéro vont devenir un élément fondamental de l'infrastructure de l'humanité", a déclaré à Fortune Zooko Wilcox, PDG d'Electric Coin Co., qui dirige le développement de la crypto-monnaie Zcash.
Mais que font réellement les preuves à connaissance nulle ? Et comment ce morceau de mathématiques bourdonnant est-il devenu si, eh bien, bourdonnant?
En 1985, les universitaires Shafi Goldwasser, Silvio Micali et Charles Rackoff ont publié ce que Michael Walfish, professeur d'informatique à l'Université de New York, a appelé un "article monstre". Intitulé "La complexité des connaissances des systèmes de preuve interactifs", il s'agissait de la première articulation théorique des preuves à connaissance nulle, a-t-il déclaré à Fortune.
La technique cryptographique, par essence, vous permet de prouver que vous savez quelque chose sans révéler ce que vous savez. Pour concrétiser l'abstrait, imaginez deux amis : un daltonien et un non. Il y a une boule rouge et une boule bleue. L'amie daltonienne cache les deux derrière son dos, les mélangeant peut-être, les présente, et l'amie avec une meilleure vision dit s'ils ont été échangés. L'ami qui examine les boules - devinant ou même mentant peut-être - a un coup de cinquante-cinquante pour choisir la bonne. Mais si l'exercice est répété un million de fois, l'ami avec la meilleure vision ne peut certainement pas choisir la bonne balle par hasard. À la fin de l'exercice, l'ami daltonien n'a toujours "aucune connaissance" de quelle balle est de quelle couleur mais sait que son ami le sait.
Les avantages en matière de confidentialité des preuves à connaissance nulle sont évidents. Nous pouvons, par exemple, conserver la propriété de nos propres données bancaires et, grâce à une preuve de connaissance zéro, vérifier que nous avons correctement calculé nos cotes de crédit, sans révéler nos informations bancaires privées. Ou nous pouvons prouver aux employeurs que nous connaissons notre numéro de sécurité sociale sans leur montrer le numéro à neuf chiffres.
Cependant, les preuves sont compliquées et gourmandes en calculs à produire, et sont restées pendant des années dans le domaine de la théorie et non de la pratique.
Au début des années 1990, les chercheurs ont défini une catégorie plus générale de preuves appelées preuves succinctes, selon Dan Boneh, professeur d'informatique et de génie électrique à Stanford.
Ces calculs cryptographiques permettent à quelqu'un de vérifier que quelque chose est vrai sans avoir à analyser chaque déclaration. Un auditeur peut, par exemple, s'assurer rapidement que quelqu'un a correctement soumis une déclaration de revenus sans voir les données de la déclaration ni vérifier chaque opération mathématique.
Le fonctionnement des preuves succinctes est plus difficile à illustrer par un exemple concret que les preuves à connaissance nulle. "La concision est magique", a déclaré Boneh à Fortune. "Il n'y a pas de bonne explication physique pour expliquer pourquoi c'est possible."
Cela étant dit, la "concision", ou le besoin de beaucoup moins de temps pour prouver quelque chose de vrai, est ce qui excite la plupart des entrepreneurs et investisseurs en crypto. Les blockchains comme Ethereum sont des ordinateurs lents et décentralisés. À mesure que les développeurs créent des applications plus complexes, le temps et la puissance de calcul nécessaires pour exécuter les applications sur les chaînes de blocs augmentent. Des preuves succinctes peuvent résoudre ce problème en "prouvant" que le code s'exécute correctement hors chaîne ou sur des ordinateurs plus puissants qui ne sont pas des chaînes de blocs.
Pourquoi mentionner des preuves succinctes dans le même souffle que des preuves à connaissance nulle ? L'effort nécessaire pour transformer le premier en second est généralement minime, ont déclaré plusieurs cryptographes à Fortune. Par conséquent, les gens ont tendance à confondre les deux termes.
"Vous pouvez avoir des preuves succinctes qui ne sont pas des connaissances nulles", a déclaré Boneh à Fortune. "Et vous pouvez avoir des preuves sans connaissance qui ne sont pas succinctes."
À partir des années 1990, la connaissance zéro et les preuves succinctes étaient en grande partie du domaine du milieu universitaire. Mais à partir de 2010, les chercheurs ont réalisé qu'ils pouvaient les mettre en œuvre sur des machines modernes, a déclaré Walfish, professeur à l'Université de New York, à Fortune.
Avec l'essor des ordinateurs plus rapides et la disponibilité de financements pour la recherche en cryptographie, a-t-il déclaré, des personnes comme Justin Thaler, chercheur à a16z Crypto et professeur associé à Georgetown, ont expliqué comment générer des preuves à connaissance nulle et succinctes sur des machines réelles.
L'émergence du cloud computing, selon Thaler, a également donné un nouvel élan à la mise en œuvre. Les ordinateurs portables ou les smartphones sont plus lents que la puissance combinée d'une flotte de serveurs Amazon, mais avec une preuve succincte, un ordinateur de bureau peut vérifier qu'une bande d'ordinateurs a correctement exécuté un programme. "Ce n'est pas moi qui fais l'informatique", a déclaré Thaler à propos du cloud computing. « Pourquoi devrais-je confier la réponse à quelqu'un d'autre ? »
Et en 2009, l'anonyme Satoshi Nakamoto a inventé le Bitcoin et la blockchain. Avec le lancement des blockchains est venu le besoin de réduire leurs charges de travail de calcul. "C'est un ordinateur lent qui coûte cher à exploiter", a déclaré Boneh à propos d'une blockchain. "Et à cause de cela, vous voulez essentiellement avoir à faire le moins de travail possible."
« Donner aux gens la liberté de la banque centrale contrôlant la masse monétaire et de tous les flics, les autoritaires et les voisins curieux et tous ceux qui veulent contrôler tout le monde, tout cela fait partie de la proposition de valeur de Bitcoin », a déclaré Wilcox, PDG d'Electric Coin Co. , dit Fortune.
Mais alors que Bitcoin était autrefois considéré comme un registre sécurisé où les utilisateurs pouvaient envoyer et recevoir de la monnaie numérique au-delà des regards indiscrets du gouvernement, les enquêteurs et les analystes entreprenants ont finalement compris comment suivre les transactions et les retracer jusqu'aux individus en chair et en os.
En 2013, des universitaires, s'appuyant sur des améliorations dans les implémentations de preuve de connaissance zéro, ont présenté des propositions pour "Zerocoin" puis "Pinocchio Coin", qui promettaient de rendre les transactions pseudonymes de Bitcoin "entièrement anonymes".
Les auteurs de Zerocoin se sont finalement associés à Wilcox, un informaticien et cypherpunk autoproclamé, pour lancer Zcash. La crypto-monnaie était peut-être la première mise en œuvre de preuves à connaissance nulle à une échelle suffisamment grande pour que ceux qui étaient au-delà du milieu universitaire interagissent quotidiennement avec la technique mathématique.
Pour lancer la nouvelle crypto-monnaie, il fallait ce qui a depuis été surnommé "La cérémonie", une affaire élaborée de plusieurs jours pour s'assurer qu'aucun mauvais acteur ne découvre la clé cryptographique secrète nécessaire pour instancier la crypto-monnaie. (Si de mauvais acteurs avaient la clé, ils pourraient imprimer Zcash par poignée.)
En 2016, Wilcox et son équipe ont réalisé avec succès la "Cérémonie", qui comprenait le découpage d'un ordinateur de bureau Lenovo utilisé pour générer la clé secrète avec une meuleuse d'angle et la combustion des déchets électroniques, et a lancé Zcash, dont les jetons échangent encore des mains à ce jour. .
Bien que la «cérémonie» initiale, ou ce que les universitaires appellent une configuration de confiance, ait réussi, elle a également été incroyablement impliquée. Et Wilcox et son équipe auraient besoin de le refaire chaque fois qu'ils voudraient créer une nouvelle preuve sans connaissance pour un ensemble différent de calculs.
Les chercheurs et les développeurs ont donc imaginé des moyens de réduire à quel point "The Ceremony" devait être élaboré, selon Riad Wahby, professeur adjoint de génie électrique et informatique à Carnegie Mellon.
"À partir de 2016, il y a eu ce mouvement vers l'élimination de la phase de configuration de confiance, ou au moins de faire en sorte que vous puissiez effectuer la configuration de confiance une fois, puis la réutiliser pour n'importe quel calcul", a-t-il déclaré à Fortune.
En 2019, les développeurs disposaient soudainement de moyens beaucoup plus efficaces pour générer des preuves à connaissance nulle sans brûler les ordinateurs de bureau Lenovo ni organiser un groupe international de cryptographes à Denver.
Dans le même temps, Ethereum, une blockchain qui est essentiellement un ordinateur lent et décentralisé, explosait en popularité. De plus en plus de développeurs créaient des applications plus sophistiquées à exécuter dessus, et ils avaient à leur tour besoin de moyens pour améliorer la vitesse des applications.
La plupart des preuves sans connaissance, rappelez-vous, sont "succinctes" ou permettent à quelqu'un de prouver que quelque chose est vrai sans vérifier chaque déclaration. Pour exploiter cette propriété, les développeurs "roulent", ou compilent et évaluent en masse, les transactions hors chaîne et prouvent qu'ils l'ont fait avec précision en produisant une preuve sans connaissance ou succincte. Un réseau blockchain n'a qu'à vérifier la preuve, ce qui prend beaucoup moins de temps que la vérification de chaque transaction.
Un flot de solutions de déploiement ZK, ou sans connaissance, a rapidement émergé dans le monde de la cryptographie, comme Aztec, zkSync et d'autres, pour rejoindre des projets, comme Zcash, qui exploitent la qualité de confidentialité des preuves sans connaissance. (En fait, la majorité des roll-ups ZK ne préservent pas du tout la vie privée, dit Wahby.)
Les chercheurs continuent maintenant de pousser les capacités des preuves à connaissance nulle pour les rendre plus efficaces et permettre aux développeurs de les "programmer" facilement ou de mettre des programmes informatiques dans une preuve sans en personnaliser une pour un nouveau programme à chaque fois.
"Les gens pensent vraiment, vraiment que c'est le gros problème avec les preuves en ce moment", a déclaré Wahby de Carnegie Mellon à Fortune. "Ils sont vraiment, vraiment difficiles à utiliser pour les programmeurs."
Même ainsi, certains commencent à les utiliser pour résoudre des problèmes plus existentiels que l'amélioration des blockchains lentes. Les chercheurs conçoivent, par exemple, des preuves à connaissance nulle pour vérifier si le bon algorithme d'IA a fonctionné, vérification qui devient d'autant plus importante lorsqu'un modèle d'apprentissage automatique diagnostique hypothétiquement un cancer ou échange des milliards de dollars.
Wilcox de Zcash pense que, d'ici cinq à 10 ans, les preuves sans connaissance fonctionneront en arrière-plan chaque fois que nous interagissons avec la technologie. "Tout cela va s'appuyer sur des preuves à connaissance nulle pour éviter que vous ne soyez piraté et exploité par un État-nation étranger chaque fois que vous ouvrez votre téléphone ou montez dans votre voiture", a-t-il déclaré à Fortune.
Si les prédictions de Wilcox s'avèrent vraies, nous irons peut-être au-delà de ZK ceci et ZK cela et oublierons complètement les lettres. "Les preuves à connaissance zéro ont évolué vers le statut", a-t-il ajouté, "où elles sont maintenant prêtes à être utilisées à toutes fins".
Apprenez-en plus sur tout ce qui concerne la crypto avec des cartes de cours courtes et faciles à lire. Cliquez ici pour le cours d'initiation à la cryptographie de Fortune.
Précédent: La machine star Bert Kreischer sur son voyage improbable à l'écran
Suivant: 5G privée