SNARKs (Succinct Non-Interactive Argument of Knowledge) Börsenlexikon Vorheriger Begriff: ZK-SNARKs Nächster Begriff: ZecWallet

Eine kryptografische Methode, die Zero-Knowledge-Proofs nutzt, um die Richtigkeit von Berechnungen oder Transaktionen kompakt und ohne Interaktion zu verifizieren, häufig in Blockchains für Datenschutz und Skalierbarkeit verwendet

SNARKs (kurz für Succinct Non-Interactive ARguments of Knowledge) sind eine Klasse kryptografischer Beweissysteme, die es ermöglichen, eine Aussage oder Berechnung kompakt, effizient und ohne weitere Interaktion zu verifizieren – mit der zusätzlichen Eigenschaft, dass der Beweis nur von jemandem erzeugt werden kann, der tatsächlich über das nötige Wissen verfügt. SNARKs bilden die mathematische Grundlage für ZK-SNARKs (Zero-Knowledge-SNARKs), werden jedoch auch ohne Zero-Knowledge-Eigenschaft in Systemen eingesetzt, bei denen es lediglich um die Verifikation der Korrektheit, nicht aber um die Geheimhaltung von Daten geht.

SNARKs sind besonders relevant im Bereich der verifizierbaren Berechnung, Blockchain-Skalierung, Datensicherheit und dezentrale Protokolle, weil sie hohe Effizienz bei gleichzeitig starker kryptografischer Sicherheit ermöglichen.

Merkmale eines SNARK-Systems

Ein SNARK-System erfüllt vier wesentliche Eigenschaften:

  1. Succinctness (Kürze)
    Der erzeugte Beweis ist sehr kompakt, in der Regel nur wenige hundert Bytes groß, unabhängig von der Komplexität der zugrunde liegenden Berechnung.

  2. Non-Interactivity
    Der Beweis wird einmalig erzeugt und kann von jedem beliebigen Dritten verifiziert werden, ohne Rückfragen oder Kommunikation mit dem Ersteller (Prover).

  3. Argument of Knowledge
    Der Beweis ist nur gültig, wenn der Prover tatsächlich die korrekte Lösung bzw. das erforderliche Wissen besitzt. Dieses Wissen wird aber nicht preisgegeben.

  4. Kryptografische Sicherheit
    Die Verifikation ist nur für Parteien mit beschränkter Rechenleistung nicht täuschbar. Es handelt sich also um ein „Argument“ und nicht um einen „Beweis“ im formalen Sinn der Mathematik.

Wenn ein SNARK zusätzlich die Eigenschaft der Zero-Knowledge erfüllt, handelt es sich um einen ZK-SNARK. In diesem Fall enthält der Beweis keinerlei Information über die zugrunde liegende Eingabe oder das Wissen – abgesehen von der Tatsache, dass die Aussage wahr ist.

Aufbau eines SNARK-Protokolls

Ein typisches SNARK-System besteht aus drei Phasen:

  1. Setup-Phase
    Eine Initialisierung, in der kryptografische Parameter generiert werden. In vielen SNARK-Systemen handelt es sich um ein Trusted Setup, das unter bestimmten Sicherheitsannahmen vertrauenswürdig sein muss. Spätere Verfahren wie PlonK oder Halo 2 benötigen kein oder ein universelles Setup.

  2. Proving
    Der Prover nimmt eine Eingabe und erzeugt auf Basis der arithmetisch formulierten Berechnung und der Setup-Parameter einen kompakten Beweis für die Korrektheit der Berechnung.

  3. Verification
    Der Verifier prüft den Beweis mit sehr geringem Aufwand. Die Überprüfung ist unabhängig von der Komplexität der zugrunde liegenden Berechnung.

Technische Umsetzung

