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.
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.
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.