Bitcoin Lightning-Netzwerk

Das Lightning Network (LN) hat im Laufe des Jahres 2018 einige bedeutende Fortschritte erzielt. Die Bewertung, wie weit die zweite Schicht von Bitcoin seit ihrer Einführung fortgeschritten ist, zeigt einige beeindruckende Entwicklungen und eine beträchtliche Zunahme der Adoption. Mit derzeit mehr als 18.000 offenen Kanälen und fast 487 BTC in diesen Kanälen ist die LN bereit, als tragfähiges P2P-Zahlungsnetzwerk weiter auszubauen.

Der LN steht jedoch noch vor einigen bemerkenswerten Hürden, bevor er sein volles Potenzial entfalten und bei Händlern und Anwendern gleichermaßen weitere Akzeptanz finden kann. Die Bewältigung der Probleme bei der Neuausrichtung von LN-Kanälen und die Entwicklung des Entwurfsraums sollten sich als wichtige Schritte für die künftige Einführung des Netzwerks erweisen. Es werden einige interessante Lösungen vorgeschlagen.

Bitcoin Lightning-Netzwerk

Das Problem des LN-Ausgleichs

Das Problem der Neuausrichtung ergibt sich aus dem bidirektionalen Zahlungskanaldesign des LN und der Notwendigkeit einer On-Chain-Finanzierungstransaktion. Der Betrag, den ein Kanal von zwei Parteien finanziert, die eine LN außerhalb der Kette eröffnen, wird von den Parteien vorgegeben und als Channel-Commitment bezeichnet.

Wenn Alice und Bob einen Kanal öffnen und Alice 2 BTC einzahlt, während Bob auch 2 BTC einzahlt, beträgt die Kanalverpflichtung 4 BTC. Bob und Alice können BTC innerhalb dieses Off-Chain-Kanals so oft austauschen, wie sie möchten, ohne Gebühren und nahezu sofortige Abwicklung.

Der ausgetauschte Betrag hängt jedoch vom Kontostand des Absenders ab, da er den Kontostand des Absenders nicht überschreiten kann. Dies macht LN-Kanäle außerhalb der Kette für Unternehmen praktisch, die den Kanal mit einem größeren Wert finanzieren, da sie regelmäßig über den Kanal interagieren. Umgekehrt ist die Verwendung des LN-Kanals für einmalige Fälle derzeit unpraktisch, da sowohl für die Finanzierungstransaktion als auch für die Abschlusstransaktion des Kanals Gebühren in der Kette und Zeit für die Durchführung erforderlich sind.

Die funktionalen Einschränkungen des Neuausgleichsproblems treten bei Benutzern auf, die versuchen, über das LN mit mehreren Parteien oder Parteien, mit denen sie keinen offenen Kanal haben, Transaktionen durchzuführen. Wenn Alice mit Bob, Charlie und Daisy einen Kanal eröffnen möchte, muss sie jeden Kanal einzeln öffnen und mit einem festgelegten Betrag finanzieren. Sie kann keine großen Transaktionen an eine der Parteien abwickeln, da ihre Finanzierung auf separate Kanäle verteilt und gesperrt ist. Daher muss sie ständig neue Kanäle öffnen und schließen, basierend auf der sich entwickelnden Dynamik, von wem sie zahlt und wie viel sie zahlt.

Das LN geht dieses Problem an, indem es Benutzern ermöglicht, über verkettete Zahlungskanäle im Netzwerk mithilfe von HTLCs (Hash Time-Locked Contracts) Transaktionen durchzuführen. Benutzer müssen keine direkten Zahlungskanäle mit anderen Parteien öffnen, mit denen sie Transaktionen durchführen möchten, da HTLCs die Möglichkeit schaffen, dass Zwischenknoten zwischen zwei interagierenden Parteien als Routing-Knoten fungieren.

Schließlich erweitert das Potenzial von HTLCs und Routing-Knoten die LN-Kapazität bis zu dem Punkt, an dem Benutzer keine direkten Kanäle mit jemandem im Netzwerk öffnen müssen und Zahlungen automatisch zwischen Benutzern basierend auf dem Protokoll weitergeleitet werden. Das Problem der Neuausrichtung steht jedoch der praktischen Verwirklichung dieses Ziels im Wege. Was genau ist das Problem??

