Un réseau de preuve est une couche d'infrastructure hors chaîne qui coordonne la génération, la vérification et la livraison des preuves à connaissance nulle à travers les applications blockchain. Il sert de tissu conjonctif entre les coprocesseurs ZK et la couche blockchain, garantissant que les preuves générées hors chaîne peuvent être validées efficacement sur chaîne de manière évolutive et décentralisée.
Les coprocesseurs ZK sont capables de produire des preuves cryptographiques pour des calculs arbitraires. Cependant, ces systèmes nécessitent un moyen de diriger les preuves vers les bons environnements on-chain, de gérer les dépendances de données et de garantir que les preuves sont générées à temps et avec intégrité. Les réseaux de preuves répondent à ces besoins en agissant comme des couches décentralisées ou semi-décentralisées qui gèrent les prouveurs, les vérificateurs et les composants d'orchestration associés.
Au lieu que chaque contrat intelligent, rollup ou application mette en place sa propre infrastructure de prouveur isolée, les réseaux de preuve permettent à plusieurs entités d'accéder à un écosystème partagé de prouveurs. Cela réduit la duplication, diminue les coûts et crée un écosystème plus modulaire et composable pour les applications à connaissance nulle.
Le rôle d'un réseau de preuve est de prendre une preuve générée par un coprocesseur ZK et de la livrer à un vérificateur on-chain dans un format qui peut être consommé par des contrats intelligents. Ce processus implique plusieurs étapes, souvent abstraites pour l'utilisateur final.
Tout d'abord, l'utilisateur ou le contrat soumet une demande à un coprocesseur ZK via un frontend ou une API. Le coprocesseur exécute la logique requise et génère une preuve. Au lieu de publier la preuve directement sur la chaîne, elle est envoyée à un coordinateur de réseau de preuve, qui s'assure que la preuve est valide, associée au bon calcul et non dupliquée.
Une fois validée, le réseau de preuve soit publie la preuve sur la chaîne lui-même, soit la renvoie à l'utilisateur ou au relais, qui l'inclut ensuite dans une transaction. Le contrat intelligent reçoit la preuve et la vérifie en utilisant une clé de vérification préchargée. Si la vérification réussit, le contrat poursuit sa logique basée sur le résultat de confiance.
Cette architecture rend l'infrastructure ZK évolutive et modulaire. Au lieu de coder en dur des circuits ou des systèmes de preuve spécifiques dans chaque contrat intelligent, les développeurs peuvent s'appuyer sur un réseau de preuve pour servir de couche intermédiaire, connectant le calcul hors chaîne aux transitions d'état sur chaîne.
Un réseau de preuve typique comprend plusieurs rôles fonctionnels. Les prouveurs sont responsables de la génération des preuves cryptographiques. Ils exécutent le calcul défini par l'application et utilisent des bibliothèques cryptographiques pour créer une preuve que le calcul a été effectué correctement. Les prouveurs peuvent être des nœuds spécialisés, des travailleurs GPU ou des environnements d'exécution de confiance, selon la conception du réseau.
Les vérificateurs sont des contrats intelligents en chaîne qui vérifient la validité des preuves soumises. Ils sont légers, déterministes et sécurisés. Une fois qu'une preuve passe la vérification, le calcul associé est accepté comme valide par le blockchain.
Les relayeurs sont des acteurs hors chaîne qui gèrent la communication entre l'infrastructure de preuve et la blockchain. Ils soumettent des preuves au contrat approprié, incluent les métadonnées nécessaires et assurent une livraison en temps voulu. Dans certains réseaux, les relayeurs sont optionnels ; dans d'autres, ils sont des participants incités.
Les coordinateurs gèrent l'appariement des demandes aux fournisseurs. Ils reçoivent des requêtes d'utilisateur ou des demandes de calcul et les attribuent aux fournisseurs disponibles. Les coordinateurs peuvent également agréger les résultats, dédupliquer les calculs identiques et fournir des garanties de disponibilité. Dans les réseaux décentralisés, cette couche de coordination peut être mise en œuvre par des mécanismes de mise en jeu et de pénalisation pour garantir l'intégrité.
La séparation de ces rôles permet une architecture flexible. Un seul acteur peut jouer plusieurs rôles dans des réseaux plus petits, ou les rôles peuvent être répartis entre de nombreux participants dans un système plus grand. Cette modularité est essentielle pour l'évolutivité des systèmes de preuve à travers différentes blockchains et cas d'utilisation.
Plusieurs projets construisent des réseaux de preuve dans des environnements de production. Le réseau Prover de Succinct permet aux développeurs de générer des preuves ZK à la demande et de les pousser vers n'importe quelle chaîne compatible EVM. Il prend en charge la preuve décentralisée et vise à rendre toute application on-chain vérifiable avec des preuves succinctes. Succinct a également testé son infrastructure sur World Chain, une expérience de rollup par Tools for Humanity.
ZeroGravity construit une couche de preuve entièrement décentralisée qui prend en charge plusieurs backends de preuve. Elle se concentre sur l'interopérabilité et vise à connecter des coprocesseurs ZK avec Ethereum, des rollups et des blockchains modulaires comme Celestia. En abstraiant la pile de génération et de vérification de preuve, elle permet aux applications de se connecter à une couche ZK unifiée.
Lagrange Network se spécialise dans la disponibilité des données vérifiables et les requêtes d'état. Il permet aux applications de demander des réponses étayées par des preuves à des requêtes inter-chaînes, telles que la vérification des soldes de tokens ou de la propriété des NFT sur d'autres chaînes. Lagrange utilise une approche modulaire, permettant aux développeurs de choisir des systèmes de preuve et des sources de données en fonction des besoins de leur application.
Chacune de ces réseaux aborde une couche différente du problème. Certains se concentrent sur le calcul, d'autres sur l'accès aux données, et d'autres sur l'infrastructure au niveau du protocole. Ensemble, ils façonnent un écosystème dans lequel le calcul à connaissance nulle peut devenir une couche standardisée et réutilisable dans la conception de la blockchain.
Il existe deux modèles principaux sur la façon dont les réseaux de preuve interagissent avec les blockchains : la vérification native et la vérification modulaire.
La vérification native signifie que la blockchain elle-même, souvent au niveau du protocole, prend en charge la vérification des preuves à divulgation nulle de connaissance. C'est le cas d'Ethereum, qui inclut des contrats précompilés pour vérifier les preuves Groth16 et PLONK. Le support natif garantit une vérification plus rapide et des coûts de gaz plus bas, mais il nécessite une standardisation et limite les types de preuves pouvant être utilisés.
La vérification modulaire adopte une approche différente. Elle considère les réseaux de preuves comme des services externes pouvant se connecter à n'importe quelle chaîne via des contrats ou des ponts. Le contrat de vérification on-chain peut être déployé par l'application elle-même, et le format de preuve est défini hors chaîne. Ce modèle est plus flexible, permettant aux développeurs d'utiliser de nouveaux systèmes de preuve et une logique personnalisée. Cependant, cela entraîne des coûts et une complexité plus élevés.
Le choix entre la vérification native et modulaire dépend des besoins de l'application. La vérification native convient aux applications à fort volume avec des formats de preuve prévisibles. La vérification modulaire est préférable pour la recherche, la logique personnalisée ou les systèmes en évolution rapide. Les réseaux de preuves sont de plus en plus conçus pour prendre en charge les deux modèles, fournissant des chemins de secours et des couches de compatibilité.
Alors que la technologie ZK continue d'évoluer, les réseaux de preuve émergent comme l'infrastructure clé pour un calcul évolutif et sans confiance. Ils permettent aux développeurs de créer des systèmes puissants hors chaîne et de les connecter de manière sécurisée aux environnements Blockchain. Ce faisant, ils transforment les preuves à divulgation nulle d'un concept cryptographique en une pile technologique prête pour la production.