
ArkStream Capital : Les jalons du développement technologique des preuves à connaissance nulle au cours des quarante dernières années
TechFlow SélectionTechFlow Sélection

ArkStream Capital : Les jalons du développement technologique des preuves à connaissance nulle au cours des quarante dernières années
Cet article présente une revue systématique des travaux historiques et des dernières recherches sur la technologie de preuve à connaissance nulle au cours des quatre dernières décennies.
Rédaction : @renkingeth
Résumé
La preuve à connaissance nulle (ZKP) est largement considérée dans le domaine de la blockchain comme l'une des innovations technologiques les plus importantes depuis les technologies de registre distribué, et constitue également un domaine clé pour les investissements en capital-risque. Cet article présente une revue systématique complète de la littérature historique sur les preuves à connaissance nulle au cours des quatre dernières décennies ainsi que des recherches récentes.
Tout d'abord, nous introduisons les concepts fondamentaux et le contexte historique des preuves à connaissance nulle. Ensuite, nous analysons en détail les techniques de preuve à connaissance nulle basées sur des circuits, y compris les modèles tels que zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs et Ligero, en ce qui concerne leur conception, leurs applications et leurs méthodes d’optimisation. Dans le domaine des environnements informatiques, nous présentons les ZKVM et ZKEVM, et examinons comment ils améliorent la capacité de traitement des transactions, protègent la confidentialité et augmentent l’efficacité de la vérification. L'article décrit également le fonctionnement et les méthodes d'optimisation du Rollup à connaissance nulle (ZK Rollup) en tant que solution d'extension de niveau 2, ainsi que les progrès récents concernant l'accélération matérielle, les solutions hybrides et les machines virtuelles Ethereum dédiées aux ZK (ZK EVM).
Enfin, cet article explore des concepts émergents tels que ZKCoprocessor, ZKML, ZKThreads, ZK Sharding et ZK StateChannels, tout en discutant de leur potentiel en matière d'évolutivité, d'interopérabilité et de protection de la vie privée dans les blockchains.
En analysant ces technologies récentes et tendances évolutives, cet article offre une perspective globale pour comprendre et appliquer les preuves à connaissance nulle, mettant en évidence leur potentiel énorme pour améliorer l'efficacité et la sécurité des systèmes blockchain, fournissant ainsi une référence importante pour les décisions futures d'investissement.
Introduction
Aujourd'hui, alors que l'internet entre progressivement dans l'ère Web3, le développement des applications blockchain (DApps) s'accélère, avec de nouvelles applications apparaissant presque chaque jour. Ces dernières années, les plateformes blockchain gèrent quotidiennement les activités de millions d'utilisateurs et traitent des milliards de transactions. Les grandes quantités de données générées par ces transactions incluent souvent des informations sensibles telles que l'identité des utilisateurs, les montants des transactions, les adresses de compte et les soldes. Étant donné les caractéristiques d'ouverture et de transparence des blockchains, ces données sont accessibles à tous, soulevant ainsi divers problèmes de sécurité et de confidentialité.
Actuellement, plusieurs techniques cryptographiques peuvent relever ces défis, notamment le chiffrement homomorphe, les signatures circulaires, le calcul sécurisé multipartite et les preuves à connaissance nulle. Le chiffrement homomorphe permet d'effectuer des opérations sans déchiffrer les textes chiffrés, protégeant ainsi la sécurité des soldes de compte et des montants de transaction, mais ne peut pas protéger les adresses de compte. Les signatures circulaires offrent une forme spéciale de signature numérique capable de masquer l'identité du signataire, assurant ainsi la sécurité des adresses de compte, mais sont inefficaces pour protéger les soldes de compte ou les montants de transaction. Le calcul sécurisé multipartite permet de répartir une tâche de calcul entre plusieurs participants sans qu'aucun d'eux ne connaisse les données des autres, protégeant efficacement les soldes et les montants, mais ne garantit pas non plus la confidentialité des adresses. De plus, ni le chiffrement homomorphe, ni les signatures circulaires, ni le calcul multipartite ne permettent de vérifier qu’un prouveur dispose bien de suffisamment de fonds pour une transaction, sans divulguer les montants, adresses ou soldes (Sun et al., 2021).
Les preuves à connaissance nulle constituent une solution plus complète : ce protocole de vérification permet de confirmer la validité d'une proposition sans révéler aucune donnée intermédiaire (Goldwasser, Micali & Rackoff, 1985). Ce protocole ne nécessite pas d'infrastructure complexe de clés publiques, et sa mise en œuvre répétée n'offre aucune opportunité aux utilisateurs malveillants d'obtenir des informations supplémentaires utiles (Goldreich, 2004). Grâce aux ZKP, un vérificateur peut confirmer qu'un prouveur possède bien des fonds suffisants pour une transaction, sans que les données privées de cette dernière soient divulguées. Le processus de vérification consiste à générer une preuve contenant le montant de transaction affirmé par le prouveur, puis à transmettre cette preuve au vérificateur, qui effectue un calcul prédéfini et produit un résultat final, sur la base duquel il décide d'accepter ou non l'affirmation du prouveur. Si l'affirmation est acceptée, cela signifie que le prouveur dispose bien de fonds suffisants. Ce processus de vérification peut être enregistré sur la blockchain sans possibilité de falsification (Feige, Fiat & Shamir, 1986).
Cette propriété fait des ZKP un élément central dans les transactions blockchain et les applications de cryptomonnaie, en particulier en matière de protection de la vie privée et de scalabilité du réseau. Elles sont ainsi devenues non seulement un sujet majeur de recherche académique, mais aussi l'une des innovations technologiques les plus significatives depuis l'avènement des technologies de registre distribué — en particulier Bitcoin — et représentent une voie stratégique clé pour les applications industrielles et les investissements en capital-risque (Konstantopoulos, 2022).
C’est pourquoi de nombreux projets blockchain basés sur les ZKP ont émergé, tels que ZkSync, StarkNet, Mina, Filecoin et Aleo. Avec le développement de ces projets, les innovations algorithmiques autour des ZKP se multiplient, avec presque un nouvel algorithme annoncé chaque semaine selon certaines estimations (Lavery, 2024 ; AdaPulse, 2024). Par ailleurs, le développement matériel associé aux ZKP progresse rapidement, notamment avec des puces optimisées spécifiquement pour les ZKP. Des projets tels qu’Ingonyama, Irreducible et Cysic ont levé des fonds importants, illustrant non seulement l’évolution rapide des ZKP, mais aussi le passage du matériel généraliste vers des solutions spécialisées telles que les GPU, FPGA et ASIC (Ingonyama, 2023 ; Burger, 2022).
Ces avancées montrent que les preuves à connaissance nulle ne constituent pas seulement une percée majeure en cryptographie, mais aussi un moteur essentiel pour l'application plus large des technologies blockchain, notamment pour améliorer la confidentialité et la capacité de traitement (Zhou et al., 2022).
Par conséquent, nous avons décidé de compiler de manière systématique les connaissances relatives aux preuves à connaissance nulle (ZKP), afin de mieux orienter nos décisions d'investissement futures. Pour cela, nous avons passé en revue les articles académiques clés sur les ZKP (triés par pertinence et nombre de citations) ainsi que les documents techniques et livres blancs des principaux projets du secteur (classés selon leur taille de financement). Cette collecte et analyse approfondie de sources variées constitue la base solide de cet article.
I. Fondamentaux des preuves à connaissance nulle
1. Aperçu général
En 1985, Goldwasser, Micali et Rackoff ont introduit pour la première fois dans leur article « The Knowledge Complexity of Interactive Proof-Systems » les notions de preuve à connaissance nulle (Zero-Knowledge Proof, ZKP) et de preuve interactive à connaissance nulle (Interactive Zero-Knowledge, IZK). Cet article fondateur a défini de nombreux concepts influents pour les recherches ultérieures. Par exemple, ils définissent la « connaissance » comme « la sortie d’un calcul infaisable (unfeasible computation) », c’est-à-dire une sortie qui doit être le résultat d’un calcul complexe, et non d’une simple fonction. Un calcul infaisable correspond généralement à un problème NP, c’est-à-dire un problème dont la solution peut être vérifiée en temps polynomial. Le temps polynomial désigne un temps d’exécution pouvant être exprimé par une fonction polynomiale de la taille de l’entrée, un critère important en informatique pour mesurer l’efficacité et la faisabilité d’un algorithme. Comme la résolution d’un problème NP est complexe, elle est considérée comme infaisable, tandis que sa vérification est relativement simple, ce qui la rend idéale pour les preuves à connaissance nulle (Goldwasser, Micali & Rackoff, 1985).
Un exemple classique de problème NP est le problème du voyageur de commerce, où il s’agit de trouver le chemin le plus court visitant une série de villes et revenant au point de départ. Trouver ce chemin peut être très difficile, mais vérifier si un chemin donné est le plus court est relativement facile, car le calcul total de la distance peut être réalisé en temps polynomial.
Dans leur article, Goldwasser et al. introduisent le concept de « complexité de la connaissance » (knowledge complexity) pour quantifier la quantité d'information que le prouveur révèle au vérificateur dans un système de preuve interactive. Ils proposent également le système de preuve interactive (Interactive Proof Systems, IPS), dans lequel un prouveur (Prover) et un vérificateur (Verifier) interagissent via plusieurs tours pour prouver la vérité d’une affirmation (Goldwasser, Micali & Rackoff, 1985).
En résumé, Goldwasser et al. définissent la preuve à connaissance nulle comme un type particulier de preuve interactive, dans laquelle le vérificateur n’obtient aucune information autre que la vérité de l’affirmation durant le processus de vérification. Ils énoncent trois propriétés fondamentales :
-
Complétude (completeness) : si l’affirmation est vraie, un prouveur honnête peut convaincre un vérificateur honnête ;
-
Solidité (soundness) : si le prouveur ne connaît pas l’information, il ne peut tromper le vérificateur qu’avec une probabilité négligeable ;
-
Propriété de zéro-connaissance (zero-knowledge) : une fois la preuve terminée, le vérificateur ne connaît que le fait que le prouveur détient la connaissance, sans obtenir d’informations supplémentaires (Goldwasser, Micali & Rackoff, 1985).
2. Exemple de preuve à connaissance nulle
Pour mieux comprendre les preuves à connaissance nulle et leurs propriétés, voici un exemple illustrant comment prouver la possession d’une information secrète, divisé en trois phases : configuration, défi et réponse.
Première étape : Configuration (Setup)
L’objectif du prouveur est ici de créer une preuve attestant qu’il connaît un nombre secret s, sans le révéler directement. Soit s le nombre secret ;
Choisissez deux grands nombres premiers p et q, calculez leur produit N = p × q. Soient p et q deux nombres premiers, on obtient N ;
Calculez v = s² mod N, où v est envoyé au vérificateur comme partie de la preuve, mais ne suffit pas pour en déduire s ;
Choisissez aléatoirement un entier r, calculez x = r² mod N et envoyez x au vérificateur. Cette valeur x servira lors de la vérification suivante, sans toutefois révéler s. Soit r un entier aléatoire, on obtient x.
Deuxième étape : Défi (Challenge)
Le vérificateur choisit aléatoirement un bit a (0 ou 1) et l’envoie au prouveur. Ce « défi » détermine la prochaine action du prouveur.
Troisième étape : Réponse (Response)
En fonction de la valeur a reçue, le prouveur répond comme suit :
Si a = 0, le prouveur envoie g = r (où r est le nombre choisi précédemment).
Si a = 1, le prouveur calcule g = r × s mod N et l’envoie. Soit a le bit aléatoire envoyé par le vérificateur, selon la valeur de a, le prouveur calcule g ;
Finalement, le vérificateur utilise g pour vérifier si g² ≡ x × va mod N. Lorsque a = 0, le vérificateur calcule g² ≡ x mod N ; lorsque a = 1, il calcule g² ≡ x × v mod N.
Ici, le vérificateur constate que g² ≡ x × va mod N, confirmant que le prouveur a réussi la vérification sans avoir révélé son nombre secret s. Puisque a ne peut valoir que 0 ou 1, la probabilité que le prouveur réussisse par chance est de 1/2. Mais si le vérificateur relance le défi plusieurs fois, avec des valeurs différentes de r, et que le prouveur réussit toujours, la probabilité de succès par chance devient négligeable (tendant vers 0), prouvant ainsi qu’il connaît bien le secret s. Cet exemple illustre les propriétés de complétude, de solidité et de zéro-connaissance du système (Fiat & Shamir, 1986).
II. Preuves à connaissance nulle non interactives
1. Contexte
Les preuves à connaissance nulle (ZKP) sont traditionnellement des protocoles interactifs et en ligne ; par exemple, les protocoles Sigma nécessitent généralement de trois à cinq tours d’interaction pour achever la vérification (Fiat & Shamir, 1986). Toutefois, dans des scénarios tels que les transactions instantanées ou les votes, il n’est souvent pas possible d’effectuer plusieurs tours d’interaction, ce qui rend la vérification hors ligne particulièrement importante, notamment dans les applications blockchain (Sun et al., 2021).
2. Proposition des NIZK
En 1988, Blum, Feldman et Micali ont introduit le concept de preuve à connaissance nulle non interactive (NIZK), démontrant qu’il est possible pour un prouveur (Prover) et un vérificateur (Verifier) de compléter la vérification sans interaction multiple. Cette percée a rendu réalisables des applications telles que les transactions instantanées, les votes et les systèmes blockchain (Blum, Feldman & Micali, 1988).
Ils ont proposé que les NIZK comprennent trois phases :
-
Configuration
-
Calcul
-
Vérification
La phase de configuration utilise une fonction de calcul pour transformer un paramètre de sécurité en connaissances publiques (accessibles au prouveur et au vérificateur), généralement encodées dans une chaîne de référence commune (CRS). Cela définit la manière de générer la preuve et de la vérifier avec les bons paramètres et algorithmes.
La phase de calcul prend en entrée une fonction, des données et une clé de preuve, produisant la preuve et le résultat.
Durant la vérification, la clé de vérification est utilisée pour confirmer la validité de la preuve.
Le modèle de chaîne de référence commune (CRS) suppose que tous les participants partagent une même chaîne pour réaliser des preuves non interactives pour des problèmes NP. Ce modèle repose sur une génération fiable de CRS, accessible identiquement à tous. La sécurité du système n’est garantie que si la CRS est générée correctement et de manière sécurisée. Pour un grand nombre de participants, la génération de CRS peut être complexe et chronophage, ce qui pose un défi malgré la simplicité d’utilisation et la petite taille des preuves (Blum, Feldman & Micali, 1988).
Par la suite, les NIZK ont connu un développement rapide, avec de nombreuses méthodes transformant les preuves interactives en preuves non interactives, variant selon les hypothèses sur la construction du système ou les modèles cryptographiques sous-jacents.
3. Transformation Fiat-Shamir
La transformation Fiat-Shamir, aussi appelée heuristique ou paradigme Fiat-Shamir, a été proposée par Fiat et Shamir en 1986 comme méthode pour convertir les preuves interactives en preuves non interactives. Elle réduit le nombre d’interactions en introduisant une fonction de hachage, s’appuyant sur des hypothèses de sécurité pour garantir authenticité et inviolabilité. La transformation remplace partiellement l'aléa et l'interactivité par une fonction cryptographique publique de hachage, dont la sortie peut être vue comme une forme de CRS. Bien que ce protocole soit considéré comme sûr dans le modèle de l’oracle aléatoire, il repose sur l’hypothèse que les sorties de hachage sont uniformément aléatoires et indépendantes pour différentes entrées (Fiat & Shamir, 1986). Canetti, Goldreich et Halevi ont montré en 2003 que bien que cette hypothèse tienne dans les modèles théoriques, elle peut poser des problèmes en pratique, impliquant un risque d’échec (Canetti, Goldreich & Halevi, 2003). Micali a par la suite amélioré cette méthode en compressant plusieurs tours en un seul, simplifiant davantage le processus (Micali, 1994).
4. Jens Groth et ses travaux
Les travaux ultérieurs de Jens Groth ont fortement stimulé l'application des preuves à connaissance nulle en cryptographie et dans les technologies blockchain. En 2005, lui, Ostrovsky et Sahai ont conçu le premier système de preuve non interactive parfaitement adaptée à tout langage NP, assurant la sécurité universelle même face à des adversaires dynamiques/adaptatifs. De plus, en utilisant des hypothèses de complexité arithmétique, ils ont développé un système NIZK concis et efficace, réduisant significativement la taille de la CRS et de la preuve (Groth & Sahai, 2005).
En 2007, Groth, Cramer et Damgård ont commencé à commercialiser ces technologies, et leurs schémas de chiffrement et de signature à clé publique ont montré des améliorations notables en efficacité et sécurité, bien qu'ils reposent sur des groupes bilinéaires (Groth & Sahai, 2007). En 2011, Groth a exploré l’intégration du chiffrement pleinement homomorphe aux NIZK, proposant un schéma réduisant les coûts de communication, où la taille de la preuve correspond à celle du témoin (Groth, 2011). Au cours des années suivantes, il a approfondi avec d'autres chercheurs les techniques basées sur les couplages, permettant des preuves non interactives compactes et efficaces pour de grandes affirmations, bien qu'encore limitées aux cadres de groupes bilinéaires (Bayer & Groth, 2012 ; Groth, Kohlweiss & Pintore, 2016 ; Bootle, Cerulli, Chaidos, Groth & Petit, 2015 ; Groth, Ostrovsky & Sahai, 2012 ; Groth & Maller, 2017).
5. Autres recherches
Dans certains cas d'usage spécifiques, les NIZK à vérificateur spécifique ont montré une valeur pratique unique. Par exemple, Cramer et Shoup ont utilisé une méthode basée sur des fonctions de hachage universelles pour concevoir un schéma de chiffrement à clé publique résistant aux attaques à texte chiffré choisi, en 1998 et 2002. De plus, dans le modèle d’enregistrement de clé, une nouvelle méthode NIZK a été développée, applicable à tous les problèmes NP, exigeant que les participants enregistrent leur clé pour la vérification ultérieure (Cramer & Shoup, 1998, 2002).
En outre, Damgård, Fazio et Nicolosi ont proposé en 2006 une amélioration de la transformation Fiat-Shamir, permettant des preuves NIZK sans interaction directe. Dans leur méthode, le vérificateur doit d'abord enregistrer une clé publique pour préparer les opérations de chiffrement. Le prouveur utilise un chiffrement additivement homomorphe pour effectuer des calculs sans connaître les données, générant un message chiffré contenant la réponse au défi. La sécurité repose sur l'hypothèse dite de « levier de complexité », selon laquelle certains problèmes difficiles pourraient être résolus par un adversaire disposant de ressources de calcul exceptionnelles (Damgård, Fazio & Nicolosi, 2006).
Le concept de « fiabilité faiblement imputable » proposé par Ventre et Visconti en 2009 constitue une alternative à cette hypothèse : l'adversaire doit non seulement reconnaître la fausseté de sa preuve, mais aussi savoir précisément comment il l’a fabriquée. Cette exigence augmente considérablement la difficulté de tromperie, car l'attaquant doit être conscient de sa propre méthode de tricherie. En pratique, un tel adversaire doit fournir une preuve spécifique contenant un cryptogramme destiné au vérificateur, impossible à produire sans la clé privée, ce qui permet de détecter la fraude (Ventre & Visconti, 2009).
La transformation Unruh, proposée en 2015, est une alternative à la transformation Fiat-Shamir. Cette dernière n'est généralement pas sûre face au calcul quantique et peut produire des schémas non sécurisés pour certains protocoles (Unruh, 2015). En revanche, la transformation Unruh fournit, dans le modèle de l’oracle aléatoire (ROM), des preuves NIZK prouvées sûres contre des adversaires quantiques pour tout protocole interactif. Similaire à Fiat-Shamir, elle ne nécessite pas d’étape de configuration supplémentaire (Ambainis, Rosmanis & Unruh, 2014).
Kalai et al. ont proposé un système d’argumentation pour tout problème décisionnel basé sur la récupération d’information privée. Cette méthode utilise un modèle de preuve interactive à plusieurs prouveurs (MIP), transformé via la méthode d’Aiello en un système d’argumentation. Cette construction fonctionne dans le modèle standard, sans recourir à l’hypothèse de l’oracle aléatoire. Elle est appliquée à certains arguments « pour les sorciers ordinaires » (Proofs-for-Muggles) (Kalai, Raz & Rothblum, 2014).
Sur la base de ces techniques, les preuves non interactives à connaissance nulle (NIZK) sont désormais largement utilisées dans des domaines exigeant haute sécurité et confidentialité, comme les transactions financières, le vote électronique et les blockchains. En réduisant les interactions et en optimisant la génération et la vérification des preuves, les NIZK améliorent non seulement l’efficacité des systèmes, mais renforcent aussi leur sécurité et leur confidentialité. À l’avenir, avec le perfectionnement continu de ces technologies, on peut s’attendre à voir les NIZK jouer un rôle encore plus important dans de nouveaux domaines, fournissant une base technique solide pour un traitement et une transmission d’information plus sûrs et plus efficaces (Partala, Nguyen & Pirttikangas, 2020).
III. Preuves à connaissance nulle basées sur des circuits
1. Contexte
En cryptographie, notamment pour les tâches de calcul hautement parallélisées ou spécifiques (comme les grandes opérations matricielles), le modèle classique de machine de Turing montre certaines limitations. Celui-ci nécessite une gestion complexe de la mémoire pour simuler un ruban infini, et n’est pas adapté à exprimer directement le calcul parallèle ou en pipeline. En comparaison, le modèle de circuit, grâce à sa structure de calcul particulière, s’avère plus adapté à certaines tâches cryptographiques spécifiques (Chaidos, 2017). Cet article examine en détail les systèmes de preuve à connaissance nulle basés sur des modèles de circuits, qui utilisent principalement des circuits (arithmétiques ou booléens) pour exprimer et vérifier les calculs.
2. Concepts fondamentaux et caractéristiques des modèles de circuits
Dans les modèles de calcul basés sur des circuits, un circuit est défini comme un modèle de calcul particulier capable de transformer tout processus de calcul en une série de portes logiques et de connexions. Il existe deux grandes catégories :
-
Circuits arithmétiques : composés principalement de portes d’addition et de multiplication, ils manipulent des éléments sur des corps finis. Utilisés pour des opérations numériques complexes, notamment dans les algorithmes de chiffrement et l’analyse numérique.
-
Circuits logiques : constitués de portes ET, OU, NON, etc., ils traitent les opérations booléennes. Adaptés aux logiques simples de décision et aux calculs binaires, fréquemment utilisés dans les systèmes de contrôle et le traitement basique de données (Chaidos, 2017).
3. Conception et application des circuits dans les preuves à connaissance nulle
Dans les systèmes de preuve à connaissance nulle, la conception du circuit consiste à exprimer le problème à prouver sous forme de circuit. Ce processus demande une « pensée inverse » intensive : « Si la sortie affirmée d’un calcul est vraie, elle doit satisfaire certaines conditions. Si ces conditions sont difficiles à modéliser uniquement avec des additions ou multiplications, on demande au prouveur d’effectuer un travail supplémentaire pour faciliter leur modélisation. » Ce processus suit généralement les étapes suivantes (Chaidos, 2017) :
-
Représentation du problème : convertir le problème à prouver, par exemple le calcul d’une fonction de hachage cryptographique, en un circuit, en décomposant les étapes de calcul en unités élémentaires (portes, connexions).
-
Optimisation du circuit : utiliser des techniques comme la fusion de portes ou le pliage de constantes pour réduire le nombre de portes et d’étapes, améliorant ainsi l’efficacité et la rapidité.
-
Conversion en représentation polynomiale : adapter le circuit optimisé à la technique ZKP en le transformant en forme polynomiale. Chaque élément du circuit correspond à une contrainte polynomiale spécifique.
-
Génération de la chaîne de référence commune (CRS) : lors de l’initialisation, générer la CRS contenant les clés de preuve et de vérification, utilisées ensuite pour produire et vérifier les preuves.
-
Génération et vérification de la preuve : le prouveur exécute le calcul sur le circuit avec ses entrées privées et la CRS, produisant une preuve ZK. Le vérificateur peut alors utiliser la description publique du circuit et la CRS pour vérifier la validité sans connaître les données privées du prouveur (Chaidos, 2017).
La conception de circuits ZKP consiste à transformer un calcul spécifique en une représentation de circuit, en construisant des contraintes polynomiales pour garantir l’exactitude du résultat tout en préservant la confidentialité. L’optimisation de la structure du circuit et la génération d’une représentation polynomiale efficace sont cruciales pour améliorer l’efficacité de la génération et de la vérification des preuves. Grâce à ces étapes, les preuves à connaissance nulle permettent de vérifier la justesse d’un calcul sans divulguer d’informations supplémentaires, satisfaisant ainsi simultanément les besoins de confidentialité et de sécurité des données (Chaidos, 2017).
4. Défauts et défis potentiels
Inconvénients :
-
Complexité et échelle du circuit : les calculs complexes nécessitent des circuits volumineux, augmentant significativement le coût de génération et de vérification, surtout avec de grandes quantités de données ;
-
Difficulté d’optimisation : bien que des techniques (fusion de portes, pliage de constantes, etc.) permettent d’optimiser les circuits, leur conception et optimisation nécessitent des compétences techniques approfondies ;
-
Adaptabilité aux tâches spécifiques : chaque tâche de calcul requiert un circuit différent, ce qui peut être chronophage et difficile à généraliser ;
-
Difficulté de mise en œuvre des algorithmes cryptographiques : implémenter des algorithmes complexes (fonctions de hachage, chiffrement à clé publique) peut nécessiter de nombreuses portes logiques, rendant la conception difficile ;
-
Consommation de ressources : les circuits de grande taille exigent beaucoup de ressources matérielles, rencontrant des limites pratiques en termes de consommation d’énergie, dissipation thermique et espace physique (Goldreich, 2004 ; Chaidos, 2017 ; Partala, Nguyen & Pirttikangas, 2020 ; Sun et al., 2021).
Solutions et axes d’amélioration :
-
Techniques de compression de circuits : développer et appliquer des méthodes efficaces pour réduire le nombre de portes et les ressources de calcul ;
-
Conception modulaire : adopter une architecture modulaire pour améliorer la réutilisabilité et l’extensibilité des circuits, réduisant le travail nécessaire pour chaque nouvelle tâche ;
-
Accélération matérielle : utiliser du matériel spécialisé (FPGA ou ASIC) pour accélérer les calculs et améliorer les performances globales (Goldreich, 2004 ; Chaidos, 2017 ; Partala, Nguyen & Pirttikangas, 2020 ; Sun et al., 2021).
IV. Modèles de preuve à connaissance nulle
1. Contexte
Les preuves à connaissance nulle basées sur des circuits manquent de généralité, nécessitant des modèles et algorithmes spécifiques pour chaque problème. Divers compilateurs de haut niveau et outils de composition de circuits bas niveau existent pour générer et concevoir ces circuits, avec des conversions possibles via des outils manuels ou des compilateurs automatiques. La conversion manuelle produit généralement des circuits plus optimisés, tandis que l’automatisation est plus pratique pour les développeurs. Les applications critiques en performance exigent souvent des outils manuels (Chaidos, 2017 ; Partala, Nguyen & Pirttikangas, 2020 ; Sun et al., 2021).
Nous allons examiner ici les plus célèbres. Globalement, ces modèles sont des extensions ou variantes des zkSNARKs, chacun cherchant à optimiser certains aspects (taille de la preuve, complexité, besoin de configuration, etc.).
Chaque protocole a ses propres avantages, limites et usages spécifiques, notamment en termes de configuration, taille de preuve, vitesse de vérification et coût de calcul. Ils sont utilisés dans divers domaines, de la confidentialité en cryptomonnaie aux systèmes de vote sécurisés, jusqu’à la vérification générale de calculs en mode zéro-connaissance (Čapko, Vukmirović & Nedić, 2019).
2. Modèles d’algorithmes courants
1. Modèle zkSNARK : proposé en 2011 par des cryptographes dont Bitansky, acronyme de « Zero-Knowledge Succinct Non-Interactive Argument of Knowledge ». S’il existe une fonction de hachage résistante aux collisions extractibles (ECRH), alors la mise en œuvre de SNARK pour des problèmes NP est possible. Cette recherche démontre l’applicabilité des SNARK dans le calcul délégable, les preuves succinctes non interactives et le calcul sécurisé binaire. Elle établit aussi que l’existence des SNARK implique celle des ECRH, soulignant un lien fond
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