Wenn Alice und Bob Transaktionen durchführen möchten, ohne einen direkten Zahlungskanal zu öffnen, können sie dies tun, wenn Charlie mit beiden einen offenen Zahlungskanal hat.

Alice 2 → 2 Charlie 2 → 2 Bob

Im obigen Beispiel hat Charlie mit Alice und Bob einen Kontostand von 2 BTC (insgesamt 4 BTC), während Alice und Bob mit Charlie einen Kontostand von 2 BTC haben.

Wenn Alice Bob 1 BTC senden möchte, ohne einen direkten Kanal mit ihm zu öffnen, kann sie dies über Charlie als Routing-Knoten tun. Dies erfordert jedoch, dass alle Salden in der Zahlungskette entsprechend aktualisiert werden, was zu folgenden Salden führt.

Alice 1 → 3 Charlie 1 → 3 Bob

Charlies Kanal mit Alice erhält 1 BTC, um auf 3 BTC zu aktualisieren, während sein Kontostand mit Bob auf 1 BTC sinkt, weil er 1 BTC (von Alice) an Bob gesendet hat. Charlie behält immer noch 4 BTC, aber sein Kanal mit Bob wurde auf 1 BTC reduziert. Sie können sehen, wohin dies führt, wenn Transaktionen mit mehreren beteiligten Parteien komplexer werden.

Wenn Alice Bob weitere 1 BTC über denselben Zahlungsweg senden möchte, hat Charlie schließlich 0 BTC in seinem Sendeguthaben mit dem mit Bob gemeinsam genutzten Kanal, wodurch der Routing-Kanal zwischen Alice und Bob effektiv deaktiviert wird, da er nicht ausgeglichen ist. Sie alle könnten einfach ihre Kanäle schließen und sie mit neuen Guthaben wieder öffnen, aber diese Methode lässt sich nicht gut skalieren und bietet Unannehmlichkeiten, die Händler gerne vermeiden würden.

Das daraus resultierende Dilemma ist das Problem des Ausgleichs, und es wird komplexer, wenn mehrere Zahlungswege von mehr Vermittlern und Routing-Knoten stammen.

Routing-Knoten erhalten geringe Gebühren für ihre Arbeit, daher ist die Neuausrichtung im Kontext des Problems weitgehend ihr Ziel. Es wurden verschiedene Lösungen zur Überwindung des Ausgleichsproblems vorgeschlagen, von denen viele klug sind und verschiedene Vor- und Nachteile bieten.

LN-Rebalancing lösen

Es gibt zwar mehrere Lösungsvorschläge für die Neuausrichtung im LN, aber keine davon ist perfekt. Ein Beispiel für einige der bekanntesten bietet einen Einblick in die laufenden Innovationen in diesem Bereich. Es gibt zwei Hauptmethoden, um die Probleme des Ausgleichs zu umgehen:

  1. On-Chain
  2. Off-Chain

Lassen Sie uns zwei der primären Methoden bewerten. Spleißen für On-Chain- und Circular-Zahlungen für Off-Chain.

On-Chain-Methoden

Die einfachste Methode besteht darin, Kanäle zu öffnen und zu schließen, sie zurückzuerstatten und erneut zu starten. Dies kostet jedoch sowohl die Gebühren in der Kette als auch die Zeit für jeden Kanal (sowie die Bestätigungszeit in der Kette), die Charlie schließt und öffnet, eine unpraktische Lösung. Eine andere Lösung, die eine On-Chain-Methode verwendet, ist das Spleißen. Dies ist eine etwas effizientere Methode, um die On-Chain-Öffnungs- / Schließfunktionalität zu nutzen.

Nehmen wir zum Beispiel die Situation, in der Charlie 1 BTC in seinem Kanal mit Bob hat und Alice erneut 1 BTC an Bob senden möchte. Für das Beispiel hat Alice jetzt 3 BTC in ihrem Sendekanal mit Charlie.

