Blockchain-Skalierbarkeit - Sidechains und Zahlungskanäle
Startseite
Artikel
Blockchain-Skalierbarkeit - Sidechains und Zahlungskanäle

Blockchain-Skalierbarkeit - Sidechains und Zahlungskanäle

Fortgeschritten
Veröffentlicht Feb 20, 2020Aktualisiert Feb 9, 2023
9m

Inhaltsangabe


Einf√ľhrung

Skalierbarkeit bezieht sich im Allgemeinen auf die F√§higkeit eines Systems, mit der steigenden Nachfrage zu wachsen. Beim Arbeiten mit Computern k√∂nnen Sie die Leistung Ihrer Maschine erh√∂hen, indem Sie die Hardware aufr√ľsten, damit sie bestimmte Aufgaben schneller ausf√ľhren kann. Wenn wir bei¬†Blockchains von Skalierbarkeit sprechen, beziehen wir uns auf die wachsende F√§higkeit, mehr Transaktionen zu verarbeiten.

Protokolle wie¬†Bitcoin haben viele St√§rken, aber Skalierbarkeit ist keine davon. Wenn Bitcoin in einer zentralen Datenbank ausgef√ľhrt w√ľrde, w√§re es f√ľr einen Administrator relativ einfach,¬†Geschwindigkeit und Durchsatz zu erh√∂hen. Aber Bitcoins Wertversprechen (d.h. Zensurresistenz) erfordert, dass viele Teilnehmer eine Kopie der Blockchain synchronisieren.


Das Problem der Blockchain-Skalierbarkeit

Der Betrieb eines Bitcoin¬†Node ist relativ billig, und selbst einfache Ger√§te k√∂nnen dies leisten. Aber da die Tausenden von Nodes untereinander auf dem neuesten Stand bleiben m√ľssen, gibt es gewisse Einschr√§nkungen in ihrer Kapazit√§t.¬†

Die Anzahl der Transaktionen, die on-chain verarbeitet werden können, wird begrenzt, um die Datenbank nicht zu groß werden zu lassen. Sollte sie zu schnell wachsen, können die Nodes nicht mehr mithalten. Wenn außerdem die Blöcke zu groß sind, können sie nicht schnell genug im Netzwerk weitergeleitet werden.

Daher befinden wir uns an einer Art Engpass. Eine Blockchain kann als ein Zugdienst betrachtet werden, der in bestimmten Intervallen abf√§hrt. Es gibt nur begrenzte Pl√§tze in jedem Wagen, und um eine Fahrkarte zu erhalten, m√ľssen die Reisenden sich einen Platz sichern. Wenn alle gleichzeitig versuchen, in den Zug zu steigen, wird der Preis hoch sein. Ebenso wird ein mit ausstehenden Transaktionen verstopftes Netz von den Benutzern h√∂here Geb√ľhren verlangen, um ihre Transaktion rechtzeitig ber√ľcksichtigt zu sehen.

Eine L√∂sung w√§re es, die Waggons gr√∂√üer zu machen. Dies w√ľrde mehr Sitzpl√§tze, einen h√∂heren Durchsatz und g√ľnstigere Fahrpreise zur Folge haben. Aber es gibt keine Garantie daf√ľr, dass sich die Sitze nicht wieder genauso f√ľllen wie vorher. Die Waggons k√∂nnen nicht st√§ndig vergr√∂√üert werden, so wie Bl√∂cke oder Block¬†Gas Limits nicht unendlich skaliert werden k√∂nnen. Letzteres macht es f√ľr die Nodes teurer, im Netzwerk zu bleiben, da sie kostspieligere Hardware ben√∂tigen, um synchron zu bleiben.

Der Sch√∂pfer von Ethereum, Vitalik Buterin, pr√§gte das Skalierbarkeitstrilemma, um die Herausforderung zu beschreiben, der sich Blockchains stellen. Er theoretisiert, dass Protokolle Kompromisse zwischen Skalierbarkeit, Sicherheit und Dezentralisierung eingehen m√ľssen. Diese stehen etwas im Widerspruch zueinander ‚Äď wenn man sich zu sehr auf zwei der Eigenschaften konzentriert, wird die dritte zu kurz kommen.

Aus diesem Grund betrachten viele die Skalierbarkeit als etwas, das off-chain erreicht werden muss, während Sicherheit und Dezentralisierung auf der Blockchain selbst maximiert werden sollten.


