Auteur original : Jaehyun Ha
Compilé par : TechFlow
Résumé
-
Alors que les preuves à connaissance nulle (ZKP) sont prometteuses pour une plus privé et évolutif Dans l'écosystème de la blockchain, de nombreux aspects de la connaissance zéro (ZK) sont mal compris ou mis en œuvre différemment de ce que l'on croit généralement.
-
Les ZKP présentent deux aspects principaux : « zéro connaissance » et « concision ». Bien que cette affirmation ne soit pas fausse, la plupart des cumuls ZK n’utilisent que la propriété de concision, et les données de transaction et les informations de compte ne sont pas complètement à connaissance nulle ou privées.
-
Pour différents types de DApps, Les rollups ZK ne sont peut-être pas le meilleur choix pour les piles de développement Par exemple, la génération de ZKP peut devenir un goulot d'étranglement pour une finalité rapide, réduisant ainsi les performances des jeux Web3, tandis que les garanties de disponibilité des données basées sur la publication des différences d'état peuvent nuire aux services des protocoles de prêt DeFi.
Figure 1 : ZK est un mot à la mode
Source : imgflip
L’état actuel de l’industrie de la blockchain peut être comparé à l’ère de la connaissance zéro (ZK). ZK se démarque partout où vous allez, et il devient de plus en plus rare de trouver un projet de blockchain de nouvelle génération qui n'intègre pas ZK dans son nom. D'un point de vue technique, il est indéniable que ZK est une technologie prometteuse qui peut contribuer à un écosystème de blockchain plus évolutif et privé. Cependant, en raison du contexte technique complexe de ZK, de nombreux investisseurs, tant particuliers qu'institutionnels, investissent souvent dans des projets ZK en se basant sur la « croyance » qu'il a l'air cool, novateur et peut résoudre le trilemme de la blockchain, sans bien comprendre comment la technologie ZK peut bénéficier à chaque projet.
Dans cette série sur ZK, nous explorerons les vérités dérangeantes (les lacunes et les inconvénients) des rollups ZK et leurs applications bénéfiques. Tout d'abord, nous décortiquerons les deux propriétés fondamentales des preuves ZK (ZKP) dans la blockchain : « connaissance zéro » et « concision ». Nous discuterons ensuite de la façon dont un grand nombre de rollups ZK actuellement en service ne tirent pas vraiment parti de l'aspect « connaissance zéro ». Ensuite, nous examinerons les domaines dans lesquels l'application des rollups ZK peut être plus nuisible qu'utile, en évitant les problèmes bien connus comme la complexité de la mise en œuvre. Enfin, nous mettrons en évidence des projets remarquables qui incarnent efficacement les principes ZK et tirent réellement des avantages évidents de l'utilisation de la technologie ZK.
Récapitulatif : cycle de vie des transactions dans les cumuls ZK
Rollup est une solution de mise à l'échelle qui répond aux limitations de débit L1 en exécutant des groupes de transactions hors chaîne, puis en stockant les données récapitulatives du dernier état L2 sur L1. Parmi elles, la caractéristique remarquable de ZK Rollups est la possibilité de retirer rapidement des fonds en soumettant une preuve de validité des calculs hors chaîne sur la chaîne. Avant de nous plonger dans les problèmes des rollups ZK, examinons brièvement son cycle de vie des transactions.
Figure 2 : Cycle de vie des transactions dans les cumuls ZK
Source : Centre de recherche Presto
-
Chaque utilisateur L2 génère et soumet sa transaction au séquenceur.
-
Le séquenceur regroupe et trie plusieurs transactions, puis exécute ces transactions hors chaîne pour calculer le nouvel état de cumul. Le séquenceur soumet ensuite ce nouvel état de cumul au contrat intelligent d'état en chaîne sous forme de lot et compresse les données de transaction L2 correspondantes en blocs de données pour garantir la disponibilité des données.
-
Ce lot est envoyé au prouveur, qui crée une preuve de validité (ou ZKP) de l'exécution du lot. Cette preuve de validité est ensuite envoyée au contrat intelligent validateur sur L1 avec des données supplémentaires (c'est-à-dire la racine de l'état précédent), ce qui aide le validateur à identifier ce qu'il valide.
-
Une fois que le contrat du validateur a vérifié que la preuve est valide, le statut du cumul est mis à jour et les transactions L2 du lot soumis sont considérées comme terminées.
(Notez que cette explication est une version simplifiée du processus ZK Rollup, et que chaque implémentation peut varier d'un protocole à l'autre. Si nous distinguons les rôles, il peut y avoir plus d'entités dans L2, telles que les agrégateurs, les exécuteurs et les proposants. La hiérarchie des blocs de données peut également être différente, comme les blocs, les groupes de blocs et les lots, en fonction de leur objectif. L'explication ci-dessus suppose une situation dans laquelle un séquenceur centralisé dispose d'une forte autorité pour exécuter des transactions et génère également un format de bloc de données unifié sous forme de lots.)
Contrairement aux Optimistic Rollups, grâce aux ZKP (tels que les ZK-SNARK ou les ZK-STARK), les ZK Rollups peuvent vérifier l'exactitude de l'exécution de milliers de transactions en vérifiant une simple preuve sans rejouer toutes les transactions. Alors, qu'est-ce que ce ZKP et quelles sont ses caractéristiques ?
Deux propriétés des ZKP : zéro connaissance et simplicité
Comme son nom l'indique, un ZKP est en fait une preuve. Une preuve peut être tout ce qui peut suffisamment étayer la revendication du fournisseur. Supposons que Bob (fournisseur) souhaite convaincre Alice (vérificatrice) qu'il a autorité sur son ordinateur portable. La manière la plus simple de le prouver est que Bob dise simplement le mot de passe à Alice, et Alice saisit le mot de passe sur l'ordinateur portable et vérifie que Bob a bien autorité. Cependant, ce processus de vérification n'est pas satisfaisant pour Alice et Bob. Si Bob définit un mot de passe très long et complexe, il sera très difficile pour Alice de le saisir correctement (en supposant qu'Alice ne puisse pas copier et coller). De manière plus réaliste, Bob peut ne pas être disposé à révéler son mot de passe à Alice pour prouver son autorité.
Et si un processus de vérification permettait à Alice de vérifier rapidement l'accès à l'ordinateur sans que Bob ne révèle son mot de passe ? Par exemple, Bob pourrait déverrouiller son ordinateur portable avec la reconnaissance d'empreintes digitales devant Alice, comme le montre la figure 3 (notez qu'il ne s'agit pas d'un exemple parfait de ZKP). C'est là qu'Alice et Bob peuvent tous deux bénéficier de deux propriétés clés des ZKP : la propriété de connaissance nulle et la propriété de simplicité.
Figure 3 : Intuition de haut niveau de connaissance nulle et de simplicité
Source : imgflip
Connaissance zéro (ZK)
La propriété de connaissance nulle fait référence au fait que la preuve générée par le fournisseur ne révèle aucune information sur le témoin secret (c'est-à-dire les données privées) à l'exception de la validité de la preuve, laissant le vérificateur dans l'ignorance des données. Dans la blockchain, cette propriété peut être utilisée pour protéger la confidentialité des utilisateurs individuels. Si les ZKP sont appliqués à chaque transaction, les utilisateurs peuvent prouver la légitimité de leurs actions (c'est-à-dire prouver qu'un utilisateur dispose de suffisamment de fonds pour effectuer une transaction) sans exposer les détails de leurs transactions (par exemple, les transferts, les mises à jour du solde du compte, le déploiement et l'exécution des contrats intelligents) au public.
Simplicité
La propriété succincte fait référence à la capacité de ZK à générer une preuve courte et rapidement vérifiable à partir d'une instruction de grande taille, en d'autres termes, elle compresse quelque chose de gros dans une forme compacte. Dans la blockchain, cela est particulièrement utile pour les rollups. En utilisant les ZKP, un vérificateur en L2 peut revendiquer l'exécution correcte d'une transaction en soumettant une preuve succincte à un vérificateur en L1 (la validité d'une transaction de la taille d'un To peut être représentée par une preuve de 10 à 100 Ko). Le vérificateur peut alors facilement confirmer la validité de l'exécution en peu de temps (c'est-à-dire 10 millisecondes à 1 seconde) en vérifiant la preuve succincte au lieu de rejouer toutes les transactions.
ZK Rollup est génial, mais cela ne signifie pas confidentialité
Les propriétés des ZKP décrites ci-dessus sont bien utilisées dans les ZK Rollups. Bien que les validateurs ne puissent pas déduire les données de transaction d'origine à partir des ZKP reçus des fournisseurs, la vérification des preuves succinctes leur permet de vérifier efficacement les déclarations des fournisseurs (c'est-à-dire le nouvel état L2). Cela dit, il est trompeur d'affirmer que les ZK Rollups actuels adhèrent pleinement aux propriétés de connaissance nulle et de concision. Cela peut être vrai lorsque l'on se concentre sur l'interaction entre les fournisseurs et les validateurs, mais il existe d'autres composants dans les ZK Rollups tels que les séquenceurs, les fournisseurs et les nœuds de cumul. Alors, le principe de connaissance nulle est-il également assuré pour eux ?
Le défi d'obtenir une confidentialité totale avec les ZKP dans n'importe quel ZK Rollups vient des compromis qui peuvent survenir si certaines parties sont rendues privées via ZK tandis que d'autres restent publiques. Pensez au cycle de vie des transactions dans ZK Rollups : la confidentialité est-elle préservée lorsque les transactions sont envoyées des utilisateurs au séquenceur ? Qu'en est-il des fournisseurs ? Ou la confidentialité des informations de compte individuelles est-elle préservée lorsque les lots L2 sont soumis à la couche DA ? Actuellement, aucune de ces affirmations n'est vraie.
Figure 4 : Fuite de confidentialité dans les cumuls ZK
Source : Recherche Presto
Dans la plupart des rollups ZK courants, le séquenceur ou le fournisseur (ou une autre entité centralisée dotée d'autorisations puissantes) peut clairement voir les détails de la transaction, y compris les montants des transferts, les mises à jour du solde du compte, le déploiement et l'exécution du contrat. À titre d'exemple simple, vous pouvez facilement observer tous les détails mentionnés en visitant n'importe quel navigateur de blocs ZK Rollup. De plus, envisagez une situation dans laquelle le séquenceur centralisé cesse de servir pour une raison quelconque et un autre nœud de rollup tente de récupérer l'état du rollup. Il extraira des informations des données L2 publiées publiquement par la couche DA (dans la plupart des cas, L1 Ethereum) et reconstruira l'état L2. Dans ce processus, tout nœud capable de rejouer les transactions L2 stockées par la couche DA peut récupérer des informations sur l'état du compte de chaque utilisateur.
Par conséquent, la terminologie de « connaissance zéro » est mise en œuvre sous une forme fragmentée dans les rollups ZK actuels. Bien que cela ne puisse pas être considéré comme erroné, cela diffère clairement de la perception commune selon laquelle « ZK signifie zéro connaissance équivalente à une confidentialité totale ». La nouveauté des ZK Rollups actuels est d'exploiter la propriété de « concision » au lieu de « zéro connaissance », c'est-à-dire d'exécuter des transactions hors chaîne et de générer des preuves succinctes pour les validateurs afin qu'ils puissent vérifier rapidement et de manière évolutive la validité de l'exécution sans avoir à les réexécuter.
Pour cette raison, certains ZK Rollups, comme Starknet, se qualifient eux-mêmes de « Validity Rollups » pour éviter toute confusion, tandis que d'autres qui garantissent une véritable confidentialité ZK, comme Aztec, se qualifient de ZK-ZK Rollups.
Considérations plus approfondies sur l'aspect pratique des rollups ZK
Comme mentionné précédemment, la plupart des rollups ZK n'implémentent pas entièrement la confidentialité ZK. Alors, quel est notre prochain objectif ? Obtenir une confidentialité totale des transactions en déployant entièrement ZK dans chaque partie du rollup ? En fait, ce n'est pas une question simple. En plus de la nécessité de progrès techniques significatifs pour faire évoluer davantage la technologie, ZK présente toujours des problèmes controversés d'idéologie (comme les utilisations illégales de transactions privées) et de praticité (comme est-ce vraiment utile ?). Étant donné que la discussion des problèmes éthiques de la confidentialité totale des transactions dépasse le cadre de cet article, nous nous concentrerons sur deux problèmes pratiques des rollups ZK rencontrés dans les projets de blockchain.
Point 1 : La génération de ZKP peut être un goulot d'étranglement pour une finalité rapide
Commençons par aborder l'aspect pratique de ZK Rollups lui-même. L'argument de vente le plus convaincant de ZK Rollups est la latence réduite des retraits d'actifs en raison de la finalité rapide de ses transactions, grâce à ZKP. L'augmentation du TPS et les faibles frais de transaction sont des avantages supplémentaires. Le domaine qui utilise le plus efficacement les caractéristiques de ZK Rollups est l'industrie du jeu, car les dépôts et les retraits de devises en jeu sont très fréquents, générant un grand nombre de transactions en jeu chaque seconde.
Mais les ZK Rollups peuvent-ils vraiment être considérés comme la meilleure pile technologique pour les jeux ? Pour cela, nous devons réfléchir plus profondément au concept de finalité rapide dans les ZK Rollups. Imaginez qu'un utilisateur apprécie un jeu Web3 fonctionnant sur une pile technologique basée sur ZK Rollup. L'utilisateur échange des objets du jeu contre des pièces de jeu et essaie de retirer l'actif du jeu.
Pour retirer des actifs, les transactions en jeu doivent être finalisées. Cela signifie que la transaction doit être incluse dans un nouvel engagement d'état Rollup, le ZKP correspondant doit être soumis à L1 et il est nécessaire d'attendre la finalisation de la preuve dans L1 Ethereum pour garantir que la transaction est irréversible. Si tous ces processus peuvent se produire instantanément, nous pouvons alors obtenir la confirmation de transaction instantanée que ZK Rollups vante souvent, permettant aux utilisateurs de retirer des actifs immédiatement.
Cependant, la réalité est loin d’être telle. Selon les statistiques de temps de finalité de différents ZK Rollups fournies par L2beat , zkSync Era prend environ 2 heures, Linea 3 heures et Starknet environ 8 heures en moyenne. En effet, il faut du temps pour générer un ZKP et il faut également du temps supplémentaire pour inclure plus de transactions dans un lot (c'est-à-dire une seule preuve) afin de réduire les frais de transaction. En d'autres termes, la vitesse de génération et de soumission des preuves est un goulot d'étranglement potentiel pour obtenir une finalité rapide des ZK Rollups, ce qui peut réduire l'expérience utilisateur dans les jeux Web3.
Figure 5 : La génération de ZKP peut constituer un goulot d'étranglement potentiel pour la finalisation rapide des cumuls de ZK
Source : imgflip
D'un autre côté, les chaînes optimisées pour le jeu comme Ronin (qui alimente les jeux Web3 comme Pixels et Axie Infinity) assurent une finalité ultra-rapide, sacrifiant la décentralisation et la sécurité. Ronin n'est pas une chaîne basée sur ZK ou Rollup : c'est une blockchain EVM fonctionnant sous l'algorithme de consensus PoA (Proof of Authority) + DPoS (Delegated Proof of Stake). Elle sélectionne 22 validateurs en fonction du nombre de stakes délégués, et ces validateurs génèrent et valident ensuite les blocs de manière PoA (c'est-à-dire un processus de vote parmi les 22 validateurs uniquement). En conséquence, sur Ronin, les transactions peuvent se finaliser rapidement, sont incluses dans les blocs avec presque aucun délai et ont un temps de validation faible. Après le hard fork de Shillin, il a fallu en moyenne seulement 6 secondes pour finaliser chaque transaction. Ronin réalise tout cela sans avoir besoin de ZKP.
Bien sûr, Ronin a aussi des inconvénients. Le fait d'être géré par des validateurs centralisés le rend relativement plus vulnérable à la menace d'une attaque 51%. De plus, comme il n'utilise pas Ethereum comme couche de règlement, il ne peut pas hériter de la sécurité d'Ethereum. L'utilisation de ponts inter-chaînes présente également des risques de sécurité. Mais du point de vue des utilisateurs : s'en soucient-ils ? Les ZK Rollups actuels sans ordre décentralisé présentent également des problèmes de point de défaillance unique (SPOF). Ethereum leur fournit des garanties car il réduit la possibilité de retour en arrière des transactions, mais les ZK Rollups peuvent également se bloquer si le séquenceur ou le validateur centralisé échoue. Notez encore que le ZK dans les ZK Rollups n'est utilisé que pour vérifier la validité de l'exactitude de l'exécution. S'il existe un autre projet qui offre la même fonctionnalité mais plus rapide et moins cher, les ZK Rollups ne peuvent plus être considérés comme la pile technologique préférée des utilisateurs et des développeurs de jeux Web3.
Point 2 : Les différences de statut de publication sont une arme à double tranchant
Un autre point est la praticité de l'implémentation du protocole ZK Rollup. Parmi eux, nous nous concentrons ici sur la publication des différences d'état, qui est l'une des méthodes permettant de garantir la disponibilité des données dans les rollups ZK (voir Déverrouillage de la mise à niveau de Dencun : la vérité invisible de la mise à l'échelle des couches DA , Jaehyun Ha, 12 avril 24).
Une façon simple de comprendre la disponibilité des données dans les Rollups est d'imaginer un alpiniste amateur prouvant et documentant son ascension du mont Everest. La façon la plus simple de procéder consiste à enregistrer chaque étape du camp de base au sommet sur vidéo. Bien que le fichier vidéo puisse être volumineux, n'importe qui peut vérifier l'ascension de l'alpiniste et éventuellement relire l'enregistrement. Cette métaphore peut être comparée à l'approche de publication des données de transaction d'origine pour garantir la disponibilité des données. Les Rollups optimistes suivent cette approche afin que les challengers individuels puissent relire et vérifier l'exécution correcte, car les engagements d'état des séquenceurs ne sont pas fiables. Dans les Rollups ZK, Polygon zkEVM et Scroll adoptent cette approche, en stockant les données de transaction L2 d'origine sous une forme compressée sur L1 afin que n'importe qui puisse relire les transactions L2 pour restaurer l'état du Rollup en cas de besoin.
Pour revenir à l’exemple de l’alpiniste amateur, une autre méthode de vérification pourrait consister à demander à un alpiniste célèbre de gravir l’Everest avec l’alpiniste amateur pour prouver au monde que l’ascension a bien été réalisée. Puisque l’ascension a été confirmée par une personne de confiance, l’alpiniste n’a plus besoin d’enregistrer chaque pas pour conserver des archives. Le simple fait de prendre une photo au point de départ et au sommet de la montagne permettra aux autres de croire que l’alpiniste a atteint le sommet. Cette métaphore reflète l'approche des différences d'état utilisé pour garantir la disponibilité des données. Dans ZK Rollups, zkSync Era et StarkNet adoptent cette approche, en stockant uniquement la différence d'état avant et après l'exécution de la transaction L2 sur L1, afin que chacun puisse calculer la différence d'état par rapport à l'état initial pour restaurer l'état du Rollup si nécessaire.
Figure 6 : Libération de la transaction d'origine et libération de la différence de statut
Source : Recherche Presto
Cette méthode de différence d'état est sans aucun doute rentable par rapport à la méthode de publication des données de transaction d'origine, car elle permet d'économiser l'étape de stockage des transactions intermédiaires, réduisant ainsi le coût de stockage de L1. Bien que cela ne pose généralement pas de problème, il existe ici un défaut potentiel : cette méthode ne permet pas de récupérer l'historique complet des transactions L2, ce qui peut être un problème pour certaines DApps.
Prenons l'exemple de Compound, un protocole de prêt DeFi, et supposons qu'il soit construit sur une pile ZK Rollup basée sur un différentiel d'état. Ces protocoles nécessitent un historique complet des transactions pour calculer les taux d'offre et de prêt chaque seconde. Cependant, si le séquenceur ZK Rollup échoue, que se passe-t-il lorsque d'autres nœuds Rollup tentent de restaurer l'état le plus récent ? Il peut restaurer l'état, mais le taux d'intérêt sera restauré de manière inexacte car il ne peut suivre que les instantanés entre les lots au lieu de chaque transaction intermédiaire.
en conclusion
L'affirmation principale de cet article est qu'il n'y a pas de « ZK » dans la plupart des ZK Rollups d'aujourd'hui, et qu'il existe de nombreux endroits dans les DApps où l'utilisation de ZKP et de procédures ZK peut ne pas être le meilleur choix. La technologie ZK peut sembler innocente d’être accusée car elle n’a rien de mal en elle-même, mais elle peut entraîner une dégradation potentielle des performances des DApps dans le processus d’utilisation de son avancée technologique. Cependant, cela ne veut pas dire que la technologie ZK est inutile pour l’industrie. Lorsque les ZKP et les ZK rollups finiront par arriver à maturité, ils pourront certainement fournir de meilleures solutions au trilemme de la blockchain. En fait, il existe déjà des projets basés sur ZK qui préservent la confidentialité de ZK, et il existe de nombreux types de DApps qui tirent efficacement parti des ZKP et des convolutions ZK.
Cet article provient d'Internet : ZK Rollups : l'éléphant dans la pièce
Le 24 avril, selon les informations officielles, China Asset Management (Hong Kong) a annoncé aujourd'hui que les ETF China Asset Managements Bitcoin et China Asset Managements Ethereum ETF avaient été approuvés par la Securities and Futures Commission (SFC) de Hong Kong et devraient être émis le 29 avril 2024 et coté sur la plateforme de négociation de Hong Kong le 30 avril 2024. C'est la première fois que de tels produits sont lancés sur le marché asiatique. Ces deux types de produits sont conçus pour fournir des retours sur investissement ancrés aux prix au comptant du Bitcoin et de l’Ethereum. Cette évolution majeure a une fois de plus attiré l'attention sur le concept de Hong Kong. Au début de cette année, CFX, leader du concept hongkongais, est passé de US$0.19 à US$0.52 en deux mois.…