Die meisten SNARKs arbeiten auf Basis von:

  • arithmetischen Schaltungen (Arithmetic Circuits), die die gewünschte Berechnung mathematisch darstellen,

  • elliptischer Kurvenkryptografie (z. B. BLS12-381) für effiziente Multiplikations- und Pairing-Operationen,

  • polynomielle Codierungen und Homomorphismen, die die mathematische Überprüfbarkeit gewährleisten.

Anwendungen von SNARKs (ohne ZK-Eigenschaft)

  1. Verifizierbare Berechnung (Verifiable Computation)
    Ermöglicht das Outsourcing von komplexen Rechenprozessen (z. B. auf Server oder in der Cloud) bei gleichzeitiger Nachweisbarkeit der korrekten Ausführung durch einen SNARK-Beweis.

  2. Blockchain-Skalierung
    In Rollup-Systemen werden Transaktionen off-chain verarbeitet, und ein SNARK-Beweis wird on-chain überprüft, um die Richtigkeit des neuen Systemzustands zu garantieren.

  3. Verifikation von Smart Contracts
    Komplexe Ausführungen können durch SNARKs off-chain nachgewiesen werden, um Gas-Kosten zu senken.

  4. Verifizierte KI-Ausgaben
    In der Forschung wird untersucht, wie SNARKs verwendet werden können, um die Korrektheit von KI-Inferenzprozessen (z. B. bei Machine Learning) zu belegen.

Vorteile

  1. Kompakte Beweise
    SNARKs sind sehr platzsparend und lassen sich effizient auf der Blockchain speichern oder über das Netzwerk übertragen.

  2. Schnelle Verifikation
    Die Überprüfung eines SNARKs ist extrem schnell und unabhängig von der Eingabekomplexität.

  3. Wiederverwendbarkeit
    Ein einmal erzeugter SNARK kann beliebig oft und durch beliebige Dritte überprüft werden.

  4. Universell einsetzbar
    SNARKs können auf beliebige Berechnungen angewendet werden, solange diese sich arithmetisch abbilden lassen.

Herausforderungen

  1. Trusted Setup
    Viele SNARK-Protokolle benötigen ein initiales Setup, das vertrauenswürdig sein muss. Ein kompromittiertes Setup gefährdet die Sicherheit des gesamten Systems.

  2. Rechenaufwand beim Prover
    Die Erstellung eines SNARKs ist rechenintensiv. Für große Programme oder Berechnungen kann dies zum Engpass werden.

  3. Komplexe Toolchains
    Die Erstellung und Anwendung von SNARKs erfordert spezialisiertes Wissen und Tools (z. B. Circom, ZoKrates, Halo2).

  4. Fehlende Post-Quanten-Sicherheit
    Da SNARKs auf elliptischen Kurven basieren, sind sie anfällig gegenüber zukünftigen Quantenangriffen.

Abgrenzung zu verwandten Systemen

Beweissystem Interaktiv Zero-Knowledge Trusted Setup Beweisgröße Post-Quanten-sicher
SNARK Nein Optional Ja Sehr klein Nein
ZK-SNARK Nein Ja Ja Sehr klein Nein
STARK Nein Optional Nein Größer Ja
Bulletproofs Nein Ja Nein Mittelgroß Ja
ZK-STARK Nein Ja Nein Groß Ja

Fazit

SNARKs sind ein mächtiges kryptografisches Werkzeug zur kompakten, nicht-interaktiven Verifikation von Wissen oder Berechnungen, das insbesondere im Web3-Bereich und in der verifizierbaren Cloud-Computing-Infrastruktur eine bedeutende Rolle spielt. Während ihre Zero-Knowledge-Variante (ZK-SNARKs) stark auf Datenschutz und Vertraulichkeit abzielt, ermöglichen SNARKs auch ohne diese Komponente eine skalierbare, überprüfbare und manipulationssichere Infrastruktur für eine Vielzahl digitaler Systeme. Künftige Entwicklungen zielen auf Setup-freie Protokolle und höhere Effizienz, um die Technologie noch breiter anwendbar zu machen.