
Dialogue entre le fondateur de Manta et un doctorant en cryptographie de l'Université Tsinghua : une discussion approfondie sur la piste ZK
TechFlow SélectionTechFlow Sélection

Dialogue entre le fondateur de Manta et un doctorant en cryptographie de l'Université Tsinghua : une discussion approfondie sur la piste ZK
Le sujet aborde les connaissances fondamentales sur les preuves à connaissance nulle (ZK), la recherche et les applications autour des ZK, ainsi que la manière dont Manta utilise les ZK pour résoudre les problèmes de confidentialité dans Web3.
Le 23 juillet à 21h00 heure de Pékin, Shumo Chu, cofondateur de Manta Network, a été invité par l'association des étudiants de Tsinghua sur la blockchain (THUBA) à participer à un échange sur Twitter Space avec Sputnik, docteur en cryptographie. Leur discussion portait sur les bases des preuves à connaissance nulle (ZK), la recherche et les applications ZK, ainsi que sur la manière dont Manta utilise la technologie ZK pour résoudre les problèmes de confidentialité dans Web3. Voici la transcription complète de cet entretien :
Yiki (modérateur) :
Bonjour à tous, je suis Yiki, vice-président de l’association blockchain de l’université Tsinghua (THUBA). Depuis sa création en 2017, notre association existe depuis cinq ans maintenant et a organisé près de 200 événements. En août prochain, nous organiserons notre première hackathon ; n'hésitez pas à suivre l'actualité et à vous inscrire. Maintenant, pourrions-nous demander à Shumo de nous présenter brièvement ce qu'est Manta ainsi que de se présenter lui-même ?
Shumo :
Bonjour à tous, c’est un grand plaisir de participer à cet événement. Je suis Shumo, cofondateur de Manta Network. Permettez-moi tout d’abord de présenter Manta : nous avons fondé le projet vers octobre 2020. À cette époque, nous avions identifié un problème majeur dans la blockchain (Web3) : le manque total de confidentialité. Nous étions convaincus du potentiel futur de Web3, mais si cette industrie devait s'imposer massivement, il était inacceptable que toutes les transactions soient publiques. La vie privée est un droit fondamental. Si l'on examine la structure actuelle des blockchains publiques, on constate qu’elles sont presque toutes totalement non confidentielles, à l’exception très minoritaire de projets comme Monero ou Zcash.
Notre objectif initial était donc de résoudre ce problème de confidentialité. Comment ? En développant d’abord un produit de paiement privé sur blockchain : MantaPay, qui a déjà connu deux versions de testnet. Vous pouvez y penser comme une version « bring-your-token » de Zcash. Ce produit a été lancé dans l’écosystème Polkadot, mais nous prévoyons également de nous étendre à d'autres chaînes. Notre prochaine étape consistera à développer des contrats intelligents pour actifs privés, un travail qui a déjà duré environ six mois, bien que le produit ne soit pas encore officiellement publié. Pour résumer Manta en une phrase : nous construisons la couche de confidentialité pour l’ensemble de Web3. À l’avenir, quel que soit votre usage classique de Web3, nous voulons qu’il soit possible de choisir une option « privatize by Manta », transformant automatiquement vos transactions en opérations privées.
Concernant mon parcours personnel, j’ai fait un doctorat à l’Université de Washington, spécialisé dans les systèmes de bases de données et la vérification formelle. Après mon diplôme, j’ai travaillé un an chez Algorand en tant que chercheur scientifique, puis j’ai été professeur assistant à l’Université de Californie à Santa Barbara. Aujourd’hui, je suis pleinement dédié à Manta Network.
Yiki :
Merci beaucoup. Sputnik, pourrais-tu également te présenter brièvement, ainsi que parler des domaines de recherche qui t’intéressent actuellement ?
Sputnik :
Bonjour à tous, je suis Sputnik. Actuellement, au sein de THUBA, je dirige le groupe de recherche ZK. Personnellement, je suis doctorant en cryptographie à Tsinghua, avec un intérêt particulier pour les technologies de protection de la vie privée appliquées à la blockchain, notamment les algorithmes et les preuves à connaissance nulle (ZK). Notre groupe de recherche ZK vise à créer un espace de discussion accessible au grand public, favorisant les échanges entre monde académique et industriel. Tous ceux qui souhaitent participer sont les bienvenus. C’est un plaisir aujourd’hui de discuter avec Shumo des applications des preuves ZK. Bienvenue à tous !
Qu'est-ce que la ZK ?
Yiki :
Tout d’abord, pourrais-tu, Shumo, nous expliquer simplement ce qu’est la ZK, son principe et ses applications, en termes compréhensibles même pour un débutant ?
Shumo :
ZK signifie « zero-knowledge proof » (preuve à connaissance nulle). Ce concept a été étudié théoriquement pendant de nombreuses années, avec comme origine au moins une trentaine d’années en arrière, grâce au célèbre article de GMR (Goldwasser, Micali, Rackoff). Pendant longtemps, cela restait purement théorique. Un tournant majeur a été marqué par Zcash, où plusieurs professeurs issus d’universités différentes ont collaboré pour réaliser la première implémentation concrète. Ils ont développé une construction pratique appelée libsnark, qui a permis le déploiement de la première version de Zcash. C’est à ce moment-là que la communauté a pris conscience que ces preuves pouvaient être utilisées en pratique.
Comme l’a dit Micali, on peut comprendre la ZK comme un « chiffrement du calcul ». Habituellement, le chiffrement concerne les données : transformer du texte clair en texte chiffré. Mais la ZK va plus loin : elle chiffre le calcul lui-même. Par exemple, supposons que vous vouliez prouver que vous savez que 3 + 5 = 8, sans révéler ni les entrées (3 et 5), ni le résultat (8). Vous disposez alors d’un engagement (commitment) pour chaque valeur — 3, 5 et 8 — et devez convaincre un tiers que l’opération est correcte. Dans le contexte de la blockchain, cela revient à prouver aux validateurs ou aux nœuds que quelque chose est vrai, sans leur révéler les détails, selon un haut niveau d’abstraction ZK.
Yiki :
Merci, Shumo. Sputnik, de ton point de vue, comment définirais-tu la ZK, et quelle est ta vision de son évolution ?
Sputnik :
Du point de vue de la cryptographie, le protocole ZK est extrêmement simple à résumer : c’est un protocole cryptographique à deux parties, composé d’un prouveur (prover) et d’un vérificateur (verifier). L’objectif est que le prouveur démontre au vérificateur qu’il connaît un secret, sans lui révéler aucune information supplémentaire — d’où le terme « à connaissance nulle ».
Que signifie « zéro connaissance » ? Du point de vue cryptographique, cela nécessite des concepts d’information théorique pour être rigoureusement défini : au cours de l’interaction, le vérificateur ne doit pas acquérir de nouvelles capacités ou connaissances qu’il ne possédait pas initialement. Comme mentionné précédemment par Shumo, imaginez devoir prouver que 3 + 5 = 8 sans divulguer les valeurs. On pourrait alors utiliser un commitment (engagement cryptographique), qui possède deux propriétés essentielles : l’engagement (binding) et la confidentialité (hiding). Une fois l’engagement créé, la valeur sous-jacente est fixée (comme une fonction de hachage : toute modification change le résultat). Mais en même temps, observer l’engagement ne permet pas de deviner la valeur initiale. Plus tard, je peux « ouvrir » cet engagement et fournir une preuve ZK pour démontrer que la valeur engagée correspond bien à celle que j’affirme. Tel est le regard cryptographique sur la ZK.
Yiki :
Parfait, tu viens de donner une définition et un aperçu historique de la ZK du point de vue académique. Pourrais-tu maintenant préciser comment la recherche aborde la ZK aujourd’hui, et quels sont les sujets principalement explorés ?
Sputnik :
Dans le domaine académique, il existe différentes directions de recherche. Il y a d’abord l’approche très théorique, centrée sur la sécurité prouvable, qui repose sur des méthodes formelles rigoureuses — un sujet trop complexe pour être développé ici. Ensuite, il y a les recherches orientées applications, notamment au niveau algorithmique : proposer de nouveaux algorithmes optimisés, offrant de meilleures performances que les anciens. Enfin, des projets comme Zcash, conçus par les professeurs mentionnés par Shumo, illustrent comment traduire des algorithmes théoriques en applications concrètes. Le protocole a été proposé en 2014, et le système déployé en 2016. Voilà à peu près les grandes orientations de la recherche ZK.
Yiki :
Tu suis donc le domaine crypto depuis longtemps via THUBA. Selon toi, quel est le lien actuel entre la recherche ZK et l’industrie crypto ? Est-il bien établi ?
Sputnik :
Je pense que la recherche a déjà produit de nombreux résultats, avec divers algorithmes disponibles. Toutefois, leur intégration dans l’industrie nécessite encore des améliorations notables en termes de performance. Autrement dit, certains algorithmes peuvent sembler prometteurs sur le plan théorique, mais leurs performances réelles lors de l’implémentation restent incertaines. Je propose donc à Shumo de nous parler plus précisément de l’état actuel des applications industrielles de la ZK.
Shumo :
La recherche est bien sûr essentielle. Néanmoins, il existe un fossé entre recherche et application pratique : la recherche se concentre principalement sur la complexité algorithmique, tandis que l’application industrielle met l’accent sur les performances réelles. Un atout de la cryptographie est que les performances théoriques et pratiques sont généralement proches, sans constantes cachées importantes. Toutefois, implémenter un algorithme demande souvent un effort technique considérable, nécessitant des équipes spécialisées.
Deuxièmement, l’implémentation des protocoles ZK sous-jacents est extrêmement complexe, notamment en ce qui concerne les circuits R1CS ou Plonk. C’est pourquoi nous développons chez Manta un outil appelé OpenZL (bibliothèque open-source de preuves à connaissance nulle), une couche intermédiaire visant à accroître l’efficacité du développement. Je pense que le principal écart entre recherche et industrie réside justement dans cette abstraction de couche intermédiaire. Bien entendu, une bonne compréhension des fondamentaux cryptographiques reste bénéfique pour l’ingénierie.
Yiki :
Très bien, merci. Maintenant que nous avons évoqué quelques applications ZK, pourrais-tu, Sputnik, détailler davantage les cas d’usage de la ZK, tant dans la blockchain que hors blockchain ?
Sputnik :
En ce qui concerne la blockchain, les applications ZK se divisent principalement en deux catégories : la confidentialité et la mise à l’échelle. Concernant la confidentialité, on pense bien sûr à Zcash, que beaucoup connaissent sous le nom de « grand jeton privé ». Ce projet permet de masquer les éléments clés d’une transaction : l’expéditeur, le destinataire et le montant transféré. Il s’agit d’une amélioration notable par rapport à des projets antérieurs comme Zcoin.
Ensuite vient la mise à l’échelle. Quand on parle de scaling dans la blockchain, on fait souvent référence à l’augmentation du TPS (transactions par seconde). Comment la ZK intervient-elle dans ce contexte ? Comme mentionné, la ZK est avant tout un système de preuve. Pour la confidentialité, on exploite sa propriété de « zéro connaissance ». Pour la mise à l’échelle, on utilise sa capacité à prouver efficacement la validité d’un calcul. Prenons l’exemple bien connu du ZK roll-up, que l’Ethereum explore activement. L’idée est de ramener la blockchain à son rôle fondamental : la consensus. Or, exécuter chaque calcul directement sur la chaîne est coûteux, car tous les nœuds doivent recopier et valider chaque opération. D’où l’intérêt de déporter ces calculs hors chaîne (off-chain), et de ne soumettre à la chaîne qu’un résumé des changements d’état accompagné d’une preuve de validité. La blockchain, représentant un état global (ex : soldes des comptes), peut alors être mise à jour simplement en vérifiant la preuve, opération extrêmement rapide comparée à l’exécution complète du calcul. C’est ainsi que fonctionne le ZK roll-up, et c’est là l’application majeure de la ZK dans la blockchain.
Hors blockchain, on parle surtout de « calcul confidentiel ». Bien que ce domaine tende de plus en plus à s’intégrer avec la blockchain, il inclut aussi des cas comme le calcul multipartite sécurisé (MPC), où plusieurs parties souhaitent effectuer conjointement un calcul sans révéler leurs données privées. Ici, les protocoles ZK apparaissent souvent comme un composant parmi d’autres. Tels sont les principaux cas d’usage actuels.
Yiki :
Merci. Maintenant, pourquoi la ZK est-elle importante ? Par exemple, comment l’expliquerais-tu à des étudiants ?
Shumo :
D’un point de vue fondamental, tout tourne autour de la confiance entre les individus. La blockchain vise précisément à résoudre les problèmes de confiance. Comme l’a souligné Sputnik, les applications actuelles de la ZK sont déjà cruciales. Premièrement, pour la confidentialité : la ZK constitue aujourd’hui la seule solution viable pour dissimuler des informations tout en garantissant le consensus. Deuxièmement, pour les roll-ups : regrouper des transactions et fournir une preuve de leur validité. Globalement, la société évolue vers une réduction des processus basés sur la confiance humaine. La ZK, qui passait de protocoles spécifiques à la possibilité de vérifier n’importe quel calcul, connaît une progression similaire à la loi de Moore.
Comment apprendre la ZK ?
Yiki :
Bien compris. Sur cette lancée, pourrais-tu, Shumo, partager ton expérience personnelle d’apprentissage de la ZK, et donner quelques conseils à ceux qui souhaiteraient commencer de zéro ?
Shumo :
Premièrement, il est crucial de clarifier son objectif : pourquoi veut-on apprendre la ZK ? Étant donné la profondeur technique du sujet, avoir un but précis rend l’apprentissage plus efficace. Deuxièmement, si l’on souhaite maîtriser la ZK, il faut commencer par les bases de la cryptographie. Les jeunes cryptographes d’aujourd’hui s’initient souvent via les cours en ligne du professeur Dan Boneh de Stanford, qui couvrent les fondamentaux de la cryptographie.
Ensuite, explorer les bibliothèques open source sur GitHub et commencer à coder sont des étapes pratiques essentielles. En résumé : commencez par les bases théoriques, puis passez rapidement à la pratique en programmant.
Yiki :
C’est très parlant. Apprendre la théorie tout en codant semble indispensable. Et toi, Sputnik, quelle est ton opinion ? Sachant que tu as un parcours mathématique universitaire, aurais-tu des conseils spécifiques pour les étudiants ?
Sputnik :
J’ai fait une licence en mathématiques, puis me suis orienté vers la sécurité de l’information. J’ai découvert la cryptographie dès ma troisième année. Pour ceux qui veulent une compréhension solide et pouvoir appliquer la ZK, je recommande d’apprendre les concepts de base : signatures, fonctions de hachage, MAC, etc., ainsi que les méthodes cryptographiques pour définir la « zéro connaissance ».
Pour une introduction simple, je conseille vivement l'article « How to explain ZK protocols to your children », publié dans les actes de Crypto (l’un des sommets les plus prestigieux en cryptographie) dans les années 90. Il utilise des métaphores accessibles comme « Alibaba et les quarante voleurs » et la « grotte à connaissance nulle », illustrant parfaitement les propriétés de la ZK, ainsi que des outils comme le simulateur (utilisé pour prouver la propriété de zéro connaissance). D’ailleurs, je partage mes ressources dans un dépôt (repo) personnel et un podcast disponible sur Xiaoyuzhou (« Zero-Knowledge Cave »), où je présente cet article et d’autres applications de la ZK.
L'état actuel et l'avenir de la ZK :
Sputnik :
Passons maintenant à un autre thème. Après avoir longuement discuté de la ZK et de son apprentissage, j’aimerais entendre ton avis, Shumo, sur une question d’actualité : pourquoi le secteur des applications ZK est-il si concurrentiel aujourd’hui ? De nombreux projets émergent, comme zkSync, Zcash, voire la Fondation Ethereum elle-même. Chacun dispose d’une équipe cryptographique puissante. Starkware, par exemple, a pour cofondateur Eli Ben-Sasson, professeur israélien et également créateur de Zcash. Quel est ton avis sur ce phénomène ?
Shumo :
Tout d’abord, cela dépend de ce qu’on entend par « compétitif ». Oui, que ce soit pour les projets existants ou ceux en phase de démarrage, je peux affirmer que la concurrence ne fera qu’augmenter. Mais je pense que ce dynamisme est positif, tant pour le domaine ZK que pour l’ensemble de Web3. Web3 est un espace ouvert où chacun peut entrer librement, ce qui suscite naturellement la compétition. D’ailleurs, les projets ne font pas tous exactement la même chose : Starkware, par exemple, se distingue par son propre langage de programmation.
Alors, comment s’insérer dans ce paysage concurrentiel ? Plutôt que de copier les projets populaires, mieux vaut identifier des besoins non satisfaits et chercher à résoudre des problèmes réels. En résumé, la concurrence est inévitable, mais il faut trouver sa propre niche plutôt que d’imiter les autres.
Sputnik :
Un autre point sur ce secteur ZK : pourrais-tu comparer les principales entreprises du domaine ZK roll-up, comme zkSync, Starkware et Scroll ? Quelles sont leurs différences ?
Shumo :
Tout d’abord, je ne développe pas moi-même de ZK roll-up. Concernant ta question, un critère clé est l’équivalence EVM : le projet est-il pleinement compatible avec l’environnement EVM ?
La première approche, dite « EVM compatible », est celle de zkSync. Ils n’intègrent pas l’EVM complet dans le circuit, mais créent une machine virtuelle (VM) personnalisée. Intégrer l’EVM directement dans un circuit est trop complexe techniquement. Cette approche permet un lancement plus rapide — zkSync pourrait ainsi être le premier à déployer son réseau principal. Toutefois, cette compatibilité limitée à Solidity empêche l’utilisation de nombreux outils Ethereum comme les débogueurs.
Scroll et Hermez, quant à eux, affirment atteindre une véritable équivalence EVM, ce qui est plus avantageux car ils peuvent tirer parti de l’écosystème d’outils existant.
Starkware, jusqu’à présent, conserve un prover (générateur de preuve) fermé. Quant au projet de la Fondation Ethereum, il s’agit surtout d’une exploration technique pure, qui aura probablement peu de chances d’être déployé en production.
Sputnik :
Pour terminer sur ce sujet, nous avons parlé des applications ZK en matière de confidentialité et de roll-up. Mais pour les développeurs, comme tu l’as dit, une équipe cryptographique spécialisée semble nécessaire. Or, pour des usages comme le roll-up, on vise une transparence totale pour l’utilisateur final — il ne devrait même pas percevoir l’existence de cette couche intermédiaire. Ma question est donc : pouvons-nous espérer des produits plus accessibles, que tout le monde puisse utiliser facilement ? Existe-t-il de tels produits ?
Shumo :
Excellente question. Oui, bien sûr, cela existe. D’abord, concernant les ZK roll-up : ils ne sont pas privés, mais peuvent être déployés comme une couche intermédiaire transparente (par exemple zkSync), sans que le développeur ait besoin de comprendre la ZK. En revanche, pour les applications axées sur la confidentialité, une compréhension de la ZK est nécessaire. Par exemple, sur la plateforme d’actifs privés de Manta, interagir avec des actifs privés implique de programmer directement avec la ZK. Cela représente une opportunité passionnante pour les développeurs.
Deuxièmement, même si un bagage en cryptographie est un atout, l’évolution des langages de haut niveau et des outils permet désormais de ne plus écrire manuellement les circuits de bas niveau — tout comme les langages de programmation modernes ont remplacé l’assembleur. Ainsi, la barrière d’entrée pour programmer en ZK diminue progressivement. Cela prendra du temps, mais à l’avenir, les développeurs n’auront plus besoin de maîtriser tous les détails cryptographiques. De nouveaux langages et bibliothèques ZK apparaissent continuellement.
Sputnik :
Merci, Shumo. Je comprends bien ta vision de la ZK. Passons maintenant à Manta. Une question que j’aimerais poser : je sais que Manta travaille sur MantaPay, un système de paiement privé. Pourrais-tu nous présenter MantaPay, et expliquer les différences entre MantaPay et Zcash ?
Shumo :
D’abord, sur le plan fonctionnel. Nous nous sommes inspirés de nombreux aspects réussis de Zcash, mais notre protocole diffère fortement : Zcash ne supporte qu’un seul type de jeton, alors que nous en supportons plusieurs. Il y a aussi une différence conceptuelle : Zcash vise à construire un système de paiement autonome. Nous, nous voyons la confidentialité comme une infrastructure pouvant bénéficier à toute l’industrie, et pas seulement à notre propre système de paiement.
Sur le plan technique, étant arrivés après Zcash, nous avons pu adopter des technologies cryptographiques plus récentes, comme des fonctions de hachage compatibles avec la ZK. La taille de nos circuits est dix fois inférieure à celle de Zcash, ce qui améliore significativement les performances et l’expérience utilisateur. Voilà nos points communs et différences. Naturellement, nous nous appuyons sur les pionniers comme Zcash, dont nous avons beaucoup appris.
Sputnik :
Merci pour cette présentation de MantaPay. J’ai une question complémentaire, par curiosité personnelle. Avant cela, permettez-moi d’introduire le concept de « trusted setup » (configuration digne de confiance). Dans certains algorithmes, notamment en cryptographie, une configuration initiale est nécessaire pour générer des paramètres critiques. Par exemple, Zcash a utilisé ce mécanisme dès sa conception. Comme tu l’as mentionné, MantaPay nécessite-t-il aussi un trusted setup ? Sachant qu’il existe désormais des algorithmes ne nécessitant pas cette étape, pourquoi avez-vous choisi de l’inclure ? Y a-t-il des avantages spécifiques ?
Shumo :
Oui, il y a bel et bien des avantages, et cette méthode est largement utilisée. Il existe deux grands types de systèmes de preuve à connaissance nulle : Groth16, que nous utilisons, et Plonk. Chacun a ses forces et faiblesses. Groth16 nécessite un trusted setup, contrairement à Plonk (bien que Plonk requière un trusted setup spécifique à l’application). Nos tests montrent que Groth16 offre de meilleures performances.
Sur le plan cryptographique, les circuits et les systèmes de preuve diffèrent. En résumé, notre choix du trusted setup est motivé uniquement par des considérations de performance. Les utilisateurs ont des appareils variés, et le temps de génération de la preuve varie. Nous ne voulons pas discriminer les utilisateurs aux appareils lents. Que la preuve prenne 2 secondes ou 20 secondes a un impact direct sur l’expérience utilisateur. C’est donc une décision stratégique liée aux performances.
Deuxièmement, la sécurité du trusted setup reste maîtrisable. De nombreux membres de la communauté Manta participeront à ce processus, et nous inviterons probablement des personnalités reconnues dans l’écosystème pour garantir l’honnêteté du processus. C’est pourquoi nous optons pour le trusted setup.
Yiki :
Merci, Shumo. Notre AMA dure depuis une heure, et nous approchons de la fin. Nous avons eu une discussion très approfondie, allant de la définition de la ZK à son apprentissage, en passant par l’état actuel de la recherche et de l’industrie. Merci infiniment à Shumo et Sputnik pour leurs précieuses contributions.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News
Ajouter aux favorisPartager sur les réseaux sociaux
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














