Lightning-Lektion: Rebalancing mit Balance of Satoshis

Seit etwa einem Jahr betreibe ich einen Lightning Routing Node. Angefangen mit wenig Vertrauen und noch weniger Liquidität, sammelten sich nach und nach mehr meiner gesparten Bitcoin in Channeln. Einen Routing Node zu betreiben erfordert ein tieferes Verständnis des Lightning Netzwerks und wie es funktioniert. Ziel meines Nodes ist es neue Dinge zu lernen, meine Erfahrungen zu teilen und andere Leute dazu zu motivieren das Lightning Netzwerk zu benutzen und bestenfalls auch einen Routing Node ans Netz zu bringen.

https://static.cryptoglobe.com/filer_public_thumbnails/filer_public/b1/69/b169a005-758a-476f-a4bc-7e903ecfe9d7/lightning_network.png__800x627_q85_crop_subsampling-2_upscale.png
Routing Nodes verbinden die Lightning-Teilnehmer via cryptoglobe.com

Die Aufgabe eines Routing Nodes ist es, dem Lightning Netzwerk Liquidität in Form von Bitcoin zur Verfügung zu stellen. Da Transaktionen im LN per Onion-Routing übermittelt werden, benötigt es Liquidität in Kanälen zwischen den einzelnen Nodes einer Route. Das Ziel eines Routing Node sollte sein, so viel Liquidität wie möglich zwischen so gut wie möglich vernetzten anderen Routing Nodes bereit zu stellen.

Jede Transaktion, die euer Routing Node weiterleitet, verschiebt eure Liquidität von einem in einen anderen Kanal. Um eure Liquidität in euren Kanälen also so gut wie möglich aufzuteilen, erfordert es “rebalancing”. Beim Rebalancing macht ihr eine Zahlung, bei der ihr Sender und Empfänger seid. Das Ziel dabei ist, Liquidität von einem Kanal in einen anderen zu verschieben.

Balance of Satoshis

Ride-The-Lightning und Thunderhub bieten beide die Funktionalität, eure Channel zu rebalancen. Erfahrungsgemäß funktioniert das allerdings nicht gut und schlägt in 90% der Fälle fehl. Um das Rebalancing zu vereinfachen hat Alex Bosworth ein Programm geschrieben. Mit Balance of Satoshis bekommt ihr ein halb-automatisiertes Tool um eure Liquidität effektiv aufzuteilen.

BOS wird per Kommandozeile benutzt, also müsst ihr euch per SSH mit eurem Node verbinden.

Zur Installation genügt ein einfacher Befehl:

sudo npm install -g balanceofsatoshis
balance of satoshis

Das Tool hat eine Menge Funktionen. In diesem Artikel geht es aber in erster Linie um das Rebalancing.

In eurer Kanalübersicht bei RTL seht ihr auf einfache Weise, wie eure Kanäle aufgeteilt sind. Dabei teilt sich die Liquidität im Kanal in Inbound-Liquidität und Outbound-Liquidität. Inbound-Liquidität entsteht, wenn jemand einen Kanal zu euch erstellt – Outbound, wenn ihr einen Kanal zu jemandem aufmacht. Leitet euer Node eine Zahlung weiter, verschiebt er Outbound-Liquidität von einem in den anderen Kanal. Im besten Fall sind eure Kanäle also zur Hälfte gefüllt, um in beide Richtungen Zahlungen weiterleiten zu können.

Zuerst solltet ihr euch also eure Kanäle anschauen. Wo liegt eure Liquidität?

RTL -> Lightning -> Channels

In diesem Screenshot seht ihr, dass der Kanal mit Node 1 sehr viel Outbound (local balance) und der Kanal mit Node 2 sehr viel Inbound (remote balance) hat. In diesem Fall könnte keine Zahlung von Kanal 1 zu Kanal 2 geleitet werden, sondern nur von 2 zu 1. Um das zu ändern müssen wir eine Zahlung von Kanal 1 über Kanal 2 an uns selbst machen. Das könnt ihr mit BOS:

bos rebalance --in NODE2 --out NODE1 --amount SATS
Der Rebalancing-Befehl

Mit diesem Befehl sucht euer Node nach einer verfügbaren Route für diese Zahlung. Um eine möglichst günstige Route zu finden könnt ihr folgende Optionen benutzen:

  • “–max-fee-rate XX”: Die maximale Gebühr in Satoshi pro Millionen Satoshi (PPM)
  • “–avoid”: Einen bestimmten Node von der Route ausschließen
Im Output seht ihr die aktuell geprüfte Route sowie die Fee-Rates der einzelnen Nodes

Rebalancing Tipps

Grundsätzlich solltet ihr die maximale Fee-Rate so einstellen, dass sie unter eurer eigenen Fee-Rate des Channels liegt. Rebalancing macht für Routing Nodes finanziell nur Sinn, wenn ihr günstiger rebalancet als routet. Ein Rebalancing-Versuch kann mehrere Minuten dauern. Währenddessen werdet ihr mit dem Output über den aktuellen Stand informiert. Ihr könnt den Vorgang mit STRG+C jederzeit abbrechen. Sobald eine Route gefunden wurde, werdet ihr über Amount und Fee informiert.

Erfahrungsgemäß müsst ihr immer etwas mit –amount herumspielen. Rebalances mit >500 000sat schlagen sehr oft fehl. Mehrere kleine Rebalances können effektiver sein als ein großer Rebalance.

So sollte ein balancierter Channel aussehen

Nachdem ihr die ein oder andere Zahlung geroutet habt, werdet ihr erkennen, dass es Kanäle gibt, die in erster Linie Liquidität in eine Richtung brauchen. In dem Fall könnt ihr diesen Kanal komplett einseitig Rebalancen um größtmögliche Transaktionen routen zu können. Je nach Größe eurer Channel und Routing-Verkehr kann es nötig sein, dass ihr 1-2x am Tag rebalancen müsst.

Lightning Routing ist ein Wettbewerb um die beste Profitabilität. Deshalb ist es oft schwer gute Informationen zu diesem Thema zu finden. Prinzipiell erhöht jede Weitergabe von Wissen die eigene Konkurrenz. Ich denke aber, dass das Lightning Netzwerk von mehr Konkurrenz profitiert und die Dezentralität so verbessert werden kann. Falls euch also meine Lightning Guides helfen, würde ich mich über eine Spende oder einen Lightning Channel freuen.

Spende uns:

Wenn dir dieser oder ein anderer Beitrag gefallen hat, würden wir uns über eine kleine Spende freuen:

Schreibe einen Kommentar