Rollups sind in letzter Zeit zum Schwerpunkt der Skalierung von Bitcoin geworden und waren das erste, was dem Lightning Network in Bezug auf die breitere Aufmerksamkeit wirklich „die Show stiehlt“. Rollups zielen darauf ab, eine zweite Schicht außerhalb der Kette zu sein, die nicht an die Liquiditätsbeschränkungen gebunden oder durch diese eingeschränkt ist, die für das Lightning Network von zentraler Bedeutung sind. Das heißt, Endbenutzer benötigen jemanden, der ihnen im Voraus Geld zuweist (oder „leiht“), um Geld empfangen zu können, oder zwischengeschaltete Routing-Knoten, die Kanalguthaben erfordern, die die Bewegung des Zahlungsbetrags vom Absender zum Empfänger erleichtern können.
Diese Systeme wurden ursprünglich für den Betrieb auf Ethereum und anderen Turing-vollständigen Systemen entwickelt, doch in letzter Zeit hat sich der Schwerpunkt auf die Portierung auf UTXO-basierte Blockchains wie Bitcoin verlagert. In diesem Artikel geht es nicht um den aktuellen Stand der Implementierung auf Bitcoin, sondern um die Funktion eines idealisierten Rollups, das die Leute langfristig anstreben, basierend auf Funktionen, die Bitcoin derzeit nicht unterstützt, nämlich der Möglichkeit, Zero Knowledge Proofs (ZKPs) auf Bitcoin direkt zu verifizieren.
Die grundlegende Architektur eines Rollups ist wie folgt: Ein einzelnes Konto (oder im Fall von Bitcoin UTXO) enthält die Guthaben aller Benutzer im Rollup. Dieses UTXO enthält eine Verpflichtung in Form einer Merkle-Wurzel eines Merkle-Baums, die sich auf alle aktuellen Guthaben der vorhandenen Konten im Rollup festlegt. Alle diese Konten werden mithilfe öffentlicher/privater Schlüsselpaare autorisiert. Um also eine Off-Chain-Ausgabe vorzuschlagen, muss ein Benutzer immer noch etwas mit einem Schlüssel unterzeichnen. Dieser Teil der Struktur ermöglicht es Benutzern, jederzeit ohne Erlaubnis auszusteigen. Indem sie einfach eine Transaktion erstellen, die beweist, dass ihr Konto Teil des Merkle-Baums ist, können sie das Rollup einseitig ohne die Erlaubnis des Betreibers verlassen.
Der Betreiber des Rollups muss bei Transaktionen, die die Merkle-Wurzel der Kontostände in der Blockchain aktualisieren, beim Abschluss von Off-Chain-Transaktionen einen ZKP einschließen. Ohne diesen ZKP ist die Transaktion ungültig und kann daher nicht in die Blockchain aufgenommen werden. Mit diesem Nachweis können Benutzer überprüfen, ob alle Änderungen an Off-Chain-Konten ordnungsgemäß vom/von den Kontoinhaber(n) autorisiert wurden und ob der Betreiber keine böswillige Aktualisierung der Guthaben durchgeführt hat, um Benutzern Geld zu stehlen oder es auf betrügerische Weise anderen Benutzern zuzuteilen.
Das Problem besteht darin, dass, wenn nur die Wurzel des Merkle-Baums in der Kette veröffentlicht wird, wo Benutzer sie anzeigen und darauf zugreifen können, wie sie dann ihren Zweig in den Baum bekommen, um ihn bei Bedarf ohne Erlaubnis verlassen zu können?
Richtige Rollups
Bei einem richtigen Rollup werden die Informationen jedes Mal direkt in die Blockchain eingegeben, wenn neue Off-Chain-Transaktionen bestätigt werden und sich der Status der Rollup-Konten ändert. Nicht der gesamte Baum, das wäre absurd, aber die Informationen, die zur Rekonstruktion des Baums erforderlich sind. Bei einer naiven Implementierung würde die Zusammenfassung aller vorhandenen Konten im Rollup einfach Salden und Konten enthalten, die in der Transaktion zur Aktualisierung des Rollups hinzugefügt werden.
In fortgeschritteneren Implementierungen wird ein Saldo-Diff verwendet. Dabei handelt es sich im Wesentlichen um eine Zusammenfassung der Konten, denen im Laufe einer Aktualisierung Geld hinzugefügt oder von denen Geld abgezogen wurde. Dadurch werden in jeder Rollup-Aktualisierung nur die Änderungen an den Kontoständen berücksichtigt, die tatsächlich vorgenommen wurden. Benutzer können dann einfach die Kette scannen und vom Beginn der Rollup-Aktualisierung an „rechnen“, um den aktuellen Stand der Kontostände zu ermitteln. Auf diese Weise können sie den Merkle-Baum der aktuellen Salden rekonstruieren.
Dies spart viel Overhead und Blockspace (und damit Geld) und ermöglicht den Benutzern dennoch, den Zugriff auf die Informationen zu gewährleisten, die sie für einen einseitigen Ausstieg benötigen. Die Einbeziehung dieser Daten in ein formelles Rollup, das die Blockchain verwendet, um sie den Benutzern zur Verfügung zu stellen, ist durch die Regeln des Rollups vorgeschrieben, d. h. eine Transaktion, die weder die Kontoübersicht noch den Kontounterschied enthält, wird als ungültige Transaktion betrachtet.
Validien
Die andere Möglichkeit, das Problem der Datenverfügbarkeit für Benutzer zu lösen, besteht darin, die Daten an einem anderen Ort als der Blockchain zu speichern. Dies führt zu subtilen Problemen, da das Rollup immer noch durchsetzen muss, dass die Daten an einem anderen Ort verfügbar gemacht wurden. Traditionell werden für diesen Zweck andere Blockchains verwendet, die speziell als Datenverfügbarkeitsebenen für Systeme wie Rollups fungieren.
Dies führt zu dem Dilemma, wie stark die Sicherheitsgarantien sein müssen. Wenn die Daten direkt in die Bitcoin-Blockchain gepostet werden, können Konsensregeln mit absoluter Sicherheit garantieren, dass sie korrekt sind. Wenn sie jedoch in ein externes System gepostet werden, kann dies höchstens einen SPV-Nachweis verifizieren, dass die Daten in ein anderes System gepostet wurden.
Dies beinhaltet die Überprüfung einer Bestätigung, dass Daten auf anderen Ketten vorhanden sind, was letztlich ein Orakelproblem ist. Die Bitcoin-Blockchain kann nichts vollständig überprüfen, außer was auf ihrer eigenen Blockchain geschieht. Das Beste, was sie tun kann, ist die Überprüfung eines ZKP. Ein ZKP kann jedoch nicht überprüfen, ob ein Block mit Rollup-Daten nach seiner Erstellung tatsächlich öffentlich gesendet wurde. Es kann nicht überprüfen, ob externe Informationen tatsächlich öffentlich für alle verfügbar sind.
Dies öffnet die Tür für Angriffe mit Datenzurückhaltung, bei denen eine Verpflichtung zur Veröffentlichung der Daten erstellt und zur Förderung der Zusammenfassung verwendet wird, die Daten jedoch nicht tatsächlich zur Verfügung gestellt werden. Dadurch werden den Benutzern Gelder entzogen, die sie nicht mehr abheben können. Die einzige wirkliche Lösung hierfür besteht darin, sich vollständig auf die Wert- und Anreizstruktur von Systemen zu verlassen, die vollständig außerhalb von Bitcoin liegen.
Zwischen Fels und hartem Ort
Dies führt zu einem Dilemma in Bezug auf Rollups. Wenn es um das Problem der Datenverfügbarkeit geht, besteht im Wesentlichen die binäre Wahl zwischen der Veröffentlichung der Daten in der Bitcoin-Blockchain oder woanders. Diese Wahl hat massive Auswirkungen sowohl auf die Sicherheit und Souveränität der Rollups als auch auf ihre Skalierbarkeit.
Einerseits führt die Verwendung der Bitcoin-Blockchain für die Datenverfügbarkeitsebene eine harte Obergrenze für die Skalierung von Rollups ein. Der Blockspeicher ist begrenzt, und das setzt eine Obergrenze dafür, wie viele Rollups gleichzeitig existieren können und wie viele Transaktionen alle Rollups insgesamt außerhalb der Blockchain verarbeiten können. Jedes Rollup-Update erfordert Blockspeicher proportional zur Anzahl der Konten, deren Kontostand sich seit dem letzten Update geändert hat. Die Informationstheorie erlaubt nur eine begrenzte Komprimierung der Daten, und ab diesem Punkt gibt es kein Potenzial mehr für Skalierungsgewinne.
Andererseits beseitigt die Verwendung einer anderen Schicht für die Datenverfügbarkeit zwar die harte Obergrenze für Skalierbarkeitsgewinne, bringt aber auch neue Sicherheits- und Souveränitätsprobleme mit sich. Bei einem Rollup, das Bitcoin für die Datenverfügbarkeit verwendet, ist es buchstäblich nicht möglich, den Status des Rollups zu ändern, ohne dass die von den Benutzern zum Abheben benötigten Daten automatisch in die Blockchain geschrieben werden. Bei Validiums hängt diese Garantie vollständig von der Fähigkeit des verwendeten externen Systems ab, Manipulationen und Datenvorenthaltung zu widerstehen.
Jeder Blockproduzent im externen Datenverfügbarkeitssystem ist nun in der Lage, die Gelder von Bitcoin-Rollup-Benutzern als Geisel zu nehmen, indem er einen Block produziert und diesen nicht tatsächlich sendet, um die Daten verfügbar zu machen.
Was wird es also sein, wenn wir jemals eine ideale Rollup-Implementierung für Bitcoin erreichen, die tatsächlich einseitige Benutzerabhebungen ermöglicht? Der Fels oder die harte Stelle?
Quelle: Bitcoin Magazine
Der Beitrag „Bitcoin-Rollups – Fels oder hartes Pflaster?“ erschien zuerst auf Crypto Breaking News.