Une preuve à connaissance nulle (ZK) est un protocole cryptographique qui permet à une personne (le prouveur) de convaincre une autre personne (le vérificateur) de la véracité d'une affirmation particulière sans divulguer aucun détail sur l'affirmation elle-même.
Les chercheurs Shafi Goldwasser, Silvio Micali et Charles Rackoff ont présenté l'idée pour la première fois au début des années 1980. L'objectif principal d'une preuve ZK est de persuader le vérificateur qu'une affirmation est vraie sans révéler d 'autres informations que la véracité de l'affirmation.
Une bonne preuve à connaissance nulle doit répondre aux trois critères suivants :
Il existe différents types de protections ZK :
Les preuves interactives à zéro connaissance nécessitent une communication en va-et-vient entre le prouveur et le vérificateur.
Les preuves non interactives à connaissance nulle fournissent une preuve compacte qui peut être vérifiée en une seule étape.
Les preuves statistiques à connaissance nulle offrent une solidité informatique avec une faible probabilité d'erreur.
PoK est une sous-classe des preuves ZK qui montre que le prouveur possède des connaissances spécifiques liées à l'énoncé.
Ces preuves ZK sont utilisées pour le vote électronique et les transactions préservant la vie privée.
Les protocoles Sigma sont une classe de preuves ZK qui impliquent trois étapes : l'engagement, le défi et la réponse.
Les Bulletproofs sont conçus pour fournir des preuves de portée efficaces pour de grands ensembles de valeurs.
Les preuves ZK permettent à un prouveur de persuader un vérificateur de la véracité d'une déclaration sans divulguer d'informations sur l'assertion elle-même. Le prouveur et le vérificateur interagissent au cours de plusieurs tours du protocole et, dans la conclusion, le vérificateur acquiert la confiance dans la véracité de l'affirmation sans apprendre d'informations supplémentaires sur le secret.
Utilisons le "problème des trois couleurs", également connu sous le nom de "problème de coloration des graphes", pour illustrer le fonctionnement des preuves ZK.
Imaginez que vous ayez une carte comportant plusieurs zones (sommets) reliées par des lignes (arêtes), et c'est là le problème. L'objectif est d'utiliser l'une des trois couleurs pour colorer chaque région de manière à ce que deux parties voisines n'aient pas la même couleur. Pouvez-vous persuader quelqu'un que vous connaissez la bonne coloration sans exposer les teintes réelles données à chaque région ?
Le prouveur et le vérificateur sont tous deux d'accord sur les régions et les liens du graphe (carte).
Le prouveur affirme qu'il dispose d'une triple coloration fiable pour le graphe fourni.
Le prouveur choisit des couleurs au hasard pour chaque emplacement en secret sans les divulguer. Au lieu de cela, le prouveur fournit au vérificateur une promesse chiffrée pour chaque région. Le vérificateur ne peut pas voir quelles couleurs se trouvent à l'intérieur des engagements, car ceux-ci sont verrouillés comme des boîtes.
Le vérificateur choisit une région au hasard et demande au prouveur d'ouvrir l'engagement pour cette zone particulière. Le prouveur doit divulguer la teinte de l'engagement de cette zone.
Après s'être engagé sur les couleurs, le prouveur doit maintenant prouver que la coloration révélée est exacte. Il s'agit d'afficher les différences de couleur entre des sections adjacentes. Le vérificateur examine la réponse pour s'assurer que le prouveur a correctement suivi les règles.
Les cycles 2 et 3 sont répétés plusieurs fois dans des régions choisies au hasard. Cette procédure est répétée autant de fois que nécessaire pour établir un degré élevé de confiance dans la véracité de l'affirmation du prouveur.
Le vérificateur a la certitude que le prouveur a effectivement une triple coloration valide sans connaître les couleurs réelles utilisées si le prouveur produit régulièrement des réponses valides à chaque tour.
Le vérificateur augmente progressivement la capacité du prouveur à reconnaître une triple coloration valide du graphique en répétant la procédure pour différentes régions. Toutefois, la propriété de connaissance zéro est maintenue puisque le vérificateur ne découvre jamais les couleurs réelles attribuées à chaque région au cours de la procédure.
L'illustration ci-dessus montre comment les preuves ZK peuvent être utilisées pour persuader quelqu'un de l'existence d'une solution tout en gardant secrète l'identité de la solution, offrant ainsi un outil puissant pour renforcer la confidentialité et la sécurité dans une variété d'applications.
Les preuves ZK sont des outils utiles qui peuvent être utilisés dans de nombreux domaines et qui répondent à des questions importantes en matière de protection de la vie privée et de sécurité.
Les preuves ZK sont essentielles dans le monde des crypto-monnaies pour améliorer la confidentialité et l'évolutivité des transactions. Elles permettent des transactions anonymes sans divulguer les détails de la transaction ou l'identité des utilisateurs, comme c'est le cas des crypto-monnaies axées sur la protection de la vie privée, telles que Zcash(ZEC).
Les preuves ZK peuvent être utilisées dans les domaines de l'authentification et du contrôle d'accès pour démontrer la compréhension d'un mot de passe ou d'une clé cryptographique sans révéler le mot de passe ou la clé eux-mêmes. Il en résulte des techniques d'authentification plus conviviales et plus sûres.
Les preuves ZK sont également utilisées dans les systèmes de vote électronique, où elles permettent aux électeurs de démontrer la légitimité de leur vote sans divulguer le vote réel, protégeant ainsi à la fois la vie privée de l'électeur et l'intégrité du processus électoral.
Les preuves ZK ont également des implications pour le transfert et la vérification sécurisés des données, car elles permettent à l'une des parties de démontrer l'exactitude des calculs effectués sur des données privées sans divulguer les données elles-mêmes.
Les preuves de non-connaissance peuvent améliorer la confidentialité des transactions dans les monnaies numériques des banques centrales (CBDC) en facilitant les transactions privées et en préservant l'anonymat des utilisateurs. En équilibrant la confidentialité et la transparence dans les transactions CBDC, les ZK-proofs permettent l'audit sans divulguer les spécificités de la transaction.
Oui, les ZK-proofs peuvent être intégrés dans les plateformes de blockchain, et en fait, ils ont été mis en œuvre avec succès dans divers réseaux de blockchain. Les preuves ZK constituent une technique puissante pour stimuler l'efficacité, la sécurité et la confidentialité dans les systèmes de blockchain.
Lorsqu'elles sont intégrées à des plateformes de blockchain, les preuves ZK peuvent servir à de multiples fins :
Les preuves ZK permettent des transactions privées, permettant aux utilisateurs d'effectuer des transactions sans divulguer les informations sous-jacentes, telles que le montant de la transaction et les adresses de l'expéditeur et du destinataire. L'amélioration de la protection de la vie privée des utilisateurs sur les blockchains ouvertes en dépend.
Sans divulguer les données ou informations réelles, les preuves ZK peuvent être utilisées pour vérifier l'exactitude de calculs ou de déclarations spécifiques. Cela garantit l'intégrité des données et permet de mettre en place des procédures d'audit efficaces.
Les preuves ZK peuvent accroître l'évolutivité de la plateforme en offrant des preuves concises pour des calculs complexes, ce qui peut contribuer à minimiser les frais généraux de calcul et de stockage sur la blockchain.
En utilisant les preuves ZK pour une vérification et une authentification sûres de l'identité tout en protégeant la vie privée de l'utilisateur, les applications basées sur la blockchain seront plus sûres.
Les ZK-proofs peuvent aider à la communication entre chaînes et aux transferts d'actifs tout en protégeant la vie privée en facilitant l'interopérabilité entre divers réseaux de blockchain.
Les preuves ZK offrent des avantages en termes de confidentialité et de sécurité, mais leur mise en œuvre peut s'avérer complexe et exigeante en termes de calcul.
L'élaboration et la vérification des preuves ZK peuvent nécessiter des ressources et des calculs importants, en particulier pour les preuves les plus complexes. Cela peut entraîner des temps de traitement plus longs pour les transactions et un travail de calcul plus important, ce qui pourrait rendre les systèmes de blockchain plus difficiles à mettre à l'échelle.
En outre, les preuves ZK pourraient ajouter une couche de complexité qui rendrait le protocole plus difficile à auditer et à vérifier, ce qui susciterait des inquiétudes quant à d'éventuelles failles ou bogues de sécurité. En outre, si les ZK-proofs améliorent la protection de la vie privée en dissimulant des informations, ils peuvent également faciliter les activités illégales dans certaines situations, ce qui crée des difficultés en matière de respect de la réglementation.
Les preuves ZK peuvent également ne pas convenir à tous les cas d'utilisation ou à tous les secteurs, car leur mise en œuvre nécessite une formation et une expérience particulières. Cela pourrait les empêcher d'être largement utilisés et adoptés dans de nombreux domaines.
Bien que les preuves ZK offrent des caractéristiques utiles en matière de protection de la vie privée et de sécurité, leurs inconvénients nécessitent une étude et une évaluation minutieuses des compromis associés avant leur adoption dans des systèmes ou des applications particuliers.
Compartilhar
Conteúdo
Une preuve à connaissance nulle (ZK) est un protocole cryptographique qui permet à une personne (le prouveur) de convaincre une autre personne (le vérificateur) de la véracité d'une affirmation particulière sans divulguer aucun détail sur l'affirmation elle-même.
Les chercheurs Shafi Goldwasser, Silvio Micali et Charles Rackoff ont présenté l'idée pour la première fois au début des années 1980. L'objectif principal d'une preuve ZK est de persuader le vérificateur qu'une affirmation est vraie sans révéler d 'autres informations que la véracité de l'affirmation.
Une bonne preuve à connaissance nulle doit répondre aux trois critères suivants :
Il existe différents types de protections ZK :
Les preuves interactives à zéro connaissance nécessitent une communication en va-et-vient entre le prouveur et le vérificateur.
Les preuves non interactives à connaissance nulle fournissent une preuve compacte qui peut être vérifiée en une seule étape.
Les preuves statistiques à connaissance nulle offrent une solidité informatique avec une faible probabilité d'erreur.
PoK est une sous-classe des preuves ZK qui montre que le prouveur possède des connaissances spécifiques liées à l'énoncé.
Ces preuves ZK sont utilisées pour le vote électronique et les transactions préservant la vie privée.
Les protocoles Sigma sont une classe de preuves ZK qui impliquent trois étapes : l'engagement, le défi et la réponse.
Les Bulletproofs sont conçus pour fournir des preuves de portée efficaces pour de grands ensembles de valeurs.
Les preuves ZK permettent à un prouveur de persuader un vérificateur de la véracité d'une déclaration sans divulguer d'informations sur l'assertion elle-même. Le prouveur et le vérificateur interagissent au cours de plusieurs tours du protocole et, dans la conclusion, le vérificateur acquiert la confiance dans la véracité de l'affirmation sans apprendre d'informations supplémentaires sur le secret.
Utilisons le "problème des trois couleurs", également connu sous le nom de "problème de coloration des graphes", pour illustrer le fonctionnement des preuves ZK.
Imaginez que vous ayez une carte comportant plusieurs zones (sommets) reliées par des lignes (arêtes), et c'est là le problème. L'objectif est d'utiliser l'une des trois couleurs pour colorer chaque région de manière à ce que deux parties voisines n'aient pas la même couleur. Pouvez-vous persuader quelqu'un que vous connaissez la bonne coloration sans exposer les teintes réelles données à chaque région ?
Le prouveur et le vérificateur sont tous deux d'accord sur les régions et les liens du graphe (carte).
Le prouveur affirme qu'il dispose d'une triple coloration fiable pour le graphe fourni.
Le prouveur choisit des couleurs au hasard pour chaque emplacement en secret sans les divulguer. Au lieu de cela, le prouveur fournit au vérificateur une promesse chiffrée pour chaque région. Le vérificateur ne peut pas voir quelles couleurs se trouvent à l'intérieur des engagements, car ceux-ci sont verrouillés comme des boîtes.
Le vérificateur choisit une région au hasard et demande au prouveur d'ouvrir l'engagement pour cette zone particulière. Le prouveur doit divulguer la teinte de l'engagement de cette zone.
Après s'être engagé sur les couleurs, le prouveur doit maintenant prouver que la coloration révélée est exacte. Il s'agit d'afficher les différences de couleur entre des sections adjacentes. Le vérificateur examine la réponse pour s'assurer que le prouveur a correctement suivi les règles.
Les cycles 2 et 3 sont répétés plusieurs fois dans des régions choisies au hasard. Cette procédure est répétée autant de fois que nécessaire pour établir un degré élevé de confiance dans la véracité de l'affirmation du prouveur.
Le vérificateur a la certitude que le prouveur a effectivement une triple coloration valide sans connaître les couleurs réelles utilisées si le prouveur produit régulièrement des réponses valides à chaque tour.
Le vérificateur augmente progressivement la capacité du prouveur à reconnaître une triple coloration valide du graphique en répétant la procédure pour différentes régions. Toutefois, la propriété de connaissance zéro est maintenue puisque le vérificateur ne découvre jamais les couleurs réelles attribuées à chaque région au cours de la procédure.
L'illustration ci-dessus montre comment les preuves ZK peuvent être utilisées pour persuader quelqu'un de l'existence d'une solution tout en gardant secrète l'identité de la solution, offrant ainsi un outil puissant pour renforcer la confidentialité et la sécurité dans une variété d'applications.
Les preuves ZK sont des outils utiles qui peuvent être utilisés dans de nombreux domaines et qui répondent à des questions importantes en matière de protection de la vie privée et de sécurité.
Les preuves ZK sont essentielles dans le monde des crypto-monnaies pour améliorer la confidentialité et l'évolutivité des transactions. Elles permettent des transactions anonymes sans divulguer les détails de la transaction ou l'identité des utilisateurs, comme c'est le cas des crypto-monnaies axées sur la protection de la vie privée, telles que Zcash(ZEC).
Les preuves ZK peuvent être utilisées dans les domaines de l'authentification et du contrôle d'accès pour démontrer la compréhension d'un mot de passe ou d'une clé cryptographique sans révéler le mot de passe ou la clé eux-mêmes. Il en résulte des techniques d'authentification plus conviviales et plus sûres.
Les preuves ZK sont également utilisées dans les systèmes de vote électronique, où elles permettent aux électeurs de démontrer la légitimité de leur vote sans divulguer le vote réel, protégeant ainsi à la fois la vie privée de l'électeur et l'intégrité du processus électoral.
Les preuves ZK ont également des implications pour le transfert et la vérification sécurisés des données, car elles permettent à l'une des parties de démontrer l'exactitude des calculs effectués sur des données privées sans divulguer les données elles-mêmes.
Les preuves de non-connaissance peuvent améliorer la confidentialité des transactions dans les monnaies numériques des banques centrales (CBDC) en facilitant les transactions privées et en préservant l'anonymat des utilisateurs. En équilibrant la confidentialité et la transparence dans les transactions CBDC, les ZK-proofs permettent l'audit sans divulguer les spécificités de la transaction.
Oui, les ZK-proofs peuvent être intégrés dans les plateformes de blockchain, et en fait, ils ont été mis en œuvre avec succès dans divers réseaux de blockchain. Les preuves ZK constituent une technique puissante pour stimuler l'efficacité, la sécurité et la confidentialité dans les systèmes de blockchain.
Lorsqu'elles sont intégrées à des plateformes de blockchain, les preuves ZK peuvent servir à de multiples fins :
Les preuves ZK permettent des transactions privées, permettant aux utilisateurs d'effectuer des transactions sans divulguer les informations sous-jacentes, telles que le montant de la transaction et les adresses de l'expéditeur et du destinataire. L'amélioration de la protection de la vie privée des utilisateurs sur les blockchains ouvertes en dépend.
Sans divulguer les données ou informations réelles, les preuves ZK peuvent être utilisées pour vérifier l'exactitude de calculs ou de déclarations spécifiques. Cela garantit l'intégrité des données et permet de mettre en place des procédures d'audit efficaces.
Les preuves ZK peuvent accroître l'évolutivité de la plateforme en offrant des preuves concises pour des calculs complexes, ce qui peut contribuer à minimiser les frais généraux de calcul et de stockage sur la blockchain.
En utilisant les preuves ZK pour une vérification et une authentification sûres de l'identité tout en protégeant la vie privée de l'utilisateur, les applications basées sur la blockchain seront plus sûres.
Les ZK-proofs peuvent aider à la communication entre chaînes et aux transferts d'actifs tout en protégeant la vie privée en facilitant l'interopérabilité entre divers réseaux de blockchain.
Les preuves ZK offrent des avantages en termes de confidentialité et de sécurité, mais leur mise en œuvre peut s'avérer complexe et exigeante en termes de calcul.
L'élaboration et la vérification des preuves ZK peuvent nécessiter des ressources et des calculs importants, en particulier pour les preuves les plus complexes. Cela peut entraîner des temps de traitement plus longs pour les transactions et un travail de calcul plus important, ce qui pourrait rendre les systèmes de blockchain plus difficiles à mettre à l'échelle.
En outre, les preuves ZK pourraient ajouter une couche de complexité qui rendrait le protocole plus difficile à auditer et à vérifier, ce qui susciterait des inquiétudes quant à d'éventuelles failles ou bogues de sécurité. En outre, si les ZK-proofs améliorent la protection de la vie privée en dissimulant des informations, ils peuvent également faciliter les activités illégales dans certaines situations, ce qui crée des difficultés en matière de respect de la réglementation.
Les preuves ZK peuvent également ne pas convenir à tous les cas d'utilisation ou à tous les secteurs, car leur mise en œuvre nécessite une formation et une expérience particulières. Cela pourrait les empêcher d'être largement utilisés et adoptés dans de nombreux domaines.
Bien que les preuves ZK offrent des caractéristiques utiles en matière de protection de la vie privée et de sécurité, leurs inconvénients nécessitent une étude et une évaluation minutieuses des compromis associés avant leur adoption dans des systèmes ou des applications particuliers.