Alice 3 → 3 Charlie 1 → 3 Bob

|

|

Alice 2 → 4 Charlie 0 → 4 Bob

Basierend auf dieser Dynamik kann Alice, wenn sie Bob 1 BTC mehr senden möchte, dies nicht, da Charlie kein verbleibendes BTC in seinem Sendeguthaben mit Bob hat. Durch das Spleißen kann Charlie seinen Kanal mit Alice schließen und ihn in zwei Schritten wieder öffnen.

  1. Ausspleißen
  2. Einspleißen

Beim Spleißen schließt Charlie seinen Kanal mit Alice und erstattet ihn mit 3 BTC zurück, während 1 BTC in der Kette erhalten bleibt, was immer noch den 4 BTC entspricht, die er zuvor hatte. Das Setup im Kanal würde nun folgendermaßen aussehen:

Alice 2 → 3 Charlie 0 → 4 Bob

1 BTC an der Kette (Charlie)

In der zweiten Phase – dem Einspleißen – schließt Charlie seinen Kanal mit Bob und fügt den 1 BTC hinzu, der nach dem Ausspleißen in der Kette liegt, was zu der folgenden Dynamik führt:

Alice 2 → 3 Charlie 1 → 4 Bob

Charlie kann jetzt wieder eine Zahlung von 1 BTC oder weniger zwischen Alice und Bob weiterleiten. Für Charlie fallen jedoch zwei separate Instanzen von On-Chain-Gebühren sowohl für das Ausspleißen als auch für das Einspleißen an. Aufgrund der anfallenden Gebühren kann Charlie geringe Gebühren für den Routing-Knoten zwischen Alice und Bob erheben.

Insgesamt ist das Spleißen effizienter als das Schließen und Wiedereröffnen der Kanäle zwischen den Parteien, da nur Charlie beteiligt ist. Trotz seiner gesteigerten Effizienz fallen immer noch Gebühren an und es ist eine Bestätigungszeit für eine On-Chain-Transaktion erforderlich, die für Händler nicht ideal ist, um ihren Kanal neu auszugleichen. Gebührenstrukturen aus diesem Modell führen ebenfalls zu weitere Komplexität neu ausbalancieren.

Off-Chain-Methoden

Eine separate Methode zur Neuausrichtung von Kanälen unter Verwendung einer vollständig außerhalb der Kette liegenden Struktur wird als zirkuläre Zahlungen bezeichnet und lässt sich am besten mit einem etwas komplexeren Zahlungsmodell verstehen. Zirkuläre Zahlungen sind im Wesentlichen Selbstzahlungen über einen bestimmten Routing-Pfad, bei dem ein Knoten das Gleichgewicht wieder herstellt, indem er sich selbst über verkettete Transaktionen außerhalb der Kette bezahlt, anstatt einen neuen Kanal zu eröffnen.

Zum Beispiel möchte Charlie seinen Kanal mit Bob in der folgenden Tabelle neu ausbalancieren. Zirkuläre Zahlungen können tatsächlich als Dreieck funktionieren, da lediglich mindestens 3 Knoten beteiligt sein müssen.

Im obigen Beispiel würde Charlie 1 BTC (gegen den Uhrzeigersinn) von seinem Kanal mit Alice durch die Richtung der Pfeile zu sich selbst senden und schließlich die 1 BTC in seinem Kanal mit Bob empfangen. Infolgedessen beträgt Charlies Sendeguthaben bei Bob jetzt 2 BTC.

Charlie kann anschließend eine 2-BTC-Zahlung von Alice an Bob in die entgegengesetzte Richtung (im Uhrzeigersinn) weiterleiten. Alice kann nicht direkt 2 BTC über ihren Kanal mit Bob senden, da sie nur 1 BTC im Kanal hat, aber sie kann Charlie verwenden, um es an Bob zu senden.

