Mit Geschwindigkeit skalieren: Das Bitcoin Lightning Network erklärt

Veröffentlicht: 2022-03-11

Das Bitcoin Lightning Network ist eine unabhängige Lösung, die als Lösung für alle Probleme angekündigt wird, die Bitcoin von der Mainstream-Akzeptanz abhalten. Es behauptet, das düstere Skalierungsproblem zu lösen, sofortige Transaktionen durchzuführen, Transaktionsgebühren minimal zu halten und Ihre Transaktionen aus der Blockchain zu entfernen. Wie kann ein von Core Bitcoin unabhängiges System diese Verbesserungen bieten? Wie kann es gegen die konventionellen Regeln von Bitcoin verstoßen, indem es sichere Transaktionen ohne Bestätigungen anbietet? Was ist das Bitcoin Lightning Network?

In diesem Artikel werden wir untersuchen, was das Bitcoin Lightning Network wirklich ist, wie es die Garantien geben kann, die es bietet, und seinen aktuellen Zustand.

Hinweis: Dieser Artikel setzt Vertrautheit mit Bitcoin voraus. Wenn Sie mit der Funktionsweise von Kryptowährungen nicht vertraut sind oder eine Auffrischung benötigen, lesen Sie Kryptowährung für Dummies: Bitcoin und mehr.

Voraussetzung: Das Bitcoin-Skalierungsproblem

Wenn Sie sich des Bitcoin-Skalierungsproblems bewusst sind, können Sie diesen Abschnitt gerne überspringen, aber wenn Sie es nicht sind oder eine Auffrischung benötigen, lesen Sie weiter.

Bitcoin hat ein Skalierungsproblem. Bitcoin wurde entwickelt, um alle Transaktionen in einer Datenstruktur namens Block zu speichern. Ein Block enthält Informationen über den vorherigen Block, verschiedene Daten über Mining-Belohnungen und der größte Teil des Blocks besteht nur aus Transaktionsdaten. Blöcke sind ebenfalls auf eine Größe von maximal 1 MB festgelegt. In diesem letzten Bit liegt das Problem.

Da Blöcke 1 MB groß sind und alle 10 Minuten ein Block erstellt wird, kann das Netzwerk unter der Annahme, dass die Transaktionen nicht SegWit sind (kommt später), maximal zwischen 3,3 und 7 Transaktionen pro Sekunde verarbeiten. Für eine Währung, die für die Massennutzung durch Milliarden von Menschen und ihre Maschinen entwickelt wurde, sind 7 Transaktionen pro Sekunde einfach nicht angemessen. Visa hingegen behauptet, 24.000 Transaktionen pro Sekunde verarbeiten zu können.

Wenn die Anzahl der Transaktionen zuzunehmen beginnt, konkurriert Ihre einzelne Transaktion mit jeder anderen um die Aufnahme in einen begrenzten Blockraum, und so beginnt die Wahrscheinlichkeit, dass Ihre in den Block aufgenommen wird, abzunehmen. Da Miner willkürlich entscheiden können, welche Transaktionen in einen Block aufgenommen werden sollen, besteht die einzige Möglichkeit, die Miner dazu anzuregen, Ihre Transaktion aufzunehmen, darin, Ihre Transaktionsgebühr zu erhöhen. Dies führt jedoch dazu, dass Transaktionen unerschwinglich teuer werden – wie diese 192-Byte-Transaktion für 92,98 $, bei der die Transaktionsgebühr 14,86 $ betrug.

Also, wie „skalieren“ wir Bitcoin? Es gibt drei große Denkrichtungen oder – wie ich sie gerne nenne – Schlachten der Great Scaling Bitcoin Flamewars:

  • Erhöhung der Blockgröße: 2X, 8X, …, ∞X
  • Kleinere Transaktionen: SegWit et al.
  • Sidechains: das Bitcoin Lightning Network

Erhöhen der Bitcoin-Blockgröße

Dieser ist ziemlich einfach zu verstehen: Wenn das Blocklimit von 1 MB das Problem ist, machen Sie es größer! Die Debatte darüber war heftig und tobt noch immer. Am 1. August 2017 wurde schließlich Bitcoin (BTC) geforkt und Bitcoin Cash (BCH) geboren. Der Hauptunterschied zwischen den beiden besteht darin, dass BCH 8-MB-Blöcke hat. Dadurch bleiben die Blöcke meist leer und die Gebühren sehr niedrig.

