Les preuves ZK permettent à un prouveur de persuader un vérificateur de la véracité d’une déclaration sans divulguer aucune information sur l’assertion elle-même. Le prouveur et le vérificateur interagissent dans plusieurs cycles du protocole, et à la conclusion, le vérificateur développe la confiance dans la véracité de l’allégation sans en apprendre aucune. 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” comme illustration du fonctionnement des épreuves ZK.
Le problème
Imaginez que vous ayez une carte avec plusieurs zones (sommets) reliées par des lignes (arêtes), et c’est là le problème. Le but est d’utiliser l’une des trois couleurs pour colorer chaque région afin que deux parties voisines n’aient pas la même couleur. Pouvez-vous persuader quelqu’un que vous connaissez la couleur correcte sans exposer les teintes réelles données à chaque région ?
Solution utilisant le protocole ZK-proofs
Installation
Le prouveur et le vérificateur s’accordent tous les deux sur les régions et les liens du graphe (carte).
Déclaration
Le démonstrateur affirme avoir une tricoloration fiable pour le graphe fourni.
Tour 1 : Engagement
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 ils sont verrouillés comme des boîtes.
Tour 2 : Défi
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.
Ronde 3 : Réponse
Après s’être engagé sur les couleurs, le prouveur doit maintenant prouver que la coloration révélée est exacte. Cela implique d’afficher les différences de couleur entre les sections adjacentes. Le vérificateur examine la réponse pour s’assurer que le prouveur a correctement suivi les règles.
Itération
Les tours 2 et 3 sont répétés plusieurs fois en utilisant diverses régions choisies au hasard. Cette procédure est répétée autant de fois que nécessaire pour établir un haut degré de confiance dans la véracité de l’assertion du démonstrateur.
Conclusion
Le vérificateur devient convaincu que le prouveur a réellement une tricoloration valide sans connaître les couleurs réelles utilisées si le prouveur produit régulièrement des réponses valides pour chaque tour.
Le vérificateur augmente progressivement la capacité du démonstrateur à reconnaître une tricoloration valide du graphe en répétant la procédure pour différentes régions. Cependant, la propriété de connaissance nulle est conservée 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 qu’une solution existe tout en gardant secrète l’identité de la solution, offrant un outil puissant pour renforcer la confidentialité et la sécurité dans une variété d’applications.