{"id":3391,"date":"2025-06-02T04:20:00","date_gmt":"2025-06-02T04:20:00","guid":{"rendered":"https:\/\/cybersecurityinfocus.com\/?p=3391"},"modified":"2025-06-02T04:20:00","modified_gmt":"2025-06-02T04:20:00","slug":"zero-knowledge-protokoll-was-sie-uber-zk-snark-wissen-sollten","status":"publish","type":"post","link":"https:\/\/cybersecurityinfocus.com\/?p=3391","title":{"rendered":"Zero-Knowledge-Protokoll: Was Sie \u00fcber zk-SNARK wissen sollten"},"content":{"rendered":"<div>\n<div class=\"grid grid--cols-10@md grid--cols-8@lg article-column\">\n<div class=\"col-12 col-10@md col-6@lg col-start-3@lg\">\n<div class=\"article-column__content\">\n<div class=\"container\"><\/div>\n<div class=\"extendedBlock-wrapper block-coreImage undefined\">Zero-Knowledge-Protokolle wie zk-SNARK nutzen die kleinstm\u00f6gliche Informationsmenge zur Authentifizierung.\n<p class=\"imageCredit\">Nomad Soul | shutterstock.com<\/p>\n<\/div>\n<p>Unter den Zero-Knowledge-Protokollen nimmt zk-SNARK (Zero-knowledge succinct non-interactive argument or knowledge) eine Sonderrolle ein \u2013 es ist das popul\u00e4rste. Weil Zero-Knowledge-Systeme die Art und Weise, <a href=\"https:\/\/www.csoonline.com\/article\/3495781\/identity-access-management-umsetzen-6-anzeichen-dass-ihre-iam-strategie-nichts-taugt.html\" title=\"wie Authentifizierung funktioniert\" target=\"_blank\" rel=\"noopener\">wie Authentifizierung funktioniert<\/a>, revolutionieren k\u00f6nnten, gewinnen sie zunehmend an Bedeutung, w\u00e4hrend sie sich stetig weiterentwickeln. Die Mathematik, die hinter diesen Systemen und Protokollen steht, ist zwar anspruchsvoll \u2013 die grundlegenden Ideen aber einfach zu verstehen.<\/p>\n<h3 class=\"wp-block-heading\">Zero Knowledge \u2013 Definition<\/h3>\n<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Null-Wissen-Beweis\" title=\"Zero Knowledge\" target=\"_blank\" rel=\"noopener\">Zero Knowledge<\/a> l\u00e4sst sich allgemein als Versuch definieren, die kleinstm\u00f6gliche Menge an Informationen zu verwenden, um eine Aussage zu \u00fcberpr\u00fcfen. Dabei geht es darum Be-, beziehungsweise Nachweise zu entwickeln, die die \u00dcbertragung zus\u00e4tzlicher Daten unn\u00f6tig machen.<\/p>\n<p>Der Grundstein f\u00fcr Zero Knowledge wurde mit dem Forschungspapier \u201c<a href=\"https:\/\/people.csail.mit.edu\/silvio\/Selected%20Scientific%20Papers\/Proof%20Systems\/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf\" target=\"_blank\" rel=\"noopener\">Knowledge Complexity of Interactive Proof Systems<\/a>\u201d (PDF), das in den 1980er Jahren in mehrfacher Auflage erschien. Die Abhandlung befasst sich grob gesagt damit, wie sich Wissen (Knowledge) \u201cverh\u00e4lt\u201d, wenn es Aussagen interagierender Systeme beweisen muss. Dabei baut die Arbeit der Wissenschaftler von MIT und University of Toronto auf dem Schaffen von Stephen Cook und seiner bahnbrechenden Publikation \u201c<a title=\"The Completeness of Theorem Proving Procedures\" href=\"https:\/\/www.inf.unibz.it\/~calvanese\/teaching\/11-12-tc\/material\/cook-1971-NP-completeness-of-SAT.pdf\" target=\"_blank\" rel=\"noopener\">The Completeness of Theorem Proving Procedures<\/a>\u201d (PDF) aus dem Jahr 1971 auf, die den Bereich der Komplexit\u00e4tstheorie in der Informatik inspirierte. Cook versuchte, die Komplexit\u00e4t von Algorithmen explizit zu untersuchen und zu begrenzen.<\/p>\n<h3 class=\"wp-block-heading\">Zero Knowledge und Authentifizierung<\/h3>\n<p>Eine Authentifizierung l\u00e4sst sich als Beweis im oben genannten Sinne auffassen. Wenn Softwaresysteme miteinander kommunizieren und eine Partei eine Behauptung aufstellt, stellt sich die Frage, wie diese Behauptung gegen\u00fcber den anderen Parteien bewiesen werden kann. Zero Knowledge untersucht, wie das vonstatten geht und schl\u00e4gt alternative Methoden vor. Ziel ist, damit die Wissenslecks zu reduzieren und so die Sicherheit des gesamten Systems zu verbessern.<\/p>\n<p>Bei einem naiven Ansatz kann ein System zum Beispiel behaupten, ein <a href=\"https:\/\/www.csoonline.com\/article\/3492788\/logins-absichern-passworter-richtig-schutzen.html\" title=\"Passwort\" target=\"_blank\" rel=\"noopener\">Passwort<\/a> zu kennen. Um den Beweis dar\u00fcber zu erbringen, kann das Kennwort einfach \u00fcbertragen werden. Zero-Knowledge-Protokolle versuchen hingegen, den Beweis mit einem Minimum an Wissen zu erbringen \u2013 ohne (in diesem Beispiel) das Passwort selbst zu offenbaren. Diese Zero-Knowledge-Proofs (Beweise) basieren auf Wahrscheinlichkeiten.<\/p>\n<p>Interaktive Beweise erfordern einen st\u00e4ndigen Dialog zwischen Pr\u00fcfer und Verifizierer. Jede korrekte Antwort erh\u00f6ht das Vertrauen des Verifizierers in die Behauptung des Beweisf\u00fchrers (und verringert die Wahrscheinlichkeit, dass der Beweisf\u00fchrer l\u00fcgt). Bei zk-SNARK liegt die Innovation nun darin, dass dieser Dialogprozess in einem sicheren Paket gekapselt ist, das einmal vom Beweisf\u00fchrer zum Verifizierer \u00fcbermittelt werden kann. Letzterer kann danach mit dem Beweis selbst interagieren \u2013 es handelt sich also um nicht-interaktive Beweise.<\/p>\n<p>Nicht-interaktive Proofs wurden erstmals 1988 im Rahmen der Forschungsarbeit \u201c<a href=\"https:\/\/people.csail.mit.edu\/silvio\/Selected%20Scientific%20Papers\/Zero%20Knowledge\/Noninteractive_Zero-Knowkedge.pdf\" title=\"Non-interactive Zero-Knowledge\" target=\"_blank\" rel=\"noopener\">Non-interactive Zero-Knowledge<\/a>\u201d (PDF) demonstriert. In dieser Arbeit wurde die M\u00f6glichkeit aufgezeigt, Zero-Knowledge-Beweise in einem nicht-interaktiven Format zu kapseln. Im Jahr 2012 folgte dann das Forschungspapier \u201c<a href=\"https:\/\/eprint.iacr.org\/2011\/443.pdf\" title=\"From Extractable Collision Resistance to Succinct Non-Interactive Arguments of Knowledge, and Back Again\" target=\"_blank\" rel=\"noopener\">From Extractable Collision Resistance to Succinct Non-Interactive Arguments of Knowledge, and Back Again<\/a>\u201d (PDF), in dessen Rahmen SNARKs vorgestellt wurden. Diese Grundidee wird seither schrittweise verfeinert und umgesetzt.<\/p>\n<h3 class=\"wp-block-heading\">zk-SNARK \u2013 Implementierungen<\/h3>\n<p>Betrachtet man die SNARK-Idee als konzeptionelle Spezifikation, ist die erste (fast) praktische Implementierung das 2013 vorgestellte <a href=\"https:\/\/eprint.iacr.org\/2013\/279.pdf\" title=\"Pinocchio-Protokoll\" target=\"_blank\" rel=\"noopener\">Pinocchio-Protokoll<\/a> (PDF). Es beschreibt ein Schema f\u00fcr \u00f6ffentlich \u00fcberpr\u00fcfbare Berechnungen beschrieben, bei dem nicht vertrauensw\u00fcrdige Rechenressourcen zur Best\u00e4tigung der Ausf\u00fchrung von Funktionen verwendet werden k\u00f6nnen. Diese Idee wurde in \u201c<a href=\"https:\/\/eprint.iacr.org\/2013\/879.pdf\" title=\"Succinct Non-Interactive Zero Knowledge for a Von Neumann Architecture\" target=\"_blank\" rel=\"noopener\">Succinct Non-Interactive Zero Knowledge for a Von Neumann Architecture<\/a>\u201d (PDF) weiter ausgearbeitet.<\/p>\n<p>Ein Blick in diese Arbeiten l\u00e4sst zk-SNARK wie ein undurchdringliches, mathematisches Dickicht wirken. Und in der Tat stehen dahinter beeindruckende geistige Leistungen, die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Diffie-Hellman-Schl%C3%BCsselaustausch\" title=\"Diffie-Hellman\" target=\"_blank\" rel=\"noopener\">Diffie-Hellman<\/a>-\u00e4hnliche, intuitive Spr\u00fcnge beinhalten. Die Komplexit\u00e4t von zk-SNARK wird noch dadurch verst\u00e4rkt, dass es eine Neuheit ist, an deren Theorie noch gearbeitet wird. Implementierungen sind dabei ein besonders aktiver Bereich, da die Grundlagen abstrahiert und dann in Bibliotheken verpackt werden, die auf spezifische Anwendungen und Anwendungsf\u00e4lle ausgerichtet sind. Diese Use Cases tun sich auf, w\u00e4hrend zk-SNARK in freier Wildbahn mit funktionierenden Systemen getestet wird.<\/p>\n<p>Die Anwendungsf\u00e4lle und die Softwaresysteme, die sie unterst\u00fctzen, sind hier von \u00fcbergeordnetem Interesse. Zun\u00e4chst jedoch ein Einblick in die Funktionsweise des Zero-Knowledge-Protokolls \u2013 ohne dabei zu tief in Mathematik abzutauchen.<\/p>\n<h3 class=\"wp-block-heading\">zk-SNARK \u2013 Funktionsweise<\/h3>\n<p>zk-SNARK pr\u00fcft im Grunde genommen, ob eine Berechnung stattgefunden hat. Dazu wird die urspr\u00fcngliche Berechnung (zum Beispiel eine Funktion) durch eine Reihe mathematischer Transformationen in einem ganz bestimmten Format ausgedr\u00fcckt. Dieses endg\u00fcltige Format ist das eigentliche zk-SNARK-Format, das verwendet werden kann, um zu beweisen, dass die Berechnung mit dem gegebenen Input stattgefunden hat (der Input wird von zk-SNARK als \u201cZeuge\u201d bezeichnet, weil er verwendet werden kann, um zu beweisen, dass die Berechnung mit diesem Argument stattgefunden hat). Zu dieser Anordnung sind zwei Bemerkungen angebracht:<\/p>\n<p>erfordert die Anordnung f\u00fcr viele Anwendungen, wie etwa den Besitznachweis eines Passworts, dass die gew\u00fcnschte Behauptung zun\u00e4chst in ein funktionales \u00c4quivalent umgewandelt wird. Im Falle eines Passworts kann dieses zum Beispiel im Klartext durch einen Hashing-Algorithmus laufen. Dann muss nur noch bewiesen werden, dass der <a title=\"Hash-Algorithmus\" href=\"https:\/\/www.computerwoche.de\/article\/2802289\/was-ist-hashing.html\" target=\"_blank\" rel=\"noopener\">Hash-Algorithmus<\/a> mit dem Passwort verglichen wurde, was dem Besitznachweis des Passworts gleichkommt.<\/p>\n<p>er\u00f6ffnet die Art der \u00fcberpr\u00fcfbaren Berechnungen ein neues Modell der Datenverarbeitung, das \u00fcber die einfache Authentifizierung von Aussagen hinausgeht. Dieses Modell erm\u00f6glicht die Auslagerung von Berechnungen an die Ressourcen Dritter, selbst in einer Trustless-Umgebung, da die Ressource die Ausf\u00fchrung <a title=\"kryptografisch\" href=\"https:\/\/www.computerwoche.de\/article\/2799478\/was-ist-kryptografie.html\" target=\"_blank\" rel=\"noopener\">kryptografisch<\/a> nachweisen kann.<\/p>\n<p>Das hat erhebliche Auswirkungen auf <a href=\"https:\/\/www.csoonline.com\/article\/3492523\/supply-chain-vertragsmanagement-lieferkette-per-blockchain-und-ki-uberwachen.html\" title=\"Blockchains\" target=\"_blank\" rel=\"noopener\">Blockchains<\/a>, denn anstatt Transaktionen durch die \u00dcbertragung der tats\u00e4chlichen Informationen zu verifizieren, k\u00f6nnen sie zk-SNARKs verwenden, um nur den Beweis zu \u00fcbertragen. Das <a href=\"https:\/\/docs.minaprotocol.com\/en\" title=\"MINA-Protokoll\" target=\"_blank\" rel=\"noopener\">MINA-Protokoll<\/a> ist ein Beispiel f\u00fcr eine Blockchain, die dieses Konzept verfolgt. Berechnungen auf diese Weise auszulagern, kann auch au\u00dferhalb der Blockchain Anwendung finden, indem eine Art Marktplatz f\u00fcr Berechnungen geschaffen wird. Dazu sind keine vertrauensw\u00fcrdigen Drittorganisationen erforderlich (heute in der Regel Cloud-Anbieter verschiedener Art).<\/p>\n<p>Die Transformationen, die SNARK verwendet, nachdem die Aussage als Funktion formuliert wurde, folgen diesem allgemeinen Muster (aus Vitalik Buterins <a href=\"https:\/\/medium.com\/@VitalikButerin\/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649\" title=\"Papier zur quadratischen Arithmetik\" target=\"_blank\" rel=\"noopener\">Papier zur quadratischen Arithmetik<\/a>): die urspr\u00fcngliche Berechnung -&gt; algebraischer Schaltkreis -&gt; Rank 1 Constraint System (R1CS) -&gt; quadratisches arithmetisches Programm (QAP) -&gt; lineares PCP -&gt; linearer interaktiver Proof -&gt; zkSNARK. Eine leicht verst\u00e4ndliche Darstellung des gesamten Prozesses finden Sie in \u201c<a href=\"https:\/\/arxiv.org\/pdf\/1906.07221.pdf\" title=\"The Why and How of zk-SNARK\" target=\"_blank\" rel=\"noopener\">The Why and How of zk-SNARK<\/a>\u201d (PDF). Eine weitere gute Quelle f\u00fcr zk-SNARK und Zero Knowledge im Allgemeinen ist <a href=\"https:\/\/www.zeroknowledgeblog.com\/\" title=\"dieser Blog\" target=\"_blank\" rel=\"noopener\">dieser Blog<\/a>.<\/p>\n<p>Der entscheidende Trick von zk-SNARK besteht darin, die Berechnung in eine polynomiale Form zu bringen. In diesem Format kann die Berechnung bewiesen werden, indem man nach Punkten auf dem Graphen der Polynome sucht. Das hei\u00dft: Die L\u00f6sungen des Polynoms (und nicht das Polynom selbst) werden dazu verwendet, zu \u00fcberpr\u00fcfen, ob der Beweisf\u00fchrende tats\u00e4chlich im Besitz des Proofs ist. Der erste Teil der Transformationen ist also f\u00fcr die Umwandlung einer Funktion in eine mathematische Form verantwortlich (algebraischer Schaltkreis -&gt; R1CS), dann f\u00fcr die Umwandlung in ein Polynom (QAP), dann die Umwandlung in eine Form, die effizient \u00fcberpr\u00fcfbar ist (linearer PCP -&gt; linearer interaktiver Beweis) und schlie\u00dflich f\u00fcr eine \u00fcbertragbare Form: den SNARK selbst. Das ist heute der Hauptansatz, um Zero-Knowledge-Proofs in einer nicht-interaktiven Form zu kapseln.<\/p>\n<h3 class=\"wp-block-heading\">zk-SNARK \u2013 Use Cases<\/h3>\n<p>Neben dem Potenzial, Blockchains f\u00fcr verifizierbare Berechnungen einzusetzen, k\u00f6nnen zk-SNARKs eine Authentifizierung im Stil von Zero Knowledge unterst\u00fctzen \u2013 sowohl in Bezug auf die Bereitstellung von Anmeldedaten als auch im weiteren Sinne f\u00fcr die Erstellung von Aussagen. Zum Beispiel die Behauptung, dass der Benutzer ein Bankkonto \u00fcber einen bestimmten Betrag besitzt (dies w\u00fcrde eine Interaktion mit der Bank als Drittpartei erfordern).<\/p>\n<p>Durch die Verwendung von zk-SNARKs ist eine Art anonyme <a href=\"https:\/\/www.csoonline.com\/article\/3493978\/multi-faktor-authentifizierung-etablieren-die-10-haufigsten-mfa-ausreden.html\" title=\"Authentifizierung\" target=\"_blank\" rel=\"noopener\">Authentifizierung<\/a> m\u00f6glich: Der Benutzer kann nachweisen, dass er zum Zugriff auf eine Ressource berechtigt ist und zwar einfach aufgrund einer Tatsache, die er besitzt und nicht aufgrund seiner Identit\u00e4t. Ein solcher Mechanismus erh\u00f6ht die Systemsicherheit, indem er den Umfang des Wissens, das bei Authentifizierungsaktivit\u00e4ten ausgetauscht wird, begrenzt.<\/p>\n<p>Schlie\u00dflich ist es m\u00f6glich, mit zk-SNARK vollst\u00e4ndig anonyme Zahlungssysteme zu implementieren. Eine Transaktion kann fortgesetzt werden, indem verf\u00fcgbare Gelder \u00fcberpr\u00fcft werden, sichergestellt wird, dass sie auf einem Treuhandkonto liegen, die Lieferung von Waren \u00fcberpr\u00fcft wird und der Vertrag abgeschlossen wird \u2013 ohne dass dabei die Identit\u00e4t einer der beiden Parteien preisgegeben wird. (fm)<\/p>\n<p><strong>Sie wollen weitere interessante Beitr\u00e4ge rund um das Thema IT-Sicherheit lesen? <\/strong><a href=\"https:\/\/www.csoonline.com\/de\/newsletters\/signup\/\" target=\"_blank\" rel=\"noopener\"><strong>Unser kostenloser Newsletter<\/strong><\/a><strong> liefert Ihnen alles, was Sicherheitsentscheider und -experten wissen sollten, direkt in Ihre Inbox.<\/strong><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Zero-Knowledge-Protokolle wie zk-SNARK nutzen die kleinstm\u00f6gliche Informationsmenge zur Authentifizierung. Nomad Soul | shutterstock.com Unter den Zero-Knowledge-Protokollen nimmt zk-SNARK (Zero-knowledge succinct non-interactive argument or knowledge) eine Sonderrolle ein \u2013 es ist das popul\u00e4rste. Weil Zero-Knowledge-Systeme die Art und Weise, wie Authentifizierung funktioniert, revolutionieren k\u00f6nnten, gewinnen sie zunehmend an Bedeutung, w\u00e4hrend sie sich stetig weiterentwickeln. Die Mathematik, [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":3392,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-3391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education"],"_links":{"self":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/3391"}],"collection":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3391"}],"version-history":[{"count":0,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/3391\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/media\/3392"}],"wp:attachment":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}