Blog
Aufbau einer Infrastruktur für Zero-Knowledge-Blockchainprodukte: detaillierte Erfahrung mit Dysnix-zkSync

Aufbau einer Infrastruktur für Zero-Knowledge-Blockchainprodukte: detaillierte Erfahrung mit Dysnix-zkSync

Daniel Yavorovych
August 29, 2023

Ein Zero-Knowledge-Beweis (ZK) in der Blockchain

Lassen Sie uns zunächst klarstellen, dass jede Tatsache oder Handlung durch Zero-Knowledge-Beweis bewiesen werden kann. Dieses Konzept wurde in der entwickelt Anfang der 80er Jahre in Mathematikarbeiten und dann in mehreren Anwendungen angewendet, um zu finden, dass es im Blockchain-Bereich am besten geeignet ist. Hier bezieht sich ein Zero-Knowledge-Proof (ZKP) auf eine kryptografische Methode, die es einer Partei ermöglicht, die Gültigkeit einer Aussage gegenüber einer anderen Partei zu beweisen, ohne die zugrunde liegenden Daten preiszugeben, und beide Seiten werden sich zu 100% sicher sein, dass sie wahr ist.

„Wo ist Wally“ erklärt das ZKP: Du zeigst deinen Freunden Wally und sogar einen Teil der Umgebung (rechts), was beweist, dass du weißt, wo er ist. Aber es hilft ihnen nicht, genau zu wissen, wo Wally ist (das ganze Bild links).

Hier Sie werden noch mehr Möglichkeiten finden, das ZKP zu verstehen und es sogar einem Kind zu erklären.

Diese Methode bietet den Teilnehmern, wenn sie von A bis Z korrekt angewendet wird, eine ganze Reihe von Blockchain-Vorteilen: erhöhte Sicherheit und Anonymität, Schutz der Datensensibilität, Vertrauenswürdigkeit, Skalierbarkeit, Schnelligkeit, Billigkeit und Nutzungsfreiheit. Hier sind einige Kommentare dazu, wie ZK Proof jede Blockchain zu einem wahren Selbst macht:

  • Schutz der Privatsphäre.
    Zero-Knowledge-Proofs ermöglichen die Überprüfung von Transaktionen, ohne dass Absender, Empfänger oder Transaktionssumme preisgegeben werden. Es schützt die Privatsphäre der Teilnehmer und wahrt gleichzeitig die Integrität und den Zustand der Blockchain.
  • Steigerung der Effizienz, Reduzierung der erforderlichen Rechenressourcen und Verbesserung der Skalierbarkeit.
    Da bei ZK-Proofs die Regel vermieden wird, dass jeder Knoten jede Transaktion validieren muss, können bestimmte Berechnungen ausgelagert werden, um die Gültigkeit von Transaktionen zu beweisen, ohne dass jeder Knoten sie ausführen muss. Somit verarbeiten Netzwerke eine größere Anzahl von Transaktionen, ohne dass der Ressourcenbedarf signifikant steigt.
  • Vielzahl von Prooftypen für eine Vielzahl von Anwendungen.
    zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), zk-STARKS (Zero-Knowledge Scalable Transparent Arguments of Knowledge), SNORK (Succinct Non-Interactive Oecumenical (Universal) Arguments of Knowledge), Bulletproofs haben verschiedene Eigenschaften und Anwendungen bei anonymen Transaktionen, Datenverifizierung, verifizierbaren Berechnungen, sicheren intelligenten Verträgen und mehr.
Attributes STARK SNARK SNORK Bulletproof
Trusted setup No Yes Yes No
Post-quantum security Yes No No No
Prove Actual data Actual data Actual data Range
Universality No No Yes No
Prover-verifier Interaction Multiple times Once Once Depends
Prove Size Large Small Small Small
  • Vertrauenslosigkeit auf den Punkt gebracht.
    ZK-Beweise wahren den dezentralen und vertrauenslosen Charakter von Blockchains und ermöglichen es den Teilnehmern, die Richtigkeit von Transaktionen selbst zu überprüfen.
  • Der Kern für kryptogesättigte Blockchain-Projekte.
    Die Implementierung von ZKPs in Blockchain-Systemen ist komplex und rechenintensiv, aber für Entwickler auf Expertenebene wie Dysnix möglich. Die Gewährleistung der Sicherheit der zugrunde liegenden kryptografischen Protokolle, die erschwingliche Skalierbarkeit und die Stabilität der Anwendungen sind die Aufgaben, die wir in erster Linie behandeln.

Wir haben einige Möglichkeiten zur Implementierung von ZK-Proof in der Blockchain erwähnt, aber lassen Sie uns etwas näher darauf eingehen, um Ihnen ein umfassenderes Bild zu vermitteln.

