Une preuve à divulgation nulle de connaissance est une méthode cryptographique qui convainc un vérificateur de la vérité d'un énoncé précis tout en cachant les informations privées qui le justifient. Ces informations constituent le témoin. L'énoncé et les entrées désignées comme publiques peuvent rester visibles : la « connaissance nulle » ne signifie pas que le vérificateur n'apprend absolument rien.
Ce que la preuve établit
Le prouveur utilise le témoin pour produire une preuve que le vérificateur contrôle. La complétude signifie qu'une preuve honnête d'un énoncé vrai est acceptée. La solidité limite la possibilité de faire accepter un énoncé faux. La propriété de divulgation nulle empêche la preuve de révéler des informations supplémentaires sur le témoin au-delà de l'énoncé public.
Un système pourrait ainsi prouver qu'une attestation signée respecte un seuil d'âge sans divulguer la date de naissance. L'émetteur et les règles encodées restent déterminants. Les usages blockchain incluent aussi les paiements privés et la vérification de calculs externes.
La confidentialité dépend de l'application
Les systèmes diffèrent par leur coût de calcul, la taille des preuves et leurs hypothèses d'initialisation. Certains nécessitent une configuration de confiance, d'autres non.
Une preuve établit uniquement l'affirmation encodée sous les hypothèses retenues. Contraintes incorrectes et bugs peuvent la fragiliser. Les transactions publiques et les métadonnées réseau peuvent encore révéler des informations : la technologie ZK ne rend pas automatiquement une application anonyme.