8-MB-Blöcke bedeuten jedoch, dass die Gesamtgröße der BCH-Blockchain wahrscheinlich viel schneller zunehmen wird, was die Speicherkosten zu einer deutlich höheren Eintrittsbarriere in die Miner-Szene macht. Das Argument ist, dass dies die Gesamtzahl der Miner verringern würde, die auch die Blockchain sichern, wodurch die Dezentralisierung und die Gesamtsicherheit des Bitcoin-Netzwerks verringert würden.

Ein weiterer Kritikpunkt an größeren Blöcken ist, dass sie das Problem selbst nicht lösen; vielmehr wird das Problem vorübergehend behoben. Bei größeren Blöcken wird es immer eine Höchstgrenze geben, und die Höchstgrenze wird immer viel geringer sein als die Zielgrenze, die wir zu erreichen versuchen: 24.000 Transaktionen pro Sekunde. Selbst mit seinen größeren 8-MB-Blöcken hat BCH ein Limit von 61 Transaktionen pro Sekunde.

Kleinere Transaktionen: Getrennter Zeuge

Andere Lösungen weisen darauf hin, dass das aktuelle Transaktionsformat nicht das effizienteste ist, und zielen darauf ab, mehr Transaktionen in denselben Block zu packen. Das bemerkenswerteste davon heißt Segregated Witness (SegWit), vorgeschlagen über BIP 91 und aktiviert in Block 481824 am 25. August 2017. SegWit ist jetzt ein Teil von Bitcoin, freut euch!

Vergleich von Nicht-SegWit- und SegWit-Blöcken
Vergleich von Nicht-SegWit- und SegWit-Blöcken, basierend auf einer Illustration von David A. Harding

SegWit nimmt Signaturdaten von Transaktionen und speichert sie in einer vom Transaktionsblock getrennten Struktur, wodurch einzelne Transaktionen kleiner werden und der begrenzte Platz innerhalb jedes Blocks besser genutzt wird. Diese Struktur ist dann beim Synchronisieren der Blockchain optional, wodurch eine reduzierte Größe auf der Festplatte entfällt.

Dies führt auch zu einer Lösung für das Problem der Verformbarkeit von Transaktionen, und Transaktionen, die nur SegWit-Ausgaben ausgeben, sind nicht länger anfällig.

Das Bitcoin Lightning Network

Das Lightning Network ist ein Second-Layer-Netzwerk, das signierte, aber nicht gesendete Transaktionen zwischen Peers überträgt und sich nur für die endgültige Abrechnung von Geldern auf die Bitcoin-Blockchain verlässt. Das bedeutet, dass Transaktionen überhaupt nicht auf die Blockgröße beschränkt sind, Bestätigungszeiten irrelevant sind und die Bitcoin-Blockchain nicht jede Transaktion speichern muss, die jemals stattfindet.

Wer hat das Bitcoin Lightning Network entwickelt? Es wurde erstmals in einem von Joseph Poon und Thaddeus Dryja verfassten Whitepaper beschrieben, hat sich aber seitdem zu einer Gemeinschaftsinitiative entwickelt, bei der Dritte und sogar Unternehmen zu Spezifikationen und Implementierungen beitragen.

Weitere Informationen später.

SegWit vs. Erhöhte Blockgröße vs. Bitcoin Lightning Network

Was ist denn das Beste? Ich habe keine empirischen Beweise, auf die ich meine Antwort stützen könnte, also ist dies eine Meinung: Während ich denke, dass eine bessere Nutzung des Blockraums (a la SegWit) eine gute Sache ist, denke ich, dass eine Erhöhung der Blockgröße wie ein Push wäre Torpfosten für die Zukunft. Wenn die Bitcoin-Nutzung erheblich zunehmen würde, würden wir gleich zu Beginn über eine weitere Erhöhung der Blockgröße diskutieren.

Nicht zustimmen? Hinterlasse unten einen Kommentar!

Obwohl ich ein alternatives Abwicklungsnetzwerk wie Bitcoin Lightning für eine wunderbare Idee halte, warte ich auch darauf, zu sehen, wie es in der realen Welt funktioniert. Im Moment ist es nicht wirklich in dem Zustand, den mein Vater und ich gebrauchen könnten.

Das Bitcoin Lightning Network erklärt

Ich habe bereits erwähnt, dass das Lightning Network ein Second-Layer-Netzwerk ist, das signierte, aber nicht gesendete Transaktionen zwischen Peers überträgt und sich nur für die endgültige Abrechnung von Geldern auf die Bitcoin-Blockchain verlässt.

