zk-SNARK steht für zero-knowledge succinct non-interactive argument of knowledge, und zk-STARK repräsentiert zero-knowledge succinct transparent argument of knowledge. Zk-SNARK Proofs werden bereits in Zcash, dem blockchainbasierten Zahlungssystem von JP Morgan Chase, und als Möglichkeit zur sicheren Authentifizierung von Clients gegenüber Servern verwendet. Aber während zk-SNARKs erhebliche Fortschritte gemacht haben, um sich gut zu etablieren, werden zk-STARK Proofs nun als neue und verbesserte Version des Protokolls gewürdigt, die viele der früheren Nachteile von zk-SNARKs beseitigen.
Ali Babas Höhlenparabel
Stellen wir uns eine ringförmige Höhle mit einem einzigen Eingang und einer magischen Tür vor, die die beiden Seitenwege voneinander trennt. Um durch die magische Tür zu gelangen, muss man die richtigen geheimen Worte flüstern. Bedenkt also, dass Alice (gelb) Bob (blau) beweisen will, dass sie weiß, was die geheimen Worte sind - während sie sie trotzdem geheim hält. Um dies zu tun, stimmt Bob zu, draußen zu warten, während sie die Höhle betritt und bis zum Ende eines der beiden möglichen Wege geht. In diesem Beispiel beschließt sie, Pfad 1 zu durchlaufen.

Nach einer Weile geht Bob durch den Eingang und ruft, von welcher Seite Alice erscheinen soll (Pfad 2 in diesem Fall).

Wenn Alice das Geheimnis wirklich kennt, wird sie aus dem Pfad den Bob ausgesucht hat erscheinen.

Der gesamte Prozess kann mehrmals wiederholt werden, um zu bestätigen, dass Alice nicht zufällig den richtigen Weg wählt.
Ali Babas Höhlenparabel veranschaulicht das Konzept der Zero-Knowledge Proofs, die Teil der Protokolle zk-SNARK und zk-STARK sind. ZK-Proofs können verwendet werden, um den Besitz bestimmter Kenntnisse nachzuweisen, ohne Informationen darüber preiszugeben.
zk-SNARKs
Zero-Knowledge-Proofs ermöglichen es einer Person, einer anderen Person zu beweisen, dass eine Aussage wahr ist, ohne Informationen über die Gültigkeit der Aussage hinaus preiszugeben. Die beteiligten Parteien werden gemeinhin als Prüfer und Verifizierer bezeichnet, und die Aussage, die sie im Geheimen halten, wird als Zeuge bezeichnet. Das Hauptziel dieser Beweise ist es, so wenig Daten wie möglich zwischen den beiden Parteien offenzulegen. Mit anderen Worten, man kann mit Zero-Knowledge-Proofs beweisen, dass man über bestimmte Kenntnisse verfügt, ohne Informationen über das Wissen selbst preiszugeben.
Innerhalb des SNARK-Akronyms bedeutet "succinct", dass diese Proofs kleiner sind und schnell überprüft werden können. "Non-interactive" bedeutet, dass es wenig bis gar keine Interaktion zwischen dem Prüfer und dem Verifizierer gibt. Ältere Versionen von Zero-Knowledge-Protokollen erfordern in der Regel, dass der Prüfer und der Verifizierer hin und her kommunizieren, und werden daher als "Interactive" zk proofs betrachtet. Aber in "non-interactive" Konstruktionen müssen Prüfer und Verifizierer nur einen Beweis austauschen.
Derzeit sind zk-SNARK Proofs von einer anfänglich vertrauenswürdigen Einrichtung zwischen einem Prüfer und einem Verifizierer abhängig, was bedeutet, dass eine Reihe öffentlicher Parameter erforderlich ist, um Zero-Knowledge-Proofs und damit private Transaktionen zu konstruieren. Diese Parameter sind fast wie die Spielregeln, sie sind in das Protokoll kodiert und sind einer der notwendigen Faktoren, um zu beweisen, dass eine Transaktion gültig war. Dies führt jedoch zu einem möglichen Zentralisierungsproblem, da die Parameter oft von einer sehr kleinen Gruppe formuliert werden.
Der letzte Teil des Akronympuzzles ist "of Knowledge", was bedeutet, dass es für den Spielleiter nicht möglich ist, einen Beweis zu konstruieren, ohne tatsächlich das Wissen (oder die Zeugin) zu haben, ihre Aussage zu unterstützen.
zk-STARKs
zk-STARKs wurden als alternative Version von zk-SNARK Proofs erstellt und gelten als eine schnellere und kostengünstigere Implementierung der Technologie. Noch wichtiger ist jedoch, dass zk-STARKs kein anfängliches vertrauenswürdiges Setup erfordern (daher das "T" für transparent).
Einer der Hauptgründe, warum Zk-STARKs eine kostengünstigere und schnellere Implementierung bieten, liegt darin, dass die Anzahl der Kommunikationsrunden zwischen Prüfern und Verifizierern im Vergleich zu einer Erhöhung der Rechenleistung konstant bleibt. Im Gegensatz dazu müssen die Parteien bei zk-SNARKs umso mehr Nachrichten hin und her senden, je mehr Berechnungen erforderlich sind. Daher ist die Gesamtdatengröße von zk-SNARKs viel größer als die von zk-STARK Proofs.