zk-SNARKs: Prägnante nicht interaktive Argumente
Verstehen Sie Setup, Beweiserzeugung und Überprüfung von Groth16.
zk-SNARKs: Prägnante nicht interaktive Argumente ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein zk-SNARK?
Ein zk-SNARK (Zero-Knowledge Succinct Non-interactive ARgument of Knowledge) ist ein Beweis, der (1) Zero-Knowledge ist, (2) kompakt ist (kleiner Beweis, schnelle Verifikation unabhängig von der Größe der Berechnung) und (3) nicht interaktiv ist (eine einzige Beweiszeichenkette).
Motivation
Sigma-Protokolle eignen sich für einfache Aussagen (Kenntnis eines diskreten Logarithmus). Für komplexe Berechnungen — etwa „Ich habe diese Funktion korrekt mit privaten Eingaben ausgeführt“ — benötigen wir ein allgemeines Beweissystem. SNARKs weisen beliebige Berechnungen in O(1) Verifikationszeit nach.
Arithmetische Schaltungen
Die Berechnung wird zunächst als arithmetische Schaltung dargestellt: ein gerichteter azyklischer Graph aus Additions- und Multiplikationstoren über einem endlichen Körper. Beispiel: Sie weisen nach, dass Sie ein x kennen, für das x^3 + x + 5 = 35 gilt, ohne x=3 offenzulegen. Die Schaltung hat ungefähr fünf Tore.
R1CS: Rank-1 Constraint System
Eine arithmetische Schaltung wird in R1CS umgewandelt: eine Menge von Constraints (A*z)*(B*z) = C*z, wobei z ein Vektor aller Leitungswerte ist. Aus jedem Multiplikationstor wird ein Constraint. Der Prover muss ein z finden, das alle Constraints erfüllt, ohne private Leitungen offenzulegen.
QAP: Quadratic Arithmetic Programs
R1CS wird in ein QAP umgewandelt: Polynome A(x), B(x), C(x), sodass A(x)*B(x)-C(x) genau dann durch ein Zielpolynom t(x) teilbar ist, wenn die Constraints erfüllt sind. Der Prover weist nach, dass er ein Polynom H(x) als Quotienten kennt, ohne den Witness offenzulegen.
Groth16-Beweis
Groth16 (2016) ist der effizienteste allgemeine SNARK. Nach einem Trusted Setup (CRS-Erzeugung) gibt der Prover einen Beweis aus drei Gruppenelementen aus (etwa 192 Bytes für BLS12-381). Die Verifikation umfasst drei Pairing-Operationen. Die Beweisgröße bleibt unabhängig von der Größe der Schaltung konstant.
Zeremonie für das Trusted Setup
Groth16 erfordert ein Trusted Setup pro Schaltung: Zunächst wird Toxic Waste (ein zufälliges Geheimnis) erzeugt und daraus die Common Reference String berechnet; anschließend wird das Toxic Waste zerstört. Bleibt es erhalten, kann ein Angreifer Beweise fälschen. Zeremonien mit mehreren Parteien (Powers of Tau) verteilen das Vertrauen.
PLONK: Universelles Setup
PLONK (2019) verwendet ein universelles Trusted Setup: Eine einzige Zeremonie funktioniert für alle Schaltungen bis zu einer festgelegten Größenbeschränkung. Ein Setup pro Schaltung ist nicht erforderlich. Der Nachteil sind etwas größere Beweise als bei Groth16. PLONK wird in ZK-EVM-Implementierungen verwendet (Polygon Hermez, zkSync Era).
STARKs vs. SNARKs
STARKs (Scalable Transparent ARguments of Knowledge) benötigen kein Trusted Setup und verwenden Hashfunktionen (postquanten-sicher). Der Nachteil sind größere Beweise (Dutzende KB statt 200 Bytes). Sie werden in StarkWare/StarkNet und der Sprache Cairo verwendet. SNARKs sind kleiner, STARKs quantensicher.
Pairing-basierte Kryptografie
Groth16 verwendet bilineare Pairings: e: G1 × G2 → GT, wobei e(a*P, b*Q) = e(P,Q)^{ab} gilt. Damit lassen sich Polynomidentitäten im Exponenten prüfen, ohne die Werte offenzulegen. Die Kurve BLS12-381 ist für effiziente Groth16-Pairings optimiert.
Kosten der Beweiserzeugung
Die Beweiserzeugung mit Groth16 für eine Schaltung mit 10^6 Toren dauert auf einer modernen CPU etwa 10 Sekunden. Die Verifikation dauert etwa 1 ms. Diese Asymmetrie ist beabsichtigt: Der Prover, der die aufwendige Berechnung durchgeführt hat, übernimmt die Arbeit; der Verifier, also der Blockchain-Knoten, hat nahezu keinen Aufwand.
Kurztest
Was ist der größte Nachteil von Groth16 gegenüber PLONK?
Zusammenfassung
zk-SNARKs weisen beliebige Berechnungen mit Beweisen konstanter Größe nach. Ablauf: Berechnung → arithmetische Schaltung → R1CS → QAP → SNARK-Beweis. Groth16 ist am effizientesten, erfordert aber ein Trusted Setup pro Schaltung; PLONK verwendet ein universelles Setup. Als Nächstes folgen ZKP-Anwendungen in der Blockchain.
Häufig gestellte Fragen
Ist die Lektion „zk-SNARKs: Prägnante nicht interaktive Argumente“ kostenlos?
Ja — der vollständige Text von „zk-SNARKs: Prägnante nicht interaktive Argumente“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „zk-SNARKs: Prägnante nicht interaktive Argumente“?
Verstehen Sie Setup, Beweiserzeugung und Überprüfung von Groth16. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „zk-SNARKs: Prägnante nicht interaktive Argumente“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ZKP-Intuition: Die Höhle von Ali Baba
- Sigma-Protokolle und Schnorr-Identifikation
- zk-SNARKs: Prägnante nicht interaktive Argumente
- ZKP-Anwendungen: ZK-Rollups und Privacy Coins