Ein Zero-Knowledge-Beweis ist ein kryptografisches Verfahren, das einen Prüfer von der Wahrheit einer bestimmten Aussage überzeugt und deren private Beleginformationen verbirgt. Diese Informationen heißen Witness. Die Aussage und vorgesehene öffentliche Eingaben können sichtbar bleiben; „Zero Knowledge“ bedeutet nicht, dass der Prüfer überhaupt nichts erfährt.
Was der Beweis nachweist
Der Beweisende erzeugt mithilfe des Witness einen Nachweis, den der Prüfer kontrolliert. Vollständigkeit bedeutet, dass ein ehrlich erstellter Beweis einer wahren Aussage akzeptiert wird. Stichhaltigkeit begrenzt die Möglichkeit, eine falsche Aussage als wahr durchzubringen. Die Zero-Knowledge-Eigenschaft verhindert zusätzliche Rückschlüsse auf den Witness über die öffentliche Aussage hinaus.
Beispielsweise könnte ein System nachweisen, dass ein signierter Nachweis eine Altersgrenze erfüllt, ohne das Geburtsdatum offenzulegen. Der Aussteller und die im Beweis kodierten Regeln bleiben relevant. Blockchain-Anwendungen umfassen auch private Zahlungen und die Prüfung extern ausgeführter Berechnungen.
Datenschutz hängt von der Anwendung ab
Beweissysteme unterscheiden sich hinsichtlich Rechenaufwand, Beweisgröße und Einrichtungsannahmen. Einige benötigen ein vertrauenswürdiges Setup, andere nicht.
Ein Beweis bestätigt nur die kodierte Behauptung unter den Systemannahmen. Falsche Bedingungen oder Implementierungsfehler können ihn untergraben. Öffentliche Transaktionsdetails und Netzwerkmetadaten können weiterhin Informationen preisgeben. ZK-Technik macht eine Anwendung daher nicht automatisch anonym.