Mit mehr Knoten und Kanalwerten kann der Prozess zu einem sich selbst tragenden Ökosystem werden, das auf Gebührenstrukturen basiert. Rebalancing-Knoten werden vollständig außerhalb der Kette ausgeführt, ohne dass Transaktionen in der Kette erforderlich sind. Ein Routing-Knoten kann seinen Kanal jederzeit neu ausgleichen, indem er einfach eine Transaktion für sich selbst initiiert.

Zirkuläre Zahlungen sind jedoch auch mit Vorbehalten verbunden. Sie führen zu Gebühren durch die Routing-Knoten im Selbstzahlungszyklus. Je größer die Transaktionskette ist, desto mehr Gebühren werden gezahlt. Die Knoten müssen immer noch nicht auf die Bestätigungszeiten für Transaktionen in der Kette warten, aber die Gebührenstruktur kann kompliziert werden und wird durch die Salden der Routingknoten in der Zahlungskette begrenzt.

Händler in einem solchen Ökosystem würden auch den größten Teil der ausgetauschten BTC in Umlaufzahlungen zusammenfassen, wenn sie über einen längeren Zeitraum Teil der Kette wären, weil sie nur empfangen anstatt zu zahlen. Ein solches System kann dazu führen, dass Nicht-Händler wettbewerbsfähiges Routing und unnötig große Kanalguthaben erzeugen, damit es konsistent funktioniert.

Andere Entwicklungen in der LN

Die Überwindung des Ausgleichs von LN-Kanälen ist entscheidend für die Funktionsfähigkeit des LN, ohne dass Benutzer Direktzahlungskanäle miteinander öffnen müssen, eine seiner mächtigsten Eigenschaften. Stellen Sie sich vor, Sie gehen in ein neues Café oder Fast-Food-Restaurant und müssen einen Zahlungskanal eröffnen und jedes Mal einen bestimmten Betrag an BTC einzahlen. Diese Methode ist nicht nur für den Kunden, sondern auch für den Händler unpraktisch.

Letztendlich sollten diese Lösungen unter anderem zusammenarbeiten, damit Benutzer nahtlos mit dem LN Transaktionen durchführen können, ohne einen direkten Kanal öffnen zu müssen. Die einzige Voraussetzung wäre, dass sowohl der Händler als auch der Kunde über LN-kompatible Bitcoin-Geldbörsen verfügen.

Während die LN weiter voranschreitet, gibt es einige weitere wichtige Komponenten, die erwähnenswert sind. Insbesondere erlaubt der LN auch Zwiebel-Routing-Mikrozahlungen Lightning Labs hat Fortschritte bei der Aktualisierung der Sicherheit ihrer LN Desktop-Anwendung im September veröffentlicht.

Die Benutzererfahrung des LN richtet sich derzeit hauptsächlich an Entwickler. Ein hohes technisches Hindernis für die Einführung ist bei neuen Technologien selbstverständlich, aber die Benutzeroberfläche / UX verbessert sich mit der LN bereits schnell. Pierre Rochard bietet einige ausgezeichnete Anleitungen zur Verwendung des LN, insbesondere mit Joule – die neue LN Chrome-Erweiterung.

U-Boot-Swaps

Lesen Sie: Was sind U-Boot-Swaps??

Darüber hinaus sollte das Fortschreiten von U-Boot-Swaps auch das Nachfüllen von Kanälen und die Interoperabilität erleichtern, ein wichtiger Gesichtspunkt für die Erhöhung der Flexibilität des LN bei Händlern. Blockstreams jüngste Aufnahme von satellitenkompatibel LN-Mikrozahlungen sind auch ein weiterer wichtiger Schritt für Benutzer ohne Internetverbindung, da sie die Macht von LN für viele Menschen ohne Bankzugang öffnen.

Die LN von Bitcoin macht sowohl bei der Entwicklung als auch bei der Einführung spürbare Fortschritte. Das Ausbalancieren von Kanälen in Routing-Ketten stellt ein Hindernis für das Netzwerk dar, sein volles Potenzial auszuschöpfen, sollte sich jedoch als Geschwindigkeitsschub bei der Beschleunigung hin zu einer tragfähigen und allgegenwärtigen P2P-Zahlungsschicht erweisen.