Anwendungsbereiche: In der Blockchain und darüber hinaus

Die Vielseitigkeit dieser Rechenmethode macht sie für alle Teilnehmer der Blockchain verfügbar und löst viele Unsicherheiten, wodurch Grauzonen zuverlässiger und transparenter werden. Und auch wenn es auf den ersten Blick sehr komplex ist, bringt es den Durchbruch in Bezug auf Funktionalität und Effizienz vieler Web3- oder Blockchain-Projekte.

Die ZKP-Methode kann das soziale, finanzielle und politische Leben der Menschheit ausreichend verändern, wenn sie ordnungsgemäß angewendet wird.

Transaktionen unter Wahrung der Privatsphäre

Dieses Zero-Knowledge-Proof-Beispiel ermöglicht private Transaktionen auf einer öffentlichen Blockchain und erweitert die Möglichkeiten für eine einzelne Person auf der Ebene der Blockchain. Durch datenschutzrechtlich geschützte Transaktionen wird sichergestellt, dass Transaktionsbeträge, Absender- und Empfängeradressen und andere vertrauliche Daten vertraulich behandelt werden, während die Integrität der Blockchain gewahrt bleibt.

Identifikation und Authentifizierung

ZK-Proofs werden aktiv für den Aufbau sicherer und anonymer Authentifizierungsmethoden verwendet. Dies ist eine zuverlässige und sichere Methode zum Anmelden oder Anmelden, ohne personenbezogene Daten an den Dienst weiterzugeben.

DEXes

Dezentrale Börsen können ZK-Proofs verwenden, um Atom-Swaps zu ermöglichen, sodass Benutzer verschiedene Kryptowährungen handeln können, ohne dass eine zentrale Behörde erforderlich ist oder Handelsdetails preisgegeben werden müssen. Mehr Freiheit für einen einzelnen Händler!

Es ist ein ausgezeichneter Ort, um die PancakeSwap DEX-Plattform zu erwähnen, nämlich mit unseren Lösungen bestens vertraut.

Intelligente Verträge

Verwenden Sie ZK-Beweise, um bestimmte Bedingungen oder Berechnungen in intelligenten Verträgen zu validieren und gleichzeitig die zugrunde liegenden Daten geheim zu halten. Es werden keine zusätzlichen Parteien benötigt.

Off-Chain-Datenüberprüfung und kettenübergreifende Interoperabilität

Sie können Off-Chain-Daten validieren und deren Richtigkeit bestätigen, sodass Blockchain-Anwendungen sicher mit der Außenwelt interagieren können. ZKPs können vertrauenslose Interaktionen zwischen verschiedenen Blockchains ermöglichen und so Interoperabilität ermöglichen und gleichzeitig die Privatsphäre schützen.

ZK-gestützte Skalierbarkeitslösungen

Diese Methode kann die Blockchain-Skalierbarkeit verbessern, indem sie die effiziente Überprüfung komplexer Berechnungen außerhalb der Kette ermöglicht und gleichzeitig einen präzisen Nachweis ihrer Richtigkeit liefert.

Kryptowährungen und Tokensysteme

Dies ist buchstäblich die wichtigste Methode, um den Datenschutz und die Sicherheit von Kryptowährungstransaktionen zu verbessern, z. B. die Sicherstellung des Gesamtangebots an Tokens, ohne dass einzelne Wallet-Guthaben preisgegeben werden.

Oracle-Dienste ohne Wissen

Diese Methode kann verwendet werden, um Blockchain-Oracle-Dienste zu erstellen, die genaue Off-Chain-Daten für intelligente Verträge bereitstellen, ohne die Rohdaten preiszugeben.

Wahlmechanismen

Dezentrale Wahlen? Mmmm, klingt nach Demokratie! Auf diese Weise kann die Korruption durch Wahlen durch verifizierbare und anonyme Wahlsysteme besiegt werden, die sicherstellen, dass die Stimmen korrekt gezählt werden, ohne die Privatsphäre der Wähler zu gefährden.

Lieferkette und Herkunft

Bei staatlichen Auktionen, bei denen korrupte Schemata von Natur aus bekämpft werden, ist es wichtig, die Parteien anonym zu halten und die größtmögliche Kontrolle und strikte Verteilung der Verantwortlichkeiten in Bezug auf die Qualität der Waren aufrechtzuerhalten. ZK-Nachweise können dabei helfen, die Echtheit und Integrität von Waren in Lieferketten zu überprüfen, ohne geschützte Informationen preiszugeben.

Prüfung und Einhaltung von Standards

