
Expert en confidentialité Web3 vous dévoile le zkTLS et ses applications
TechFlow SélectionTechFlow Sélection

Expert en confidentialité Web3 vous dévoile le zkTLS et ses applications
zkTLS ne représente pas seulement une amélioration de la disponibilité des données Web2 dans l'écosystème Web3, mais aussi un changement de propriété des données.
Auteur de l'article : Xavier, cofondateur@Primus Lab
Docteur en cryptographie, plus de 10 ans d'expérience dans la recherche sur la confidentialité MPC/ZK/PPML
Bien que les technologies ZK, représentées par les zkSNARKs, aient connu un développement sans précédent dans l'industrie blockchain, elles sont encore loin du scénario final escompté. D'une part, les zkRollups ont apporté certains avantages en termes de performances pour Ethereum, mais avec le déclin croissant des applications on-chain, l'infrastructure reste sous-utilisée. D'autre part, la technologie zk n'a toujours pas permis de développer des applications à forte valeur ajoutée — qu'il s'agisse de transactions privées ou de paiements confidentiels sur la chaîne, ou bien de diverses combinaisons zk + XXX (zkEmail, zkLogin, zkPassport, etc.) — souvent confrontées à des besoins flous, à une instrumentalisation forcée de zk ou à un simple vernis technologique, sans véritablement résoudre les problèmes pratiques.
Qu'est-ce que zkTLS ?
Un exemple courant : comment prouver à quelqu'un que vous avez beaucoup d'argent sur votre compte bancaire ? La méthode traditionnelle consiste à demander à votre banque un certificat d'actifs. Ce type de preuve papier porte le cachet officiel de la banque et garantit clairement son authenticité.

