Ein Prover P, nennen wir ihn Bob, möchte einem Verifier V, Alice, zeigen dass er das Geheimnis kennt, um eine Tür in einer Höhle zu öffnen. Alice steht außerhalb der Höhle und sieht nur, dass Bob diese betritt. Sie weiß nicht, welchen Weg Bob nimmt. Danach betritt Alice die Höhle und bittet Bob, einen bestimmten Ausgang A oder B zu nutzen. Wenn Bob weiß, wie man die Tür öffnet, kommt er aus dem richtigen Ausgang. Was nun, wenn Bob zufällig den richtigen Eingang gewählt hat? Hier kommt das Prinzip von interaktiven Zero Knowledge Proofs zum Tragen. Alice kann mit 50%iger Wahrscheinlichkeit sagen, dass Bob die Tür öffnen kann. Wiederholen wir das Experiment nochmal, steigt die Sicherheit von Alice auf 75%. Wird Bob von Alice nun n mal in die Höhle geschickt, kann sie sich mit einer Wahrscheinlichkeit von:
1-2-n
sicher sein, dass Bob die Tür öffnen kann. Alice lernt keine näheren Informationen über Bobs Geheimnis, sie kann sich nur mit hoher Wahrscheinlichkeit sicher sein, dass dieser über die nötigen Informationen verfügt.
Ein weiteres Beispiel ist folgendes: Alice arbeitet in einem Großraumbüro und teilt sich eine Küche mit verschiedenen Abteilungen, welche alle auf derselben Etage liegen. Durch Vorkommnisse ist am Kühlschrank nun ein Zahlenschloss angebracht und ihr bester Freund Bob behauptet die Kombination zu kennen. Alice finden das ganze Verhalten kindisch, will aber trotzdem wissen, ob Bob die Kombination kennt. Sie weiß, dass im Kühlschrank immer Joghurts stehen und bittet Bob ihr einen zu geben. Kurz nachdem sie sich umgedreht haben, drückt ihr Freund ihr grinsend den Joghurt in die Hand. Für sie ist klar, entweder er wusste, wie der Kühlschrank aufging (50% Wahrscheinlichkeit) oder er hatte zufällig einen Joghurt dabei (ebenfalls 50% Wahrscheinlichkeit). Das ist ihr jedoch zu unsicher, also bittet sie Bob eine Banane herauszuholen. Sie drehen sich erneut um und er drückt ihr die Banane in die Hand. Ob er wohl nun auch eine Banane eingesteckt hatte? Schnell fällt auf, dass sich diese Wahrscheinlichkeit mit
1-2-n
aufzeigen lässt, wobei n für Anzahl der Kühlschranköffnungen steht. Sie geht aufs Ganze und bittet Bob nacheinander, um Himbeeren und Heidelbeeren für den Joghurt. Nach nur vier Versuchen können sie also mit einer Wahrscheinlichkeit von 93,75% sagen, dass ihr Freund tatsachlich den Code kennt. Sie selbst hat jedoch kein Wissen darüber erlangt, weder über den Code noch über den exakten Inhalt des Kühlschranks.
Warum sind Zero Knowledge Proofs wichtig?
Wie erwähnt, erlauben Zero Knowledge Proofs die Verifikation von Informationen ohne diese zu teilen oder durch Dritte bestätigen zu lassen. Dies bietet nicht nur im Kontext der Blockchain Technologie neue Möglichkeiten, sondern gewährt ein hohes Maß an Sicherheit für Transaktionen im kommerziellen Bereich. Neben den konventionellen Verwendungsmöglichkeiten im Banking oder der Verifikation von Identitäten, ermöglichen ZKP’s in der Nuklearen Abrüstung die Bestätigung, dass es sich um echte Waffen handelt ohne deren technologischen Stand preiszugeben. Datensicherheit ist ein wichtiger Bestandteil vieler Geschäftsprozesse. Zero- Knowledge Proofs geben die Möglichkeit möglichen Schaden durch Datendiebstahl zu minimieren.