Blockchain (nom) : Une machine de coordination qui permet aux participants du monde entier de collaborer le long d'un ensemble de règles communément convenues sans qu'aucun tiers ne le facilite.
Les ordinateurs sont conçus pour effectuer trois tâches : stocker des données, calculer et communiquer entre eux et avec les humains. Les blockchains ajoutent une quatrième dimension : des garanties supplémentaires que ces trois éléments (stockage, calcul et communication) se déroulent de manière convenue. Ces garanties permettent la coopération entre des étrangers sans tierce partie de confiance pour faciliter cela (décentralisé).
Ces garanties supplémentaires peuvent être économiques (théorie des jeux de confiance et incitations/dissuasions) ou cryptographiques (mathématiques de confiance), mais la plupart des applications utilisent une combinaison des deux - cryptéconomique. Cela contraste fortement avec l'état actuel majoritairement basé sur la réputation des systèmes.
Alors que Web3 est souvent décrit comme "lire, écrire, posséder", nous pensons qu'une meilleure notion pour la troisième itération d'Internet est "lire, écrire, vérifier", étant donné que l'avantage clé des blockchains publiques est calcul garantiet une vérification facile que ces garanties ont été honorées. La propriété peut être un sous-ensemble du calcul garanti si nous construisons des artefacts numériques qui peuvent être achetés, vendus et contrôlés. Cependant, de nombreux cas d'utilisation des blockchains bénéficient d'un calcul garanti mais n'impliquent pas directement la propriété. Par exemple, si votre santé dans un jeu entièrement on-chain est de 77/100 - possédez-vous cette santé ou est-elle simplement contraignante on-chain selon des règles communément convenues ? Nous soutiendrions que c'est ce dernier, mais Chris Dixonpourrait être en désaccord.
Web3 = Lire, Écrire, Vérifier
Les blockchains offrent beaucoup de raisons d'être enthousiastes, mais le modèle décentralisé ajoute également des coûts et de l'inefficacité grâce à des fonctions supplémentaires telles que la messagerie P2P et le consensus. De plus, la plupart des blockchains valident encore les transitions d'état correctes par réexécution, ce qui signifie que chaque nœud du réseau doit réexécuter les transactions pour vérifier la correction de la transition d'état proposée. Cela est gaspilleur et contraste fortement avec le modèle centralisé où une seule entité exécute. Alors qu'un système décentralisé contient toujours un certain surcoût et une réplication, l'objectif devrait être de se rapprocher asymptotiquement d'une référence centralisée en termes d'efficacité.
Même si l'infrastructure sous-jacente s'est considérablement améliorée au cours de la dernière décennie, il reste beaucoup de travail avant que les blockchains puissent gérer l'échelle de l'Internet. Nous voyons des compromis le long de deux axes principaux - expressivité et complexité - et croyons que la modularité permet une expérimentation plus rapide le long de la frontière des compromis tandis que ZK l'élargit :
La modularité est le degré selon lequel les composants d'un système peuvent être séparés et recombinés. Grâce à des boucles de rétroaction plus rapides et à des barrières à l'entrée plus faibles avec moins de capital requis (à la fois économique et humain) - la modularité permet une expérimentation et une spécialisation plus rapides. La question de la modularité par rapport à l'intégration n'est pas binaire, mais plutôt un spectre à expérimenter pour déterminer quelles parties il est logique de découpler et lesquelles ne le sont pas.
Les preuves de connaissance nulle, ou ZKP, permettent à une partie (le prouveur) de prouver à une autre partie (le vérificateur) qu'elle sait quelque chose de vrai, sans révéler aucune information supplémentaire au-delà de sa validité. Cela peut augmenter la scalabilité et l'efficacité en évitant la ré-exécution (passant d'un modèle où tous exécutent à vérifier, à un modèle où un seul exécute et tous vérifient), ainsi que l'expressivité en permettant la confidentialité (avec des limitations). Les ZKPs améliorent également la robustesse des garanties en remplaçant des garanties cryptonomiques plus faibles par des garanties plus fortes, ce qui est représenté en repoussant la frontière de compromis vers l'extérieur (en référence au graphique ci-dessus).
Nous croyons que la modularité et la "ZKfication de tout" sont des tendances qui continueront à s'accélérer. Alors que chacun fournit des perspectives intéressantes pour explorer l'espace individuellement, nous sommes particulièrement intéressés par le croisement des deux. Les deux questions clés qui nous intéressent sont :
Cependant, avant de pouvoir aborder ces questions, nous avons besoin d'une vision actualisée de ce à quoi ressemble la pile modulaire en 2024.
L'image souvent utilisée de la pile modulaire avec quatre composants (exécution, publication de données, consensus, règlement) est utile en tant que modèle mental simple, mais nous ne pensons plus que c'est une représentation adéquate étant donné à quel point l'espace modulaire a évolué. Un découplage plus poussé conduit à de nouveaux composants qui étaient auparavant considérés comme faisant partie d'un ensemble plus important, tout en créant de nouvelles dépendances et un besoin d'interopérabilité sécurisée entre les différents composants (nous en parlerons plus tard). Étant donné la vitesse à laquelle l'espace évolue, il peut être difficile de rester à jour sur toutes les innovations à différents niveaux de la pile.
Les premières tentatives d'exploration de la pile web3 incluent celles de Kyle Samani(Multicoin) - initialement publié dans2018 et mis à jour dans 2019. Il couvre tout, de l'accès à Internet de dernière mile décentralisé (comme Hélium) à la gestion des clés par l'utilisateur final. Alors que les principes qui la sous-tendent pourraient être recyclés, certains éléments, comme la preuve et la vérification, font totalement défaut.
Avec cela à l'esprit, nous avons essayé de créer une représentation mise à jour de ce à quoi ressemble la pile modulaire en 2024, en élargissant la pile modulaire existante en quatre parties. Il est divisé par composant plutôt que par fonctionnalité, ce qui signifie que le réseau P2P, par exemple, est inclus dans le consensus plutôt que d'être séparé en tant que composant distinct - principalement parce qu'il est difficile de construire un protocole autour de cela.
Maintenant que nous avons une vue mise à jour de la pile modulaire, nous pouvons commencer à examiner la vraie question, c'est-à-dire quelles parties de la pile ZK ont déjà été pénétrées et quels problèmes ouverts pourraient être résolus en introduisant ZK (en évitant la réexécution ou en ajoutant des fonctionnalités de confidentialité). Voici un résumé de nos conclusions, avant d'approfondir chaque composant séparément.
Les utilisateurs actuels des blockchains doivent naviguer à travers plusieurs chaînes, portefeuilles et interfaces, ce qui est fastidieux et constitue un frein à une adoption plus large. L'abstraction des opérations utilisateur est un terme générique désignant toute tentative de dissocier cette complexité et de permettre aux utilisateurs d'interagir avec une seule interface (par exemple, une application ou un portefeuille spécifique), toute la complexité se produisant en arrière-plan. Quelques exemples d'abstractions au niveau de l'infrastructure incluent :
Les transactions doivent être ordonnées avant d'être ajoutées à un bloc, ce qui peut être fait de nombreuses manières : en les classant par rentabilité pour le proposant (les transactions les plus rémunératrices d'abord), dans l'ordre de leur soumission (premier arrivé, premier servi), en donnant la priorité aux transactions provenant des pools de mémoire privée, etc.
Une autre question est de savoir qui peut ordonner les transactions. Dans un monde modulaire, plusieurs parties différentes peuvent le faire, notamment le séquenceur rollup (centralisé ou décentralisé), le séquençage L1 (basé sur les rollups) et un réseau de séquençage partagé (réseau décentralisé de séquenceurs utilisé par plusieurs rollups). Tous ces éléments ontdifférentes hypothèses de confiance et capacités à l'échelle. En pratique, l'ordonnancement réel des transactions et leur regroupement en un bloc peuvent également être effectués en dehors du protocole par des acteurs spécialisés (blockbuilders).
La couche d'exécution contient la logique de la mise à jour de l'état et c'est là que les contrats intelligents sont exécutés. En plus de renvoyer une sortie du calcul, les zkVM permettent également de prouver que les transitions d'état ont été effectuées correctement. Cela permet à d'autres participants du réseau de vérifier l'exécution correcte en ne vérifiant que la preuve, plutôt que de devoir réexécuter les transactions.
Outre une vérification plus rapide et plus efficace, un autre avantage de l'exécution prouvable est de permettre des calculs plus complexes, car vous ne rencontrez pas les problèmes typiques de gaz et de ressources limitées sur la chaîne avec le calcul hors chaîne. Cela ouvre la voie à de toutes nouvelles applications qui sont plus intensives en termes de calcul à exécuter sur des blockchains et qui tirent parti de calculs garantis.
La requête de données, ou la lecture de données à partir de la blockchain, est une partie essentielle de la plupart des applications. Alors que beaucoup de discussions et d'efforts au cours des dernières années ont été axés sur l'augmentation des écritures (exécution) - l'augmentation des lectures est encore plus importante en raison du déséquilibre entre les deux (particulièrement dans un environnement décentralisé). Le ratio entre lecture/écriture diffère entre les blockchains, mais un point de données est Estimation de Sigque >96% de tous les appels aux nœuds sur Solana étaient des appels en lecture (selon 2 ans de données empiriques) - un ratio de lecture/écriture de 24:1.
L'extension des lectures comprend à la fois l'obtention de meilleures performances (plus de lectures par seconde) avec des clients validateurs dédiés (comme Sig sur Solana) et la possibilité d'effectuer des requêtes plus complexes (combinaison de lectures avec calcul), par exemple avec l'aide de coprocesseurs.
Un autre angle consiste à décentraliser les méthodes de requête de données. Aujourd'hui, la plupart des demandes de requête de données dans les blockchains sont facilitées par des tiers de confiance (basés sur la réputation), tels que les nœuds RPC (Infura) et indexeurs (Dune). Les exemples d'options plus décentralisées incluent Le Graphiqueet les opérateurs de preuve de stockage (qui sont également vérifiables). Il existe également plusieurs tentatives de créer un réseau RPC décentralisé, telles que Infura DINouRéseau Lava(en plus du RPC décentralisé, Lava vise à offrir ultérieurement des services d'accès aux données supplémentaires).
Avec de plus en plus d'applications intégrant des ZKPs, la preuve et la vérification deviennent rapidement une partie essentielle de la pile modulaire. Aujourd'hui, cependant, la plupart des infrastructures de preuve sont encore autorisées et centralisées, de nombreuses applications s'appuyant sur un seul prouveur.
Alors que la solution centralisée est moins complexe, décentraliser l'architecture de preuve et la diviser en un composant séparé dans la pile modulaire présente plusieurs avantages. Un des principaux avantages réside dans les garanties de vivacité, cruciales pour les applications dépendantes d'une génération de preuve fréquente. Les utilisateurs bénéficient également d'une plus grande résistance à la censure et de frais réduits grâce à la concurrence et au partage de la charge de travail entre plusieurs vérificateurs.
Nous croyons que les réseaux de prouveurs polyvalents (nombreuses applications, nombreux prouveurs) sont supérieurs aux réseaux de prouveurs pour une seule application (une application, nombreux prouveurs) en raison d'une meilleure utilisation du matériel existant et d'une complexité moindre pour les prouveurs. Une utilisation plus élevée profite également aux utilisateurs en termes de frais moins élevés, car les prouveurs n'ont pas besoin d'être compensés pour la redondance par le biais de frais plus élevés (ils doivent tout de même couvrir les coûts fixes).
Figment Capitala fourni un bon aperçu de l'état actuel de la chaîne d'approvisionnement en preuves, qui se compose à la fois de la génération de preuves et de l'agrégation de preuves (qui est en soi une génération de preuves, mais en prenant simplement deux preuves en entrée plutôt que la trace d'exécution).
Source: Figment Capital
Source: Figment Capital
La publication des données (DP) garantit que les données sont disponibles et facilement récupérables pendant une courte période (1-2 semaines). Cela est crucial à la fois pour la sécurité (les rollups optimistes nécessitent des données d'entrée pour vérifier l'exécution correcte en les réexécutant pendant la période de contestation, 1-2 semaines) et pour la vivacité (même si un système utilise des preuves de validité, les données de transaction sous-jacentes peuvent être nécessaires pour prouver la propriété d'actifs pour les portes de sortie, les transactions forcées ou pour vérifier que les entrées correspondent aux sorties). Les utilisateurs (tels que les passerelles zk et les rollups) font face à un paiement ponctuel, qui couvre le coût de stockage des transactions et de l'état pendant une courte période jusqu'à ce qu'il soit élagué. Les réseaux de publication de données ne sont pas conçus pour le stockage à long terme des données (au lieu de cela, consultez la prochaine section pour des solutions possibles).
Celestiaa été la première couche DP alternative à lancer son mainnet (31 octobre), mais il y aura bientôt de nombreuses alternatives parmi lesquelles choisir comme Avail, EigenDA, et Près de DAsont tous censés être lancés en 2024. De plus, Ethereum’s EIP 4844 mettre à niveau la publication de données à grande échelle sur Ethereum (en plus de créer un marché de frais distinct pour le stockage d’objets blob) et préparer le terrain pour un dank-sharding complet. DP s’étend également à d’autres écosystèmes, par exemple @nubit_org/riema-sécurise-un-investissement-ange-pour-le-lancement-de-la-première-couche-de-disponibilité-de-données-native-de-bitcoin-49ccf0487380">Nubit qui vise à construire DP natif sur Bitcoin.
De nombreuses solutions DP offrent également des services au-delà de la simple publication de données, y compris la sécurité partagée pour les rollups souverains (comme CelestiaetDisponible) ou une meilleure interopérabilité entre les rollups (comme ceux d'AvailNexus). Il y a aussi des projets (DomiconetZéro gravité) qui offrent à la fois la publication de données et le stockage à long terme, ce qui est une proposition convaincante. Il s'agit également d'un exemple de recomposition de deux composants dans la pile modulaire, quelque chose que nous verrons probablement davantage à l'avenir (expérimentation à la fois avec un découplage supplémentaire et une recomposition).
Stocker des données historiques est important principalement à des fins de synchronisation et de traitement des demandes de données. Cependant, il n'est pas réalisable pour chaque nœud complet de stocker toutes les données et la plupart des nœuds complets élaguent les anciennes données pour maintenir des exigences matérielles raisonnables. À la place, nous nous appuyons sur des parties spécialisées (nœuds d'archive et indexeurs) pour stocker toutes les données historiques et les rendre disponibles à la demande des utilisateurs.
Il existe également des fournisseurs de stockage décentralisé, tels que FilecoinouArweave, qui offrent des solutions de stockage décentralisé à long terme à un prix raisonnable. Alors que la plupart des blockchains n'ont pas de processus formel de stockage d'archives (simplement se fier à quelqu'un pour le stocker), les protocoles de stockage décentralisé sont de bons candidats pour stocker l'historique et ajouter une certaine redondance (au moins X nœuds stockent les données) grâce aux incitations intégrées au réseau de stockage.
Étant donné que les blockchains sont des systèmes distribués de pair à pair, il n'y a pas de tiers de confiance qui détermine la vérité globale. Au lieu de cela, les nœuds du réseau s'accordent sur ce qui constitue la vérité actuelle (quel bloc est le bon) grâce à un mécanisme appelé consensus. Les méthodes de consensus basées sur la preuve d'enjeu (PoS) pourraient être catégorisées soit comme étant basées sur le BFT (où le quorum de validateurs tolérant les fautes byzantines décide de l'état final) soit comme étant basées sur la chaîne (où l'état final est décidé rétrospectivement par la règle de choix de fourche). Alors que la plupart des implémentations de consensus PoS existantes sont basées sur le BFT, Cardanoest un exemple d'implémentation de la chaîne la plus longue. Il y a aussi un intérêt croissant pour les mécanismes de consensus basés sur le DAG tels que Narwhal-Bullshark qui est mis en œuvre dans certaines variations à travers Aleo, Aptos et Sui.
Le consensus est une partie cruciale de nombreux composants différents de la pile modulaire, y compris le séquenceur partagé, la preuve décentralisée et les réseaux de publication de données basés sur la blockchain (et non basés sur un comité comme EigenDA).
Le règlement s’apparente à la plus haute cour de justice - la source finale de vérité où l’exactitude des transitions d’État est vérifiée et les différends sont réglés. Une transaction est considérée comme définitive au moment où elle est irréversible (ou, dans le cas d’une finalité probabiliste, au moment où il serait suffisamment difficile de l’annuler). Le délai de finalité dépend de la couche de règlement sous-jacente utilisée, qui dépend à son tour de la règle de finalité spécifique utilisée et du temps de bloc.
La lenteur de la finalité est particulièrement problématique dans la communication inter-rollup, où les rollups doivent attendre la confirmation d'Ethereum avant de pouvoir approuver une transaction (7 jours pour les rollups optimistes, 12 minutes et temps de preuve pour les rollups de validité). Cela conduit à une mauvaise expérience utilisateur. Plusieurs efforts sont déployés pour résoudre ce problème en utilisant des pré-confirmations avec un certain niveau de sécurité. Des exemples incluent à la fois des solutions spécifiques à l'écosystème (Gate.io)Couche AggLayer surfaciqueouzkSync HyperBridge) et des solutions polyvalentes telles que Couche de finalité rapide de Nearqui vise à connecter plusieurs écosystèmes rollup différents en tirant parti de la sécurité économique d'EigenLayer. Il y a aussi l'option deponts rollup natifs exploitant EigenLayerpour des confirmations rapides afin d'éviter d'attendre la pleine finalité.
La sécurité est liée à la solidité des garanties et constitue une partie cruciale de la proposition de valeur des blockchains. Cependant, le démarrage de la sécurité cryptéconomique est difficile - augmentant les barrières à l'entrée et agissant comme un frein à l'innovation pour les applications qui en ont besoin (différents intergiciels et L1 alternatifs).
L'idée de sécurité partagée est d'utiliser la sécurité économique existante des réseaux PoS et de la soumettre à un risque de réduction supplémentaire (conditions de sanction), plutôt que chaque composant essayant de démarrer le sien. Il y a eu quelques tentatives antérieures de faire la même chose dans les réseaux PoW (minage fusionné.)), mais des incitations mal alignées ont facilité la collusion et l’exploitation d’un protocole par les mineurs (plus difficile de punir les mauvais comportements car le travail se déroule dans le monde physique, c’est-à-dire le minage en utilisant la puissance de calcul). La sécurité PoS est plus flexible pour être utilisée par d’autres protocoles, car elle présente à la fois des incitations positives (rendement du jalonnement) et négatives (réduction des coûts).
Les protocoles construits autour du principe de sécurité partagée incluent:
L'interopérabilité sûre et efficace reste un grand défi dans un monde multi-chaînes, illustré par le 2.8 milliards de dollars perdus dans des piratages de ponts. Dans les systèmes modulaires, l'interopérabilité devient encore plus importante - Non seulement vous communiquez entre d'autres chaînes, mais les blockchains modulaires nécessitent également que différents composants communiquent entre eux (comme la couche DA et de règlement). Il n'est donc plus possible de simplement exécuter un nœud complet ou de vérifier une seule preuve de consensus comme dans les blockchains intégrées. Cela ajoute plus d'éléments en mouvement à l'équation.
L’interopérabilité comprend à la fois le pontage de jetons et la transmission de messages plus généraux entre les blockchains. Il existe plusieurs options différentes qui font toutes des compromis différents en matière de sécurité, de latence et de coût. L’optimisation pour les trois est très difficile, ce qui nécessite généralement d’en sacrifier au moins un. De plus, les normes différentes d’une chaîne à l’autre rendent plus difficile la mise en œuvre sur de nouvelles chaînes.
Alors que nous manquons encore d'une définition claire des différents types de clients légers (ou nœuds), ce post par Dino(co-fondateur de Fluent & Modular Media) donne une bonne introduction. La plupart des clients légers vérifient aujourd'hui uniquement le consensus, mais idéalement, nous aurions des clients légers qui pourraient vérifier également l'exécution et DA pour réduire les hypothèses de confiance. Cela permettrait de se rapprocher de la sécurité des nœuds complets, sans les exigences matérielles élevées.
En supposant que nous puissions atteindre un état où la génération des preuves à divulgation nulle de connaissance (ZKPs) devient très rapide (presque à la vitesse de la lumière) et incroyablement bon marché (presque gratuit), à quoi ressemble le résultat final ? En d'autres termes, quand est-ce que ZK a consommé la pile modulaire ?
De manière générale, nous croyons que deux choses seraient vraies dans cet état du monde:
Une troisième condition concernerait la confidentialité (ou la gestion des flux d'informations), mais c'est plus compliqué. Les ZKPs peuvent être utilisés pour certaines applications de confidentialité avec une preuve côté client, ce sur quoi des plateformes comme Aleo, Aztec ou Polygon Miden travaillent, mais la réalisation d'une confidentialité à grande échelle pour tous les cas d'utilisation potentiels repose également sur les progrès du MPC et du FHE - un sujet potentiel pour un futur article de blog.
Et si nous avions tort, et que l'avenir n'est ni modulaire ni ZK'fied? Certains risques potentiels pour notre thèse incluent:
Tant les utilisateurs que les développeurs souffrent du nombre croissant de chaînes. Les utilisateurs doivent gérer des fonds sur plusieurs chaînes (et potentiellement plusieurs portefeuilles). Les développeurs d'applications, quant à eux, ont moins de stabilité et de prévisibilité étant donné à quel point l'espace évolue encore, ce qui rend plus difficile de décider sur quelle chaîne construire. Ils doivent également penser à la fragmentation de l'état et de la liquidité. Cela est particulièrement vrai maintenant alors que nous expérimentons encore le front pionnier des composants qu'il convient de découpler et ceux qui seront recouplés. Nous croyons que l'abstraction des opérations utilisateur ainsi que des solutions d'interopérabilité sûres et efficaces sont des éléments cruciaux pour résoudre ce problème.
Il est indéniable que la génération de preuves prend trop de temps et que le coût de la preuve et de la vérification est encore beaucoup trop élevé aujourd'hui. Des solutions concurrentes telles que les environnements d'exécution de confiance/TEEs (confidentialité) ou des solutions de sécurité optimistes/cryptéconomiques (coût) ont encore plus de sens pour de nombreuses applications aujourd'hui.
Beaucoup de travail est toutefois en cours concernant l'optimisation des logiciels et l'accélération matérielle pour les preuves à divulgation nulle de connaissance (ZKPs). L'agrégation des preuves contribuera à réduire davantage les coûts de vérification en répartissant le coût entre plusieurs parties différentes (coût inférieur/utilisateur). Il est également possible d'adapter la couche de base pour qu'elle soit plus optimisée pour la vérification des ZKPs. Un défi concernant l'accélération matérielle pour les ZKPs est le développement rapide des systèmes de preuve. Cela rend difficile la création de matériel spécialisé (ASIC) car il risque de devenir rapidement obsolète si/quand les normes des systèmes de preuve sous-jacents évoluent.
Ingonyamaa tenté de créer un certain benchmarking pour la performance du prouveur à travers une métrique comparable appelée score ZK. Il est basé sur le coût de l'exécution du calcul (OPEX) et suit MMOPS/WATT, où MMOPS signifie opérations de multiplication modulaire par seconde. Pour en savoir plus sur le sujet, nous recommandons les blogs de @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic and @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama, ainsi que cette discussion par Wei Dai.
ZKPs ne peuvent être utilisés que pour garantir la confidentialité de l'état personnel, et non de l'état partagé où plusieurs parties doivent effectuer des calculs sur des données chiffrées (comme un Uniswap privé). FHE et MPC sont également nécessaires pour assurer une confidentialité totale, mais ils doivent améliorer leur coût et leurs performances de plusieurs ordres de magnitude avant de devenir des options viables pour une utilisation à plus grande échelle. Cela dit, les ZKPs restent utiles pour certains cas d'utilisation ne nécessitant pas un état partagé privé, tels que les solutions d'identité ou les paiements. Tous les problèmes ne nécessitent pas d'être résolus avec le même outil.
Alors, où cela nous laisse-t-il? Alors que nous progressons chaque jour, il reste encore beaucoup de travail. Les problèmes les plus pressants à résoudre sont comment la valeur et l'information peuvent circuler en toute sécurité entre différents composants modulaires sans sacrifier la vitesse ou le coût, ainsi que l'abstraction de tout cela de l'utilisateur final afin qu'ils n'aient pas à se soucier de faire le pont entre différentes chaînes, de changer de portefeuille, etc.
Alors que nous sommes actuellement encore très largement dans la phase d'expérimentation, les choses devraient se stabiliser avec le temps alors que nous découvrons où se situent les compromis optimaux pour chaque cas d'utilisation. Cela permettra à son tour l'émergence de normes (informelles ou formelles) et apportera plus de stabilité aux constructeurs au-dessus de ces chaînes.
Aujourd'hui, il existe encore de nombreux cas d'utilisation qui recourent par défaut à la sécurité cryptonomique en raison du coût et de la complexité de la génération de ZKPs, et certains qui nécessitent une combinaison des deux. Cependant, cette part devrait diminuer avec le temps alors que nous concevons des systèmes de preuve plus efficaces et du matériel spécialisé pour réduire le coût et la latence de la preuve et de la vérification. Avec chaque réduction exponentielle des coûts et de la vitesse, de nouveaux cas d'utilisation sont débloqués.
Bien que cet article soit axé sur les ZKPs en particulier, nous sommes également de plus en plus intéressés par la façon dont les solutions de cryptographie moderne (ZKPs, MPC, FHE et TEE) finiront par jouer ensemble - quelque chose que nous voyons déjà.
Merci de lire!
Blockchain (nom) : Une machine de coordination qui permet aux participants du monde entier de collaborer le long d'un ensemble de règles communément convenues sans qu'aucun tiers ne le facilite.
Les ordinateurs sont conçus pour effectuer trois tâches : stocker des données, calculer et communiquer entre eux et avec les humains. Les blockchains ajoutent une quatrième dimension : des garanties supplémentaires que ces trois éléments (stockage, calcul et communication) se déroulent de manière convenue. Ces garanties permettent la coopération entre des étrangers sans tierce partie de confiance pour faciliter cela (décentralisé).
Ces garanties supplémentaires peuvent être économiques (théorie des jeux de confiance et incitations/dissuasions) ou cryptographiques (mathématiques de confiance), mais la plupart des applications utilisent une combinaison des deux - cryptéconomique. Cela contraste fortement avec l'état actuel majoritairement basé sur la réputation des systèmes.
Alors que Web3 est souvent décrit comme "lire, écrire, posséder", nous pensons qu'une meilleure notion pour la troisième itération d'Internet est "lire, écrire, vérifier", étant donné que l'avantage clé des blockchains publiques est calcul garantiet une vérification facile que ces garanties ont été honorées. La propriété peut être un sous-ensemble du calcul garanti si nous construisons des artefacts numériques qui peuvent être achetés, vendus et contrôlés. Cependant, de nombreux cas d'utilisation des blockchains bénéficient d'un calcul garanti mais n'impliquent pas directement la propriété. Par exemple, si votre santé dans un jeu entièrement on-chain est de 77/100 - possédez-vous cette santé ou est-elle simplement contraignante on-chain selon des règles communément convenues ? Nous soutiendrions que c'est ce dernier, mais Chris Dixonpourrait être en désaccord.
Web3 = Lire, Écrire, Vérifier
Les blockchains offrent beaucoup de raisons d'être enthousiastes, mais le modèle décentralisé ajoute également des coûts et de l'inefficacité grâce à des fonctions supplémentaires telles que la messagerie P2P et le consensus. De plus, la plupart des blockchains valident encore les transitions d'état correctes par réexécution, ce qui signifie que chaque nœud du réseau doit réexécuter les transactions pour vérifier la correction de la transition d'état proposée. Cela est gaspilleur et contraste fortement avec le modèle centralisé où une seule entité exécute. Alors qu'un système décentralisé contient toujours un certain surcoût et une réplication, l'objectif devrait être de se rapprocher asymptotiquement d'une référence centralisée en termes d'efficacité.
Même si l'infrastructure sous-jacente s'est considérablement améliorée au cours de la dernière décennie, il reste beaucoup de travail avant que les blockchains puissent gérer l'échelle de l'Internet. Nous voyons des compromis le long de deux axes principaux - expressivité et complexité - et croyons que la modularité permet une expérimentation plus rapide le long de la frontière des compromis tandis que ZK l'élargit :
La modularité est le degré selon lequel les composants d'un système peuvent être séparés et recombinés. Grâce à des boucles de rétroaction plus rapides et à des barrières à l'entrée plus faibles avec moins de capital requis (à la fois économique et humain) - la modularité permet une expérimentation et une spécialisation plus rapides. La question de la modularité par rapport à l'intégration n'est pas binaire, mais plutôt un spectre à expérimenter pour déterminer quelles parties il est logique de découpler et lesquelles ne le sont pas.
Les preuves de connaissance nulle, ou ZKP, permettent à une partie (le prouveur) de prouver à une autre partie (le vérificateur) qu'elle sait quelque chose de vrai, sans révéler aucune information supplémentaire au-delà de sa validité. Cela peut augmenter la scalabilité et l'efficacité en évitant la ré-exécution (passant d'un modèle où tous exécutent à vérifier, à un modèle où un seul exécute et tous vérifient), ainsi que l'expressivité en permettant la confidentialité (avec des limitations). Les ZKPs améliorent également la robustesse des garanties en remplaçant des garanties cryptonomiques plus faibles par des garanties plus fortes, ce qui est représenté en repoussant la frontière de compromis vers l'extérieur (en référence au graphique ci-dessus).
Nous croyons que la modularité et la "ZKfication de tout" sont des tendances qui continueront à s'accélérer. Alors que chacun fournit des perspectives intéressantes pour explorer l'espace individuellement, nous sommes particulièrement intéressés par le croisement des deux. Les deux questions clés qui nous intéressent sont :
Cependant, avant de pouvoir aborder ces questions, nous avons besoin d'une vision actualisée de ce à quoi ressemble la pile modulaire en 2024.
L'image souvent utilisée de la pile modulaire avec quatre composants (exécution, publication de données, consensus, règlement) est utile en tant que modèle mental simple, mais nous ne pensons plus que c'est une représentation adéquate étant donné à quel point l'espace modulaire a évolué. Un découplage plus poussé conduit à de nouveaux composants qui étaient auparavant considérés comme faisant partie d'un ensemble plus important, tout en créant de nouvelles dépendances et un besoin d'interopérabilité sécurisée entre les différents composants (nous en parlerons plus tard). Étant donné la vitesse à laquelle l'espace évolue, il peut être difficile de rester à jour sur toutes les innovations à différents niveaux de la pile.
Les premières tentatives d'exploration de la pile web3 incluent celles de Kyle Samani(Multicoin) - initialement publié dans2018 et mis à jour dans 2019. Il couvre tout, de l'accès à Internet de dernière mile décentralisé (comme Hélium) à la gestion des clés par l'utilisateur final. Alors que les principes qui la sous-tendent pourraient être recyclés, certains éléments, comme la preuve et la vérification, font totalement défaut.
Avec cela à l'esprit, nous avons essayé de créer une représentation mise à jour de ce à quoi ressemble la pile modulaire en 2024, en élargissant la pile modulaire existante en quatre parties. Il est divisé par composant plutôt que par fonctionnalité, ce qui signifie que le réseau P2P, par exemple, est inclus dans le consensus plutôt que d'être séparé en tant que composant distinct - principalement parce qu'il est difficile de construire un protocole autour de cela.
Maintenant que nous avons une vue mise à jour de la pile modulaire, nous pouvons commencer à examiner la vraie question, c'est-à-dire quelles parties de la pile ZK ont déjà été pénétrées et quels problèmes ouverts pourraient être résolus en introduisant ZK (en évitant la réexécution ou en ajoutant des fonctionnalités de confidentialité). Voici un résumé de nos conclusions, avant d'approfondir chaque composant séparément.
Les utilisateurs actuels des blockchains doivent naviguer à travers plusieurs chaînes, portefeuilles et interfaces, ce qui est fastidieux et constitue un frein à une adoption plus large. L'abstraction des opérations utilisateur est un terme générique désignant toute tentative de dissocier cette complexité et de permettre aux utilisateurs d'interagir avec une seule interface (par exemple, une application ou un portefeuille spécifique), toute la complexité se produisant en arrière-plan. Quelques exemples d'abstractions au niveau de l'infrastructure incluent :
Les transactions doivent être ordonnées avant d'être ajoutées à un bloc, ce qui peut être fait de nombreuses manières : en les classant par rentabilité pour le proposant (les transactions les plus rémunératrices d'abord), dans l'ordre de leur soumission (premier arrivé, premier servi), en donnant la priorité aux transactions provenant des pools de mémoire privée, etc.
Une autre question est de savoir qui peut ordonner les transactions. Dans un monde modulaire, plusieurs parties différentes peuvent le faire, notamment le séquenceur rollup (centralisé ou décentralisé), le séquençage L1 (basé sur les rollups) et un réseau de séquençage partagé (réseau décentralisé de séquenceurs utilisé par plusieurs rollups). Tous ces éléments ontdifférentes hypothèses de confiance et capacités à l'échelle. En pratique, l'ordonnancement réel des transactions et leur regroupement en un bloc peuvent également être effectués en dehors du protocole par des acteurs spécialisés (blockbuilders).
La couche d'exécution contient la logique de la mise à jour de l'état et c'est là que les contrats intelligents sont exécutés. En plus de renvoyer une sortie du calcul, les zkVM permettent également de prouver que les transitions d'état ont été effectuées correctement. Cela permet à d'autres participants du réseau de vérifier l'exécution correcte en ne vérifiant que la preuve, plutôt que de devoir réexécuter les transactions.
Outre une vérification plus rapide et plus efficace, un autre avantage de l'exécution prouvable est de permettre des calculs plus complexes, car vous ne rencontrez pas les problèmes typiques de gaz et de ressources limitées sur la chaîne avec le calcul hors chaîne. Cela ouvre la voie à de toutes nouvelles applications qui sont plus intensives en termes de calcul à exécuter sur des blockchains et qui tirent parti de calculs garantis.
La requête de données, ou la lecture de données à partir de la blockchain, est une partie essentielle de la plupart des applications. Alors que beaucoup de discussions et d'efforts au cours des dernières années ont été axés sur l'augmentation des écritures (exécution) - l'augmentation des lectures est encore plus importante en raison du déséquilibre entre les deux (particulièrement dans un environnement décentralisé). Le ratio entre lecture/écriture diffère entre les blockchains, mais un point de données est Estimation de Sigque >96% de tous les appels aux nœuds sur Solana étaient des appels en lecture (selon 2 ans de données empiriques) - un ratio de lecture/écriture de 24:1.
L'extension des lectures comprend à la fois l'obtention de meilleures performances (plus de lectures par seconde) avec des clients validateurs dédiés (comme Sig sur Solana) et la possibilité d'effectuer des requêtes plus complexes (combinaison de lectures avec calcul), par exemple avec l'aide de coprocesseurs.
Un autre angle consiste à décentraliser les méthodes de requête de données. Aujourd'hui, la plupart des demandes de requête de données dans les blockchains sont facilitées par des tiers de confiance (basés sur la réputation), tels que les nœuds RPC (Infura) et indexeurs (Dune). Les exemples d'options plus décentralisées incluent Le Graphiqueet les opérateurs de preuve de stockage (qui sont également vérifiables). Il existe également plusieurs tentatives de créer un réseau RPC décentralisé, telles que Infura DINouRéseau Lava(en plus du RPC décentralisé, Lava vise à offrir ultérieurement des services d'accès aux données supplémentaires).
Avec de plus en plus d'applications intégrant des ZKPs, la preuve et la vérification deviennent rapidement une partie essentielle de la pile modulaire. Aujourd'hui, cependant, la plupart des infrastructures de preuve sont encore autorisées et centralisées, de nombreuses applications s'appuyant sur un seul prouveur.
Alors que la solution centralisée est moins complexe, décentraliser l'architecture de preuve et la diviser en un composant séparé dans la pile modulaire présente plusieurs avantages. Un des principaux avantages réside dans les garanties de vivacité, cruciales pour les applications dépendantes d'une génération de preuve fréquente. Les utilisateurs bénéficient également d'une plus grande résistance à la censure et de frais réduits grâce à la concurrence et au partage de la charge de travail entre plusieurs vérificateurs.
Nous croyons que les réseaux de prouveurs polyvalents (nombreuses applications, nombreux prouveurs) sont supérieurs aux réseaux de prouveurs pour une seule application (une application, nombreux prouveurs) en raison d'une meilleure utilisation du matériel existant et d'une complexité moindre pour les prouveurs. Une utilisation plus élevée profite également aux utilisateurs en termes de frais moins élevés, car les prouveurs n'ont pas besoin d'être compensés pour la redondance par le biais de frais plus élevés (ils doivent tout de même couvrir les coûts fixes).
Figment Capitala fourni un bon aperçu de l'état actuel de la chaîne d'approvisionnement en preuves, qui se compose à la fois de la génération de preuves et de l'agrégation de preuves (qui est en soi une génération de preuves, mais en prenant simplement deux preuves en entrée plutôt que la trace d'exécution).
Source: Figment Capital
Source: Figment Capital
La publication des données (DP) garantit que les données sont disponibles et facilement récupérables pendant une courte période (1-2 semaines). Cela est crucial à la fois pour la sécurité (les rollups optimistes nécessitent des données d'entrée pour vérifier l'exécution correcte en les réexécutant pendant la période de contestation, 1-2 semaines) et pour la vivacité (même si un système utilise des preuves de validité, les données de transaction sous-jacentes peuvent être nécessaires pour prouver la propriété d'actifs pour les portes de sortie, les transactions forcées ou pour vérifier que les entrées correspondent aux sorties). Les utilisateurs (tels que les passerelles zk et les rollups) font face à un paiement ponctuel, qui couvre le coût de stockage des transactions et de l'état pendant une courte période jusqu'à ce qu'il soit élagué. Les réseaux de publication de données ne sont pas conçus pour le stockage à long terme des données (au lieu de cela, consultez la prochaine section pour des solutions possibles).
Celestiaa été la première couche DP alternative à lancer son mainnet (31 octobre), mais il y aura bientôt de nombreuses alternatives parmi lesquelles choisir comme Avail, EigenDA, et Près de DAsont tous censés être lancés en 2024. De plus, Ethereum’s EIP 4844 mettre à niveau la publication de données à grande échelle sur Ethereum (en plus de créer un marché de frais distinct pour le stockage d’objets blob) et préparer le terrain pour un dank-sharding complet. DP s’étend également à d’autres écosystèmes, par exemple @nubit_org/riema-sécurise-un-investissement-ange-pour-le-lancement-de-la-première-couche-de-disponibilité-de-données-native-de-bitcoin-49ccf0487380">Nubit qui vise à construire DP natif sur Bitcoin.
De nombreuses solutions DP offrent également des services au-delà de la simple publication de données, y compris la sécurité partagée pour les rollups souverains (comme CelestiaetDisponible) ou une meilleure interopérabilité entre les rollups (comme ceux d'AvailNexus). Il y a aussi des projets (DomiconetZéro gravité) qui offrent à la fois la publication de données et le stockage à long terme, ce qui est une proposition convaincante. Il s'agit également d'un exemple de recomposition de deux composants dans la pile modulaire, quelque chose que nous verrons probablement davantage à l'avenir (expérimentation à la fois avec un découplage supplémentaire et une recomposition).
Stocker des données historiques est important principalement à des fins de synchronisation et de traitement des demandes de données. Cependant, il n'est pas réalisable pour chaque nœud complet de stocker toutes les données et la plupart des nœuds complets élaguent les anciennes données pour maintenir des exigences matérielles raisonnables. À la place, nous nous appuyons sur des parties spécialisées (nœuds d'archive et indexeurs) pour stocker toutes les données historiques et les rendre disponibles à la demande des utilisateurs.
Il existe également des fournisseurs de stockage décentralisé, tels que FilecoinouArweave, qui offrent des solutions de stockage décentralisé à long terme à un prix raisonnable. Alors que la plupart des blockchains n'ont pas de processus formel de stockage d'archives (simplement se fier à quelqu'un pour le stocker), les protocoles de stockage décentralisé sont de bons candidats pour stocker l'historique et ajouter une certaine redondance (au moins X nœuds stockent les données) grâce aux incitations intégrées au réseau de stockage.
Étant donné que les blockchains sont des systèmes distribués de pair à pair, il n'y a pas de tiers de confiance qui détermine la vérité globale. Au lieu de cela, les nœuds du réseau s'accordent sur ce qui constitue la vérité actuelle (quel bloc est le bon) grâce à un mécanisme appelé consensus. Les méthodes de consensus basées sur la preuve d'enjeu (PoS) pourraient être catégorisées soit comme étant basées sur le BFT (où le quorum de validateurs tolérant les fautes byzantines décide de l'état final) soit comme étant basées sur la chaîne (où l'état final est décidé rétrospectivement par la règle de choix de fourche). Alors que la plupart des implémentations de consensus PoS existantes sont basées sur le BFT, Cardanoest un exemple d'implémentation de la chaîne la plus longue. Il y a aussi un intérêt croissant pour les mécanismes de consensus basés sur le DAG tels que Narwhal-Bullshark qui est mis en œuvre dans certaines variations à travers Aleo, Aptos et Sui.
Le consensus est une partie cruciale de nombreux composants différents de la pile modulaire, y compris le séquenceur partagé, la preuve décentralisée et les réseaux de publication de données basés sur la blockchain (et non basés sur un comité comme EigenDA).
Le règlement s’apparente à la plus haute cour de justice - la source finale de vérité où l’exactitude des transitions d’État est vérifiée et les différends sont réglés. Une transaction est considérée comme définitive au moment où elle est irréversible (ou, dans le cas d’une finalité probabiliste, au moment où il serait suffisamment difficile de l’annuler). Le délai de finalité dépend de la couche de règlement sous-jacente utilisée, qui dépend à son tour de la règle de finalité spécifique utilisée et du temps de bloc.
La lenteur de la finalité est particulièrement problématique dans la communication inter-rollup, où les rollups doivent attendre la confirmation d'Ethereum avant de pouvoir approuver une transaction (7 jours pour les rollups optimistes, 12 minutes et temps de preuve pour les rollups de validité). Cela conduit à une mauvaise expérience utilisateur. Plusieurs efforts sont déployés pour résoudre ce problème en utilisant des pré-confirmations avec un certain niveau de sécurité. Des exemples incluent à la fois des solutions spécifiques à l'écosystème (Gate.io)Couche AggLayer surfaciqueouzkSync HyperBridge) et des solutions polyvalentes telles que Couche de finalité rapide de Nearqui vise à connecter plusieurs écosystèmes rollup différents en tirant parti de la sécurité économique d'EigenLayer. Il y a aussi l'option deponts rollup natifs exploitant EigenLayerpour des confirmations rapides afin d'éviter d'attendre la pleine finalité.
La sécurité est liée à la solidité des garanties et constitue une partie cruciale de la proposition de valeur des blockchains. Cependant, le démarrage de la sécurité cryptéconomique est difficile - augmentant les barrières à l'entrée et agissant comme un frein à l'innovation pour les applications qui en ont besoin (différents intergiciels et L1 alternatifs).
L'idée de sécurité partagée est d'utiliser la sécurité économique existante des réseaux PoS et de la soumettre à un risque de réduction supplémentaire (conditions de sanction), plutôt que chaque composant essayant de démarrer le sien. Il y a eu quelques tentatives antérieures de faire la même chose dans les réseaux PoW (minage fusionné.)), mais des incitations mal alignées ont facilité la collusion et l’exploitation d’un protocole par les mineurs (plus difficile de punir les mauvais comportements car le travail se déroule dans le monde physique, c’est-à-dire le minage en utilisant la puissance de calcul). La sécurité PoS est plus flexible pour être utilisée par d’autres protocoles, car elle présente à la fois des incitations positives (rendement du jalonnement) et négatives (réduction des coûts).
Les protocoles construits autour du principe de sécurité partagée incluent:
L'interopérabilité sûre et efficace reste un grand défi dans un monde multi-chaînes, illustré par le 2.8 milliards de dollars perdus dans des piratages de ponts. Dans les systèmes modulaires, l'interopérabilité devient encore plus importante - Non seulement vous communiquez entre d'autres chaînes, mais les blockchains modulaires nécessitent également que différents composants communiquent entre eux (comme la couche DA et de règlement). Il n'est donc plus possible de simplement exécuter un nœud complet ou de vérifier une seule preuve de consensus comme dans les blockchains intégrées. Cela ajoute plus d'éléments en mouvement à l'équation.
L’interopérabilité comprend à la fois le pontage de jetons et la transmission de messages plus généraux entre les blockchains. Il existe plusieurs options différentes qui font toutes des compromis différents en matière de sécurité, de latence et de coût. L’optimisation pour les trois est très difficile, ce qui nécessite généralement d’en sacrifier au moins un. De plus, les normes différentes d’une chaîne à l’autre rendent plus difficile la mise en œuvre sur de nouvelles chaînes.
Alors que nous manquons encore d'une définition claire des différents types de clients légers (ou nœuds), ce post par Dino(co-fondateur de Fluent & Modular Media) donne une bonne introduction. La plupart des clients légers vérifient aujourd'hui uniquement le consensus, mais idéalement, nous aurions des clients légers qui pourraient vérifier également l'exécution et DA pour réduire les hypothèses de confiance. Cela permettrait de se rapprocher de la sécurité des nœuds complets, sans les exigences matérielles élevées.
En supposant que nous puissions atteindre un état où la génération des preuves à divulgation nulle de connaissance (ZKPs) devient très rapide (presque à la vitesse de la lumière) et incroyablement bon marché (presque gratuit), à quoi ressemble le résultat final ? En d'autres termes, quand est-ce que ZK a consommé la pile modulaire ?
De manière générale, nous croyons que deux choses seraient vraies dans cet état du monde:
Une troisième condition concernerait la confidentialité (ou la gestion des flux d'informations), mais c'est plus compliqué. Les ZKPs peuvent être utilisés pour certaines applications de confidentialité avec une preuve côté client, ce sur quoi des plateformes comme Aleo, Aztec ou Polygon Miden travaillent, mais la réalisation d'une confidentialité à grande échelle pour tous les cas d'utilisation potentiels repose également sur les progrès du MPC et du FHE - un sujet potentiel pour un futur article de blog.
Et si nous avions tort, et que l'avenir n'est ni modulaire ni ZK'fied? Certains risques potentiels pour notre thèse incluent:
Tant les utilisateurs que les développeurs souffrent du nombre croissant de chaînes. Les utilisateurs doivent gérer des fonds sur plusieurs chaînes (et potentiellement plusieurs portefeuilles). Les développeurs d'applications, quant à eux, ont moins de stabilité et de prévisibilité étant donné à quel point l'espace évolue encore, ce qui rend plus difficile de décider sur quelle chaîne construire. Ils doivent également penser à la fragmentation de l'état et de la liquidité. Cela est particulièrement vrai maintenant alors que nous expérimentons encore le front pionnier des composants qu'il convient de découpler et ceux qui seront recouplés. Nous croyons que l'abstraction des opérations utilisateur ainsi que des solutions d'interopérabilité sûres et efficaces sont des éléments cruciaux pour résoudre ce problème.
Il est indéniable que la génération de preuves prend trop de temps et que le coût de la preuve et de la vérification est encore beaucoup trop élevé aujourd'hui. Des solutions concurrentes telles que les environnements d'exécution de confiance/TEEs (confidentialité) ou des solutions de sécurité optimistes/cryptéconomiques (coût) ont encore plus de sens pour de nombreuses applications aujourd'hui.
Beaucoup de travail est toutefois en cours concernant l'optimisation des logiciels et l'accélération matérielle pour les preuves à divulgation nulle de connaissance (ZKPs). L'agrégation des preuves contribuera à réduire davantage les coûts de vérification en répartissant le coût entre plusieurs parties différentes (coût inférieur/utilisateur). Il est également possible d'adapter la couche de base pour qu'elle soit plus optimisée pour la vérification des ZKPs. Un défi concernant l'accélération matérielle pour les ZKPs est le développement rapide des systèmes de preuve. Cela rend difficile la création de matériel spécialisé (ASIC) car il risque de devenir rapidement obsolète si/quand les normes des systèmes de preuve sous-jacents évoluent.
Ingonyamaa tenté de créer un certain benchmarking pour la performance du prouveur à travers une métrique comparable appelée score ZK. Il est basé sur le coût de l'exécution du calcul (OPEX) et suit MMOPS/WATT, où MMOPS signifie opérations de multiplication modulaire par seconde. Pour en savoir plus sur le sujet, nous recommandons les blogs de @Cysic/BJQcpVbXn?ref=blog.succinct.xyz">Cysic and @ingonyama/revisiting-paradigms-hardware-acceleration-for-zero-knowledge-proofs-5dffacdc24b4">Ingonyama, ainsi que cette discussion par Wei Dai.
ZKPs ne peuvent être utilisés que pour garantir la confidentialité de l'état personnel, et non de l'état partagé où plusieurs parties doivent effectuer des calculs sur des données chiffrées (comme un Uniswap privé). FHE et MPC sont également nécessaires pour assurer une confidentialité totale, mais ils doivent améliorer leur coût et leurs performances de plusieurs ordres de magnitude avant de devenir des options viables pour une utilisation à plus grande échelle. Cela dit, les ZKPs restent utiles pour certains cas d'utilisation ne nécessitant pas un état partagé privé, tels que les solutions d'identité ou les paiements. Tous les problèmes ne nécessitent pas d'être résolus avec le même outil.
Alors, où cela nous laisse-t-il? Alors que nous progressons chaque jour, il reste encore beaucoup de travail. Les problèmes les plus pressants à résoudre sont comment la valeur et l'information peuvent circuler en toute sécurité entre différents composants modulaires sans sacrifier la vitesse ou le coût, ainsi que l'abstraction de tout cela de l'utilisateur final afin qu'ils n'aient pas à se soucier de faire le pont entre différentes chaînes, de changer de portefeuille, etc.
Alors que nous sommes actuellement encore très largement dans la phase d'expérimentation, les choses devraient se stabiliser avec le temps alors que nous découvrons où se situent les compromis optimaux pour chaque cas d'utilisation. Cela permettra à son tour l'émergence de normes (informelles ou formelles) et apportera plus de stabilité aux constructeurs au-dessus de ces chaînes.
Aujourd'hui, il existe encore de nombreux cas d'utilisation qui recourent par défaut à la sécurité cryptonomique en raison du coût et de la complexité de la génération de ZKPs, et certains qui nécessitent une combinaison des deux. Cependant, cette part devrait diminuer avec le temps alors que nous concevons des systèmes de preuve plus efficaces et du matériel spécialisé pour réduire le coût et la latence de la preuve et de la vérification. Avec chaque réduction exponentielle des coûts et de la vitesse, de nouveaux cas d'utilisation sont débloqués.
Bien que cet article soit axé sur les ZKPs en particulier, nous sommes également de plus en plus intéressés par la façon dont les solutions de cryptographie moderne (ZKPs, MPC, FHE et TEE) finiront par jouer ensemble - quelque chose que nous voyons déjà.
Merci de lire!