
Le Zero-Knowledge Machine Learning est une méthode qui encapsule le « processus d’inférence » d’un modèle dans une preuve à divulgation nulle de connaissance. Cette approche permet à des tiers de vérifier que « le calcul effectué est correct » sans révéler le modèle sous-jacent ni les données d’entrée. C’est similaire à présenter un reçu de paiement pour prouver un achat, sans divulguer la liste détaillée des articles achetés.
Une preuve à divulgation nulle de connaissance est une preuve mathématique compacte qui permet à quiconque d’en vérifier rapidement la validité, sans révéler d’informations supplémentaires. En machine learning, l’inférence désigne le processus par lequel un modèle traite une entrée et produit une sortie—par exemple, déterminer si une image contient un chat. Le Zero-Knowledge Machine Learning combine ces principes pour permettre aux smart contracts sur blockchain de vérifier la justesse d’un résultat (par exemple « chat ou non ») sans révéler ni l’image d’entrée ni les détails du modèle.
Le Zero-Knowledge Machine Learning résout le dilemme entre « fiabilité » et « confidentialité » : les résultats doivent être reconnus comme fiables par plusieurs parties, mais les données et le modèle doivent souvent rester confidentiels. Cela revêt une importance particulière dans l’environnement blockchain, où les données on-chain sont transparentes mais inadaptées à la gestion directe d’informations sensibles.
Dans la pratique, les institutions souhaitent préserver la confidentialité de leurs paramètres de modèle ou de leurs secrets commerciaux, tandis que les utilisateurs s’inquiètent de leur vie privée. Les régulateurs exigent une conformité vérifiable, et les applications on-chain recherchent à la fois des coûts réduits et une grande fiabilité. Le Zero-Knowledge Machine Learning permet de concilier vérifiabilité et confidentialité, devenant ainsi un pont essentiel entre l’IA et le Web3.
Le principe fondamental est : « engager d’abord, prouver ensuite, puis vérifier ».
Première étape : Engager les paramètres du modèle et les entrées en les hachant—comparable à sceller des éléments dans une enveloppe avec une étiquette visible.
Deuxième étape : Effectuer l’inférence localement et générer une preuve concise que « ce modèle et cette entrée produisent ce résultat ».
Troisième étape : Soumettre le résultat et la preuve à un vérificateur ou à un smart contract ; le contrat vérifie uniquement la validité de la preuve, sans jamais accéder au contenu de « l’enveloppe ».
Deux grandes familles de systèmes de preuve à divulgation nulle de connaissance existent :
Pour rendre l’inférence du modèle vérifiable, il faut traduire les opérations du modèle en une description computationnelle vérifiable, appelée « circuits ». Cela revient à décomposer des calculs complexes en étapes élémentaires et facilement vérifiables. Le système de preuve génère ensuite une preuve pour ce « circuits ».
Les opérations on-chain suivent généralement le schéma « inférence off-chain + vérification on-chain ». L’utilisateur ou le service effectue l’inférence et génère les preuves hors chaîne ; le smart contract on-chain ne vérifie que la preuve, évitant ainsi des calculs coûteux sur la blockchain.
Première étape : Soumettre les engagements. Les hachages du modèle et de l’entrée sont soumis on-chain ou conservés hors chaîne pour indiquer le modèle et l’entrée utilisés.
Deuxième étape : Générer les preuves. Localement ou côté serveur, générer une preuve à divulgation nulle de connaissance attestant que « cette inférence a été réalisée avec le modèle et l’entrée engagés, produisant R ».
Troisième étape : Vérification on-chain. Appeler la fonction de validation du smart contract en transmettant le résultat et la preuve. Le contrat vérifie la validité de la preuve ; si celle-ci est valide, le résultat peut être utilisé comme donnée de confiance.
Sur les blockchains publiques comme Ethereum, le coût de vérification de chaque preuve dépend du système choisi. En 2024, les preuves succinctes les plus courantes peuvent être vérifiées à des coûts acceptables pour la plupart des applications, souvent de quelques dollars (en fonction de la congestion du réseau et de l’implémentation du contrat). Pour réduire encore les coûts, il est courant de déplacer la vérification sur des réseaux Layer 2, d’utiliser des preuves récursives pour regrouper plusieurs inférences en une seule vérification, ou de recourir à la vérification par lots pour réduire les dépenses globales.
Le Zero-Knowledge Machine Learning est particulièrement adapté aux situations où la fiabilité des résultats est essentielle, sans divulgation des détails.
Le Zero-Knowledge Machine Learning peut compléter, mais ne remplace pas, le TEE (Trusted Execution Environment), le MPC (Multi-Party Computation) ou le chiffrement homomorphe—chacun ayant son propre domaine d’application.
En pratique, ces solutions sont souvent combinées—par exemple en accélérant la génération de preuves dans un TEE ou en utilisant le MPC pour l’entraînement conjoint, puis des preuves à divulgation nulle pour les résultats d’inférence.
La démarche s’articule en trois grandes phases :
Première étape : Définir l’objectif. Sélectionnez une tâche de décision précise comme « cette transaction est-elle anormale ? » ou « le prix a-t-il franchi un seuil ? », plutôt qu’une génération ouverte ; précisez les éléments à garder confidentiels (paramètres du modèle, données d’entrée, seuils).
Deuxième étape : Sélection du modèle et construction des circuits. Optez pour des modèles légers (ex. : petits arbres de décision ou sous-modules de réseaux convolutifs) et convertissez les étapes d’inférence en opérations élémentaires vérifiables (« circuits »). Plus le modèle est simple et compact, plus la génération de preuve est rapide. Fixez les niveaux de précision et les plages d’opérateurs pour éviter la complexité des flottants dans les circuits.
Troisième étape : Génération de preuves et déploiement du contrat. Sélectionnez un système de preuve et implémentez un contrat de vérification ; déployez sur un Layer 2 ou un Rollup pour réduire les coûts ; prévoyez des interfaces pour le traitement par lots ou la récursion. Mettez en place des logs et des tests de relecture pour garantir la cohérence entre les résultats d’inférence off-chain et la vérification on-chain.
Sur le plan technique, veillez à la cohérence du prétraitement des données (le prétraitement off-chain doit être prouvable), fixez l’aléa et les seeds (pour la reproductibilité), et mettez en place des limites de fréquence et des contrôles d’accès pour éviter les fuites de modèle via des requêtes excessives.
Le Zero-Knowledge Machine Learning n’est pas une solution universelle ; ses principales limites portent sur la performance et les coûts.
Le secteur se dirige vers trois grands axes d’innovation :
En 2024, la taille des preuves est réduite à quelques dizaines ou centaines de kilo-octets, les coûts de vérification sont maîtrisés, et l’écosystème permet des déploiements initiaux pour des décisions basées sur des règles ou des détections de seuil, avant d’élargir progressivement les cas d’usage.
Le Zero-Knowledge Machine Learning combine « vérification fiable » et « protection de la confidentialité » pour les usages blockchain : l’inférence hors chaîne génère des preuves succinctes, rapidement vérifiables on-chain, permettant aux smart contracts de consommer les résultats en toute sécurité. En pratique, privilégier des tâches de décision claires, des modèles légers et les réseaux Layer 2 constitue l’option la plus réaliste. Associer ZKML à TEE, MPC ou au chiffrement homomorphe offre un équilibre entre performance et confidentialité. Pour les applications liées aux actifs ou au contrôle du risque, il est essentiel d’intégrer audit, limites de fréquence et plans de secours pour préserver les fonds et l’intégrité des données.
La principale différence réside dans les mécanismes de protection de la confidentialité. Le machine learning traditionnel suppose l’envoi de données brutes vers des serveurs centralisés, ce qui accroît les risques de fuite. Avec le Zero-Knowledge Machine Learning, les détenteurs de données effectuent les calculs localement et ne partagent que les résultats accompagnés de preuves préservant la confidentialité ; les données brutes ne quittent jamais leur appareil. Cela revient à recevoir un colis sans remettre ses clés de maison—le livreur n’a qu’à vérifier l’identité pour la livraison.
Il existe effectivement un compromis de performance. Générer et vérifier des preuves de confidentialité accroît la charge de calcul—généralement 10 à 100 fois plus lent que le machine learning classique selon la complexité du modèle. Toutefois, ce surcoût reste souvent acceptable dans les domaines sensibles comme le diagnostic médical ou la gestion du risque financier. Grâce aux optimisations matérielles et aux avancées algorithmiques, cet écart de performance tend à se réduire.
Oui. Le Zero-Knowledge Machine Learning peut être utilisé pour la détection du risque on-chain et l’analyse de fraude—identifier des schémas de trading suspects tout en protégeant la vie privée des utilisateurs. Par exemple, lors de transactions sur Gate, des modèles ZKML peuvent valider le score de risque de votre compte sans exposer votre historique de transactions ni la taille de vos actifs à la plateforme, garantissant ainsi une sécurité fiable et discrète.
Les preuves de confidentialité Zero-Knowledge reposent sur des fondements cryptographiques qui les rendent théoriquement infalsifiables. Les falsifier nécessiterait de briser des hypothèses cryptographiques fondamentales—ce qui est considéré comme irréalisable avec la technologie actuelle. Toutefois, la sécurité dépend de la qualité de l’implémentation : il est donc essentiel de privilégier des solutions auditées et certifiées.
Non. L’utilisation du ZKML s’apparente à celle de tout autre logiciel : il suffit de savoir que votre confidentialité est assurée. Les développeurs et plateformes encapsulent toute la complexité cryptographique derrière des interfaces conviviales ; avec des applications comme Gate, il suffit de suivre les étapes pour bénéficier de la confidentialité—comme on utilise Internet sans connaître le protocole TCP/IP.


