Softchains bringen Zwei-Wege-Pegs und potenziellen Raum für Anwendungsfälle – aber nicht ohne Sicherheitskosten

By Bitcoin Magazin - vor 1 Jahr - Lesezeit: 6 Minuten

Softchains bringen Zwei-Wege-Pegs und potenziellen Raum für Anwendungsfälle – aber nicht ohne Sicherheitskosten

Softchains sind eine Sidechain-Implementierung, die auf einer tieferen Ebene mit Konsensmechanismen interagiert, was Vorteile und Risiken mit sich bringen kann.

Dies ist ein Meinungsleitartikel von Shinobi, einem autodidaktischen Pädagogen in der Bitcoin raum- und technikorientiert Bitcoin Podcast-Host.

In diesem nächsten Artikel werden wir uns mit verschiedenen Sidechain-Implementierungsdesigns befassen weiche Ketten. Dies ist ein weiteres davon Ruben Somsen's Vorschläge für einen Sidechain-Mechanismus. Dies unterscheidet sich stark von Raumketten, das Design, das in meinem vorherigen Artikel behandelt wurde. Es erfordert eine spezifische Änderung an der Bitcoin Das Kernprotokoll ist speziell für die Implementierung einer Sidechain strukturiert und verursacht neue Validierungskosten Bitcoin Vollständige Knoten und unterstützt einen bidirektionalen Bindungsmechanismus, der nicht von einer Föderation zur Verwahrung von Geldern abhängig ist.

Der Baustein

Der Kern der Idee baut auf einem früheren Vorschlag von Somsen auf Beweise für PoW-Betrug, ein Mechanismus zur Verbesserung der Sicherheit der vereinfachten Zahlungsverifizierung (SPV) für Wallets. Die Idee basiert auf einer einfachen Beobachtung über eine Blockchain: Wenn ein ungültiger Block erzeugt wird, wird es wahrscheinlich eine Verzweigung in der Blockchain geben, da alle ehrlichen Miner, die es gibt, sich weigern werden, auf dem ungültigen Block aufzubauen und schließlich einen gültigen Block abzubauen. Wenn ein ungültiger Block erstellt wird und kein Fork von ehrlichen Minern erstellt wird, bedeutet dies im Wesentlichen, dass der Konsensprozess des Netzwerks vollständig zusammengebrochen ist, sodass die statistische Wahrscheinlichkeit, dass dies geschieht, vernachlässigbar gering ist. Daher kann eine auftretende Abzweigung als eine Art Signal angesehen werden, dass „Hey, hier könnte etwas passiert sein, also sollten Sie sich das ansehen.“ Kunden könnten Forks wie diesen als eine Art Alarm verwenden, dass sie diese Blöcke tatsächlich herunterladen und überprüfen sollten, was vor sich geht.

Dies stellt jedoch ein grundlegendes Problem dar – um einen Block zu verifizieren, muss ein UTXO-Satz vorhanden sein. Um einen UTXO-Satz zu haben, müssen Sie alle vorherigen Blöcke in der Kette überprüft haben, um ihn zu erstellen. Wie funktioniert dieser SPV-Mechanismus? Die Antwort lautet: UTXO legt Verpflichtungen fest.

Jeder Block muss anhand des UTXO-Sets, einer Datenbank aller Blöcke, validiert werden bitcoin vorhanden ist, die noch nicht ausgegeben wurde, und derzeit ist dies nur eine lokale Datenbank, die jeder Knoten erstellt und speichert, während er die Blockchain von Anfang an durchsucht. Ein UTXO-Set-Commitment nimmt das UTXO-Set, erstellt daraus einen Merkle-Baum und schreibt im Idealfall den Hash davon in jeden Block. Auf diese Weise können Sie einen Block mit einigen zusätzlichen Daten empfangen – einen Merkle-Zweig für jede Eingabe jeder Transaktion, der beweist, dass sie in der letzten UTXO-Set-Verpflichtung enthalten war – und ihn auf diese Weise überprüfen. Wenn ein System von Anfang an ein solches Verpflichtungsschema verwenden würde und es tatsächlich von einer großen Anzahl von Benutzern verwendet würde, die die Kette vollständig verifizierten, dann würde es eine Sicherheitsgarantie bieten, die fast der eines vollständigen Knotens entspricht. Immer wenn ein Kettensplit auftritt, können Sie alle beteiligten Blöcke herunterladen und sicherstellen, dass die Kette, der Sie folgen, gültig ist. Wenn beide Seiten der Teilung gültig sind, gewinnt immer noch die längste. Wenn jedoch einer von ihnen ungültig wäre, könnten Sie ihn so sofort erkennen.

