Update 02/2023: Rollups ergänzt
Hi,
Lightning dürften die meisten ja inzwischen als Scaling-Technologie kennen. Ich verfolge aber etwas die Entwicklung eines alternativen Mechanismus namens Sidechains. Der Ansatz wurde bisher nur in einer halbzentralen Variante realisiert und es ist recht schwer, Infos zu bekommen, da die Technik kaum hier im Forum und den Bitcoin-Medien angesprochen wird.
Dennoch finde ich die Technologie sehr interessant, da sie meiner Meinung nach als "Zwischenlayer" zwischen der Main Chain und Lightning-ähnlichen Offchain-Lösungen dienen könnte. Deshalb dachte ich, mache ich mal einen Thread dazu auf - vielleicht kommen auch andere Beiträge.
Für die, die Sidechains noch nicht kennen: Es handelt sich kurz gesagt um unabhängige Blockchains, auf denen eine Währung zirkuliert, die an Bitcoin (oder eine andere "Haupt-Kryptowährung") gebunden ("gepeggt") ist. Also quasi um einen Altcoin, der immer genauso viel wert ist wie Bitcoin.
Damit das funktioniert, gibt es bei echten Sidechains einen Mechanismus, der es erlaubt, stets einen Coin der Sidechain-Währung 1:1 mit der Hauptchain-Währung auszutauschen.
Das impliziert natürlich, dass die Geldmenge der Sidechain nicht einfach zur Bitcoin-Geldmenge hinzugefügt werden kann. Stattdessen gilt bei "echten Sidechains" die Regel, dass ein Sidechain-Coin nur existieren darf, solange er auf der Bitcoin-Hauptchain entweder per "Proof of Burn" zerstört ("One-Way-Peg") oder so lange eingefroren und nicht verwendet wird, bis er auf der Sidechain zerstört wird, damit er wieder in der Hauptchain verwendet werden darf ("Two-Way-Peg"). Die Geldmenge von 21 Mio. bleibt also gleich.
Was sind die Vor- und Nachteile?
Vorteile:
- Die Hauptchain wird entlastet, indem Transaktionen auf Sidechains stattfinden. Theoretisch könnten fast unbegrenzt viele Sidechains existieren und somit die "Skalierbarkeit" gegen unendlich tendieren (praktisch sind natürlich einige Grenzen gesetzt, siehe unter Nachteile)
- Im Gegensatz zu LN handelt es sich um eine "echte" Blockchain, die Transaktionen haben also den gleichen Charakter und sind (abgesehen von der Möglichkeit von Double Spends, wie auch auf der Hauptchain) unumkehrbar. Man braucht also z.B. nicht online zu sein, um eine Transaktion zu empfangen.
- Sidechains können Features bieten, die bei Bitcoin zu experimentell oder gefährlich wären - beispielsweise kürzere Block-Intervalle oder eine erweiterte Skriptsprache für Smart Contracts (wie bei Rootstock/RSK).
- Sollte eine Sidechain "scheitern", da sie erfolgreich angegriffen wird, ist die Hauptchain nicht betroffen.
- Um die Sidechain zu nutzen, braucht ein User keine On-Chain-Transaktion durchzuführen wie bei LN. Er kann die Sidechain-Coins sofort akzeptieren oder bei einer die Sidechain unterstützenden Börse kaufen.
Nachteile und mögliche Probleme:- Es ist eine Herausforderung, einen sicheren Konsensmechanismus für die Sidechain zu finden. Das liegt daran, dass die Sidechain-Währung nicht als Reward ausgezahlt werden kann, da sich ja dann das Angebot gegenüber der Hauptchain erhöhen würde - es können allerdings Transaktionsgebühren erhoben und "eingesammelt" werden. Deswegen gehen die meisten Vorschläge von "merged mining" aus (d.h. die gleichen Miner, die Bitcoin minen, können als Bonus Sidechain-Gebühren einsammeln).
- Im Gegensatz zu LN sind die Transaktionen nicht sofort bestätigt, sondern wie auf der Hauptchain erst, nachdem ein Miner sie in einen Sidechain-Block aufnimmt. Damit hängt die Bestätigungsgeschwindikeit vom Sidechain-Blockintervall und der Kapazität ab.
- Ein weiterer Nachteil gegenüber LN ist bei den meisten Modellen, dass die LN-Sicherheit auf die Sicherheit der Hauptchain zurückgreifen kann. Bei Sidechains kann dagegen die Sidechain einzeln angegriffen werden, um z.B. einen Double Spend zu erreichen.
- Wie LN brauchen auch Sidechains Speicherplatz und Bandbreite auf der Haupt-Blockchain, vor allem dann, wenn Transaktionen zwischen Haupt- und Sidechain ausgeführt werden. Wird die Sidechain breit akzeptiert, ist jedoch der Speicherplatzverbrauch vermutlich geringer als bei LN, da nicht jeder User zum Nutzen der Sidechain eine On-Chain-Transaktion (wie beim Channel-öffnen) benötigt.
Arten von SidechainsEs gibt drei grundsätzliche Arten von Sidechains: solche mit einem "zentralen" Peg, "föderierte" Sidechains und "dezentrale" Sidechains, von denen bisher nur das "Drivechain"-Modell zumindest in die Alpha-Phase gekommen ist. Kommerziell eingesetzt werden bisher nur zentrale und föderierte Chains.
Zentralisierte Sidechains: Hier wird der "Peg" von einem einzigen Akteur verwaltet. Das heißt, dieser Akteur sorgt dafür, dass Bitcoins auf der Hauptchain eingefroren werden und in Sidechain-Coins umgewandelt werden. Dieses Modell ist natürlich nur begrenzt interessant zur Skalierung von Bitcoin, da man dem zentralen Akteur vertrauen muss.
Föderierte Sidechains: Funktionieren im Prinzip wie zentrale Sidechains. Aber hier gibt es mehrere Akteure, die mit Hilfe von Multisig-Transaktionen gemeinsam über das "Einfrieren" und das Umwandeln in Sidechain-Token entscheiden. Wenn die "vertrauenswürdigen Entitäten" gut ausgewählt werden, kann damit die Abhängigkeit gegenüber einer zentralen Entität verringert werden. Dieses Modell wird bei den bisher wichtigsten Sidechain-Projekten
Liquid (Blockstream) und
Rootstock/RSK eingesetzt.
Drivechains: Dieses Modell ist dezentral und damit das wohl interessanteste. Es sind hier die Bitcoin-Miner, die über das "Einfrieren" und "Auftauen" von Coins entscheiden, indem sie entsprechende Signale in die Blöcke einbauen. Grundsätzlich müssen die Miner zuerst das Einfrieren bestätigen, bevor auf der Sidechain der Coin kreiert wird. Wird auf einer Sidechain ein Coin zerstört, der auf die Hauptchain zurück soll, so müssen die Miner ebenfalls zustimmen, dass die eingefrorenen Coins wieder "aufgetaut" werden können. Damit die Angriffswahrscheinlichkeit minimiert wird, müssen die Miner das "Auftauen" einer Transaktion mehrmals - laut Vorschlag mehrere Wochen oder sogar Monate lang - kontinuierlich bestätigen. Erst dann kann der Coin auf der Hauptchain wieder genutzt werden. Drivechains befinden sich zur Zeit in der Entwicklung, ein Testnet gibt es seit September 2018, siehe
drivechain.info. Zu News siehe den Twitter-Account von
Paul Sztorc.
Sidechains mit "Proofs of Proof of Work" (PoPoW/NiPoPoW): Bei diesen Chains wird ein Beweis erstellt, dass eine bestimmte Transaktion einer Sidechain von einer bestimmten Menge Proof of Work abgesichert wurde. Diese Sidechain-Art ist bisher noch ein theoretisches Konzept, Research gibt es u.a. vom Cardano-Team.
Sidechain Headers on Mainchain (SHOM): Ein 2017
auf der Bitcoin-Mailingliste vorgeschlagenes Konzept, bei dem die Header der Sidechain auf der Mainchain gespeichert werden und somit die "gebündelten" Transaktionen der Sidechain sozusagen auch auf der Mainchain "nachverfolgt" werden können. Erinnert auf den ersten Blick etwas an das Konzept des Altcoins
Ardor.
Extension Blocks: Diese sind technisch gesehen mit Sidechains sehr eng verwandt. Es handelt sich um Blöcke, die zum Mainchain-Protokoll gehören, aber nicht von allen Nodes verfolgt werden müssen. Quasi eine sehr eng mit der Mainchain integrierte Sidechain.
Rollups: Rollups sind Sidechains, bei denen jeder Block in einer stark komprimierten Form auch auf die Mainchain geschrieben wird. Der Status der Sidechain ergibt sich also jederzeit aus den Daten der Mainchain, was "Abhebungen" von der Sidechain auf die Mainchain wesentlich vereinfacht, da jederzeit nachgewiesen werden kann, wenn jemand zu betrügen versucht. Es handelt sich also weniger um eine "unabhängige Chain" die selten mit der Mainchain interagiert, als um eine Möglichkeit, Transaktionen weniger Bytes belegen zu lassen (Studien sprechen je nach Typ von ca. 4 bis 100facher Blocksize-Ersparnis). Auch können Rollups neue Features (z.B. expressivere Skriptsprachen) bieten, sind aber dabei etwas limitierter als das "traditionelle" Sidechain-Modell. Rollups sind bisher das (neben "föderierten" Modellen) am weitesten entwickelte Sidechain-Modell und bei Ethereum gibt es bereits einige Implementierungen, die jedoch fast alle noch zentralisierte Elemente aufweisen.
Es gibt zwei Grundformen: "
validierende" (bei denen bei Abhebungen ein kryptographischer Beweis erbracht werden muss, dass die Regeln beachtet wurden) und "
optimistische" Rollups (hier wird per Default davon ausgegangen, dass alles korrekt abläuft, wenn dies jedoch nicht der Fall ist, kann dies von jedem Teilnehmer per kryptographischem Beweis belegt und somit die Abhebung rückgängig gemacht und der Betrüger bestraft werden, ähnlich wie bei Lightning).
Soviel erstmal, bei Interesse später mehr
Wer weitere Sidechain-Modelle und Aspekte kennt - nehme ich gerne auf.