ZK : La plus grande révolution depuis Bitcoin (BTC) ?
Les preuves à divulgation nulle de connaissance sont l’un des outils les plus puissants que les cryptographes aient jamais conçus. Une partie peut prouver un énoncé à un autre acteur sans avoir à transmettre la moindre information. C’est magique. Certains parlent même d’une révolution équivalente à la création de Bitcoin. Qu’en est-il ? Quels sont les projets les plus prometteurs à suivre dans les années à venir ?
Rappels sur les rollups
La proposition de valeur d’Ethereum est d’être un protocole résistant à la censure sur lequel s’exécutent des applications décentralisées. Toutefois, pour accomplir de telles tâches, il est crucial pour Ethereum de gagner en scalabilité. C’est dans cette perspective que les rollups ont émergé ces dernières années : augmenter le débit de transactions et réduire les frais.
Les rollups sont des solutions de scalabilité qui exécutent des transactions hors de la première couche d’Ethereum. Les transactions sont regroupées et seule une preuve finale de l’état est publiée sur le layer 1. En comprimant les données dans des « batchs de transactions », on arrive à obtenir une vitesse de traitement de l’information beaucoup plus rapide que sur la couche principale tout en bénéficiant de la sécurité apportée par Ethereum.
Et puisque cette solution permet de réduire la taille des données, on arrive à diminuer considérablement les gas fees. Il existe deux types de rollups : les ZK Rollups et les Optimistic Rollups.
« Les Optimistic Rollups, qui utilisent des preuves de fraude : le contrat de rollup garde la trace de tout son historique de racines d’état et du hash de chaque lot de transactions. Si quelqu’un découvre qu’un lot de transactions a une racine post-état incorrecte, il peut publier une preuve sur la chaîne, prouvant que le lot de transactions a été calculé de manière incorrecte. Le contrat vérifie la preuve et annule ce lot et tous les lots suivants.
Les rollups ZK, qui utilisent des preuves de validité : chaque lot de transactions comprend une preuve cryptographique appelée ZK-SNARK, qui prouve que la racine du post-état est le résultat correct de l’exécution du lot. Quelle que soit la taille du calcul, la preuve peut être vérifiée très rapidement sur la chaîne. », explique Vitalik Buterin.
ZK rollups
Les ZK Rollups sont des types de rollups qui utilisent des preuves à divulgation nulle de connaissance pour garantir l’intégrité des calculs off-chain, plutôt que de faire confiance périodiquement à des validateurs corruptibles. Dans la pratique, ces protocoles se contentent de publier une preuve de transition d’état sur la chaîne principale d’Ethereum.
Précisons que contrairement aux sidechains, les rollups s’appuient sur la sécurité d’Ethereum, ce qui est naturellement préférable dans le cadre d’applications résistantes à la censure.
Bref, les rollups sont des solutions incontournables en 2022 pour pouvoir bénéficier de la technologie Ethereum sans se ruiner en gas fees.
« Mon opinion est qu’à long terme, les ZK Rollups finiront par battre les Optimistic Rollups car ils ont des avantages séduisants pour les utilisateurs comme le fait qu’ils n’ont pas besoin d’attendre 7 jours pour un retrait », dit Vitalik Buterin.
Preuves à divulgation nulle de connaissance
Petit rappel sur les preuves à divulgation nulle de connaissance. Il s’agit de concepts cryptographiques et mathématiques très complexes à appréhender et nous essayons ici d’en approcher la surface.
Grâce à leurs caractéristiques exceptionnelles, ces technologies cryptographiques permettent d’améliorer aussi bien la confidentialité en réduisant la quantité d’informations communiquée entre les utilisateurs, mais également d’accroître la scalabilité d’une blockchain.
Quel est le but d’une preuve ? C’est de convaincre quelqu’un qu’une certaine affirmation est correcte. Et puisque prouver des assertions est crucial sur de nombreuses applications informatiques, les cryptographes ont formalisé ces preuves. Généralement, on modélise un système de preuves à travers l’échange de messages entre deux acteurs : le prouveur, qui veut montrer qu’il connaît un secret, et le vérifieur, qui cherche à le vérifier.
Preuves interactives et preuves non interactives
On distingue les preuves à divulgation nulle de connaissance interactives et non interactives. Lorsque le prouveur interagit avec le vérificateur pour le convaincre, on parle de preuve interactive. Dans le cas où le prouveur produit une preuve sans interaction avec le vérifieur, il s’agit d’une preuve non interactive.
Dans le premier cas, le prouveur répond à de nombreuses questions afin de vérifier la validité des réponses. En répétant ce processus, la probabilité de simuler une connaissance diminue significativement. En effet, il est extrêmement peu probable que le prouveur puisse répondre systématiquement de manière correcte aux questions du vérifieur s’il ne connaît pas réellement le secret.
Et plus il y a de questions, plus le prouveur parvient à convaincre le vérifieur qu’il possède réellement le secret. Les deux agents échangent alors des messages jusqu’à ce que le vérifieur accepte ou rejette l’énoncé.
Il convient de vérifier certaines propriétés pour bâtir un algorithme robuste. Par exemple, si l’énoncé est vrai, alors le prouveur finira par convaincre le vérificateur. Il s’agit de la propriété de complétude. De plus, le prouveur ne doit pas pouvoir tromper le vérificateur en lui faisant croire qu’une affirmation fausse est vraie. C’est l’hypothèse de solidité.
Prouver un énoncé sans donner d’informations sur l’énoncé
Une troisième propriété essentielle des ZK proofs en fait un outil extraordinairement puissant : la divulgation nulle de connaissance. Il s’agit en effet de limiter au maximum la quantité d’informations apportée par le prouveur au vérifieur. Dans l’idéal, aucune information ne doit être révélée au cours du protocole au vérifieur au-delà de la validité de l’énoncé.
Les ZK proofs sont magiques : ils permettent de prouver une affirmation, un secret, sans révéler la moindre information à son sujet. « Je ne sais pas ce que vous savez, mais je sais que ce que vous me racontez est absolument vrai. »
Pour synthétiser :
Un protocole robuste de vérification de preuve à divulgation nulle de connaissance doit satisfaire trois propriétés fondamentales :
- La complétude : si le prouveur dit la vérité, il finira par me convaincre presque sûrement ;
- La solidité. Le prouveur ne peut me convaincre qu’en disant la vérité ;
- La divulgation nulle de connaissance. Je n’apprends rien d’autre au-delà de la validité de l’énoncé.
Les cas d’usages des ZK proofs ?
Les preuves à divulgation nulle de connaissances sont sans aucun doute l’une des plus grandes avancées récentes en cryptographie. D’aucuns considèrent même qu’il s’agit de la plus grande prouesse depuis la création de Bitcoin par Satoshi, il y a un peu plus de 10 ans.
Si les ZK proofs s’appliquent aujourd’hui surtout dans la blockchain, c’est essentiellement parce que les financements sont massifs dans l’écosystème.
Mais ce n’est que la partie émergée de l’iceberg : les ZK proofs sont tellement révolutionnaires qu’ils pourraient bientôt s’appliquer à différentes industries. Par exemple, certaines recherches portent sur l’utilisation des ZK proofs au système de vote électronique afin de prouver que l’on a voté, sans révéler le contenu du bulletin.
Autre cas d’utilisation. Les ZK proofs pourraient permettre à un client de se connecter à un serveur sans transmettre son mot de passe original au serveur (qui l’utilise pour recalculer un hash et le comparer à une valeur stockée). L’utilisation des preuves à divulgation nulle de connaissance permettrait donc de prouver l’affirmation « ce compte m’appartient » sans révéler aucune information au-delà du bit correspondant à l’information « ceci est vrai ».
Magique.
ZK-Snark vs ZK-Stark
Actuellement, il existe deux solutions ZK qui ont fait leurs preuves : les ZK-SNARK et les ZK-STARK. Les SNARK sont déjà utilisées depuis plusieurs années grâce au protocole Zcash, tandis que les STARK sont apparus plus récemment grâce aux brillantes équipes de Starkware.
Une preuve SNARK permet de vérifier bien plus rapidement le résultat d’un calcul qu’il ne prendrait de temps à s’exécuter. Série de calculs complexes et coûteux, vérification à la vitesse de l’éclair, telle est la promesse des SNARK. Le vérifieur ne doit pas refaire l’entièreté des calculs pour garantir la conformité du calcul.
Leur sécurité repose sur les mathématiques des courbes elliptiques, c’est-à-dire sur l’idée qu’il est quasiment impossible de trouver le logarithme discret d’un nombre aléatoire sur la courbe par rapport à un point de base. Toutefois, l’ordinateur quantique pourrait menacer la sécurité des SNARK. Et puisque ces preuves reposent sur des algorithmes ZK, ils se caractérisent par un haut niveau de confidentialité en gardant certaines entrées du calcul secrètes.
« La technologie cryptographique la plus puissante de ces dix dernières années est sans doute celle des zk-SNARK (« zero knowledge succinct arguments of knowledge »). Un zk-SNARK vous permet de générer une preuve qu’un certain calcul a un résultat particulier, de telle sorte que la preuve peut être vérifiée extrêmement rapidement même si le calcul sous-jacent prend beaucoup de temps à s’exécuter. La partie « ZK » (« zero knowledge ») ajoute une fonctionnalité supplémentaire : la preuve peut garder certaines des entrées du calcul cachées. », Vitalik Buterin.
La supériorité des STARK ?
Il faut attendre 2018, pour que des chercheurs en cryptographie évoquent pour la première fois le concept des STARK. Ces preuves seraient supérieures aux SNARK car elles seraient plus scalables : plus grande rapidité pour vérifier un calcul et taille de la preuve plus réduite (du moins pour les applications gérant d’importants volumes de transactions). Elles seraient également plus sécurisées, car résistantes aux attaques quantiques (elles s’appuient sur des fonctions de hachage qui ne sont pas menacées par l’ordinateur quantique). Enfin, elles ne nécessiteraient pas de « trusted setup », ce qui réduit significativement le besoin de confiance envers les développeurs.
Pour rappel, le trusted setup fait référence à la genèse de l’algorithme où les clefs nécessaires à la création des preuves sont créées. Un paramètre caché peut en effet être exploité par les développeurs pour falsifier les preuves et introduire ainsi des transactions illicites.
Actuellement, deux acteurs sont en train de développer des solutions basées sur les ZK-rollups : Starkware et Polygon.
Starkware : la jeune pousse prometteuse
Les talentueuses équipes de Starkware, une start-up spécialisée sur les ZK proofs et qui rassemble des cryptographes de haut niveau comme Eli Ben-Sasson, développent des solutions de scalabilité pour Ethereum basées sur les STARK. Contrairement à beaucoup d’acteurs comme zkSync, Starkware a fait le choix de ne pas opter pour les SNARK.
Starkware a également développé le réseau StarkNet, qui permet à n’importe quelle dApp d’augmenter substantiellement sa scalabilité tout en maintenant un haut niveau de sécurité et de confidentialité. Pour ce faire, il est toutefois nécessaire de réécrire le contrat avec le langage Turing Complet Cairo.
L’innovation ne s’arrête pas chez Starkware. Il y a quelques semaines, les équipes ont annoncé la sortie d’un nouveau modèle de preuves récursives. Cette méthode permettrait d’augmenter là aussi la scalabilité du réseau en compressant successivement des preuves STARK avant de les soumettre à la chaîne principale pour les ancrer définitivement.
Starkware a prévu de sortir son token en 2023 afin de favoriser la décentralisation du protocole. La tokenomics du jeton est très particulière, puisque tournée vers les développeurs. Un moyen ingénieux pour attirer la matière grise dans cette guerre des talents et éviter la spéculation dès le premier jour.
Polygon annonce sa solution ZkEVM
Polygon est l’autre acteur majeur dans le développement de solutions ZK. Alors que la société est à l’origine de l’un des L2 les plus performants (Polygon PoS), Polygon a récemment annoncé la sortie de Polygon zkEVM. Actuellement, le rollup est toujours au stade du testnet public et le mainnet devrait être lancé au début de l’année 2023. C’est un projet permissionless et open source.
La particularité de cette plateforme par rapport à la solution de Starkware, c’est qu’il s’agit d’un ZK rollup compatible avec l’Ethereum Virtual Machine (EVM). C’est pourquoi on utilise l’appellation Zk-EVM.
C’est un atout considérable, puisque les développeurs d’applications décentralisées peuvent décider très facilement de migrer leur projet sur Polygon zkEVM. En général, les ZK-Rollups prennent beaucoup de temps à développer et à intégrer, puisqu’ils ne sont pas directement compatibles avec l’EVM.
Cela revient pour un développeur à construire directement une application sur Ethereum : même langage, mêmes outils.
Ethereum a besoin d’évoluer pour enfin devenir l’ordinateur mondial décentralisé qui permet à tout un chacun d’exécuter des Dapp résistantes à la censure. Pour ce faire, il semblerait que les preuves ZK soient le meilleur moyen d’y parvenir. Grâce à des mathématiques complexes, elles garantissent un haut niveau de confidentialité, et une scalabilité sans pareille. À ce jour, deux acteurs se disputent la première place : Starkware et Polygon. Deux projets à suivre impérativement !
Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.
Chaque jour, j’essaie d’enrichir mes connaissances sur cette révolution qui permettra à l’humanité d’avancer dans sa conquête de liberté.
Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.