Diese Methode kann Audits erleichtern, indem die Einhaltung bestimmter Vorschriften oder Regeln nachgewiesen wird, ohne dass sensible Daten und die Personen der Prüfer selbst preisgegeben werden.

Datenaustausch und Aggregation

ZKPs helfen Parteien dabei, aggregierte Daten (z. B. Statistiken) auszutauschen, ohne einzelne Datenpunkte preiszugeben, wodurch die Privatsphäre gewahrt bleibt und gleichzeitig datengestützte Entscheidungen ermöglicht werden.

Spieltheorie und Anreizmechanismen

ZK-Beweise können dabei helfen, Anreizmechanismen und Spiele mit überprüfbaren Ergebnissen zu entwickeln und gleichzeitig die Strategien der Spieler geheim zu halten. Diese Anwendung kann ein Durchbruch für viele, aber unlösbare Herausforderungen sein.

Das ist einfach WOW, denkst du vielleicht. Der Preis, den Sie für diese Flexibilität und Universalität zahlen, ist die komplexe Mathematik- und Codearbeit, die dahinter steckt. Dazu müssen Sie nicht nur das Konzept verstehen, sondern auch seine Prinzipien an Ihre Realität anpassen und dafür sorgen, dass es unter verschiedenen Bedingungen auf die gleiche erwartete Weise funktioniert.

Wir freuen uns, Ihnen weitere Details zu unserem zkSync-Fall mitteilen zu können, den wir zuvor kurz beschrieben haben. Wir gehören zu den wenigen Unternehmen auf der Welt, die das von ZKP betriebene Produkt von A bis Z handhaben und das am besten geeignete Design und die dafür am besten geeignete Architektur entwickeln können.

Aufbau eines ZK-betriebenen Produkts anhand des zkSync-Beispiels

Das zkSync-Team hatte nur eine Idee und setzte seine Absichten mit den am besten geeigneten Technologien und innovativen Ansätzen vollständig um.

Über zkSync

Bereits 2020 wurde zkSync, eines der ersten Zero-Knowledge-Proof-Unternehmen, zu einer Layer-2-Skalierungslösung für Ethereum, die zk-Rollups, eine Variante von Zero-Knowledge-Proofs, verwendete, um mehrere Transaktionen zu einem einzigen Beweis zu aggregieren und zu komprimieren, der dann in der Kette validiert wird. Dieser Ansatz verbessert den Transaktionsdurchsatz von Ethereum erheblich und senkt die Gebühren — und das war das Hauptnutzenversprechen dieses Projekts.

Bald nach dem Start bekam zkSync viele Big-Fish-Partner (z. B. DEXes) und wurde in mehr als 200 Web3-Projekte integriert. Es war einfacher, eine beliebige Anzahl von Transaktionen an zkSync zu delegieren, als jede Transaktion an das Netzwerk zu übertragen, Gebühren zu zahlen, auf die Validierung zu warten usw. All dies geschieht ohne Sicherheitsbedenken, dank der Kernfunktionalität, die auf der ZKP-Methode basiert.

Erfüllung der Anforderungen

Die Lösung hinter dieser einfachen, eleganten und nützlichen Plattform basierte auf der Architektur, die von den Dysnix-Ingenieuren entwickelt wurde. Sie besteht aus:

  • Mehrere Servercluster, die auf Kubernetes basieren und entsprechend den Geschäftsmetriken der Kundenanwendungen skaliert werden;
  • Der validierende Kern — für das Packen des unbegrenzten Transaktionsflusses außerhalb der Kette und deren Vorbereitung auf den Nachweis innerhalb der Kette;
  • Verbindungen mit den Anwendungen und der Blockchain.

Jetzt hat das zkSync-Team das zkSync Era entwickelt, das im Vergleich zur ersten Version neu erfundene Protokoll, jedoch auf derselben Infrastruktur, die wir damals, im Jahr 2020, erstellt haben. Es ist toll, sich daran zu erinnern, wie unsere Infrastrukturbemühungen mit der Architektur einer so soliden Lösung in Einklang gebracht wurden.

Ein Beispiel für eine ähnliche Architektur des zkeVM Polygon vertrauenswürdiger Sequenzerknoten.

Auf der Suche nach der am besten passenden Serverlösung

Nach einer kurzen Einführung in die Ziele unserer Zusammenarbeit begannen wir, mit einigen Vertriebsmitarbeitern beliebter Anbieter zu verhandeln: GCP, AWS und Azure Cloud. Wir waren auf der Suche nach einem kostengünstigen Angebot an hochverfügbaren Servern, die in vielen verschiedenen Varianten und mit einer Laufzeit von wenigen Stunden verfügbar sein sollten: auf Anfrage von 10 bis 200, je nach Anzahl der Proofloads.

