<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ZKP on kenji.blog</title><link>http://kenji.blog/fr/tags/zkp/</link><description>Recent content in ZKP on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 19:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/zkp/index.xml" rel="self" type="application/rss+xml"/><item><title>Le fonctionnement des preuves à divulgation nulle de connaissance (ZKP) et leurs applications récentes dans le Web3 et la sécurité</title><link>http://kenji.blog/fr/p/zero-knowledge-proofs-zkp-web3-security/</link><pubDate>Fri, 11 Sep 2026 19:00:00 +0900</pubDate><guid>http://kenji.blog/fr/p/zero-knowledge-proofs-zkp-web3-security/</guid><description>&lt;img src="http://kenji.blog/p/zero-knowledge-proofs-zkp-web3-security/img/eyecatch.jpg" alt="Featured image of post Le fonctionnement des preuves à divulgation nulle de connaissance (ZKP) et leurs applications récentes dans le Web3 et la sécurité" />&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Dans la société numérique moderne, la confidentialité des données et l&amp;rsquo;évolutivité sont devenues deux des enjeux les plus importants. Face aux risques croissants de fuite et d&amp;rsquo;utilisation abusive des informations personnelles, il y a une forte demande pour une technologie qui permette de « prouver que l&amp;rsquo;on possède une information sans la révéler à l&amp;rsquo;autre partie ». C&amp;rsquo;est ce que réalise la &lt;strong>preuve à divulgation nulle de connaissance (Zero-Knowledge Proof : ZKP)&lt;/strong>.&lt;/p>
&lt;p>La preuve à divulgation nulle de connaissance est un concept de théorie cryptographique proposé pour la première fois dans les années 1980 par Shafi Goldwasser, Silvio Micali et Charles Rackoff, mais qui est longtemps resté au stade de la recherche théorique. Cependant, avec l&amp;rsquo;émergence de la technologie blockchain et du Web3, la situation a radicalement changé. Le ZKP est soudainement apparu sur le devant de la scène comme une « baguette magique » permettant de résoudre simultanément les problèmes d&amp;rsquo;évolutivité (limites de capacité de traitement) et de confidentialité (le fait que toutes les transactions soient publiques) auxquels sont confrontées les blockchains publiques comme Ethereum.&lt;/p>
&lt;p>Dans cet article, nous explorerons en détail et en profondeur les concepts fondamentaux des preuves à divulgation nulle, les mécanismes mathématiques et cryptographiques profonds des &lt;strong>zk-SNARKs&lt;/strong> et &lt;strong>zk-STARKs&lt;/strong> actuellement dominants, ainsi que des exemples d&amp;rsquo;applications récentes dans le Web3 et la sécurité, tels que les ZK-Rollups et l&amp;rsquo;identité décentralisée (DID).&lt;/p>
&lt;hr>
&lt;h2 id="quest-ce-que-la-preuve-à-divulgation-nulle-de-connaissance-zkp-">Qu&amp;rsquo;est-ce que la preuve à divulgation nulle de connaissance (ZKP) ?
&lt;/h2>&lt;p>La preuve à divulgation nulle de connaissance (ZKP) désigne un protocole dans lequel un prouveur (Prover) prouve à un vérificateur (Verifier) qu&amp;rsquo;une certaine proposition est vraie, de telle manière qu&amp;rsquo;« aucune information autre que la véracité de cette proposition ne soit transmise ».&lt;/p>
&lt;h3 id="les-3-exigences-que-le-zkp-doit-satisfaire">Les 3 exigences que le ZKP doit satisfaire
&lt;/h3>&lt;p>Pour être considéré comme un ZKP, le protocole doit satisfaire strictement aux trois propriétés suivantes :&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Complétude (Completeness)&lt;/strong>
Si la proposition est vraie et que le prouveur et le vérificateur suivent tous deux correctement le protocole, le vérificateur doit accepter la preuve (Accept) avec une probabilité écrasante.&lt;/li>
&lt;li>&lt;strong>Solidité (Soundness)&lt;/strong>
Si la proposition est fausse, même un prouveur malveillant doté d&amp;rsquo;une puissance de calcul extrême ne pourra (sauf probabilité négligeable) tromper le vérificateur pour lui faire accepter la preuve.&lt;/li>
&lt;li>&lt;strong>Divulgation nulle (Zero-Knowledge)&lt;/strong>
Si la proposition est vraie, le vérificateur ne peut obtenir du processus de preuve aucune information autre que le fait que « la proposition est vraie ». Du point de vue du vérificateur, cela est prouvé par la définition mathématique qu&amp;rsquo;il est possible de simuler le processus de preuve (qu&amp;rsquo;il existe un simulateur).&lt;/li>
&lt;/ol>
&lt;h3 id="preuves-interactives-et-preuves-non-interactives">Preuves interactives et preuves non interactives
&lt;/h3>&lt;p>Il existe deux types de ZKP : les &lt;strong>preuves interactives&lt;/strong>, dans lesquelles le prouveur et le vérificateur communiquent plusieurs fois, et les &lt;strong>preuves non interactives&lt;/strong>, dans lesquelles le prouveur envoie les données de la preuve une seule fois pour terminer le processus.&lt;/p>
&lt;h4 id="preuves-interactives-interactive-zkp">Preuves interactives (Interactive ZKP)
&lt;/h4>&lt;p>Les premiers ZKP ont été conçus comme des protocoles interactifs. La célèbre parabole de la « grotte d&amp;rsquo;Ali Baba » en est un exemple. Le déroulement général du protocole est le suivant :&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Prover as "Prover (Prouveur)"
participant Verifier as "Verifier (Vérificateur)"
Note over Prover, Verifier: "Flux de base du protocole de preuve interactive"
Prover->>Verifier: "1. Envoyer l'engagement (Commitment)"
Verifier->>Prover: "2. Envoyer un défi aléatoire (Challenge)"
Prover->>Verifier: "3. Calculer et envoyer la réponse (Response)"
Note over Verifier: "Vérifier la réponse (Verification)"
Verifier-->>Prover: "4. Accepter ou rejeter (Accept / Reject)"
Note over Prover, Verifier: "※ Répéter cela des dizaines de fois pour augmenter la certitude"&lt;/div>
&lt;p>Cette méthode est puissante, mais elle exige que le vérificateur soit en ligne et s&amp;rsquo;avère peu pratique à appliquer à des systèmes distribués asynchrones comme la blockchain. Dans une blockchain, n&amp;rsquo;importe qui doit pouvoir vérifier une preuve passée à tout moment.&lt;/p>
&lt;h4 id="transformation-de-fiat-shamir-fiat-shamir-heuristic-et-non-interactivité">Transformation de Fiat-Shamir (Fiat-Shamir Heuristic) et non-interactivité
&lt;/h4>&lt;p>La &lt;strong>transformation de Fiat-Shamir&lt;/strong> est une méthode révolutionnaire pour convertir une preuve interactive en une preuve non interactive (Non-Interactive Zero-Knowledge Proof : NIZK).&lt;/p>
&lt;p>Au lieu du « défi aléatoire » envoyé par le vérificateur, le prouveur génère lui-même un « défi pseudo-aléatoire » à l&amp;rsquo;aide de son propre engagement et de la valeur de hachage des informations publiques. En supposant qu&amp;rsquo;une fonction de hachage cryptographique (par exemple SHA-256 ou Keccak) agisse comme un oracle aléatoire, le prouveur ne peut ni prédire ni manipuler le défi à l&amp;rsquo;avance, ce qui lui permet de compléter la preuve en envoyant un seul message tout en maintenant une sécurité équivalente à celle d&amp;rsquo;une preuve interactive.&lt;/p>
&lt;hr>
&lt;h2 id="détails-techniques-des-zk-snarks">Détails techniques des zk-SNARKs
&lt;/h2>&lt;p>Actuellement, les &lt;strong>zk-SNARKs&lt;/strong> (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) sont les ZKP les plus largement utilisés. Comme leur nom l&amp;rsquo;indique, ils possèdent la propriété de divulgation nulle (zk), offrent des preuves de très petite taille et rapides à vérifier (Succinct), sont non interactifs (Non-Interactive) et constituent un argument de connaissance (Argument of Knowledge).&lt;/p>
&lt;p>Le fondement des zk-SNARKs repose sur la géométrie algébrique avancée et la théorie cryptographique. Ils convertissent l&amp;rsquo;exécution ou le calcul d&amp;rsquo;un programme en la vérification d&amp;rsquo;une équation polynomiale spécifique.&lt;/p>
&lt;h3 id="1-conversion-en-circuit-arithmétique-et-r1cs-rank-1-constraint-system">1. Conversion en circuit arithmétique et R1CS (Rank-1 Constraint System)
&lt;/h3>&lt;p>Tout d&amp;rsquo;abord, tout calcul que l&amp;rsquo;on souhaite prouver (un algorithme ou la logique d&amp;rsquo;un contrat intelligent) est converti en un &lt;strong>circuit arithmétique (Arithmetic Circuit)&lt;/strong> composé de portes d&amp;rsquo;addition et de multiplication.&lt;/p>
&lt;p>Ensuite, ce circuit arithmétique est converti en un ensemble d&amp;rsquo;équations matricielles appelé &lt;strong>R1CS (Rank-1 Constraint System)&lt;/strong>. Le R1CS est le problème de trouver, pour un vecteur de variables $x$, des matrices $A, B, C$ qui satisfont la contrainte suivante :&lt;/p>
$$ (A \cdot x) \circ (B \cdot x) = C \cdot x $$
&lt;p>Où $\circ$ représente le produit de Hadamard (produit élément par élément). Cette contrainte garantit que toutes les portes logiques (en particulier les portes de multiplication) du circuit sont calculées correctement.&lt;/p>
&lt;h3 id="2-conversion-en-qap-quadratic-arithmetic-program">2. Conversion en QAP (Quadratic Arithmetic Program)
&lt;/h3>&lt;p>Puisqu&amp;rsquo;il existe un nombre infini de contraintes matricielles R1CS, il serait très inefficace de les vérifier individuellement. Par conséquent, à l&amp;rsquo;aide de l&amp;rsquo;interpolation de Lagrange, ces contraintes sont compressées en une seule équation polynomiale. C&amp;rsquo;est ce qu&amp;rsquo;on appelle le &lt;strong>QAP (Quadratic Arithmetic Program)&lt;/strong>.&lt;/p>
&lt;p>Par la conversion en QAP, le problème à prouver se réduit à la question : « Un polynôme spécifique $P(x)$ est-il divisible par un autre polynôme connu $Z(x)$ ? ».&lt;/p>
$$ P(x) = L(x) \cdot R(x) - O(x) $$
&lt;p>Ici, $L(x), R(x), O(x)$ sont des combinaisons des polynômes correspondant respectivement à chaque ligne des matrices $A, B, C$. Si le prouveur connaît la bonne solution (Witness), la valeur de $P(x)$ sera de 0 à chaque racine (point d&amp;rsquo;évaluation), ce qui signifie que $P(x)$ aura le polynôme cible $Z(x)$ comme facteur. En d&amp;rsquo;autres termes, il existe un polynôme $H(x)$ tel que l&amp;rsquo;équation suivante soit satisfaite :&lt;/p>
$$ P(x) = H(x) \cdot Z(x) $$
&lt;p>Le vérificateur peut vérifier instantanément que l&amp;rsquo;ensemble du calcul a été effectué correctement en vérifiant simplement si cette équation $P(s) = H(s) \cdot Z(s)$ tient pour un point secret aléatoire $s$. C&amp;rsquo;est le secret de la « concision (Succinct) ».&lt;/p>
&lt;h3 id="3-cryptographie-sur-les-courbes-elliptiques-et-couplages-bilinear-pairings">3. Cryptographie sur les courbes elliptiques et couplages (Bilinear Pairings)
&lt;/h3>&lt;p>Cependant, si le vérificateur connaît le point secret $s$, il devient possible pour le prouveur de forger de faux polynômes pour satisfaire l&amp;rsquo;équation (effondrement de la solidité). Par conséquent, il est nécessaire d&amp;rsquo;effectuer le calcul tout en gardant $s$ chiffré (en utilisant le chiffrement homomorphe) afin que personne ne le connaisse.&lt;/p>
&lt;p>Ceci est réalisé grâce aux &lt;strong>couplages sur courbes elliptiques (Bilinear Pairings)&lt;/strong>.
Le couplage $e$ est une fonction spéciale qui permet, à partir de deux valeurs chiffrées, de calculer une valeur équivalente au chiffrement de leur produit.&lt;/p>
$$ e(g_1^a, g_2^b) = e(g_1, g_2)^{ab} $$
&lt;p>Le prouveur, sans connaître $s$ lui-même, calcule les valeurs chiffrées des polynômes $P(s)$ et $H(s)$ en utilisant des valeurs chiffrées des puissances de $s$ (appelées CRS : Common Reference String). Le vérificateur utilise la fonction de couplage pour vérifier si la relation $P(s) = H(s) \cdot Z(s)$ tient, tout en conservant les valeurs sous forme chiffrée.&lt;/p>
&lt;h3 id="4-configuration-de-confiance-trusted-setup">4. Configuration de confiance (Trusted Setup)
&lt;/h3>&lt;p>La plus grande faiblesse des zk-SNARKs (en particulier des premiers comme Groth16) est la nécessité d&amp;rsquo;un processus pour générer le point secret $s$, appelé &lt;strong>configuration de confiance (Trusted Setup)&lt;/strong>. Si le générateur de $s$ conservait sa valeur au lieu de la détruire, il pourrait générer n&amp;rsquo;importe quelle fausse preuve (problème des déchets toxiques ou Toxic Waste).&lt;/p>
&lt;p>Pour éviter cela, on organise une cérémonie appelée « Ceremony » utilisant le calcul multiparti (MPC - Multi-Party Computation). De nombreux participants collaborent pour fournir de l&amp;rsquo;aléatoire, et tant qu&amp;rsquo;au moins un participant détruit honnêtement sa propre valeur aléatoire, la sécurité de l&amp;rsquo;ensemble du système est préservée. Cependant, la recherche pour éliminer cette dépendance se poursuit depuis des années.&lt;/p>
&lt;hr>
&lt;h2 id="détails-techniques-des-zk-starks">Détails techniques des zk-STARKs
&lt;/h2>&lt;p>Les &lt;strong>zk-STARKs&lt;/strong> (Zero-Knowledge Scalable Transparent Argument of Knowledge) sont apparus comme une réponse à la dépendance à la configuration de confiance et au risque que la cryptographie sur courbes elliptiques soit brisée par les ordinateurs quantiques.&lt;/p>
&lt;p>Développés par Eli Ben-Sasson et d&amp;rsquo;autres, les STARKs se caractérisent, comme leur nom « Transparent » l&amp;rsquo;indique, par le fait qu&amp;rsquo;ils ne nécessitent aucune configuration de confiance, et comme « Scalable » (évolutif) l&amp;rsquo;indique, par le fait que la taille de la preuve et le temps de vérification restent efficaces même lorsque la complexité du calcul augmente.&lt;/p>
&lt;h3 id="1-engagements-polynomiaux-et-protocole-fri">1. Engagements polynomiaux et protocole FRI
&lt;/h3>&lt;p>Les zk-STARKs fondent leur sécurité &lt;strong>uniquement sur des fonctions de hachage&lt;/strong>, et non sur la cryptographie des courbes elliptiques. Par conséquent, ils possèdent les propriétés d&amp;rsquo;une cryptographie post-quantique (Post-Quantum Cryptography).&lt;/p>
&lt;p>La vérification du calcul est effectuée en utilisant les propriétés de polynômes unidimensionnels ou multidimensionnels, après que le calcul ait été converti dans un format appelé AIR (Algebraic Intermediate Representation). Le cœur des STARKs réside dans le protocole &lt;strong>FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity)&lt;/strong>.&lt;/p>
&lt;p>Le protocole FRI est une technique permettant de vérifier « si une certaine fonction est suffisamment proche d&amp;rsquo;un polynôme d&amp;rsquo;un degré spécifique (Proximity) ». Le prouveur s&amp;rsquo;engage sur les valeurs du polynôme en tant que feuilles d&amp;rsquo;un arbre de Merkle (Merkle Tree) (engagement polynomial).&lt;/p>
&lt;div class="mermaid">graph TD
Root["Racine de Merkle (Engagement)"] --> Node0["Nœud 0"]
Root --> Node1["Nœud 1"]
Node0 --> Leaf0["P(x_0)"]
Node0 --> Leaf1["P(x_1)"]
Node1 --> Leaf2["P(x_2)"]
Node1 --> Leaf3["P(x_3)"]&lt;/div>
&lt;p>Le vérificateur demande la révélation de quelques points aléatoires et utilise des preuves de Merkle pour confirmer qu&amp;rsquo;ils sont inclus dans l&amp;rsquo;engagement. En répétant cela récursivement, il est garanti avec une probabilité écrasante que le degré du polynôme d&amp;rsquo;origine est effectivement faible.&lt;/p>
&lt;h3 id="comparaison-entre-zk-snarks-et-zk-starks">Comparaison entre zk-SNARKs et zk-STARKs
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Caractéristique&lt;/th>
&lt;th style="text-align:left">zk-SNARKs&lt;/th>
&lt;th style="text-align:left">zk-STARKs&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Hypothèse cryptographique&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Courbes elliptiques, couplages&lt;/td>
&lt;td style="text-align:left">Fonctions de hachage résistantes aux collisions&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Configuration de confiance&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Requise (Plonk etc. sont universels)&lt;/td>
&lt;td style="text-align:left">Non requise (Transparent)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Résistance quantique&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Non&lt;/td>
&lt;td style="text-align:left">Oui&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Taille de la preuve&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Très petite (~200 octets)&lt;/td>
&lt;td style="text-align:left">Assez grande (des dizaines de Ko)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Coût de calcul de la génération de preuve&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Élevé&lt;/td>
&lt;td style="text-align:left">Relativement plus faible que les SNARKs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Coût de vérification (Frais de gaz)&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Très faible (constant)&lt;/td>
&lt;td style="text-align:left">Faible (augmente de manière logarithmique)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Ces dernières années, des « SNARKs ne nécessitant pas de configuration de confiance, ou nécessitant une seule configuration » tels que Plonk ou Halo2 sont apparus, et la frontière entre les SNARKs et les STARKs devient progressivement floue, mais la différence fondamentale dans l&amp;rsquo;approche mathématique reste importante.&lt;/p>
&lt;hr>
&lt;h2 id="applications-récentes-des-preuves-à-divulgation-nulle-dans-le-web3-et-la-sécurité">Applications récentes des preuves à divulgation nulle dans le Web3 et la sécurité
&lt;/h2>&lt;p>Passé de la théorie à la pratique, le ZKP révolutionne actuellement le Web3 et la cybersécurité.&lt;/p>
&lt;h3 id="1-la-mise-à-léchelle-ultime-dethereum-par-les-zk-rollups">1. La mise à l&amp;rsquo;échelle ultime d&amp;rsquo;Ethereum par les ZK-Rollups
&lt;/h3>&lt;p>Les blockchains de couche 1 (L1) comme Ethereum sont confrontées à des contraintes importantes en matière d&amp;rsquo;évolutivité (le trilemme), car elles privilégient la décentralisation et la sécurité. La solution de couche 2 (L2) définitive à ce problème est constituée par les &lt;strong>ZK-Rollups&lt;/strong>.&lt;/p>
&lt;p>Dans un ZK-Rollup, des milliers de transactions sont exécutées et traitées hors chaîne (L2), et un « seul ZKP (Proof of Validity) » est généré pour montrer qu&amp;rsquo;elles ont toutes été exécutées correctement. Le contrat intelligent sur la chaîne L1 n&amp;rsquo;a plus qu&amp;rsquo;à vérifier cette preuve.&lt;/p>
&lt;div class="mermaid">flowchart LR
Users["Utilisateurs (Envoi Tx)"] --> Sequencer["Séquenceur (Collecte/Exécution Tx)"]
Sequencer --> Prover["Prouveur (Génération ZKP)"]
Sequencer --> L1Contract["Contrat intelligent L1 (Publication données Tx)"]
Prover --> L1Contract["Soumission ZKP (Preuve)"]
L1Contract --> Verify["Vérification et mise à jour de l'état"]&lt;/div>
&lt;p>Le plus grand avantage des ZK-Rollups, contrairement aux Optimistic Rollups (comme Arbitrum ou Optimism), est qu&amp;rsquo;aucune période de contestation (généralement 7 jours) n&amp;rsquo;est requise pour les preuves de fraude (Fraud Proofs). Puisque l&amp;rsquo;exactitude est garantie de manière cryptographique, le retrait des fonds (Finalité) vers la L1 est complété dès que la preuve est vérifiée. Actuellement, des projets comme zkSync, Starknet, Scroll ou Polygon zkEVM se livrent une concurrence acharnée, et la réalisation de &lt;strong>zkEVM&lt;/strong> compatibles avec l&amp;rsquo;EVM (Ethereum Virtual Machine) stimule une croissance rapide de l&amp;rsquo;écosystème.&lt;/p>
&lt;h3 id="2-identité-préservant-la-confidentialité-zkp-for-identity">2. Identité préservant la confidentialité (ZKP for Identity)
&lt;/h3>&lt;p>L&amp;rsquo;authentification personnelle dans le monde numérique est également fondamentalement transformée par le ZKP.
Par exemple, pour répondre à la question « Avez-vous plus de 18 ans ? », les systèmes traditionnels exigent de présenter un permis de conduire ou un passeport, ce qui transmet également des informations personnelles inutiles telles que le nom et l&amp;rsquo;adresse.&lt;/p>
&lt;p>Avec le ZKP, sur la base d&amp;rsquo;un certificat numérique émis par un organisme public (Verifiable Credential), il devient possible de &lt;strong>prouver mathématiquement uniquement le fait&lt;/strong> que « d&amp;rsquo;après ma date de naissance, j&amp;rsquo;ai plus de 18 ans à la date d&amp;rsquo;aujourd&amp;rsquo;hui ». Le vérificateur n&amp;rsquo;a besoin que de vérifier la signature du certificat et le ZKP, et ne peut pas connaître la date de naissance ni l&amp;rsquo;identité de l&amp;rsquo;utilisateur.&lt;/p>
&lt;p>Même dans les projets de preuve d&amp;rsquo;humanité (Proof of Personhood) comme Worldcoin, au lieu de stocker et de partager directement les données de l&amp;rsquo;iris, un mécanisme employant le ZKP est utilisé pour prouver uniquement « qu&amp;rsquo;il s&amp;rsquo;agit d&amp;rsquo;un être humain unique ».&lt;/p>
&lt;h3 id="3-contrats-intelligents-confidentiels-et-utilisation-en-entreprise">3. Contrats intelligents confidentiels et utilisation en entreprise
&lt;/h3>&lt;p>La nature publique des blockchains (« toutes les données sont publiques ») constituait un obstacle majeur pour les entreprises souhaitant traiter des transactions confidentielles et des informations sur les chaînes d&amp;rsquo;approvisionnement sur la blockchain.&lt;/p>
&lt;p>En utilisant la technologie ZKP (par exemple des réseaux axés sur la confidentialité comme Aleo et Aztec), il est possible de graver uniquement la validité des mises à jour de l&amp;rsquo;état sur la chaîne publique, tout en gardant les valeurs d&amp;rsquo;entrée et de sortie des transactions, voire la logique même du contrat intelligent exécuté, sous forme chiffrée. Cela empêche le front-running (MEV) dans la finance décentralisée (DeFi) et permet la construction de réseaux de consortiums confidentiels entre entreprises, tout en bénéficiant de la haute sécurité de la chaîne publique.&lt;/p>
&lt;hr>
&lt;h2 id="défis-futurs-et-perspectives-du-zkp">Défis futurs et perspectives du ZKP
&lt;/h2>&lt;p>Le ZKP est indéniablement une technologie fondamentale de la prochaine génération, mais il reste quelques défis.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Coût de calcul de la génération de preuve et accélération matérielle&lt;/strong>
La génération de ZKP nécessite des opérations polynomiales massives, des FFT (transformées de Fourier rapides) et des MSM (multiplications multi-scalaires). Actuellement, la recherche avance rapidement sur le développement de matériel dédié (FPGA ou ASIC) pour accélérer cette génération de preuves, ce que l&amp;rsquo;on appelle le &lt;strong>minage ZKP&lt;/strong> (Réseau de Prouveurs).&lt;/li>
&lt;li>&lt;strong>Standardisation et amélioration de l&amp;rsquo;expérience développeur (DX)&lt;/strong>
Des langages dédiés pour écrire des circuits ZKP tels que Circom, Cairo, Noir et Leo se multiplient. Des normes unifiées pour les rassembler et la maturation de compilateurs capables de générer automatiquement des circuits ZKP à partir de Rust ou C++ existants seront la clé pour l&amp;rsquo;adoption du ZKP par les ingénieurs logiciels en général.&lt;/li>
&lt;/ol>
&lt;h2 id="conclusion">Conclusion
&lt;/h2>&lt;p>La preuve à divulgation nulle de connaissance (ZKP) a évolué d&amp;rsquo;une simple « technologie pour accroître l&amp;rsquo;anonymat des cryptomonnaies » vers une « technologie à usage général qui redéfinit la confiance (Trust) sur l&amp;rsquo;ensemble d&amp;rsquo;Internet ». Les petites preuves calculées dans les profondeurs des équations et de la théorie cryptographique élargissent infiniment l&amp;rsquo;évolutivité de la blockchain et agissent comme un bouclier robuste pour protéger notre vie privée.&lt;/p>
&lt;p>Vers la véritable adoption massive du Web3 et la construction d&amp;rsquo;un Internet de nouvelle génération sécurisé et privé, la preuve à divulgation nulle de connaissance continuera de fonctionner comme la pièce la plus vitale. Il faudra garder un œil sur l&amp;rsquo;évolution future de la technologie ZKP.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Références et liens connexes&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Groth, J. (2016). &amp;ldquo;On the Size of Pairing-based Non-interactive Arguments&amp;rdquo;&lt;/li>
&lt;li>Ben-Sasson, E., et al. (2018). &amp;ldquo;Scalable, transparent, and post-quantum secure computational integrity&amp;rdquo;&lt;/li>
&lt;li>Blog de Vitalik Buterin sur les zk-SNARKs et zk-STARKs&lt;/li>
&lt;/ul></description></item></channel></rss>