Catching the Fly: Practical Challenges in Making Blockchain FlyClient Real
Dieses Papier führt das FlyClient-Protokoll zur leichten Blockchain-Verifikation von der Theorie in die Produktion, indem es ein neues Angreifermodell für die ökonomische Parametrisierung einführt, den ersten praktischen Prover für Zcash implementiert und zwei Optimierungen vorschlägt, um die Beweisgrößen zu reduzieren, ohne Konsensänderungen zu erfordern.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Das große Ganze: Das Problem der „Leichtigkeit"
Stellen Sie sich vor, Sie möchten verifizieren, dass eine riesige Bibliothek (die Blockchain) über ein bestimmtes Buch darin die Wahrheit sagt.
- Der alte Weg: Um zu 100 % sicher zu sein, müssen Sie normalerweise die gesamte Bibliothek herunterladen, jedes einzelne Buch lesen und das Inhaltsverzeichnis prüfen. Dies ist für ein kleines Gerät wie ein Mobiltelefon oder einen intelligenten Kühlschrank (IoT-Gerät) unmöglich, da ihnen nicht genügend Speicherplatz oder Batteriekapazität zur Verfügung steht.
- Die „FlyClient"-Idee: Dies ist ein cleveres neues Protokoll, das es Ihnen ermöglicht, die Wahrheit der Bibliothek zu verifizieren, indem Sie nur einige zufällige Seiten prüfen. Es verwendet eine spezielle „Bergkette" aus Daten (genannt MMR), um nachzuweisen, dass die Seiten, die Sie nicht geprüft haben, dennoch korrekt verbunden sind. Es ist so, als würden Sie einige wichtige Wahrzeichen prüfen, um zu beweisen, dass Sie in der richtigen Stadt sind, ohne eine Landkarte der ganzen Welt zu benötigen.
FlyClient war jedoch immer noch nur eine Theorie. Es wurde noch nicht für den realen Einsatz gebaut, und niemand hatte getestet, wie viel Daten es tatsächlich erfordert oder wie viel es kosten würde, es zu betreiben. Dieses Papier schließt diese Lücke.
Die drei Hauptbeiträge
Die Autoren haben drei Hauptdinge getan, um diese Theorie für Zcash (eine spezifische Kryptowährung) in eine funktionierende Realität zu verwandeln.
1. Eine neue Art, „Bösewichte" zu messen (Das Angreifermodell)
Das Problem: Die ursprüngliche FlyClient-Theorie beschrieb einen „Bösewicht" (einen Angreifer) mit abstrakten mathematischen Begriffen wie „sie können keine gefälschte Kette bauen, die länger als X mit Y% Gültigkeit ist". Dies ist für reale Ingenieure schwer zu verwenden, da es ihnen nicht sagt, wie viel Geld der Angreifer ausgeben muss.
Die Lösung: Die Autoren führten das „wa-adversary"-Modell ein.
- Die Analogie: Anstatt zu sagen: „Der Bösewicht kann keine Mauer bauen, die höher als 10 Fuß ist", sagen sie: „Der Bösewicht hat nur 20.000 Dollar, um für Ziegelsteine auszugeben."
- Warum es hilft: Dies macht es einfach, genau zu berechnen, wie sicher Ihr System sein muss. Wenn ein Angreifer 20.000 Dollar benötigt, um das System zu brechen, und Ihre Sicherheitseinstellungen nur 13 Dollar kosten, um sie aufrechtzuerhalten, wissen Sie, dass Sie sicher sind. Dieses neue Modell half ihnen auch, die Menge der Daten zu verringern, die benötigt werden, um die Sicherheit des Systems nachzuweisen, und sparte etwa 37 % der Daten im Vergleich zum alten Weg.
2. Aufbau des „Beweisgenerators" (Die Prover-Implementierung)
Das Problem: FlyClient benötigt zwei Seiten: einen Verifizierer (das leichte Gerät, das den Beweis prüft) und einen Prover (der vollständige Computer, der die gesamte Blockchain hält und den Beweis generiert). Während Verifizierer theoretisch waren, hatte noch niemand einen Prover für eine echte, live Blockchain wie Zcash gebaut.
Die Lösung: Die Autoren erweiterten Zebrad, das offizielle Zcash-Computerprogramm, um als Prover zu fungieren.
- Die Analogie: Stellen Sie sich vor, das Zcash-Netzwerk ist eine riesige Bank. Die Autoren fügten einen neuen „Quittungsdrucker" zum Hauptcomputer der Bank hinzu. Wenn nun ein Kunde (das leichte Gerät) fragt: „Ist meine Transaktion echt?", sagt die Bank nicht nur „Ja"; sie druckt einen speziellen, kompakten Beleg, der dies beweist.
- Das Ergebnis: Sie stellten fest, dass das Hinzufügen dieses Druckers den Hauptcomputer der Bank überhaupt nicht verlangsamte. Es dauerte die gleiche Zeit, um die Blockchain zu synchronisieren, und der zusätzliche Speicherbedarf war handhabbar. Sie machten diesen Code für andere verfügbar.
3. Das Fett abschneiden (Optimierungen)
Das Problem: Selbst mit dem neuen Modell waren die „Quittungen" (Beweise) immer noch zu groß. Sie waren voller unnötiger Details, wie etwa das Senden des gesamten Buches, wenn Sie nur einen bestimmten Absatz benötigten.
Die Lösung: Sie testeten zwei Möglichkeiten, die Quittungen kleiner zu machen:
Optimierung A: Der „Kumulative Beweis" (Keine Kosten)
- Die Analogie: Stellen Sie sich vor, Sie müssen beweisen, dass Sie drei bestimmte Räume in einem Haus besucht haben. Der alte Weg bestand darin, für jeden Raum einen separaten Schlüssel und eine separate Karte zu erhalten. Der neue „Kumulative" Weg besteht darin, eine einzige Karte zu erhalten, die den Weg zeigt, der alle drei Räume auf einmal verbindet.
- Ergebnis: Dies sparte etwa 9 % der Datengröße. Es ist ein kostenloses Upgrade, das jetzt verwendet werden kann, ohne die Blockchain-Regeln zu ändern.
Optimierung B: Der „Destillierte Beweis" (Erfordert eine Regeländerung)
- Die Analogie: Die ursprünglichen Quittungen waren riesig, weil sie die „Schlösser-Öffnungs-Lösung" (ein 1.344-Byte-Code namens Equihash) enthielten, die erforderlich war, um nachzuweisen, dass die Arbeit erledigt wurde. Dies ist so, als würde man einen vollständigen Bauplan verschicken, nur um zu beweisen, dass eine Tür verschlossen ist.
- Die Lösung: Die Autoren schlugen vor, die Blockchain-Regeln so zu ändern, dass ein anderes Schloss verwendet wird, das nur einen winzigen „Schlüssel" (32 Bytes) anstelle eines Bauplans erfordert. Sie entfernten auch andere unnötige Felder aus den Daten und behielten nur das bei, was für den Beweis benötigt wird.
- Ergebnis: Dies ist eine massive Verbesserung. Es verkleinert die Beweisgröße um 71 %.
- Auswirkung auf die reale Welt: Für eine „vertrauenslose Brücke" (das Verschieben von Krypto von einer Chain zu einer anderen) würde das Senden dieses Beweises an einen Smart Contract etwa 3,44 Dollar kosten, anstatt 13,21 Dollar.
Zusammenfassung der Ergebnisse
Das Papier beweist, dass FlyClient bereit für die reale Welt ist.
- Sicherheit: Sie schufen eine neue, geldbasierte Art, Sicherheit zu messen, die leichter zu verstehen und effizienter ist.
- Durchführbarkeit: Sie bauten den ersten funktionierenden „Beweisgenerator" für Zcash und zeigten, dass er das Netzwerk nicht verlangsamt.
- Effizienz: Durch die Verwendung ihrer neuen Optimierungen reduzierten sie die Datenmenge, die zur Verifizierung der Blockchain benötigt wird, erheblich. Die Methode „Destillierter Beweis", obwohl sie ein Netzwerk-Upgrade erfordert, macht die Verifizierung der Blockchain unglaublich billig und schnell, was sie für mobile Geldbörsen und chain-übergreifende Brücken praktikabel macht.
Kurz gesagt: Sie verwandelten einen theoretischen „Magietrick" zum Prüfen von Blockchains in ein praktisches, effizientes Werkzeug, das tatsächlich in einem live-Netzwerk funktioniert.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.