Schauen wir uns an, wie das im wirklichen Leben funktionieren würde.

Lightning-Knoten und -Kanäle

Ein Lightning-Knoten läuft ähnlich wie und anders als ein Bitcoin-Knoten, da er vernetzt arbeitet, Transaktionen validiert und mit anderen Knoten kommuniziert, aber er tut Dinge, die Bitcoin-Knoten historisch nicht tun: Er hält Gelder und fungiert als automatisierter Finanzintermediär , überwacht Lightning-„Kanäle“ aktiv auf böswilliges Verhalten und reagiert defensiv (dies wird später im Detail erklärt) usw.

Um diese Funktionen auszuführen, benötigen Nodes Geld.

Hinweis: Diese Beispiele gehen zunächst davon aus, dass jeder einen Bitcoin Lightning Network-Knoten betreibt, der rund um die Uhr mit dem Internet verbunden ist, was offensichtlich nicht der Fall sein wird. Diese Annahme wird im Abschnitt Lightning Wallet vs. Lightning Node durchbrochen.

Erstellen eines Lightning-Kanals

Angenommen, Sie und Ihr Freund Bob haben eine Beziehung, die eine beträchtliche Menge an Finanztransaktionen beinhaltet. Sie treffen sich ab und zu zum Mittagessen oder schauen sich einen Film an. Manchmal ist einer von Ihnen knapp bei Kasse, und manchmal der andere, und Sie landen normalerweise damit, dass Sie sich danach gegenseitig mit Venmo belegen.

Als Krypto-Befürworter entscheiden Sie sich jedoch beide, Lightning auszuprobieren und einen neuen gemeinsamen Kanal zu erstellen, den Sie zu gleichen Teilen mit jeweils einem halben Bitcoin finanzieren (das sind viele Mittagessen).

Illustration von zwei Knoten, die einen Kanal im Bitcoin Lightning Network erstellen

Das Erstellen eines neuen Lightning-Kanals ist wie das Erstellen einer Multi-Signatur-Bitcoin-Wallet, die beide Ihrer Signaturen erfordert, um eine Transaktion zu genehmigen, aber mit einem Unterschied; Sie erhalten jeweils eine unterzeichnete, aber noch nicht ausgestrahlte „Verpflichtungstransaktion“ gemäß dem Lightning Network-Whitepaper, die Ihnen Ihre anfänglichen Einzahlungen zurückerstattet. Auf diese Weise können Sie, wenn Ihre Freundschaft eine schwierige Phase durchmacht oder einer von Ihnen das Geld braucht, den Kanal einseitig schließen, indem Sie diese Transaktion übertragen, und jeder erhält seinen rechtmäßigen Betrag.

Blitztransaktionen mit Personen durchführen, zu denen Sie Kanäle haben

Angenommen, Sie gehen eines Tages wieder zum Mittagessen aus und schulden Bob am Ende den Gegenwert von 8.000 Satoshis (0,31 USD, während ich dies schreibe). Wenn Sie zu diesem Zeitpunkt Bitcoin verwenden, um diesen Betrag zu begleichen, würden Sie am Ende 0,10 USD zahlen und eine Stunde warten, was es unmöglich macht.

Abbildung von zwei Knoten, die ihren Kanalstatus aktualisieren

Mit Lightning können Sie dies jedoch kostenlos tun, indem Sie einfach Ihre „Verpflichtungstransaktion“ durch eine neue Transaktion ersetzen, an der Sie beide festhalten können. Nur dieses Mal hat Bob 8.000 Satoshis mehr und du weniger. (Wenn Sie an dieser Stelle daran denken, durch Senden der alten Transaktion zu betrügen, warten Sie bis zum Abschnitt zum Schließen eines Kanals .)

Sie könnten die Transaktion übertragen und den Kanal schließen, aber das Schließen des Kanals würde Transaktionsgebühren verursachen, und da keiner von Ihnen den Betrag sofort benötigt, können Sie einfach den Kanal behalten und ihn verwenden, um zukünftige Schulden zu begleichen.

Blitztransaktionen mit Personen durchführen, zu denen Sie keine Kanäle haben

Angenommen, Bob lädt eines Tages einen anderen seiner Freunde ein, Alice, und nach einer intensiven Stunde Sandwichessen sind Sie beide Alice zu Dank verpflichtet, weil der Laden nur Coinye akzeptierte (eine nicht mehr existierende Kryptowährung, die aufgegeben wurde, nachdem Kanye West geklagt hatte), was Alice passierte haben.