Was sind Off-Chain Skalierungslösungen?

Off-Chain-Skalierung bezieht sich auf Ans√§tze, die es erm√∂glichen, Transaktionen auszuf√ľhren, ohne die Blockchain aufzubl√§hen. Protokolle, die sich in die Chain einklinken, erm√∂glichen es den Benutzern, Gelder zu senden und zu empfangen, ohne dass die Transaktionen in der Mainchain erscheinen. Wir werden auf zwei der bemerkenswertesten Fortschritte in diesem Bereich eingehen: Sidechains und Zahlungskan√§le.


Eine Einf√ľhrung in Sidechains

Was ist eine Sidechain?

Eine Sidechain ist eine separate Blockchain. Sie ist jedoch keine eigenst√§ndige Plattform, da sie in gewisser Weise an die Mainchain angeh√§ngt ist. Die Mainchain und die Sidechain sind interoperabel, d.h. die Assets k√∂nnen frei von der einen zur anderen √ľbertragen werden.

Es gibt eine Reihe von M√∂glichkeiten, um sicherzustellen, dass Gelder √ľbertragen werden k√∂nnen. In einigen F√§llen werden die Gelder von der Mainchain in eine spezielle¬†Adresse eingezahlt. Sie werden nicht wirklich √ľbertragen ‚Äď stattdessen werden sie in der Adresse fixiert, und ein identischer Betrag wird auf der Sidechain ausgegeben. Eine einfachere (wenn auch zentralisierte) M√∂glichkeit ist es, Gelder an einen Verwalter zu schicken, der den eingezahlten Betrag gegen Gelder auf der Sidechain eintauscht.


Wie funktioniert eine Sidechain?

Angenommen, unsere Freundin Alice hat f√ľnf Bitcoins. Sie m√∂chte sie gegen f√ľnf gleichwertige Einheiten auf einer Bitcoin-Sidechain eintauschen ‚Äď nennen wir sie Sidecoins. Die fragliche Sidechain verwendet einen zweiseitigen Peg, was bedeutet, dass die Benutzer ihre Assets von der Mainchain auf die Sidechain und umgekehrt √ľbertragen k√∂nnen.

Denken Sie daran, dass die Sidechain eine separate Blockchain ist. Sie hat also verschiedene Blocks, Nodes und Validierungsmechanismen. Um ihre Sidecoins zu bekommen, schickte Alice ihre f√ľnf Bitcoins an eine andere Adresse. Sie k√∂nnte jemandem geh√∂ren, der ihrer Sidechain-Adresse f√ľnf Sidecoins gutschreibt, sobald er die Bitcoins erh√§lt. Alternativ k√∂nnte sie eine Art vertrauensminimiertes Setup nutzen, bei der die Sidecoins automatisch gutgeschrieben werden, nachdem die Software eine Zahlung erkannt hat.


Sidechain Skalierung


Alice hat ihre Coins nun in Sidecoins umgewandelt, aber sie kann den Prozess jederzeit umkehren, um ihre Bitcoins zur√ľckzubekommen. Jetzt, da sie begonnen hat die Sidechain zu nutzen, kann sie auf dieser separaten Blockchain uneingeschr√§nkt Transaktionen durchf√ľhren. Sie kann Sidecoins senden oder von anderen erhalten, wie sie es auch auf der Mainchain tun w√ľrde.

Sie k√∂nnte Bob zum Beispiel einen Sidecoin f√ľr einen Binance-Hoodie bezahlen. Wenn sie zu Bitcoin zur√ľckkehren m√∂chte, k√∂nnte sie ihre restlichen vier Sidecoins an eine spezielle Adresse schicken. Nachdem die Transaktion best√§tigt wurde, werden die vier Bitcoins entsperrt und an eine von ihr kontrollierte Adresse in der Mainchain geschickt.


Warum werden Sidechains verwendet?

Sie fragen sich vielleicht, was der Sinn der Sache ist. Warum benutzt Alice nicht einfach die Bitcoin-Blockchain?

