Was sind zk-SNARK- und zk-STARK-Beweise?
Grundlagen
Kryptowährungs‑Enthusiasten legen großen Wert auf Privatsphäre, die als wesentlich gilt, damit Fungibilität erreicht wird — ein wichtiges Merkmal, damit Geld breit akzeptiert wird. Die meisten Krypto‑Halter geben ungern Auskunft über ihre Bestände und Transaktionshistorie. Verschiedene kryptographische Methoden wurden entwickelt, um der Blockchain Privatsphäre zu verschaffen. Zwei der bekanntesten sind zk‑SNARK‑ und zk‑STARK‑Beweise.
Die Begriffe zk‑SNARK und zk‑STARK stehen jeweils für die englischen Ausdrücke zero‑knowledge succinct non‑interactive argument of knowledge und zero‑knowledge succinct transparent argument of knowledge. zk‑SNARKs werden bereits in Zcash, im blockchainbasierten Zahlungssystem von JP Morgan Chase und zur Authentifizierung von Clients gegenüber Servern eingesetzt. Während zk‑SNARKs weit verbreitet sind, wurden zk‑STARKs als verbesserte Version eingeführt, um einige der Probleme zu adressieren, denen zk‑SNARKs zuvor gegenüberstanden.
Die Ali‑Baba‑Höhlen‑Parabel
Der Kryptograf Jean‑Jacques Quisquater und seine Kollegen veröffentlichten 1990 eine Arbeit mit dem Titel „How to Explain Zero‑Knowledge Protocols to Your Children“, in der das Konzept der Zero‑Knowledge‑Beweise durch eine Parabel mit Ali‑Babas Höhle eingeführt wurde. Seitdem entstanden mehrere Adaptionen der Geschichte, doch das grundlegende Konzept bleibt gleich.
Die Parabel handelt von einer ringförmigen Höhle mit nur einem Eingang und einer magischen Tür, die zwei Wege trennt. Um die Tür passieren zu können, muss man das richtige geheime Wort flüstern. In der Geschichte möchte Emma David beweisen, dass sie das geheime Wort kennt, ohne es zu verraten. Dazu geht Emma in die Höhle und geht ans Ende eines der beiden Wege. In diesem Fall wählt Emma Weg 1.
David ruft vom Eingang aus, dass Emma durch einen bestimmten Weg wieder herauskommen soll — in diesem Fall Weg 2. Kennt Emma das Geheimnis, erscheint sie aus dem vorgegebenen Weg. Dieser Vorgang kann mehrfach wiederholt werden, um zu bestätigen, dass Emma nicht zufällig geraten hat.
Die Geschichte von Ali‑Babas Höhle veranschaulicht Zero‑Knowledge‑Beweise, die ein zentrales Element der zk‑SNARK‑ und zk‑STARK‑Protokolle darstellen. Diese Beweise erlauben die Bestätigung des Besitzes bestimmter Informationen, ohne dabei Informationen über diese selbst preiszugeben.
Wie funktionieren zk‑SNARKs?
Das Konzept der Zero‑Knowledge‑Beweise wurde genutzt, um mit zk‑SNARKs die erste weithin verfügbare Privacy‑Coin Zcash zu schaffen. Anders als andere datenschutzorientierte Projekte, die Ring‑Signaturen und andere Techniken verwenden, um Transaktionen zu verschleiern, ändert Zcash grundlegend die Art der Datenfreigabe. Transaktionen im Zcash‑Netzwerk bleiben verschlüsselt, können aber mittels Zero‑Knowledge‑Beweisen als gültig verifiziert werden. So lassen sich Konsensregeln durchsetzen, ohne die den Transaktionen zugrundeliegenden Daten offenzulegen. Die Privatsphäre‑Funktionen in Zcash sind jedoch nicht standardmäßig aktiv und erfordern eine manuelle Einrichtung.
Zero‑Knowledge‑Beweise ermöglichen es einer Person, einer anderen nachzuweisen, dass eine Aussage wahr ist, ohne über die Gültigkeit hinaus Informationen preiszugeben. Die beteiligten Parteien heißen Prover und Verifier, und die geheim gehaltene Aussage nennt man Witness. Ziel von Zero‑Knowledge‑Beweisen ist es, zwischen den Parteien so wenig Daten wie möglich preiszugeben.
Im Akronym zk‑SNARK steht „succinct“ dafür, dass Beweise klein sind und schnell verifiziert werden können, während „non‑interactive“ bedeutet, dass kaum oder gar keine Interaktion zwischen Prover und Verifier nötig ist. Ältere Zero‑Knowledge‑Protokolle erforderten eine bidirektionale Kommunikation und waren damit interaktiv. Bei nicht‑interaktiven Konstruktionen muss nur ein Beweis ausgetauscht werden.
Zwar sind zk‑SNARK‑Beweise von einer anfänglichen Trusted Setup‑Phase zwischen Prover und Verifier abhängig, doch Forscher suchen nach Alternativen, um das erforderliche Vertrauen zu reduzieren. Die initiale Setup‑Phase ist wichtig, um gefälschte Ausgaben zu verhindern; bei Zcash ist sie als Parameter Generation Ceremony bekannt.
Die Soundness‑Eigenschaft von zk‑SNARKs geht davon aus, dass ein unehrlicher Prover nur begrenzte Rechenleistung hat; ein Prover mit ausreichender Rechenleistung könnte gefälschte Beweise erzeugen. Aus diesem Grund gelten Quantencomputer als potenzielle Bedrohung für zk‑SNARKs und Blockchain‑Systeme.
Abschließend sind Zero‑Knowledge‑Beweise schnell verifizierbar und benötigen weniger Daten als typische Bitcoin‑Transaktionen, was sie sowohl für Privatsphäre als auch für Skalierbarkeit attraktiv macht.
Wie funktionieren zk‑STARKs?
Eli‑Ben Sasson, Professor am Technion‑Israel Institute of Technology, entwickelte zk‑STARKs als alternative Version zu zk‑SNARK‑Beweisen. zk‑STARKs gelten als effizienter — je nach Implementierung potenziell schneller und kostengünstiger. Im Gegensatz zu zk‑SNARKs benötigen zk‑STARKs kein anfängliches Trusted Setup, daher das „T“ für „transparent“.
zk‑STARKs basieren auf kollisionsresistenten Hashfunktionen, wodurch die zahlentheoretischen Annahmen entfallen, auf denen zk‑SNARKs beruhen und die rechenintensiv sind sowie theoretisch von Quantencomputern angegriffen werden könnten. Dieser Ansatz führt zu einer einfacheren Struktur hinsichtlich der kryptographischen Annahmen.
Allerdings haben zk‑STARK‑Beweise mindestens einen wesentlichen Nachteil: Sie sind in der Regel deutlich größer als zk‑SNARK‑Beweise. Dieser Unterschied in der Datengröße kann ihren Einsatz in bestimmten Kontexten einschränken, ist jedoch durch weitere Forschung und Optimierung verbesserbar.
Fazit
Das Potenzial von zk‑SNARKs und zk‑STARKs im Bereich Kryptowährungen ist offensichtlich, da beide Protokolle dem steigenden Bedarf an Privatsphäre begegnen. Diese Technologien sind vielversprechend und könnten maßgeblich zur breiteren Akzeptanz von Kryptowährungen beitragen.