Der Zwei-Wege-Peg

Als Teil des Softchain-Designs müssten Mainchain-Knoten die Blockheader für jede Softchain herunterladen und validieren und im Falle eines Chainsplits diese Blöcke mithilfe der UTXO-Set-Verpflichtungen herunterladen und validieren. Dies würde die Grundlage des Pegout-Mechanismus bilden, um eine Zwei-Wege-Peg zu ermöglichen. Um Münzen in die Sidechain zu migrieren, erstellt der Benutzer eine Mainchain-Transaktion, weist sie einer bestimmten Softchain zu und zeigt dann auf diese Transaktion, wenn er bestätigt wird, dass er Münzen in der Sidechain beansprucht. Umgekehrt würden Sie das Gegenteil tun, wenn Sie versuchen, aus der Sidechain auszusteigen. Hier kommen die PoW-Betrugsnachweise ins Spiel. Bei einem Pegout besteht die Idee darin, eine Transaktion auf der Hauptkette zu erstellen, die auf eine Auszahlungstransaktion auf der Seitenkette verweist. Diese Münzen würden erst nach einem langen Bestätigungsfenster (z. B. einem Jahr) ausgegeben werden können und würden „in der Softchain gesperrt“ bleiben, wenn die Auszahlungstransaktion auf der Sidechain neu organisiert oder für ungültig befunden würde. Letzteres würde entdeckt werden, da der Mainchain-Knoten im Falle einer Kettenteilung alle Blöcke auf jeder Seite der Teilung herunterlädt und sie mithilfe von UTXO-Set-Verpflichtungen überprüft.

Das lange Bestätigungsfenster für Pegouts sorgt dafür, dass selbst ein kleiner Prozentsatz ehrlicher Miner genug Zeit hat, um einen einzigen gültigen Block zu produzieren, der die Kette aufteilt und ab diesem Zeitpunkt eine Validierung von allem mit den von UTXO festgelegten Verpflichtungen auslöst. Dies ermöglicht es den Mainchain-Knoten, betrügerische Sidechain-Pegouts abzufangen, bevor die Auszahlung auf der Mainchain bestätigt wird, wodurch diese Transaktion ungültig wird, ohne dass sie die gesamte Sidechain validieren müssen – was nichts anderes wäre als eine Erhöhung der Blockgröße.

Sicherheitsparameter und Risiken

Dieses Design wirft einige Fragen hinsichtlich des Sicherheitsniveaus auf, das auf bestimmten Variablen basiert und wie eine solche Sidechain mit Minern interagieren würde. Zuallererst sollte jede Softchain mit einer Mindestschwierigkeitsanforderung für Blöcke bereitgestellt werden, sodass es einfach länger dauern würde, Blöcke in der Sidechain zu finden – d Zunahme. Dies ist notwendig, da die Mainchain-Knoten im Rahmen dieses Entwurfs eine betrugssichere PoW-Validierung durchführen müssen. Wenn der Schwierigkeitsgrad der Softchain zu gering ist, können Miner die Softchain regelmäßig in böswilliger Absicht forken und effektiv einen Denial-of-Service (DoS)-Angriff gegen Mainchain-Knoten durchführen, indem sie die Menge an zusätzlichen Daten erhöhen müssen validieren.

