OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains
Dieses Paper stellt OPERA vor, ein Byzantinisches fehlertolerantes Ausführungsmodell, das die Nebenläufigkeit über Knoten hinweg durch partielle Replikation und Inter-Knoten-Parallelismus erweitert und dadurch die Ausführungskosten in Blockchains signifikant reduziert sowie den Durchsatz steigert, ohne die Sicherheit oder die Anwendungssemantik zu beeinträchtigen.
Originalarbeit lizenziert unter CC BY 4.0 (https://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
Stellen Sie sich eine Welt vor, in der Millionen von Menschen versuchen, ein riesiges, gemeinsames Tagebuch perfekt synchron zu halten. Dies ist nicht irgendein Tagebuch; es ist ein digitales Kassenbuch, das alles aufzeichnet – von wem eine digitale Katze gehört bis hin zu wem Geld geschickt wurde. Der Haken? Jeder muss jedem einzelnen Eintrag zustimmen, und einige Leute in der Gruppe könnten hinterlistige Lügner sein, die versuchen, das System auszutricksen. Das ist die wilde Welt der Blockchain, der Technologie hinter Kryptowährungen und dezentralen Apps.
Lange Zeit hatten diese digitalen Tagebücher einen massiven Verkehrsstau. Um alle ehrlich zu halten, musste jeder einzelne Mensch in der Gruppe die gesamte neue Seite des Tagebuchs lesen, jedes Wort prüfen und es selbst, Wort für Wort, aufschreiben. Es war wie in einem Klassenzimmer, in dem jeder Schüler jede Matheaufgabe an der Tafel lösen muss, selbst wenn ihm nur eine einzige zugeordnet wurde. Dies machte das System langsam und teuer, besonders wenn mehr Leute dazustießen. Wissenschaftler nennen dies „Byzantine Fault Tolerance“ (Byzantinische Fehlertoleranz) – ein schicker Name dafür, dass das System sicher bleibt, selbst wenn einige Mitglieder versuchen zu betrügen. Die große Frage, die Forscher gestellt haben, lautete: Können wir diese Gruppe schneller arbeiten lassen, ohne dass die Betrüger die Party ruinieren?
Hier kommt OPERA ins Spiel, eine neue Idee von Forschern der Hanyang University, die versucht, diesen Verkehrsstau zu lösen, indem sie die Arbeit auf die Studenten aufteilt. Anstatt dass jeder die ganze Seite liest, teilt OPERA verschiedene Teile der Seite an verschiedene Studenten zu. Es ist wie ein riesiges Potluck-Essen (Mitbringsel-Buffet), bei dem jeder ein anderes Gericht mitbringt, aber alle das Essen der anderen probieren, um sicherzustellen, dass niemand einen vergifteten Apfel serviert hat. Die Forscher bauten ein System namens OPERA-PBFT, um dies zu testen. Sie fanden heraus, dass das System viel schneller wird, wenn sie die Knoten (die Computer, die die Blockchain betreiben) nur einen kleinen Ausschnitt der Transaktionen ausführen lassen und dann die Arbeit der anderen doppelt prüfen. In ihren Tests bewältigte diese neue Methode über 33.787 Transaktionen pro Sekunde, was etwa 2,4-mal schneller ist als einige der schnellsten bestehenden Systeme wie Aptos. Selbst wenn die Arbeit chaotisch und unordentlich wurde und viele Transaktionen um dieselben Daten kämpften, verlangsamte sich OPERA nur um winzige 7 %, während andere Systeme abstürzten oder drastisch langsamer wurden.
Das Problem: Der „Jeder macht alles“-Engpass
Stellen Sie sich eine traditionelle Blockchain wie eine super-strenge Bibliothek vor. Wenn ein neues Buch (ein Block von Transaktionen) ankommt, muss jeder einzelne Bibliothekar (Knoten) im Gebäude das ganze Buch von Cover zu Cover lesen, jedes Faktum prüfen und es in seine eigene persönliche Kopie schreiben. Selbst wenn die Bibliothek 100 Bibliothekare hat, wird die Geschwindigkeit der gesamten Bibliothek durch den langsamsten Bibliothekar begrenzt. Wenn ein Bibliothekar langsam ist oder abgelenkt wird, stoppt die gesamte Schlange. Dies wird als „Full Replication“ (vollständige Replikation) bezeichnet. Es ist sicher, weil jeder alles prüft, aber es ist unglaublich verschwenderisch. Es ist, als hätte man 100 Köche in einer Küche, und jeder einzelne Koch muss das gesamte 10-Gänge-Menü kochen, obwohl er nur eine einzige Speise probieren muss, um zu wissen, ob sie gut ist.
Die Lösung: Das „Spezialisierte Potluck“
Die Autoren dieser Arbeit, Sungwook Chung und sein Team, stellten eine einfache Frage: Was wäre, wenn wir nicht jeden das ganze Menü kochen ließen?
Sie schlugen OPERA vor, eine neue Art, die Blockchain zu betreiben, die auf partieller Replikation basiert. Stellen Sie sich dieselbe Küche vor, aber dieses Mal verteilt der Chefkoch (der Anführer) eine Speisekarte. Anstatt dass jeder Koch das gesamte 10-Gänge-Menü kocht, kocht Koch A nur die Vorspeisen, Koch B nur die Suppe und Koch C nur den Nachtisch.
Aber hier ist der knifflige Teil: Was ist, wenn Koch A ein Lügner ist und einen verdorbenen Salat serviert? Im alten System würde ihn jeder entdecken, weil jeder alles probiert hat. In OPERA, da Koch B und Koch C den Salat nicht berührt haben, wie wissen sie dann, ob er sicher ist?
OPERA löst dies mit einem cleveren zweistufigen Tanz:
- Die „Vertraue, aber prüfe“-Zuweisung: Jede Transaktion (ein Gericht) wird einer kleinen Gruppe von Köchen (Knoten) zugewiesen, um sie zu kochen. Konkret wird sie an f + 1 primäre Köche und f - k Backup-Köche vergeben. Die Zahl f repräsentiert die maximale Anzahl an Lügnern, die das System verkraften kann. Wenn das System 2 Lügner verkraften kann, müssen mindestens 3 Köche kochen und über das Ergebnis übereinstimmen.
- Das „Geschmackstest“-Zertifikat: Sobald die primären Köche fertig sind, sagen sie nicht einfach nur „Es ist fertig“. Sie übergeben einen Read/Write-Set (Lese-/Schreibsatz). Denken Sie an einen Beleg, der besagt: „Ich habe diese Zutaten gelesen und diese Aromen verändert.“ Die anderen Köche schauen sich diese Belege an. Wenn f + 1 Köfe (die Mindestanzahl, die nötig ist, um die Lügner zu überstimmen) exakt denselben Beleg vorlegen, vertraut das System darauf, dass das Gericht sicher ist.
Wenn ein primärer Koch ein Lügner ist oder verschwindet (ein „Byzantine Fault“), springen die Backup-Köche ein, um das Gericht zu kochen und ihre eigenen Belege zu erstellen. Sobald genügend übereinstimmende Belege gesammelt wurden, gilt das Gericht als „verifiziert“.
Der „Konflikt“-Tanz: Wenn Gerichte kollidieren
Manchmal benötigen zwei verschiedene Gerichte dieselbe Zutat. Zum Beispiel könnten zwei Transaktionen zur gleichen Zeit versuchen, Geld aus demselben Wallet auszugeben. Im alten „Jeder kocht alles“-System würden die Köche sich einfach abwechseln. In OPERA, da verschiedene Köche unterschiedliche Teile kochen, könnten sie versehentlich versuchen, gleichzeitig dieselbe Zutat zu verwenden.
Um dies zu beheben, nutzt OPERA eine Technik namens Conflict-Resolving Deterministic Re-execution (CRDR). Es ist wie ein Schiedsrichter, der beim Kochen zuschaut.
- Zuerst schaut das System alle Belege an, um zu sehen, welche Gerichte kollidieren.
- Es gruppiert die nicht-kollidierenden Gerichte zusammen und lässt sie sofort servieren.
- Für die kollidierenden Gerichte führt das System diese erneut aus, nacheinander, in einer spezifischen Reihenfolge, um sicherzustellen, dass das Endergebnis perfekt ist.
Dies stellt sicher, dass das Endergebnis – auch wenn die Arbeit aufgeteilt wurde – exakt dasselbe ist, als hätte eine Person alles allein gemacht. Es garantiert, dass das „Tagebuch“ konsistent bleibt und niemand betrügen kann.
Die Ergebnisse: Die Party beschleunigen
Die Forscher testeten ihre Idee, indem sie OPERA-PBFT bauten, eine Version der Blockchain, die diese neue Methode der Arbeitsverteilung nutzt. Sie führten Simulationen mit unterschiedlichen Anzahlen von Computern und verschiedenen Arten von Arbeitslasten durch.
- Der große Sieg: In ihren Tests erreichte OPERA-PBFT eine Geschwindigkeit von 33.787 Transaktionen pro Sekunde (TPS). Das ist 2,4-mal schneller als Aptos, einer der aktuellen Spitzenreiter in Sachen Geschwindigkeit.
- Der „Chaos“-Test: Sie testeten auch, was passiert, wenn die Arbeit chaotisch wird (genannt „skewed workloads“), wobei viele Transaktionen um dieselben Daten kämpfen. Die meisten Systeme werden in diesem Szenario drastisch langsamer. OPERA-PBFT verlangsamte sich nur um 7 %, während andere Systeme wie Aptos um 77 % langsamer wurden.
- Die Kosten: Sie maßen auch, wie viel „Arbeit“ das System leistete. In einem traditionellen System erledigt jeder Computer jede Aufgabe. In OPERA wurde die Gesamtarbeit um bis zu 44 % reduziert. Das bedeutet, das System ist nicht nur schneller, sondern auch effizienter und verbraucht weniger Energie und Rechenleistung.
Warum das wichtig ist
Die Arbeit legt nahe, dass wir uns nicht zwischen Sicherheit und Geschwindigkeit entscheiden müssen. Lange Zeit dachten die Menschen, dass jeder alles machen müsse, um eine Blockchain vor Lügnern zu schützen. OPERA zeigt, dass man die Arbeit aufteilen, verschiedene Computer verschiedene Teile bearbeiten lassen kann und das System trotzdem sicher und schnell bleibt.
Es ist wie die Erkenntnis, dass ein riesiges Orchester nicht braucht, dass jeder Musiker jedes Instrument spielt, um schöne Musik zu machen. Wenn der Dirigent (das Protokoll) die richtigen Teile den richtigen Spielern zuweist und sicherstellt, dass sie einander zuhören, kann die Musik schneller und lauter gespielt werden als je zuvor. Die Forscher fanden heraus, dass dieser Ansatz auch dann funktioniert, wenn einige Spieler versuchen, die falschen Töne zu spielen, was beweist, dass eine Blockchain gleichzeitig ein super-sicherer Tresor und eine Hochgeschwindigkeitsautobahn sein kann.
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.