Junge verkleidet als raumfahrer mit roboter

„Proof without Trust“ Eine Einführung in Zero Knowledge Proofs

Zero Knowledge Proofs, zwischen Datensicherheit und Blockchain Revolution


Überblick

  • In der Welt der Blockchain gewinnt die Privatsphäre immer mehr an Bedeutung.
  • Sogenannte Zero Knowledge Proofs können daher für Anonymität sorgen.

Neben Daten ist das Vertrauen von Kunden in Unternehmen eine der wichtigsten Ressourcen. Kunden müssen vertrauen, dass ihre sensiblen Daten sicher verarbeitet werden und diese nicht gestohlen oder missbraucht werden. Um ein Haus zu kaufen oder zu mieten, ist meist ein Einkommensnachweise nötig. Der Gläubiger benötigt eine legitime Verifikation des Käufers, dass dieser über die nötigen Mittel verfügt. Er erhält dadurch viel mehr Information, welche nicht unbedingt erforderlich sind, wie Arbeitsplatz, die echte Höhe des Gehalts oder die Sozialversicherungsnummer. Eine lange Liste an persönlichen Daten, nur um zu beweisen, dass man mehr als Summe X im Monat verdient, richtig? Zero Knowledge Proofs (ZKP‘s) erweisen sich daher als nützlich.

Was sind Zero Knowledge Proofs?

Vereinfacht ausgedrückt handelt es sich um eine Beweisform einer Information ohne die Information oder Wissen darüber selbst preiszugeben. Der Verifizier (Verifier V) erlang keinerlei Wissen außer dass der „Beweiser“ (Prover P) über genannte Information verfügen muss. Auf hoher Ebene lassen sich diese Beweise in interaktive und nicht interaktive Verfahren unterteilen. Wie der Name bereits verrät, werden bei der interaktiven Vorgehensweise immer wieder Fragen seitens des Verifizier gestellt, welche die beweisende Entität korrekt beantworten muss. Nicht interaktive Verfahren hingegen schaffen den Beweis in einer Transaktionsrunde.

Es gibt drei wichtige Eigenschaften, welche für ZKP’s gelten müssen:

  • Soundness: Der Verifizier erkennt falsche Beweise und weist diese zurück. Ein betrügerischer Prover kann einen ehrlichen Verifier nicht überzeugen.
  • Vollständigkeit: Wenn sich beide Parteien ehrlich verhalten, kann der Prover den Verifier mit hoher Wahrscheinlichkeit von dessen Aussage überzeugen.
  • Zero Knowledge: Der Verifier erhält kein zusätzliches Wissen über die Information während des Vorgangs

ZKP‘s einfach erklärt

Eine der ersten und beliebtesten Erklärungen für zkp’s ist das Alibaba Cave Problem.

Zero knowledge proof graphic

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.

Fazit

Neben innovativen Anwendungsmöglichkeiten in der Finanzbranche öffnen ZKP’s im Blockchain Bereich neue Türen. Billigere Transaktionen, schnellerer Bestätigung und verbesserte Privatsphäre sind nur einige davon. Es gibt verschiedenste Ansätze die Technologie auf neuen Blockchains zum Einsatz zu bringen. Es lohnt sich also abzuwarten und zu sehen, welchen Einfluss dies haben wird.

Mehr zum Thema