Merged Mining ist eine Lösung für dieses Problem. Wenn alle Bitcoin Miner haben auch Blöcke auf der Sidechain abgebaut, dann ist das Problem von DoS-Angriffen auf die Mainchain durch die Erstellung von Chainsplits auf der Softchain so gut wie möglich gelöst. Es würde genauso viel Arbeit erfordern, die Softchain zu spalten wie die Mainchain, um willkürliche und kostengünstige Angriffe zu verhindern, die die zur Validierung der Mainchain erforderliche Datenmenge erhöhen würden. Bei der Lösung des DoS-Angriffsproblems entsteht jedoch ein weiteres Problem: die Erhöhung der Validierungskosten der Miner.

Wenn Miner auch die Softchains abbauen wollen, müssen sie die Knoten für sie ausführen, um sicherzustellen, dass die Blöcke, die sie abbauen, gültig sind. Andernfalls besteht die Gefahr, dass sie verwaist werden und die Gebühreneinnahmen aus einem ungültigen Block verlieren. Wenn viele Softchains aktiviert würden, deren Überprüfung teuer ist, etwa Ethereum-Klonketten oder große Blockketten, könnte dies dazu führen, dass das Mining zentralisierter wird und die Teilnahme teurer wird. Miner müssen eine Kette validieren, um sicherzustellen, dass sie nicht auf einem ungültigen Block aufbauen und Geld zu verlieren, also ist das nicht wirklich optional. Eine Verteuerung der Validierung untergräbt Bemühungen, die Dezentralisierung des Bergbaus zu maximieren.

Das größte Problem ist das Risiko, dass ein Konsensfehler in einer Softchain tatsächlich zu einer Konsensspaltung der Hauptkette selbst führt. Es besteht das Risiko, dass größere Sidechain-Reorganisationen eine gültige Pegout-Transaktion auf der Sidechain-Seite ungültig machen, gerade wenn die Mainchain-Seite kurz davor steht, gültig zu werden. Denken Sie daran, dass Mainchain-Knoten auch den Softchain-Headern folgen. Dies könnte zur Aufspaltung der Hauptkette führen, wenn sich verschiedene Teile des Netzwerks auf unterschiedlichen Seiten einer Softchain-Aufteilung befinden, während ein Sidechain-Pegout auf der Hauptkette validiert wird. Nichtdeterministische Konsensfehler in der Softchain könnten auch zu einer Aufteilung der Mainchain führen, wenn also einige Knoten einen Pegout als ungültig ansähen, andere ihn jedoch als gültig ansahen.

Diese tiefere Verbindung mit dem Mainchain-Konsens macht dieses Sidechain-Design etwas riskant und möglicherweise etwas, das nicht getan werden sollte. Zumindest sollten Softchains einzeln in einzelnen Forks aktiviert werden, anstatt einen einzelnen Fork einzusetzen, der es ermöglichen würde, Softchains nach Belieben hochzufahren. Die Tatsache, dass Chainsplits in diesem Design dazu führen, dass Mainchain-Knoten mehr Daten überprüfen, macht die Möglichkeit, einfach viele Softchains auf einmal einzuschalten, zu einem Angriffsvektor auf die Mainchain.

Softchains sind stärker in die Konsensschicht der Mainchain involviert als Spacechains, was viele Risiken mit sich bringt, aber sie ermöglichen eine native Zwei-Wege-Anbindung und damit mehr potenziellen Raum für verschiedene Anwendungsfälle. Als Nächstes werde ich auf die Antriebsketten eingehen und anschließend einige abschließende Gedanken zu den Sidechains im Allgemeinen machen.

Dies ist ein Gastbeitrag von Shinobi. Die geäußerten Meinungen sind ausschließlich ihre eigenen und spiegeln nicht unbedingt die von BTC Inc oder . wider Bitcoin Zeitschrift.

Originalquelle: Bitcoin Magazin