Die Antwort ist, dass die Sidechain m√∂glicherweise in der Lage ist, Aufgaben zu √ľbernehmen, die Bitcoin nicht erf√ľllen kann. Blockchains sind sorgf√§ltig ausgearbeitete Systeme von Kompromissen. Obwohl Bitcoin die sicherste dezentrale Krypto-W√§hrung ist, ist sie nicht die beste in Bezug auf den Durchsatz. Obwohl Bitcoin-Transaktionen schneller als herk√∂mmliche Methoden sind, ist es im Vergleich zu anderen Blockchain-Systemen immer noch relativ langsam. Bl√∂cke werden alle zehn Minuten per Mining erstellt, und die Geb√ľhren k√∂nnen bei einer √úberlastung des Netzwerks erheblich steigen.

Zugegebenerma√üen ist dieses Ma√ü an Sicherheit f√ľr kleine allt√§gliche Zahlungen wahrscheinlich nicht erforderlich. Wenn Alice f√ľr einen Kaffee bezahlt, wird sie nicht auf die Best√§tigung der Transaktion warten. Sie w√ľrde nur die anderen Kunden in der Warteschlange aufhalten, und ihr Kaffee w√§re bereits kalt, wenn sie ihn schlie√ülich bekommen w√ľrde.

Sidechains sind nicht an die gleichen Regeln gebunden. Tats√§chlich m√ľssen sie nicht einmal einen Arbeitsnachweis, genannt¬†Proof of Work, verwenden, um zu funktionieren. Sie k√∂nnen jeden beliebigen¬†Konsensmechanismus verwenden, einem einzelnen Validator vertrauen oder eine beliebige Anzahl von Parametern einstellen. Sie k√∂nnten Upgrades hinzuf√ľgen, die es in der Mainchain nicht gibt, gr√∂√üere¬†Bl√∂cke erzeugen und eine schnelle Abwicklung sicherstellen.

Interessanterweise k√∂nnen Sidechains sogar kritische Fehler aufweisen, ohne die ihnen zugrunde liegende Chain zu beeintr√§chtigen. Dadurch k√∂nnen sie als Plattform f√ľr Experimente und zur Einf√ľhrung von Funktionen genutzt werden, die sonst den Konsens der Mehrheit des Netzwerks erfordern w√ľrden.

Vorausgesetzt, dass die Anwender mit den Kompromissen zufrieden sind, k√∂nnten Sidechains ein integraler Schritt zu einer effektiven Skalierung sein. Es ist nicht erforderlich, dass die Nodes der Mainchain jede Transaktion der Sidechain speichern m√ľssen. Alice k√∂nnte die Sidechain mit einer einzigen Bitcoin-Transaktion betreten, Hunderte von Sidecoin-Transaktionen durchf√ľhren und dann die Sidechain verlassen. Was die Bitcoin-Blockchain betrifft, hat sie nur zwei durchgef√ľhrt¬†‚Äď eine zum Betreten und eine zum Verlassen der Sidechain.

Ethereums Plasma ist √§hnlich, hat aber einige gro√üe Unterschiede. Lesen Sie mehr dar√ľber in:¬†Was ist Ethereum Plasma?


Eine Einf√ľhrung in Zahlungskan√§le

Was ist ein Zahlungskanal?

Die Zahlungskanäle dienen dem gleichen Zweck wie die Sidechains an der Skalierbarkeitsfront, aber sie unterscheiden sich grundsätzlich sehr stark. Wie Sidechains verschieben sie Transaktionen von der Mainchain, um ein Überladen der Blockchain zu verhindern. Im Gegensatz zu Sidechains benötigen sie jedoch keine separate Blockchain, um zu funktionieren.

Ein Zahlungskanal verwendet einen¬†Smart Contract, um den Benutzern zu erm√∂glichen, Transaktionen durchzuf√ľhren, ohne ihre Transaktionen in der Blockchain zu ver√∂ffentlichen. Dies geschieht mit Hilfe einer durch Software forcierten Vereinbarung zwischen zwei Teilnehmern.


Wie funktioniert ein Zahlungskanal?

In Modellen wie dem popul√§ren¬†Lightning Network w√ľrden zwei Parteien zun√§chst Coins in eine Adresse einzahlen, die sie gemeinsam besitzen. Dies ist eine¬†Multisignatur-Adresse, die zwei Signaturen erfordert, damit die Gelder ausgegeben werden k√∂nnen. Wenn Alice und Bob also eine solche Adresse einrichten w√ľrden, k√∂nnten die Gelder nur mit der Zustimmung beider Parteien ausgezahlt werden.

