Un merci spécial à John Burnham de Lurk Labs pour ses précieux commentaires et suggestions sur cet article.
À propos des performances de la machine virtuelle Ethereum (EVM)
Chaque opération sur le réseau principal Ethereum coûte une certaine quantité de Gas. Si nous mettons tous les calculs nécessaires pour exécuter l'application de base sur la chaîne, soit l'application plantera, soit l'utilisateur fera faillite.
Cela a donné naissance à L2 : OPRU introduit un assembleur pour regrouper un tas de transactions avant de s'engager sur le réseau principal. Cela aide non seulement l'application à assurer la sécurité d'Ethereum, mais offre également aux utilisateurs une meilleure expérience. Les utilisateurs peuvent soumettre des transactions plus rapidement et les frais sont moins chers. Alors que les opérations sont devenues moins chères, il utilise toujours l'EVM natif comme couche d'exécution. Semblable à ZK Rollups, Scroll et Polygon zkEVM utilisent ou utiliseront des circuits zk basés sur EVM, et zk Proof sera généré dans chaque transaction ou un grand lot de transactions effectuées sur son prouveur. Bien que cela permette aux développeurs de créer des applications "en chaîne", est-il toujours efficace et rentable d'exécuter des applications hautes performances ?
Quelles sont ces applications performantes ?
Les jeux, les carnets de commandes en chaîne, les réseaux sociaux Web3, l'apprentissage automatique, la modélisation du génome, etc. viennent à l'esprit en premier. Tous ces éléments sont gourmands en calculs et coûteux à exécuter sur L2. Un autre problème avec EVM est que la vitesse et l'efficacité de calcul ne sont pas aussi bonnes que d'autres systèmes actuels, tels que SVM (Sealevel Virtual Machine).
Bien que l'EVM L3 puisse rendre les calculs moins chers, la structure de l'EVM elle-même n'est peut-être pas la meilleure façon d'effectuer des calculs élevés car elle ne peut pas calculer d'opérations parallèles. Chaque fois qu'une nouvelle couche est construite au-dessus, afin de maintenir l'esprit de décentralisation, une nouvelle infrastructure (nouveau réseau de nœuds) doit être construite, ce qui nécessite toujours le même nombre de fournisseurs pour se développer, ou un tout nouvel ensemble de nœuds. fournisseurs (particuliers/entreprises) pour fournir des ressources, ou les deux sont nécessaires.
Par conséquent, chaque fois qu'une solution plus avancée est construite, l'infrastructure existante doit être mise à niveau ou une nouvelle couche doit être construite par-dessus. Pour résoudre ce problème, nous avons besoin d'une infrastructure informatique post-quantique sécurisée, décentralisée, sans confiance et à hautes performances qui peut réellement et efficacement utiliser des algorithmes quantiques pour calculer pour des applications décentralisées.
Les Alt-L1 comme Solana, Sui et Aptos sont capables d'exécution parallèle, mais en raison du sentiment du marché, du manque de liquidité et du manque de développeurs sur le marché, ils ne défieront pas Ethereum. En raison du manque de confiance et des douves construites par Ethereum avec des effets de réseau, c'est une étape importante. Jusqu'à présent, le tueur ETH/EVM n'existe pas. La question ici est la suivante : pourquoi tous les calculs devraient-ils être en chaîne ? Existe-t-il un système d'application décentralisé et sans confiance ? C'est ce que le système DCompute peut réaliser.
L'infrastructure DCompute doit être décentralisée, sécurisée post-quantique et sans confiance. Elle n'a pas besoin ou ne devrait pas être une technologie blockchain/distribuée, mais il est très important de vérifier les résultats des calculs, de corriger les transitions d'état et la confirmation finale. C'est ainsi que fonctionne la chaîne EVM.Tout en maintenant la sécurité et l'immuabilité du réseau, l'informatique décentralisée, sécurisée et sans confiance peut être déplacée hors chaîne.
Ce que nous ignorons principalement ici, c'est la question de la disponibilité des données. Ce billet n'est pas sans mettre l'accent sur la disponibilité des données, car des solutions comme Celestia et EigenDA vont déjà dans cette direction.
1 : Seuls les calculs externalisés
(来源:Modèles hors chaîne et approches des calculs hors chaîne, Jacob Eberhardt et Jonathan Heiss)
Externaliser l'informatique et la disponibilité des données
(来源:Modèles hors chaîne et approches des calculs hors chaîne, Jacob Eberhardt et Jonathan Heiss)
Lorsque nous avons vu le type 1, les zk-rollups le faisaient déjà, mais ils étaient soit limités par l'EVM, soit nécessaires pour enseigner aux développeurs un tout nouveau langage/ensemble d'instructions. La solution idéale doit être efficiente, efficace (coût et ressources), décentralisée, privée et vérifiable. Les preuves ZK peuvent être construites sur des serveurs AWS, mais elles ne sont pas décentralisées. Des solutions comme Nillion et Nexus tentent de résoudre le problème de l'informatique générale de manière décentralisée. Mais ces solutions sont invérifiables sans preuves ZK.
Le type 2 combine un modèle de calcul hors chaîne avec une couche de disponibilité des données qui reste séparée, mais le calcul doit encore être vérifié en chaîne.
Jetons un coup d'œil aux différents modèles informatiques décentralisés disponibles aujourd'hui qui ne sont pas entièrement fiables et peut-être complètement sans confiance.
## Alternative ; Calcul s
Carte écologique de l'informatique externalisée d'Ethereum (Source : IOSG Ventures)
Calculs d'enclaves sécurisées / Environnements d'exécution de confiance
TEE (Trusted Execution Environment) est comme une boîte spéciale à l'intérieur d'un ordinateur ou d'un smartphone. Il possède son propre verrou et sa propre clé, et seuls certains programmes (appelés applications de confiance) peuvent y accéder. Lorsque ces applications de confiance s'exécutent à l'intérieur du TEE, elles sont protégées par d'autres programmes et même par le système d'exploitation lui-même.
C'est comme une cachette secrète dans laquelle seuls quelques amis spéciaux peuvent entrer. L'exemple le plus courant d'un TEE est l'enclave sécurisée, qui existe sur les appareils que nous utilisons, tels que la puce T;1 d'Apple et le SGX d'Intel, pour exécuter des opérations critiques à l'intérieur de l'appareil, telles que FaceID.
Étant donné que le TEE est un système isolé, le processus d'authentification ne peut pas être compromis en raison des hypothèses de confiance dans l'authentification. Considérez-le comme ayant une porte de sécurité que vous pensez être sûre parce qu'Intel ou Apple l'a construite, mais il y a suffisamment de briseurs de sécurité dans le monde (y compris des pirates et d'autres ordinateurs) qui peuvent briser cette porte de sécurité. Les TEE ne sont pas "post-quantum secure", ce qui signifie qu'un ordinateur quantique avec des ressources illimitées peut casser la sécurité du TEE. Alors que les ordinateurs deviennent rapidement plus puissants, nous devons construire des systèmes informatiques et des schémas de cryptographie à long terme en gardant à l'esprit la sécurité post-quantique.
### Calcul multipartite sécurisé (SMPC)
SMPC (Secure Multi-Party Computation) est également une solution informatique bien connue dans l'industrie de la technologie blockchain.Le flux de travail général dans le réseau SMPC comprendra les trois parties suivantes :
Étape 1 ; : Convertissez l'entrée calculée en parts (parts) et distribuez-la entre les nœuds SMPC.
Étape 2 : Effectuez le calcul proprement dit, impliquant généralement l'échange de messages entre les nœuds SMPC. À la fin de cette étape, chaque nœud aura une part de la valeur de sortie calculée.
Étape 3 : Envoyer le partage de résultat à un ou plusieurs nœuds de résultat, qui exécutent LSS (algorithme de récupération de partage de secret) pour reconstruire le résultat de sortie.
Imaginez une chaîne de production automobile, où les composants de construction et de fabrication de la voiture (moteur, portes, rétroviseurs) sont sous-traités au fabricant d'équipement d'origine (OEM) (nœuds de travail), puis il y a une chaîne de montage qui assemble tous les composants pour faire la voiture (résultant en nœud).
Le partage de secrets est important pour un modèle informatique décentralisé préservant la confidentialité. Cela empêche une seule partie d'obtenir le "secret" complet (l'entrée dans ce cas) et de produire de manière malveillante de fausses sorties. SMPC est probablement l'un des systèmes décentralisés les plus simples et les plus sûrs. Bien qu'un modèle entièrement décentralisé n'existe pas actuellement, il est logiquement possible.
Les fournisseurs MPC comme Sharemind fournissent une infrastructure MPC pour l'informatique, mais les fournisseurs sont toujours centralisés. Comment garantir la confidentialité, comment s'assurer que le réseau (ou Sharemind) n'agit pas de manière malveillante ? C'est là qu'interviennent zk preuves et zk calculs vérifiables.
Calcul de message nul (NMC)
NMC est une nouvelle méthode de calcul distribué développée par l'équipe Nillion. Il s'agit d'une version améliorée de MPC, où les nœuds n'ont pas besoin de communiquer en interagissant via les résultats. Pour ce faire, ils ont utilisé une primitive cryptographique appelée One-Time Masking, qui utilise une série de nombres aléatoires appelés facteurs aveuglants pour masquer un secret, similaire au rembourrage ponctuel. OTM vise à fournir une exactitude de manière efficace, ce qui signifie que les nœuds NMC n'ont pas besoin d'échanger de messages pour effectuer des calculs. Cela signifie que NMC n'a pas les problèmes d'évolutivité de SMPC.
Calcul vérifiable sans connaissance
Le calcul vérifiable ZK (ZK Verifiable Computation) consiste à générer une preuve de connaissance nulle pour un ensemble d'entrées et une fonction, et à prouver que tout calcul effectué par le système sera effectué correctement. Même si le calcul de preuve de concept ZK est nouveau, il constitue déjà un élément très critique de la feuille de route de mise à l'échelle du réseau Ethereum.
ZK prouve qu'il existe différentes formes d'implémentation (comme le montre la figure ci-dessous, basée sur le résumé de l'article "Off-Chaining_Models") :
(来源:IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Ci-dessus, nous avons une compréhension de base de la mise en œuvre des preuves zk, alors quelles sont les conditions d'utilisation des preuves ZK pour vérifier les calculs ?
Tout d'abord, nous devons choisir une primitive de preuve. La primitive de preuve idéale a un faible coût pour générer des preuves, ne nécessite pas beaucoup de mémoire et est facile à vérifier.
Deuxièmement, choisissez un circuit zk conçu pour générer par calcul des preuves des primitives ci-dessus
Enfin, dans un système/réseau informatique, la fonction donnée est calculée sur l'entrée fournie et donne la sortie.
Dilemme du développeur - Dilemme de la preuve d'efficacité
Une autre chose que je dois dire est que le seuil pour construire des circuits est encore très élevé. Il n'est pas facile pour les développeurs d'apprendre Solidity. Maintenant, les développeurs doivent apprendre Circom pour construire des circuits, ou apprendre un langage de programmation spécifique (comme Cairo) construire des zk-apps semble être une perspective lointaine.
(source:
(source:
Comme le montrent les statistiques ci-dessus, la mise à niveau d'un environnement Web3 pour qu'il soit plus convivial pour le développement semble être plus durable que d'amener les développeurs dans un nouvel environnement de développement Web3.
Si ZK est l'avenir du Web3 et que les applications Web3 doivent être construites à l'aide des compétences de développement existantes, les circuits ZK doivent être conçus de manière à prendre en charge les calculs effectués par des algorithmes écrits dans des langages comme Java ou Rust pour générer des preuves. .
De telles solutions existent, et je pense à deux équipes : RiscZero et Lurk Labs. Les deux équipes partagent une vision très similaire selon laquelle elles permettent aux développeurs de créer des applications zk sans passer par une courbe d'apprentissage abrupte.
C'est encore tôt pour Lurk Labs, mais l'équipe travaille sur ce projet depuis longtemps. Ils se concentrent sur la génération de preuves Nova via des circuits à usage général. Des preuves Nova ont été proposées par Abhiram Kothapalli de l'Université Carnegie Mellon et Srinath Setty de Microsoft Research et Ioanna Tziallae de l'Université de New York. Par rapport aux autres systèmes SNARK, les preuves Nova présentent des avantages particuliers dans le calcul incrémentiel vérifiable (IVC). Le calcul incrémental vérifiable (IVC) est un concept en informatique et en cryptographie qui vise à permettre la vérification d'un calcul sans recalculer l'intégralité du calcul à partir de zéro. Les preuves doivent être optimisées pour IVC lorsque le temps de calcul est long et complexe.
(Source : IOSG Ventures)
Les preuves Nova ne sont pas "prêtes à l'emploi" comme les autres systèmes de preuve, Nova n'est qu'une astuce de pliage, et les développeurs ont toujours besoin d'un système de preuve pour générer des preuves. C'est pourquoi Lurk Labs a construit Lurk Lang, une implémentation LISP. Étant donné que LISP est un langage de niveau inférieur, il facilite la génération de preuves sur des circuits à usage général, et il est également facile à traduire en Java, ce qui aidera Lurk Labs à obtenir le soutien de 17,4 millions de développeurs Java. Les traductions pour d'autres langages courants tels que Python sont également prises en charge.
Dans l'ensemble, les preuves Nova semblent être un excellent système de preuve original. Bien que leur inconvénient soit que la taille de la preuve augmente linéairement avec la taille du calcul, les preuves Nova, en revanche, ont de la place pour une compression supplémentaire.
La taille des preuves STARK n'augmente pas avec le calcul, elle est donc plus adaptée à la vérification de calculs très volumineux. Pour améliorer encore l'expérience des développeurs, ils ont également lancé le Bonsai Network, un réseau informatique distribué vérifié par des preuves générées par RiscZero. Ceci est un schéma simple représentant le fonctionnement du réseau Bonsai de RiscZero.
(Source:
La beauté de la conception du réseau Bonsai est que les calculs peuvent être initialisés, vérifiés et produits en chaîne. Tout cela ressemble à une utopie, mais les preuves STARK posent également des problèmes - le coût de la vérification est trop élevé.
Les preuves Nova semblent bien adaptées aux calculs répétés (son schéma de pliage est rentable) et aux petits calculs, ce qui peut faire de Lurk une bonne solution pour la vérification de l'inférence ML.
Qui est le gagnant?
(Source : IOSG Ventures)
Certains systèmes zk-SNARK nécessitent un processus de configuration fiable lors de la phase de configuration initiale, générant un ensemble initial de paramètres. L'hypothèse de confiance ici est que les configurations de confiance sont effectuées honnêtement, sans aucun comportement malveillant ni falsification. En cas d'attaque, cela pourrait conduire à la création de preuves invalides.
Les preuves STARK supposent la sécurité des tests d'ordre inférieur pour vérifier les propriétés d'ordre inférieur des polynômes. Ils supposent également que les fonctions de hachage se comportent comme des oracles aléatoires.
La mise en œuvre correcte des deux systèmes est également une hypothèse de sécurité.
Un réseau SMPC repose sur les éléments suivants :
Les participants SMPC peuvent inclure des participants "honnêtes mais curieux" qui peuvent essayer d'accéder à toute information sous-jacente en communiquant avec d'autres nœuds.
La sécurité du réseau SMPC repose sur l'hypothèse que les participants exécutent correctement le protocole et n'introduisent pas intentionnellement d'erreurs ou de comportements malveillants.
Certains protocoles SMPC peuvent nécessiter une phase de configuration sécurisée pour générer des paramètres chiffrés ou des valeurs initiales. L'hypothèse de confiance ici est que la configuration de confiance est appliquée honnêtement.
Identique au réseau SMPC, l'hypothèse de sécurité reste la même, mais en raison de l'existence d'OTM (Off-The-Grid Multi-party Computation), il n'y a pas de participants "honnêtes mais curieux".
OTM est un protocole de calcul multipartite conçu pour protéger la confidentialité des participants. Il assure la protection de la vie privée en permettant aux participants de ne pas divulguer leurs données d'entrée dans le calcul. Par conséquent, les participants "honnêtes mais curieux" n'existent pas car ils ne peuvent pas communiquer avec d'autres nœuds pour tenter d'accéder aux informations sous-jacentes.
Y a-t-il un gagnant clair ? Nous ne le savons pas. Mais chaque méthode a ses propres avantages. Bien que NMC ressemble à une mise à niveau évidente vers SMPC, le réseau n'est pas encore opérationnel ou testé au combat.
L'avantage d'utiliser le calcul vérifiable ZK est qu'il est sécurisé et préserve la confidentialité, mais il n'a pas de partage secret intégré. L'asymétrie entre la génération de preuves et la vérification en fait un modèle idéal pour un calcul externalisé vérifiable. Si le système utilise des calculs purs à l'épreuve du zk, l'ordinateur (ou un seul nœud) doit être très puissant pour effectuer de nombreux calculs. Afin de permettre le partage et l'équilibrage de charge tout en préservant la confidentialité, il doit y avoir un partage de secret. Dans ce cas, un système comme SMPC ou NMC peut être combiné avec un générateur zk comme Lurk ou RiscZero pour créer une puissante infrastructure informatique externalisée vérifiable et distribuée.
Cela devient encore plus important dans les réseaux MPC/SMPC centralisés d'aujourd'hui. Le plus grand fournisseur MPC à l'heure actuelle est Sharemind, et une couche de vérification ZK au-dessus pourrait s'avérer utile. Le modèle économique du réseau MPC décentralisé n'a pas encore fonctionné. En théorie, le mode NMC est une mise à niveau du système MPC, mais nous n'avons pas encore vu son succès.
Dans la course aux schémas de preuve ZK, il se peut qu'il n'y ait pas de situation gagnant-gagnant. Chaque méthode de preuve est optimisée pour un type de calcul particulier, et aucune ne convient à tous les types de modèles. Il existe de nombreux types de tâches de calcul, et cela dépend également des compromis que les développeurs font avec chaque système de preuve. L'auteur pense que les systèmes basés sur STARK et les systèmes basés sur SNARK et leurs futures optimisations ont une place dans l'avenir de ZK.
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
IOSG Ventures : La voie de l'innovation qui libère les performances d'Ethereum et dépasse le goulot d'étranglement de l'EVM
Auteur original : Siddharth Rao, IOSG Ventures
Un merci spécial à John Burnham de Lurk Labs pour ses précieux commentaires et suggestions sur cet article.
À propos des performances de la machine virtuelle Ethereum (EVM)
Chaque opération sur le réseau principal Ethereum coûte une certaine quantité de Gas. Si nous mettons tous les calculs nécessaires pour exécuter l'application de base sur la chaîne, soit l'application plantera, soit l'utilisateur fera faillite.
Cela a donné naissance à L2 : OPRU introduit un assembleur pour regrouper un tas de transactions avant de s'engager sur le réseau principal. Cela aide non seulement l'application à assurer la sécurité d'Ethereum, mais offre également aux utilisateurs une meilleure expérience. Les utilisateurs peuvent soumettre des transactions plus rapidement et les frais sont moins chers. Alors que les opérations sont devenues moins chères, il utilise toujours l'EVM natif comme couche d'exécution. Semblable à ZK Rollups, Scroll et Polygon zkEVM utilisent ou utiliseront des circuits zk basés sur EVM, et zk Proof sera généré dans chaque transaction ou un grand lot de transactions effectuées sur son prouveur. Bien que cela permette aux développeurs de créer des applications "en chaîne", est-il toujours efficace et rentable d'exécuter des applications hautes performances ?
Quelles sont ces applications performantes ?
Les jeux, les carnets de commandes en chaîne, les réseaux sociaux Web3, l'apprentissage automatique, la modélisation du génome, etc. viennent à l'esprit en premier. Tous ces éléments sont gourmands en calculs et coûteux à exécuter sur L2. Un autre problème avec EVM est que la vitesse et l'efficacité de calcul ne sont pas aussi bonnes que d'autres systèmes actuels, tels que SVM (Sealevel Virtual Machine).
Bien que l'EVM L3 puisse rendre les calculs moins chers, la structure de l'EVM elle-même n'est peut-être pas la meilleure façon d'effectuer des calculs élevés car elle ne peut pas calculer d'opérations parallèles. Chaque fois qu'une nouvelle couche est construite au-dessus, afin de maintenir l'esprit de décentralisation, une nouvelle infrastructure (nouveau réseau de nœuds) doit être construite, ce qui nécessite toujours le même nombre de fournisseurs pour se développer, ou un tout nouvel ensemble de nœuds. fournisseurs (particuliers/entreprises) pour fournir des ressources, ou les deux sont nécessaires.
Par conséquent, chaque fois qu'une solution plus avancée est construite, l'infrastructure existante doit être mise à niveau ou une nouvelle couche doit être construite par-dessus. Pour résoudre ce problème, nous avons besoin d'une infrastructure informatique post-quantique sécurisée, décentralisée, sans confiance et à hautes performances qui peut réellement et efficacement utiliser des algorithmes quantiques pour calculer pour des applications décentralisées.
Les Alt-L1 comme Solana, Sui et Aptos sont capables d'exécution parallèle, mais en raison du sentiment du marché, du manque de liquidité et du manque de développeurs sur le marché, ils ne défieront pas Ethereum. En raison du manque de confiance et des douves construites par Ethereum avec des effets de réseau, c'est une étape importante. Jusqu'à présent, le tueur ETH/EVM n'existe pas. La question ici est la suivante : pourquoi tous les calculs devraient-ils être en chaîne ? Existe-t-il un système d'application décentralisé et sans confiance ? C'est ce que le système DCompute peut réaliser.
L'infrastructure DCompute doit être décentralisée, sécurisée post-quantique et sans confiance. Elle n'a pas besoin ou ne devrait pas être une technologie blockchain/distribuée, mais il est très important de vérifier les résultats des calculs, de corriger les transitions d'état et la confirmation finale. C'est ainsi que fonctionne la chaîne EVM.Tout en maintenant la sécurité et l'immuabilité du réseau, l'informatique décentralisée, sécurisée et sans confiance peut être déplacée hors chaîne.
Ce que nous ignorons principalement ici, c'est la question de la disponibilité des données. Ce billet n'est pas sans mettre l'accent sur la disponibilité des données, car des solutions comme Celestia et EigenDA vont déjà dans cette direction.
1 : Seuls les calculs externalisés
(来源:Modèles hors chaîne et approches des calculs hors chaîne, Jacob Eberhardt et Jonathan Heiss)
(来源:Modèles hors chaîne et approches des calculs hors chaîne, Jacob Eberhardt et Jonathan Heiss)
Lorsque nous avons vu le type 1, les zk-rollups le faisaient déjà, mais ils étaient soit limités par l'EVM, soit nécessaires pour enseigner aux développeurs un tout nouveau langage/ensemble d'instructions. La solution idéale doit être efficiente, efficace (coût et ressources), décentralisée, privée et vérifiable. Les preuves ZK peuvent être construites sur des serveurs AWS, mais elles ne sont pas décentralisées. Des solutions comme Nillion et Nexus tentent de résoudre le problème de l'informatique générale de manière décentralisée. Mais ces solutions sont invérifiables sans preuves ZK.
Le type 2 combine un modèle de calcul hors chaîne avec une couche de disponibilité des données qui reste séparée, mais le calcul doit encore être vérifié en chaîne.
Jetons un coup d'œil aux différents modèles informatiques décentralisés disponibles aujourd'hui qui ne sont pas entièrement fiables et peut-être complètement sans confiance.
## Alternative ; Calcul s
Carte écologique de l'informatique externalisée d'Ethereum (Source : IOSG Ventures)
Calculs d'enclaves sécurisées / Environnements d'exécution de confiance
TEE (Trusted Execution Environment) est comme une boîte spéciale à l'intérieur d'un ordinateur ou d'un smartphone. Il possède son propre verrou et sa propre clé, et seuls certains programmes (appelés applications de confiance) peuvent y accéder. Lorsque ces applications de confiance s'exécutent à l'intérieur du TEE, elles sont protégées par d'autres programmes et même par le système d'exploitation lui-même.
C'est comme une cachette secrète dans laquelle seuls quelques amis spéciaux peuvent entrer. L'exemple le plus courant d'un TEE est l'enclave sécurisée, qui existe sur les appareils que nous utilisons, tels que la puce T;1 d'Apple et le SGX d'Intel, pour exécuter des opérations critiques à l'intérieur de l'appareil, telles que FaceID.
Étant donné que le TEE est un système isolé, le processus d'authentification ne peut pas être compromis en raison des hypothèses de confiance dans l'authentification. Considérez-le comme ayant une porte de sécurité que vous pensez être sûre parce qu'Intel ou Apple l'a construite, mais il y a suffisamment de briseurs de sécurité dans le monde (y compris des pirates et d'autres ordinateurs) qui peuvent briser cette porte de sécurité. Les TEE ne sont pas "post-quantum secure", ce qui signifie qu'un ordinateur quantique avec des ressources illimitées peut casser la sécurité du TEE. Alors que les ordinateurs deviennent rapidement plus puissants, nous devons construire des systèmes informatiques et des schémas de cryptographie à long terme en gardant à l'esprit la sécurité post-quantique.
### Calcul multipartite sécurisé (SMPC)
SMPC (Secure Multi-Party Computation) est également une solution informatique bien connue dans l'industrie de la technologie blockchain.Le flux de travail général dans le réseau SMPC comprendra les trois parties suivantes :
Imaginez une chaîne de production automobile, où les composants de construction et de fabrication de la voiture (moteur, portes, rétroviseurs) sont sous-traités au fabricant d'équipement d'origine (OEM) (nœuds de travail), puis il y a une chaîne de montage qui assemble tous les composants pour faire la voiture (résultant en nœud).
Le partage de secrets est important pour un modèle informatique décentralisé préservant la confidentialité. Cela empêche une seule partie d'obtenir le "secret" complet (l'entrée dans ce cas) et de produire de manière malveillante de fausses sorties. SMPC est probablement l'un des systèmes décentralisés les plus simples et les plus sûrs. Bien qu'un modèle entièrement décentralisé n'existe pas actuellement, il est logiquement possible.
Les fournisseurs MPC comme Sharemind fournissent une infrastructure MPC pour l'informatique, mais les fournisseurs sont toujours centralisés. Comment garantir la confidentialité, comment s'assurer que le réseau (ou Sharemind) n'agit pas de manière malveillante ? C'est là qu'interviennent zk preuves et zk calculs vérifiables.
Calcul de message nul (NMC)
NMC est une nouvelle méthode de calcul distribué développée par l'équipe Nillion. Il s'agit d'une version améliorée de MPC, où les nœuds n'ont pas besoin de communiquer en interagissant via les résultats. Pour ce faire, ils ont utilisé une primitive cryptographique appelée One-Time Masking, qui utilise une série de nombres aléatoires appelés facteurs aveuglants pour masquer un secret, similaire au rembourrage ponctuel. OTM vise à fournir une exactitude de manière efficace, ce qui signifie que les nœuds NMC n'ont pas besoin d'échanger de messages pour effectuer des calculs. Cela signifie que NMC n'a pas les problèmes d'évolutivité de SMPC.
Calcul vérifiable sans connaissance
Le calcul vérifiable ZK (ZK Verifiable Computation) consiste à générer une preuve de connaissance nulle pour un ensemble d'entrées et une fonction, et à prouver que tout calcul effectué par le système sera effectué correctement. Même si le calcul de preuve de concept ZK est nouveau, il constitue déjà un élément très critique de la feuille de route de mise à l'échelle du réseau Ethereum.
ZK prouve qu'il existe différentes formes d'implémentation (comme le montre la figure ci-dessous, basée sur le résumé de l'article "Off-Chaining_Models") :
(来源:IOSG Ventures, Off-chaining Models and Approaches to Off-chain Computations, Jacob Eberhardt & Jonathan Heiss)
Ci-dessus, nous avons une compréhension de base de la mise en œuvre des preuves zk, alors quelles sont les conditions d'utilisation des preuves ZK pour vérifier les calculs ?
Dilemme du développeur - Dilemme de la preuve d'efficacité
Une autre chose que je dois dire est que le seuil pour construire des circuits est encore très élevé. Il n'est pas facile pour les développeurs d'apprendre Solidity. Maintenant, les développeurs doivent apprendre Circom pour construire des circuits, ou apprendre un langage de programmation spécifique (comme Cairo) construire des zk-apps semble être une perspective lointaine.
(source:
(source:
Comme le montrent les statistiques ci-dessus, la mise à niveau d'un environnement Web3 pour qu'il soit plus convivial pour le développement semble être plus durable que d'amener les développeurs dans un nouvel environnement de développement Web3.
Si ZK est l'avenir du Web3 et que les applications Web3 doivent être construites à l'aide des compétences de développement existantes, les circuits ZK doivent être conçus de manière à prendre en charge les calculs effectués par des algorithmes écrits dans des langages comme Java ou Rust pour générer des preuves. .
De telles solutions existent, et je pense à deux équipes : RiscZero et Lurk Labs. Les deux équipes partagent une vision très similaire selon laquelle elles permettent aux développeurs de créer des applications zk sans passer par une courbe d'apprentissage abrupte.
C'est encore tôt pour Lurk Labs, mais l'équipe travaille sur ce projet depuis longtemps. Ils se concentrent sur la génération de preuves Nova via des circuits à usage général. Des preuves Nova ont été proposées par Abhiram Kothapalli de l'Université Carnegie Mellon et Srinath Setty de Microsoft Research et Ioanna Tziallae de l'Université de New York. Par rapport aux autres systèmes SNARK, les preuves Nova présentent des avantages particuliers dans le calcul incrémentiel vérifiable (IVC). Le calcul incrémental vérifiable (IVC) est un concept en informatique et en cryptographie qui vise à permettre la vérification d'un calcul sans recalculer l'intégralité du calcul à partir de zéro. Les preuves doivent être optimisées pour IVC lorsque le temps de calcul est long et complexe.
(Source : IOSG Ventures)
Les preuves Nova ne sont pas "prêtes à l'emploi" comme les autres systèmes de preuve, Nova n'est qu'une astuce de pliage, et les développeurs ont toujours besoin d'un système de preuve pour générer des preuves. C'est pourquoi Lurk Labs a construit Lurk Lang, une implémentation LISP. Étant donné que LISP est un langage de niveau inférieur, il facilite la génération de preuves sur des circuits à usage général, et il est également facile à traduire en Java, ce qui aidera Lurk Labs à obtenir le soutien de 17,4 millions de développeurs Java. Les traductions pour d'autres langages courants tels que Python sont également prises en charge.
Dans l'ensemble, les preuves Nova semblent être un excellent système de preuve original. Bien que leur inconvénient soit que la taille de la preuve augmente linéairement avec la taille du calcul, les preuves Nova, en revanche, ont de la place pour une compression supplémentaire.
La taille des preuves STARK n'augmente pas avec le calcul, elle est donc plus adaptée à la vérification de calculs très volumineux. Pour améliorer encore l'expérience des développeurs, ils ont également lancé le Bonsai Network, un réseau informatique distribué vérifié par des preuves générées par RiscZero. Ceci est un schéma simple représentant le fonctionnement du réseau Bonsai de RiscZero.
(Source:
La beauté de la conception du réseau Bonsai est que les calculs peuvent être initialisés, vérifiés et produits en chaîne. Tout cela ressemble à une utopie, mais les preuves STARK posent également des problèmes - le coût de la vérification est trop élevé.
Les preuves Nova semblent bien adaptées aux calculs répétés (son schéma de pliage est rentable) et aux petits calculs, ce qui peut faire de Lurk une bonne solution pour la vérification de l'inférence ML.
Qui est le gagnant?
(Source : IOSG Ventures)
Certains systèmes zk-SNARK nécessitent un processus de configuration fiable lors de la phase de configuration initiale, générant un ensemble initial de paramètres. L'hypothèse de confiance ici est que les configurations de confiance sont effectuées honnêtement, sans aucun comportement malveillant ni falsification. En cas d'attaque, cela pourrait conduire à la création de preuves invalides.
Les preuves STARK supposent la sécurité des tests d'ordre inférieur pour vérifier les propriétés d'ordre inférieur des polynômes. Ils supposent également que les fonctions de hachage se comportent comme des oracles aléatoires.
La mise en œuvre correcte des deux systèmes est également une hypothèse de sécurité.
Un réseau SMPC repose sur les éléments suivants :
OTM est un protocole de calcul multipartite conçu pour protéger la confidentialité des participants. Il assure la protection de la vie privée en permettant aux participants de ne pas divulguer leurs données d'entrée dans le calcul. Par conséquent, les participants "honnêtes mais curieux" n'existent pas car ils ne peuvent pas communiquer avec d'autres nœuds pour tenter d'accéder aux informations sous-jacentes.
Y a-t-il un gagnant clair ? Nous ne le savons pas. Mais chaque méthode a ses propres avantages. Bien que NMC ressemble à une mise à niveau évidente vers SMPC, le réseau n'est pas encore opérationnel ou testé au combat.
L'avantage d'utiliser le calcul vérifiable ZK est qu'il est sécurisé et préserve la confidentialité, mais il n'a pas de partage secret intégré. L'asymétrie entre la génération de preuves et la vérification en fait un modèle idéal pour un calcul externalisé vérifiable. Si le système utilise des calculs purs à l'épreuve du zk, l'ordinateur (ou un seul nœud) doit être très puissant pour effectuer de nombreux calculs. Afin de permettre le partage et l'équilibrage de charge tout en préservant la confidentialité, il doit y avoir un partage de secret. Dans ce cas, un système comme SMPC ou NMC peut être combiné avec un générateur zk comme Lurk ou RiscZero pour créer une puissante infrastructure informatique externalisée vérifiable et distribuée.
Cela devient encore plus important dans les réseaux MPC/SMPC centralisés d'aujourd'hui. Le plus grand fournisseur MPC à l'heure actuelle est Sharemind, et une couche de vérification ZK au-dessus pourrait s'avérer utile. Le modèle économique du réseau MPC décentralisé n'a pas encore fonctionné. En théorie, le mode NMC est une mise à niveau du système MPC, mais nous n'avons pas encore vu son succès.
Dans la course aux schémas de preuve ZK, il se peut qu'il n'y ait pas de situation gagnant-gagnant. Chaque méthode de preuve est optimisée pour un type de calcul particulier, et aucune ne convient à tous les types de modèles. Il existe de nombreux types de tâches de calcul, et cela dépend également des compromis que les développeurs font avec chaque système de preuve. L'auteur pense que les systèmes basés sur STARK et les systèmes basés sur SNARK et leurs futures optimisations ont une place dans l'avenir de ZK.