Illustration einer Multi-Hop-Blitztransaktion

Angenommen, Bob hat einen offenen Kanal mit Alice, mit Lightning können Sie Alice auch über Bob bezahlen. Ihr Node berechnet die optimale Route zwischen Ihnen und Alice – in diesem Fall mit Bob als Finanzvermittler – und die Zwischenhändler können alle Geld weitergeben, mit einer kleinen Gebühr, wenn sie dies wünschen.

Einen Kanal schließen: Zwei gute Wege und ein schlechter Weg

Es gibt drei Möglichkeiten, einen Lightning Channel zu schließen:

  1. Kollaborativ: Jede der Parteien im Kanal initiiert die Schließung eines Bitcoin Lightning-Kanals und die andere stimmt zu. Es gibt keine zeitliche Sperre und das Geld ist bereit, ausgegeben zu werden, sobald die Genehmigung bestätigt wurde. Dies ist der „beste“ Weg, um einen Kanal zu schließen.
  2. Einseitig: Jede der Parteien im Kanal kann einen Bitcoin Lightning-Kanal schließen, wenn eine der Parteien dies wünscht, auch wenn die andere Partei dies nicht genehmigt. Dies führt zu einer Zeitsperre, in der die andere Partei die Schließung mit einer „Breach Remedy“-Transaktion anfechten kann (siehe Szenario 3 unten), aber nehmen wir an, dass dies nicht geschieht. Nach Ablauf der Sperrfrist können die Mittel frei verwendet werden. Dies ist ein „akzeptabler“ Weg, um einen Kanal zu schließen.
  3. Abhilfe bei Verletzung: Da Lightning-Transaktionen eine mit Zeitstempel versehene Liste signierter Transaktionen sind, bei denen die Aufteilung der Gelder variiert, ist es möglich, dass eine Partei versucht zu betrügen (Vertrauen zu verletzen), indem sie einseitig einen Kanal mit einer alten Transaktion schließt, in der sie mehr Geld hält (siehe Szenario 2). Dies führt zu einer Zeitsperre, und während dieser Zeit kann die geschädigte Partei nicht nur ihre eigenen Gelder zurückerhalten, sondern die gesamte Kapazität des Kanals mit einer „Breach Remedy“-Transaktion, wie im Bitcoin Lightning Network Whitepaper beschrieben, streichen.

Lightning Node vs. Lightning Wallet

Im obigen Beispiel haben wir den Begriff „Lightning-Knoten“ verwendet, was Sie glauben lässt, Sie müssten Ihren Knoten rund um die Uhr im Internet am Laufen halten. Und ja, du hättest recht. Das Lightning-Netzwerk ist so konzipiert, dass Knoten immer online sind, wodurch sichergestellt wird, dass das Netzwerk nahe an der maximalen Kapazität arbeitet. Und wenn niemand online ist, um einen Betrugsversuch zu überwachen, und dieser erfolgreich ist, wird der Kanal ähnlich wie bei einer normalen einseitigen Schließung geschlossen, sodass Sie ohne Ihr Geld zurückbleiben.

Das Lightning Network-Whitepaper beschreibt jedoch eine Abhilfe für dieses Problem:

… sollte man die Blockchain regelmäßig überwachen, um zu sehen, ob die Gegenpartei eine ungültige Commitment-Transaktion gesendet hat, oder einen Dritten damit beauftragen. Ein Dritter kann delegiert werden, indem die Breach Remedy-Transaktion nur diesem Dritten übertragen wird. Sie können einen Anreiz erhalten, die Übertragung einer solchen Transaktion durch die Blockchain im Falle einer böswilligen Gegenpartei zu beobachten, indem diesen Dritten eine Gebühr in der Ausgabe gezahlt wird. Da der Dritte nur dann aktiv werden kann, wenn die Gegenpartei böswillig handelt, hat dieser Dritte keine Befugnis, das Schließen des Kanals zu erzwingen.

Diese Drittanbieter werden oft als Wachtürme bezeichnet und sollten den Benutzern die Last nehmen, immer online zu sein.

Der Zustand des Lightning-Netzwerks

Das Bitcoin Lightning Network zum 27. März 2019:

  • Hat über 7,5 Tausend Knoten
  • Hat fast 40.000 offene Kanäle
  • Etwas mehr als 1.000 BTC in der Kapazität