Nehmen wir an, jeder von ihnen hinterlegt 10 BTC an eine Adresse, die jetzt 20 BTC besitzt. Es w√§re einfach f√ľr sie, eine Bilanz zu f√ľhren, die damit beginnt, dass Alice und Bob jeweils 10 BTC haben. Wenn Alice Bob ein Bitcoin geben wollte, k√∂nnten sie diese aktualisieren und sagen, dass Alice 9 BTC und Bob 11 BTC hat. Sie m√ľssten dies nicht in der Blockchain ver√∂ffentlichen, da sie diese Bilanzen weiterhin aktualisieren.¬†


Wie ein Zahlungskanal funktioniert


Wenn aber der Zeitpunkt gekommen ist, sagen wir, dass Alice 5 BTC und Bob 15 BTC hat, dann könnten sie eine Transaktion erstellen, die diese Salden an Adressen im Besitz der Parteien sendet, sie unterzeichnen und senden.

Alice und Bob h√§tten zehn, hundert oder tausend Transaktionen in ihrer Bilanz verzeichnen k√∂nnen. Aber was die Blockchain betrifft, so haben sie nur zwei On-Chain-Operationen durchgef√ľhrt: eine f√ľr die anf√§ngliche Finanzierungstransaktion und eine zur Neuzuweisung der Salden, wenn sie fertig sind. Abgesehen von diesen beiden sind alle anderen Transaktionen kostenlos und nahezu sofort m√∂glich, da sie au√üerhalb der Chain erfolgen. Es gibt keine Mininggeb√ľhren zu zahlen und keine Blockbest√§tigungen, auf die man warten muss.

Nat√ľrlich erfordert das oben diskutierte Beispiel, dass beide Parteien zusammenarbeiten m√ľssen, was f√ľr Fremde keine ideale Situation ist. Allerdings k√∂nnen¬†besondere Mechanismen verwendet werden, um jeden Betrugsversuch zu bestrafen, so dass die Parteien sicher und ohne Vertrauen miteinander interagieren k√∂nnen.¬†


Zahlungsrouting

Offensichtlich sind die Zahlungskan√§le f√ľr zwei Parteien, die mit einem hohen Transaktionsvolumen rechnen, bequem. Aber es kommt noch besser. Ein Netzwerk dieser Kan√§le kann ausgebaut werden, was bedeutet, dass Alice eine Partei bezahlen k√∂nnte, mit der sie nicht direkt verbunden ist. Wenn Bob einen Kanal mit Carol ge√∂ffnet hat, kann Alice sie bezahlen, vorausgesetzt, es gibt genug Kapazit√§t. Sie wird Gelder auf Bobs Seite des Kanals schieben, der sie seinerseits an Carol weiterleitet. Wenn Carol mit einem anderen Teilnehmer verbunden ist, z.B. Dan, dann k√∂nnen sie das Gleiche tun.¬†

Ein solches Netzwerk entwickelt sich zu einer verteilten Topologie, in der jeder mit mehreren Peers verbunden ist. Es wird oft mehrere Routen zu einem Ziel geben, und die Benutzer können die effektivste auswählen. 


Fazit

Wir haben zwei Skalierbarkeitsans√§tze diskutiert, die es erm√∂glichen, Transaktionen durchzuf√ľhren, ohne die zugrunde liegende Blockchain zu belasten. Sowohl die Sidechains als auch die Zahlungskanal-Technologie sind noch nicht ausgereift, aber sie werden zunehmend von Anwendern genutzt, die die Unzul√§nglichkeiten von Transaktionen auf der Basisebene umgehen wollen.

Im Laufe der Zeit und wenn immer mehr Benutzer dem Netzwerk beitreten, ist es wichtig, dass die Dezentralisierung aufrechterhalten wird. Dies kann nur erreicht werden, wenn das Wachstum der Blockchain begrenzt wird, so dass neue Nodes leicht beitreten k√∂nnen. Die Bef√ľrworter von Off-Chain-Skalierbarkeitsl√∂sungen glauben, dass die Mainchain mit der Zeit nur noch zur Abwicklung von hochwertigen Transaktionen oder zum Ein- und Aush√§ngen von Sidechains und zum √Ėffnen/Schlie√üen von Kan√§len verwendet wird.