Und GCP hat etwas für unsere Anfrage gefunden. Wir haben uns darauf geeinigt, die Spot-Instances zu verwenden, die nur für kurze Zeit genutzt und dann gekündigt werden. Es war auch die billigste Option ohne Beeinträchtigung der Funktionalität. Diese Serverarchitektur entspricht perfekt unseren Anforderungen, da sie nur in der Testphase der zkSync-Arbeit verwendet wurde. Sie bieten dem Projekt einen extrem hohen Durchsatz.

Herausforderungen bei der Skalierung des Setups

Vielleicht haben Sie von unserem PredictKube-Produkt gehört, das wir auf der Grundlage von KI/ML-Modellen entwickelt haben. Wir geben zu, dass wir uns von Projekten wie zkSync für die Herstellung inspirieren ließen.

Übrigens kannst du probiere es kostenlos aus.

Die Skalierungslösung, die wir für zkSync entwickelt haben, hatte jedoch nichts mit KI oder ML zu tun, da wir ohne zusätzlichen Aufwand ein solides mathematisches Modell erstellt haben, das für alle möglichen Szenarien geeignet ist. Es wurde vom zkSync-Team in den Code implementiert und funktioniert bis jetzt ohne Probleme.

Aber es gab ein Problem.

Wir haben die Durchsatzbegrenzung des GCP-Rechenzentrums beim Start vieler Knoten erreicht. In der Testumgebung funktionierte alles ziemlich gut: Das Hochskalieren von einem auf fünf Knoten verlief reibungslos. Auf der Produktionsseite haben wir jedoch die Einschränkungen des Rechenzentrums erfüllt, und unsere Knoten waren extrem lange startbereit. Um dieses Problem zu lösen, entschieden sich unsere Techniker für das S3-Protokoll, das auf GCP Object Storage angewendet wird.

Dank der Parallelisierungsfunktionen, die über das S3-Protokoll verfügbar sind, haben wir den Datenfluss über mehrere Objekte und Replikate zwischen dem Rechenzentrum und unserem Projekt verwaltet. Somit haben wir die Grenze von 60 GB/s durchbrochen und die Geschwindigkeit des Starts neuer Knoten für den zkSynx Prover erhöht. Es half uns, das Muster für den Bootstrap neuer Knoten von iterativ, einmal 5, dann weitere 5, auf den explosiven Modus zu ändern — alles, was wir auf einmal benötigen, und das für weniger als eine Stunde.

Die Rolle des ZK-Protokolls in diesem Projekt

  1. Sicherheit

Jede Transaktion ist sicher und kann nicht geändert werden, nachdem sie signiert und zur Genehmigung und Validierung für den Block an zkSync gesendet wurde. All das kann mit TX passieren — es kann (oder kann nicht) in den folgenden Block aufgenommen werden.

  1. Skalierbarkeit

Die Lösung des mathematischen Algorithmus für die Skalierung deckt alle Bedürfnisse des zkSync ab. Selbst die hohe Transaktionslast hat keinen Einfluss auf die Funktionsweise der ZKP-Methode.

  1. Höhere Geschwindigkeit

Aufgrund der hohen Verfügbarkeit und Betriebsfähigkeit wurde die Validierung als Prozess für zkSync zu einer Frage von Millisekunden. Das ist viel, viel mehr als Ethereum selbst bieten kann.

  1. Reduzierte Kosten

Dank der für den zkSync handverlesenen Serverarchitektur bieten sie buchstäblich den besten Preis für die Transaktionsvalidierung auf dem Markt. Mit der Implementierung eines solchen Protokolls bleiben auch die Betriebskosten niedrig.

Wo soll ich anfangen, wenn Sie die ZKP-Methode in Ihrer App anwenden möchten

Um diese ganze Geschichte von Prüfern und Prüfern zu zähmen, muss man sich eine Idee für die Umsetzung einfallen lassen. Wie Sie sehen, ist der Anwendungsbereich extrem breit, aber das bedeutet nicht, dass es in all diesen Bereichen bereits die am besten implementierte, zero-Knowledge-sichere Blockchain-basierte Lösung gibt.

Basierend auf der Geschichte von zkSync sehen Sie, dass die richtige Idee ein Entwicklungspotenzial hat, das Ihr Projekt mit neuen Phasen und Produktimplementierungen fördern wird.

Wir hoffen, wir haben es geschafft, Ihnen eine Null-Beweis-Bedeutung zu erklären. Fragen Sie uns gerne nach weiteren Informationen!

Daniel Yavorovych
CTO and Co-founder at Dysnix
Brainpower and problem-solver, meditating and mountain hiking.
Table of content
In die Zwischenablage kopiert
Fügen Sie es ein, wo immer Sie möchten