Es wächst mit einer Rate von:

  • 25 Knoten pro Stunde
  • 304 Kanäle pro Stunde

Es gibt viele Implementierungen von Lightning Network-Knoten, sogar Eclair Lightning Wallets im Play Store. Es ist noch experimentell, es fehlt ihm an Glanz und dem wichtigen Merkmal, Gelder zu erhalten, aber meiner Meinung nach wächst das Ökosystem, obwohl es klein ist, gesund.

Spezifikationen und Implementierungen

Die Bitcoin Lightning Network-Spezifikation befindet sich im Request for Comments (RFC)-Status und besteht aus einer Reihe von Dokumenten mit der Bezeichnung Basis of Lightning Technology (BOLTS). Die BOLTS ändern sich ab dieser Veröffentlichung ständig und sind ein willkommener Beitrag.

Es gibt auch mehrere BOLT-konforme Implementierungen von Lightning Network-Knoten:

  • LND: Abkürzung für Lightning Network Daemon, dies ist eine hauptsächlich Go-basierte Implementierung.
  • Eclair: Eine hauptsächlich Scala-basierte Implementierung.
  • C-Lightning: Eine hauptsächlich C-basierte Implementierung.

Weitere Ressourcen finden Sie am Ende dieses Artikels.

Vorteile und Kritik am Lighting Network

Was können wir also mit dem Lightning Network erreichen?

  • Echte Mikrotransaktionen (Bruchteile von Cent)
  • Niedrigste vorstellbare Gebühren (Bruchteile von Cent)
  • Ein gewisses Maß an Privatsphäre (keine Blockchain-Aufzeichnungen)

Wie ich bereits sagte, gibt es jedoch eine Reihe von Kritikpunkten am Lightning Network, von denen einige berechtigt sind und noch ungelöste Herausforderungen darstellen, denen Lightning gegenübersteht:

  • Routing und Zentralisierung: Da das Lightning-Netzwerk in ständigem Fluss ist, sich die Kanalzustände täglich ändern, öffnen und schließen und es einen zentralen Speicher für die Historie gibt, auf den zurückgegriffen werden kann, müssen Zahlungsrouten jedes Mal neu berechnet werden. Das ist großartig, wenn das Netzwerk klein ist, aber wenn es groß genug wird, hat Ihr kleiner Knoten, der auf winziger Hardware läuft, möglicherweise nicht die Rechenleistung, um die Route zu berechnen. Die Lösung für dieses Problem kann ein zentralisierter Supernode mit erweitertem Wissen sein, das Sie abfragen können. Dies wird hier näher beschrieben.
  • Zu viel Kreditvergabe: Am besten in diesem Beitrag beschrieben, der sogar Vitalik Buterin, den Mitbegründer von Ethereum, dazu brachte, sich einzubringen. Dies besagt im Wesentlichen, dass, da eine Kette von 10 Sprüngen, um 10 Dollar zu zahlen, jeder 10 Dollar nach vorne zahlen muss, Sie würden Am Ende bewegen Sie 100 Dollar an Geldern. An einem Punkt wird es unmöglich, große Mengen zu bewegen. Ob dies in der realen Welt zutrifft oder nicht, muss noch bestimmt werden, aber dies ist dennoch ein überzeugendes Argument.

Habe ich Kritik übersehen? Bitte lassen Sie es mich in den Kommentaren unten wissen.

Weitere Literatur & Ressourcen

Ich hoffe, Sie verstehen endlich, was das Lightning Network wirklich ist. Im Grunde ist es nur ein Messaging-System, das auf dem Austausch kryptografischer Token basiert. Es ist noch nicht perfekt oder weit verbreitet, aber das bedeutet nicht, dass es kein beeindruckendes Stück Technik ist.

Ich empfehle, das Original-Whitepaper zum Bitcoin Lightning Network zu lesen. Ich könnte auch eine Liste mit weiterführender Lektüre und Anwendungen, Büchern und Papieren empfehlen, aber GitHub-Benutzer Ben Congdon hat dies bereits getan, daher empfehle ich, sich bcongdon/awesome-lightning-network . Danke Ben! Als Bitcoin-Entwickler sind Sie es sich selbst schuldig, so viel wie möglich über diese neue Technologie zu lesen.

Wenn das alles zu viele Informationen waren, lassen Sie uns dies mit einer lustigen Note beenden. Hier ist ein lustiges Video des angeblichen Satoshi Craig Wright, der versucht, über die guten alten Tage von Bitcoin zu sprechen.