(Image tirée d'Internet)
Mais si la question devient : comment prouver à quelqu'un votre score de crédit, votre montant de dépenses sur une plateforme e-commerce, ou encore votre temps de jeu ? Nous ne pouvons pas nous attendre à ce que les sites détenant vos données personnelles fournissent spontanément un tel service de certification. Vous pourriez aussi convaincre autrui via une simple capture d'écran, mais cette méthode reste sujette à la suspicion de falsification et comporte des risques supplémentaires de fuite d'informations sensibles.
zkTLS est une technologie de vérification de données basée sur le protocole TLS, capable d'apporter objectivement une preuve d'authenticité à n'importe quelle donnée issue d'Internet.
Le tout premier produit technologique zkTLS fut PageSigner, lancé en 2015 par le projet TLSNotary sur navigateur Chrome. Comme l'indique son nom, l'objectif initial de TLSNotary était précisément de créer un outil permettant de prouver l'authenticité des données web. En réalité, ce n'est qu'en 2020, avec la publication du document DECO par l'équipe ChainLink, que zkTLS a progressivement attiré l'attention du secteur, révélant l'existence d'une nouvelle catégorie d'oracles capables d'accéder à des données privées hors chaîne.
Objectivement parlant, avant 2023, la technologie zkTLS n'était utilisable qu'au stade « fonctionnel », loin d'être « pratique » : une seule génération de preuve prenait généralement plusieurs minutes. En 2023, face aux coûts élevés en communication liés à l'utilisation du calcul multipartite sécurisé (MPC) dans zkTLS, reclaim a proposé une approche zkTLS basée sur un modèle de proxy. En utilisant des zkSNARKs classiques et en introduisant un nœud proxy nécessitant une certaine confiance, cette solution rend vérifiables les données TLS. À la mi-2023, l'équipe Primus (anciennement appelée « PADO ») a amélioré les performances globales de la technologie zkTLS basée sur MPC d’un facteur supérieur à 10, grâce à la technique « garble-then-prove » combinée à l’algorithme quicksilver. Dans le mode proxy, en remplaçant les zkSNARKs traditionnels par l'algorithme quicksilver, les performances ont également été multipliées par plus de 10. Aujourd'hui, la technologie zkTLS de Primus répond essentiellement aux exigences de performance de divers scénarios applicatifs.

Les lecteurs peuvent consulter les évaluations de référence pour en savoir plus sur les performances de zkTLS
(https://hackmd.io/@-fI_Eu_rR8qs02aOhOPWNg/HkRyz5OF1g)
Classification de la technologie zkTLS
Généralement, zkTLS permet de valider l'authenticité des données web grâce à un tiers appelé Attestor. L'Attestor agit comme un observateur qui, en « lisant » les messages de requête et de réponse durant l'exécution du protocole TLS, garantit que les données utilisateur (provenant des messages de réponse du serveur) proviennent effectivement d'une source spécifique (le domaine du serveur et l'endpoint API concerné).
Le protocole TLS se divise généralement en deux phases : la poignée de main (handshake) et la session. Durant la phase de handshake, le client et le serveur échangent plusieurs messages afin de calculer conjointement une clé de session destinée aux communications chiffrées suivantes. Pendant la phase de session, le client envoie une requête au serveur, qui lui retourne une réponse ; tous les messages étant chiffrés avec la clé de session, cela empêche tout tiers d'accéder aux données.
Selon les composants techniques utilisés, zkTLS se divise principalement en deux catégories : celle fondée sur le calcul multipartite sécurisé (MPC) et celle basée sur un proxy.
Mode MPC
Le mode MPC repose principalement sur l'utilisation du calcul multipartite sécurisé. Dans cette approche, l'Attestor et le Client utilisent un protocole de calcul bipartite (2PC) pour simuler la partie cliente lors du handshake TLS. Cela signifie qu'à la fin de la phase de handshake, le client ne reçoit pas directement la clé de session complète. Seulement après avoir reçu le texte chiffré de réponse, l'Attestor transmet sa part de clé au client, lui permettant ainsi de déchiffrer tous les messages.
« Petite connaissance : MPC, ou calcul multipartite sécurisé, implique généralement deux parties (appelé 2PC) ou plus (appelé MPC). Qu’il s’agisse de 2PC ou de MPC, toutes les parties doivent garder leurs entrées secrètes tout en coopérant pour accomplir une tâche de calcul précise, par exemple calculer un salaire moyen sans divulguer les salaires individuels, ou permettre à plusieurs fournisseurs de données de collaborer à l'entraînement d'un modèle d'IA sans exposer leurs données respectives. »

Le processus intuitif du mode MPC est le suivant :
-
Phase de handshake : Le Client et l'Attestor exécutent un protocole 2PC pour calculer conjointement la clé de session. Au cours de ce processus, chacun détient uniquement une part de la clé, jamais la clé complète.
-
Chiffrement de la requête : Le Client et l'Attestor exécutent à nouveau un protocole 2PC pour calculer les données de requête chiffrées.
-
Traitement de la réponse : Le Client reçoit le texte chiffré de réponse provenant de la source de données et le transfère à l'Attestor.
-
Déverrouillage de la clé et vérification : L'Attestor envoie sa part de clé au Client, lui permettant d'obtenir la clé de session complète. Le Client utilise ensuite cette clé pour déchiffrer la réponse et prouve à l'Attestor que le texte chiffré est valide et satisfait aux propriétés de sécurité définies par le protocole. Notons que le Client et l'Attestor n'utilisent pas de protocole 2PC pour déchiffrer la réponse ; le déchiffrement est effectué indépendamment par le Client une fois la clé complète obtenue.
Mode Proxy
Dans le mode proxy, l'Attestor agit comme intermédiaire, relayant tous les échanges de données TLS (y compris les informations de handshake et les données chiffrées) entre le Client et la Source de données. À la fin du protocole TLS, le Client doit prouver à l'Attestor, de manière à connaissance nulle (ZK), la validité des textes chiffrés.
L'objectif de conception du mode proxy est d'éliminer le protocole 2PC présent dans MPC-TLS, car ce dernier représente la charge computationnelle la plus élevée. En réduisant la complexité des calculs, ce mode améliore nettement l'efficacité globale du protocole.

Que peut nous apporter zkTLS ?
La valeur fondamentale de zkTLS réside principalement dans la vérifiabilité.
Jusqu'à présent, aucune méthode efficace ne permettait, dans un cadre sans confiance, de fournir des données personnelles vérifiables. Cette vérifiabilité offre une grande souplesse et utilité, notamment :
-
- Aucune intrusion dans la source de données : La source de données ne détecte pas qu'elle interagit avec un nouveau protocole zkTLS, et suit simplement la logique traditionnelle du protocole TLS. Cela signifie qu'en théorie, zkTLS peut s'intégrer à toute source de données ou service API basé sur TLS, bien que des interactions anormalement fréquentes puissent déclencher les systèmes de contrôle des risques côté source.
-
- Universalité : Tout ce qui est visible peut être prouvé. En théorie, n'importe quelle donnée web, qu'elle soit publique, privée, sensible ou non, peut être attestée par un Attestor via zkTLS.
-
- Indépendance de la chaîne : zkTLS est purement une opération hors chaîne fondée sur la cryptographie. Sa sortie est généralement une donnée accompagnée de la signature de l'Attestor, pouvant être vérifiée hors chaîne ou intégrée dans un contrat intelligent pour validation on-chain.
-
- Respectueux de la vie privée : Grâce aux propriétés des preuves à connaissance nulle, zkTLS permet une divulgation minimale des informations sensibles. Autrement dit, concernant les messages de réponse retournés par le protocole TLS, il est possible de définir des contraintes personnalisées sur les données numériques, comme « âge supérieur à 18 ans » ou « solde supérieur à 10 000 », dont les preuves seront incluses dans les données de sortie.
Cas d'application de zkTLS
Vous vous demandez peut-être quels sont les cas d'usage possibles du partage de données basé sur zkTLS ? Voici quelques idées prometteuses selon nous :

-
Prêts à faible mise : En fournissant via zkTLS des preuves de score de crédit, de solde bancaire, de revenus ou d'autres données financières hors chaîne, les protocoles de prêt peuvent offrir une meilleure efficacité d'utilisation du capital.
-
Vérification d'identité hors chaîne : Obtenir les informations KYC d'un utilisateur auprès d'institutions traditionnelles et les utiliser dans des protocoles financiers on-chain.
-
Transactions P2P : Créer un marché numérique peer-to-peer. D'une part, l'acheteur peut prouver via zkTLS le transfert de propriété d'un bien numérique (billets électroniques, noms de domaine, objets de jeu, voire monnaie légale). D'autre part, le vendeur peut contrôler le transfert du jeton via un contrat intelligent.
-
Agent IA : Grâce à zkTLS, nous pouvons garantir que le comportement d’un agent IA est entièrement fiable. Cela inclut la vérification des déclarations d'agents influents sur les réseaux sociaux, ou l'activation de robots de trading IA et de la participation des IA à la gouvernance DAO, réduisant ainsi les coûts de confiance dans ces processus.
-
Preuve de fandom : Par exemple, permettre aux utilisateurs de prouver leur statut de fan afin d'obtenir des récompenses de la part de KOLs ou d'artistes.
-
Don ou paiement vers comptes sociaux : Permettre à quiconque d'envoyer des actifs cryptographiques vers un ou plusieurs comptes sociaux sans connaître leur adresse de portefeuille. En contrepartie, l'utilisateur doit fournir via zkTLS une preuve de propriété du compte social pour réclamer ses jetons.
-
Connexion sociale : En validant via zkTLS la propriété d'un compte sur une plateforme sociale, développer un nouveau mécanisme de connexion. L'utilisateur pourrait se connecter à n'importe quel service web en utilisant son compte, sans dépendre d'un compte Google ou Meta spécifique.
Nouveau paradigme de vérification et de calcul des données à valeur
zkTLS ne représente pas seulement une amélioration de l'utilisabilité des données Web2 dans l'écosystème Web3, mais également un changement fondamental de la propriété des données. Des données autrefois enfermées dans des plateformes peuvent désormais circuler librement, protégées par la confidentialité et programmables. Cette évolution fait passer l'utilisateur du statut de simple consommateur à celui de véritable maître de ses données.
Avec l'adoption accélérée de zkTLS, nous assisterons à un effet de synergie issu de la vérifiabilité des données : davantage de données vérifiables soutiendront des applications plus puissantes. Par ailleurs, le transfert de valeur de ces données vérifiables entre applications soulève une nouvelle question : comment calculer ces données critiques tout en garantissant la justesse des résultats.
En réalité, le calcul sur des données sensibles on-chain s'appuie généralement sur des techniques cryptographiques plus complexes, comme le chiffrement homomorphe complet (FHE). En combinant ingénieusement FHE et preuves à connaissance nulle, Primus a redéfini ces algorithmes pour proposer le protocole zkFHE (chiffrement homomorphe vérifiable), permettant des calculs confidentiels sur la chaîne sans besoin de confiance. Cette avancée étend la technologie zkTLS — initialement centrée sur la vérification des données entre différents espaces numériques — au domaine du calcul, ouvrant la voie à de nouvelles applications innovantes.
Clause de non-responsabilité :
Cet article a été rédigé par Xavier de l'équipe Primus. Certaines parties du texte peuvent présenter un intérêt particulier. Les lecteurs sont invités à juger par eux-mêmes.
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














