Einleitung
Wer einen Lightning Node betreibt, wird nach einiger Zeit feststellen, dass es eine Verschiebung seines Guthabens zwischen dem Local Balance und dem Remote Balance bei einzelnen Kanälen kommt.
Diese Verschiebung resultiert dadurch, dass der eigene Node von anderen Nodes zum Routing von Zahlungen genutzt wird.
In diesem Beitrag wird beschrieben, wie man die Transaktionen analysieren kann, die über den eigenen Node geroutet werden und ein erfolgreiches Lightning Channel Management und Rebalancing betreibst.
Wie man die Gebühren anpasst, um ein paar Satoshis daran zu verdienen, weil der eigene Node als Routing Node von anderen Peers verwendet wird.
Wie man ein Rebalancing seiner verschiedenen Kanäle vornimmt und optimiert, um seine Kanäle gut ausbalanciert zu bekommen.
Das sich immer ausreichend Outbound Liquidität bei den Kanälen befindet, die stark als Outbound Kanal genutzt werden und uns eine Einnahme ermöglichen.
Inhaltsverzeichnis
- Lightning Liquidität
- Inbound und Outbound Liquidität
- Eröffnung eines Channel zu einem anderen Peer
- Verschiebung zwischen Local Balance und Remote Balance
- Routing Node
- Analyse der gerouteten Lightning Transaktionen
- Was ist eine Routing Fee?
- Analyse von Routing Fee
- Wie bestimmt man die eigene Routing Fee?
- Routing Fees ändern
- Als Routing Node ein paar Sats verdienen
- Rebalancing
- Rebalancing per RTL
- Rebalancing Successful
- Fazit
Lightning Liquidität
Inbound und Outbound Liquidität
Zum Betrieb eines eigenen Lightning Nodes wird Liquidität benötigt, um Lightning Zahlungen zu senden wir Outbound Liquidität benötigt und um Lightning Zahlungen zu empfangen, benötigt man Inbound Liquidität.
- Zahlungen Senden ==> Outbound Liquidität – Mein Guthaben – Local Balance
- Zahlungen Empfangen ==> Inbound Liquidität – (Fremdes) Guthaben des anderen Nodes – Remote Balance
Outbound Liquidität kann man selbst generieren, in dem einen Kanal zu einem anderen Peer eröffnet und in den Kanal einen Betrag zur Verfügung stellt. Über diesen Kanal können dann Lightning Zahlungen gesendet werden.
Inbound Liquidität erhält man, wenn ein anderer Peer einen Kanal zu Deinem Lightning Node eröffnet und von seiner Seite einen Betrag zur Verfügung stellt. Über diesen Kanal können dann Lightning Zahlungen empfangen werden.
Die Outbound Liquidität ist Dein Guthaben und die Inbound Liquidität ist das Guthaben von den anderen Nodes.
Damit Du Inbound Liquidität erhältst, um Lightning Zahlungen zu empfangen, sollte man andere Node davon überzeugen, einen Kanal zu Dir zu eröffnen und Liquidität zur Verfügung zu stellen.
Wenn Du eine Zahlung leistetest, dann wird Deine Outbound Liquidität zur Inbound Liquidität. Wenn Du eine Zahlung erhältst, dann wird bei Deinem Node die Inbound Liquidität zur Outbound Liquidität.
Wie man entsprechende Lightning Liquidität erhält, haben wir in dem Beitrag Lightning Liquidität ausführlich beschrieben.
Eröffnung eines Channel zu einem anderen Peer
Es empfiehlt sich mindestens 8-10 Kanäle zu anderen Nodes zu unterhalten und der eigene Node sollte über mindestens über 5 Millionen Satoshi verfügen.
Wir empfehlen eine Channelgröße von mindestens 1 Millionen Satoshi. Eine Channel-Eröffnung von weniger als 500.000 Sats ist nicht zu empfehlen.
Bei der Eröffnung (und Schliessen) eines Kanals entstehen On-Chain Transaktionsgebühren. Diese Kosten sollen durch die Routing Fee wieder reingeholt werden. Bei kleinen Channels lassen sich nur Mikrotransaktionen routen und die vereinnahmten Gebühren führen selten zu einer Refinanzierung der Channel-Opening Kosten.
Bei großen Channels lassen sich höhere Gebühren umsetzen, da darüber auch höhere Beträge geroutet werden können.
Bei der Auswahl der Channel-Partner sollte man einige Peers aus seinem persönlichen Netzwerk auswählen. Hier kann man wechselseitig Channels zueinander eröffnen oder sich an einem Ring of Fire beteiligen.
Zusätzlich sollte man sich an einige Peers verbinden, die über eine gute Verbindung innerhalb des Lightning Netzwerkes verfügen.
Eine Übersicht der wichtigsten und größten Lightning Nodes findest Du bei:
- BOS Score Liste: https://lightningwiki.net/bos/
- Terminal Web: https://terminal.lightning.engineering/#/
- Amboss: https://amboss.space/
Es gibt Nodes die einen sehr hohen Liquiditätsbedarf haben, wie zum Beispiel Bitcoin Börsen. Wenn Du Kanäle zu solchen Peers eröffnest und mit entsprechender Local Balance ausstattest, dann werden diese Nodes Dir Deine Liquidität absaugen und selbst keine Transaktionen zurücksenden beziehungsweise den Channel zu Dir schließen.
Wie man als Besitzer mit viel Outbound Liquidität sich gegenüber den Liquidität-Sauger verhält und eine Verdienstmöglichkeit nutzt, werden wir etwas später beschreiben.
Verschiebung zwischen Local Balance und Remote Balance
Wir haben bisher von Outbound Liquidität und Inbound Liquidität gesprochen. Bei der Outbound Liquidität handelt es sich um die Summe unseres eigenen Lightning Guthaben auf unserem gesamten Lightning Node.
Das Guthaben in einem einzelnen Kanal ist die Local Balance.
Die Summe aller Local Balance von unseren Kanälen bildet somit unsere Outbound Liquidität auf unserem Node und entspricht unserem Lightning Guthaben.
Eröffnen wir einen Kanal zu einem anderen Peer und stellen entsprechend Liquidität in den Kanal, erhöht sich die Local Balance in diesem Kanal. Wenn ein anderer Peer zu unserem Node einen Kanal eröffnet und von seiner Seite Liquidität zur Verfügung stellt, dann wird dies bei uns als Remote Balance angezeigt.
Bei einem neuen Kanal ist somit auf der einen Seite Liquidität und auf der anderen Seite gar nichts. Eröffnet man zu einem anderen Peer wechselseitig jeweils einen Kanal, findet man in seiner Übersicht dann zwei Kanäle, auf der jeweils eine Seite mit 0 Sats angezeigt wird und die jeweils andere Seite 100% der entsprechenden Channel-Kapazität.
Es ist aktuell noch nicht möglich, dass man einen gemeinsamen Kanal eröffnet, in dem beide Peers einen entsprechenden Betrag zur Verfügung stellen.
Wenn unser eigener Node bereits einige Zeit läuft, dann wird sich die Local Balance und die Remote Balance verschieben. Je nachdem, welche Zahlungen wir selbst leisten bzw. empfangen oder ob andere Peers Lightning Zahlungen über unseren Node routen.
Kanal-Eröffnung zu einem anderen Peer
Wenn Du einen Kanal über 500k Sats zu Peer A eröffnet hast, dann hast Du eine Local Balance von 500k. Du kannst insgesamt 500k über diesen Kanal versenden.
Wenn Du über den Peer A dann 300k zahlst, reduziert sich Deine Local Balance um 300k und Deine Remote Balance nimmt um 300k zu.
Ebenso reduziert sich Deine ursprüngliche Outbound Liquidität von 500k um 300k und ist danach noch 200k groß.
Im Gegenzug nimmt Deine Inbound Liquidität beziehungsweise Deine Remote Balance um 300k zu.
Kanal-Eröffnung von einem anderen Peer zu Deiner Node
Wenn der Peer A einen Kanal zu Dir eröffnet und 500k zur Verfügung stellt, dann kannst Du über diesen Peer Lightning Zahlungen bis zu 500k empfangen.
Nachdem Du eine Zahlung in Höhe von 200k empfangen hast, besitzt Du in diesem Channel eine Local Balance in Höhe von 200k und eine Remote Balance in Höhe von 300k.
Routing Node
Analyse der gerouteten Lightning Transaktionen
Wir haben erfahren, dass es bei unseren verschiedenen Channels zu Verschiebungen kommt, die dadurch resultiert, dass andere Peer über unseren Node Transaktionen routen. Mit Hilfe von Ride the Lightning (RTL) überprüfen wir jetzt diese Transaktionen und bei welchen Peers unser Node so beliebt ist und was der Grund für die Attraktivität ist.
Dazu gehen wir im RTL Backend auf:
Lightning => Routing => Routing Peers und finden dort die Anzeigeoptionen „Forwarding History“ und „Routing Peers“
In der „Forwarding History“ finden wir in einer chronologischen Reihenfolge alle Transaktionen, die über unseren Node geroutet wurden.
In der Ansicht „Routing Peers“ erhalten wir die Anzahl der Transaktionen (Event) mit der Summe des gerouteten Betrages (Total Amount). Es werden die Transaktionen in Incoming Peers beziehungsweise Outgoing Peers zusammengefasst.
- Incoming = Von diesem Peer kommt eine Zahlung an unsere Node rein
- Outgoing = An diesen Peer geht die Zahlung von unserem Node raus.
Als Routing Node verdient man an Outgoing Transaktionen eine Fee. Entsprechend lohnt sich ein Blick auf die Forwarding History, da hier angezeigt wird, wieviel man an welchem Kanal verdient hat.
Klickt an auf View Info erhält man Detail-Informationen zu der Routing Transaktion.
In dem unten aufgeführten Fall haben wir von dem Inbound-Peer Freedumbmoney 50.002 Sats erhalten und an den Outbound-Peer Coincharge 50.001 Sats weitergegeben.
Der Outgoing Peer hat die von uns vorgegeben Gebühr in Höhe von 1.050 mSats bezahlt, das entspricht etwas mehr als 1 Sats.
Was ist eine Routing Fee?
Wenn andere Peers den eigenen Node zum Routen seiner Zahlungen verwendet, kann man als Routing Peer ein paar Satoshi verdienen. Man verdient den Anteil, den man selbst als Gebühren in seinem Outgoing Channel festgelegt hat.
Dazu schauen wir uns mal die Gebührenstruktur des folgenden Kanals einmal etwas näher an.
Wir haben hier den Kanal zwischen Coinpages und der Börse Bitstamp über eine Kapazität von 2 Millionen Satoshi. Coinpages hat diesen Kanal eröffnet und die 2 Millionen Satoshi zur Verfügung gestellt. Zum Zeitpunkt der Kanaleröffnung war das Local Balance bei Coinpages entsprechend 2 Millionen Sats und die Remote Balance beträgt 0 Sats.
Doch werfen wir einen Blick auf die Outgoing Gebühren, welche vom jeweiligen Peer festgelegt worden sind.
Die Lightning Transaktionsgebühren (Routing Fee) setzen sich zusammen aus einer Grundgebühr (Base fee) und einer prozentualen Gebühr, die abhängig vom Überweisungsbetrag ist.
Die jeweiligen Outgoing Gebühren werden hinter dem jeweiligen Peer als Base Fee und Fee Rate per Sat bei 1ml.com angezeigt.
Die Base Fee wird in mSats angegeben und der Standardwert ist 1.000 mSats (=1Sats)
Die Fee Rate wird in ppm (parts per million) angegeben und bedeutet Millionstel oder Anteile pro Millionen.
Der Standardwert für die fee Rate beträgt 1 ppm.
Bei einer Base Fee von 1000mSat und 1 ppm sieht es dann bei RTL unter Update Fee Policy so aus:
Die Berechnung der Routing Gebühren erfolgt dann nach der Formel:
Routing Fee = Base fee + Volume * Fee Rate
Bei einer Bei der Zahlung von zwei Millionen Satoshi würde es dann lauten:
Routing Fee = 1.000 mSat + 2.000.000 Sat * 1/1.000.000
Routing Fee = 1 Sat + 2.000.000 Sat * 0,000001
Routing Fee = 1 Sat + 2 Sat
Routing Fee = 3 Sat
Für das Durchrouten dieser Lightning Transaktion müsste an unserem Node 3Sat an Routing Fee gezahlt werden.
Diese Routing Fees werden vom Zahler getragen. Wenn eine Zahlungs-Route über mehrere Peers (Hops) erfolgt, so muss an jedem Peer eine Routing Fee entrichtet werden.
Entsprechend wird der Zahler eine Route wählen, auf deren Weg so wenig Routing Fees wie möglich entrichtet werden muss und gleichzeitig auch genug Liquidität vorhanden ist, um diese Transaktion auch zu routen.
Um ein Gefühl für die Routing Fee zu bekommen, empfiehlt es sich, die Channels des eigenen Nodes einmal etwas näher anzuschauen. Welche Gebühren verlangen andere Peers, um Transaktionen an unseren Node weiterzugeben.
Bei https://amboss.space/ könnt Ihr mal nach dem eigenen Node suchen und dann erhält Du eine Übersicht aller Deiner Channel inklusive der entsprechenden Routing Gebühren.
Ebenso empfiehlt es sich ein paar andere Nodes etwas näher zu betrachten und festzustellen, welche Gebühren festgelegt worden sind.
Analyse von Routing Fee
Wer als Routning Node ein paar Satoshi verdienen will, der muss die Nodes herausfinden, zu denen über den Outbound Channel viel abfließt. Dazu begeben wir uns erneut in die Analyse der Routing Peers unter Lightning => Routing und finden die Peers mit den entsprechenden Outgoing Volumen.
Die Anzahl der Events zeigt Dir, wie oft eine Transaktion über Deinen Node erfolgte und über den Total Amount den entsprechenden Betrag.
Somit gewinnst Du auch Rückschlüsse über das Verhältnis von Anzahl der Transaktionen und durchschnittliches Transaktionsvolumen.
Suche nach den Kanälen mit den meisten Transaktionen bzw. dem höchsten Amount.
Diese Kanäle sollte man sich etwas genauer anschauen, denn bei diesen Verbindungen liegt das Potential, um an der Routing Fee zu verdienen.
Bei der Analyse sollte man sich die Frage stellen, warum wird unser Node für das Routing verwendet.
Liegt es an den günstigen Konditionen, an der hohen Liquidität oder an der guten Verbindung zu anderen Nodes?
Hat Dein Node eher viele Transaktionen mit kleineren Volumen oder wenige Transaktionen mit größeren Beträgen?
Die vorab eingestellte Standardeinstellung liegt bei einer Base Fee von 1000 mSats und 1 ppm. Diese Standardeinstellungen können wir anpassen, um das Routingverhalten auf dem jeweiligen Channel nach unserem Interesse zu steuern.
Wir haben zwei Fee-Komponenten, die bereits in der Vergangenheit das Routing Verhalten unserer Channel-Partner beeinflusst haben. Eine geringe Base Fee ist attraktiv für Mictrotransaktionen und eine geringe Fee Rate ist attraktiv für größere Beträge.
Jetzt gilt es auszuprobieren, wie man leicht die Gebühren erhöhen kann, ohne seine Attraktivität im Routing Netzwerk zu verlieren. Ebenso können auch die Transaktions Fee reduziert werden, um die Attraktivität zu erhöhen.
Das höchste Transaktions-Volumen fließt in der Regel zu Börsen und Handelsplätzen wie zum Beispiel: LNmarkets, Bitrefill, Bitfinex, Loop, Opennode und River Finance.
Auf eine Börse werden höhere Volumen eingezahlt und die Transactions Fee sind für den Einzahler eher zweitrangig. Da höhere Gebühren toleriert werden, sollte man besonders die volumenabhängigen Gebühren erhöhen und weniger die Base Fee pro Transaktion.
Wer über viel Liquidität auf Local Balances verfügt, der kann diese Liquidität den oben genannten Volumen-Saugern zur Verfügung stellen.
Allerdings sollte einem bewusst sein, dass die Börsen von Dir das Volumen gerne entgegennehmen, aber im Gegenzug keine Transaktionen zu Dir zurücksenden. Es kann passieren, dass man das Volumen absaugt und den Kanal zu Dir sogar schließt.
Wenn Du über eine hohe Liquidität verfügst, hohe Gebühren einstellst und mit einem gut gemanagten Rebalancing für dauerhafte Liquidität sorgst, kannst Du attraktive Einnahmen erzielen.
Hast Du zahlreiche kleine Microtransaktionen, dann hast Du bestimmt eine geringe Base fee eingestellt, denn dies ist besonders für geringe Beträge attraktiv.
Zu kleineren Nodes und Wallet-Betreibern (zB Wallet of Satoshi) werden eher geringere Volumen geroutet und hier kann man mit geringe Gebühren seine Attraktivität steigern.
Wie bestimmt man die eigene Routing Fee?
Wenn man unsicher mit den Gebühren ist, dann kann man sich auch die Gebührenstruktur von anderen Routing-Nodes sich näher anschauen. Haben Nodes hohe Fees zu anderen Nodes, dann sind dies in der Regel deren wichtigen Outbound Channel.
Zum besseren Verständnis betrachten wir den Kanal zwischen dem Peer Flow mit der Börse lnmarkets.
Wer weitere Informationen über den Kanal erfahren will, der kann die Short Channel ID oder die Channel ID in die Suche bei 1ml.com eingeben und kann sich die Gebühren für den Kanal zwischen lnmarkets.com und Flow ansehen.
Die Outgoing Fees von Flow betragen als Base Fee 0,890 Sats und die Fee rate per sat 0,000009 (=0,09%).
Der Peer Flow erhebt eine niedrige Grundgebühr (Base fee) und eine hohe Gebühr (Fee Rate per sat) für den Amount.
Es ist also davon auszugehen, dass hohe Volumina an die Börse abfliessen und entsprechend liegt der Fokus auf die Volumengebühr.
Die Gebühren welche Flow verlangt sind sehr hoch und somit ist klar, dass lnmarkets für Flow ein bedeutender Outgoing Peer sein muss, an dem entsprechend verdient werden kann.
Das Geld wird an den hohen Volumina verdient, die zu den Liquiditäts-Saugern abfliessen, aber von deren Seite nichts zurückkommen wird.
Zu seinen anderen Channel Partner sollte man entsprechend eine geringere Gebührenstruktur aufbauen, um seine Attraktivität zu steigern oder um seine Liquidität auf Local Balance und Remote Balance optimal auszutarieren.
Mit seiner eigenen Fee Policy gilt es man einen optimalen Gebühren-Mix zu finden, mit dem man mit einigen wenigen Volumen-Channels ein paar Satoshi verdienen kann und mit den anderen Channels attraktiv bleibt, um regelmäßig Transaktionen hin und her zu transferieren.
Bei den Kanälen, die Du zu anderen Nodes eröffnet hast, kannst Du Dich an den folgenden Gebühren orientieren:
Situation | Erklärung | Base Fee | Fee Rate |
Standard | vorgegeben Standard-Einstellung | 1000
|
1 |
Default | Ausprobieren und Erhöhung der eigenen Attraktivität | 500
|
50 |
Family & Friends | Verbindung zu guten Freunden | 100
|
10 |
Exchange | Geld verdienen an Liquidität-Sauger | 50000
|
10000 |
hohe Remote Balance | wenn Deine Remote Balance sehr hoch ist und Du weiteren Abflüsse unterbinden willst | 50000
|
10000 |
hohe Local Balance | Geld verdienen an Microtransaktionen | 1000
|
50 |
Damit andere Nodes über Dich Ihre Transaktionen routen, solltest Du für attraktive Gebühren sorgen.
Damit über Deinen Node geroutet wird, kann es zu folgenden Situationen kommen:
- Ein anderer Peer hat zu Dir einen Kanal eröffnet, Du hast im Gegenzug aber keinen Rückkanal aufgemacht.
- Du möchtest einen ausgeglichenen Kanal mit einem Balance Score von 1 bekommen.
- Du hast eine Anbindung zu einem großen Peer, mit hoher Liquidität und einem gutem BOS Score.
Je nachdem, ob Du eher viele kleine Transaktionen oder hohe Volumina favorisierst, kannst Du die folgenden Gebühren einstellen:
Situation | Erklärung | Base Fee | Fee Rate |
Micro-Transaktionen | Viele Transaktionen mit kleineren Beträgen | 500 | 1 |
Macro-Transaktionen | Wenige Transaktionen mit hohen Beträgen | 1 | 50 |
Diese Transaktion Fee sind immer als Orientierung zu verstehen und sollte auf die individuelle Situation modifiziert werden. Experimentiere mit den Gebühren etwas herum und beobachte, wie sich das Routing Verhalten verändert.
Dieser Empfehlung kommen wir mit unseren eigenen Nodes nach und haben deshalb die Base Fee auf 0 gesetzt und die Fee Rate auf 1000.
Eine Auflistung der Nodes, die sich zu #zerobasefee entschieden haben und die Hintergründe dazu findest Du in englischer Sprache auf: https://basefee.ln.rene-pickhardt.de/
Wer sich an #zerobasefee beteiligen möchte, der findet in der folgenden Tabelle eine Orientierung für die geänderte Gebührenstruktur.
Situation | Erklärung | Base Fee | Fee Rate |
Standard | vorgegebene Standard-Einstellung von LND | 1000
|
1 |
Default | Coincharge Standard-Einstellung | 0
|
1000 |
Family & Friends | Verbindung zu guten Freunden | 0
|
100 |
Exchange | Geld verdienen an Liquidität-Sauger | 0
|
100000 |
hohe Remote Balance | wenn Deine Remote Balance sehr hoch ist und Du weiteren Abflüsse unterbinden willst | 0
|
100000 |
hohe Local Balance | Geld verdienen an Microtransaktionen | 0
|
500 |
Routing Fees ändern
Wer seinen eigenen Node als Routing Node verwenden will, muss über Kanäle mit hoher Liquidität verfügen, die an entsprechend attraktiven Nodes angebunden sind.
Nachdem wir uns mit der Gebührenstruktur beschäftigt haben, überprüfen wir selber, welche Outgoin Fees bei uns hinterlegt sind beziehungsweise welche Gebühren unsere Channel Partner als Gebühr zu uns festgelegt haben.
Die Anpassung der eigenen Outgoing Fee erfolgt durch die Änderung der eigenen Fee Policy.
Welche Fee unser Node verlangt und welche Fee verlangen, wenn eine Lightning Transaktion an unseren Node übergeben werden, kann man in der Peer/Channel Übersicht einsehen.
Dort auf Actions klicken und dann lässt sich überprüfen, welche Fee der Channel-Partner zu seinem eigenen Peer verlangt und welche Fee man selbst hinterlegt hat:
- Remote Fee – Die Gebühr, welcher der Channel-Partner als Outgoing Fee verlangt.
- Fee Policy – Die Gebühr, die wir selbst als Outging Fee festgelegt haben
Als Routing Node ein paar Sats verdienen
Wir haben bereits erfahren, dass mit der Anbindung an Peers, die einen hohen Bedarf an Liquidität nachfragen, sich ein paar Sats verdienen lassen.
Bisher haben wir die einheitlichen Standard-Gebühren (Base Fee 1000 und Fee Rate 1mSat) erhoben, entsprechend erfreuten sich die Channel zu den Börsen großer Beliebtheit.
Die günstigen Konditionen und das zur Verfügung stehende Volumen hat dazu geführt, dass die Channels mit den Börsen sich umgehend von Local Balance zu Remote Balance verschoben haben.
Im konkreten Fall hatten wir zu der Börse Bitfinex und deren beiden Lightning Nodes (bfx-lnd0 und bfx-lnd1) jeweils einen Kanal aufgemacht und entsprechende Liquidität in den Kanal gestellt.
Unsere niedrigen Gebühren haben dazu geführt, dass sich unser Channel Guthaben sich umgehend von Local Balance nach Remote Balance verschoben haben.
Im Gegenzug kam es jedoch zu keinen nennenswerten Zahlungen von Bitfinex zu unserem Node. Zwar hat Bitfinex als Outgoing Fee zu unserem Node sehr moderate Fees angesetzt, jedoch wurden seitens Bitfinex keine Auszahlungen über unseren Nodes vorgenommen.
Einen Einfluss darauf, dass Bitfinex Zahlungen über den Kanal ausführt, damit eine Verschiebung vom Remote Balance zu Local Balance stattfindet, haben wir nicht.
Somit hat Bitfinex unsere Liquidität „aufgesaugt“ und danach haben wir unsere Attraktivität verloren.
Anscheinend gibt es einen Bedarf für gute Channels zu den beiden Nodes der Börse Bitfinex.
Deshalb werden wir die Gebühren zu Bitfinex drastisch erhöhen. Erst einmal, um weitere Transaktionen zu unterbinden, bis wir für neue Liquidität gesorgt haben und um zu sehen, ob bei solchen hohen Gebühren trotzdem Lightning Volumen über unseren Kanal geroutet werden.
Wir setzen die Transaktions Fee mit einer Base Fee in Höhe von 9.998 mSats und eine Fee Rate von 600mSats (0,000600sat) fest.
Jetzt müssen wir für neue Liquidität auf dem Local Balance sorgen. Wenn wir auf der Bitfinex Börse ein Konto besitzen, könnten wir uns das dortige Guthaben in Lightning an uns auszahlen. Wenn die Auszahlung über unseren Kanal erfolgt, dann käme es zu einer Verschiebung des Remote Balance an unser Local Balance.
Eine andere Möglichkeit ist es, dass wir per Rebalancing nicht genutztes Local Balance in den Kanal verschieben, bei dem Local Balance benötigt wird.
Rebalancing
Beim Rebalancing verschieben wir Local Balance Guthaben in einem Kanal auf einen anderen Kanal, bei dem es benötigt wird.
Beim Rebalancing führen wir eine Lightning Zahlung an uns selbst aus.
Wir transferieren von einem Kanal mit viel Local Balance an einen Kanal mit wenig Local Balance.
Local Balance | Outbound
(für ausgehende Zahlung) |
Zahlungen senden | Mein Lightning Guthaben |
Remote Balance | Inbound
(für eingehende Zahlung) |
Zahlungen empfangen | Das Lightning Guthaben meines Channel-Partners |
Durch das Routen von Zahlungen kann unser Channel Balance unausgeglichen werden.
- Inbound Transaktion, erhöht unser Local Balance
- Outbound Transaktion, verringert unser Local Balance
Idealerweise sollte ein Kanal ein Balance Score von 1 haben. Ist der Wert niedriger (bis 0), dann sollten wir den Kanal auszubalancieren.
In dem oben genannten Fall würde wir von unserer Local Balance bei lnmarkets etwas wegnehmen und bei bfx-lnd0 etwas dazu geben.
- In ==> wenig Local / viel Remote
- Out ==> viel Local / wenig Remote
Rebalancing per RTL
Wir haben festgestellt, dass wir bei dem Channel von lnmarkets viel Local Balance besitzen, aber bei dem Bitfinex Node bfx-lnd0 dafür sehr wenig.
Deshalb möchten wir von unserem Local Balance bei lnmarkets etwas zu bfx-ld0 verschieben.
Wir wählen den Kanal aus, bei dem wir „zu viel“ Local Balance haben und wählen bei Actions den Unterpunkt „Circular Rebalance“ aus.
Dort tragen wir in das Feld „Amount“ den Betrag ein, den wir transferieren möchten. Wir wählen zu Beginn einen kleineren Betrag wie zum Beispiel 100.000 Sat aus.
In dem Feld „Receive from Peer“ wählen wir den Peer aus, bei dem wir das Local Balance erhöhen wollen. Die Bezeichnung ist etwas unglücklich gewählt, aber wir wählen hier bfx-lnd0 aus.
Dann klicken wir auf „Estimate Fee“ und erhalten angezeigt, mit welchen Gebühren wir zu rechnen haben.
Wir erhalten hier einen Vorschlag, den wir mit „Use Estimate“ übernehen können.
Die Estimate fee wird übrigens in mSats angezeigt, aber bei Ausfüllen des entsprechenden Feldes erfolgt die Angabe in Sats.
Noch einmal der Hinweis, dass 1.000 mSats = 1 Sats sind.
Statt eines festen Betrages kann auch ein Prozentsatz für den Betrag gewählt werden, wie zum Beispiel 2%.
Danach klicken wir auf Rebalance.
Danach bekommen wir in den meisten Fällen einen Hinweis, dass „Payment failed“.
Dies bedeutet, dass keine Route gefunden wurde, weil:
- Nicht ausreichende Liquidität auf der Route zur Verfügung steht
- Die Outgoing Gebühren der anderen Peers höher sind, als der Betrag, den wir bereit waren zu bezahlen.
Jetzt müssen wir ausprobieren und es mit geringeren Beträgen oder höheren Gebühren versuchen, bis es endlich funktioniert.
Es gibt mehrere Hilfsmittel und Analysemöglichkeiten, um zu prüfen, wie eine Route von meinem Node zu einem anderen Peer aussehen könnte.
Wir wollen uns deshalb die Route zu dem Peer von bfx-lnd0 mit dem Pubkey 033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025
etwas näher anschauen.
Unter Lightning => Transactions => Query Routes kann festgestellt werden, wie die Route zu dem Peer bfx-lnd0 ist, in dem wir in das Feld Destination Pubkey den oben genannten pubkey einsetzen und in das feld Amount den Betrag, den wir Routen wollen.
Wir erhalten dann die folgende Ansicht:
Hier sehen wir einmal den Betrag, der maximal über den jeweiligen Peer geroutet werden kann (Capacity) und zusätzlich die Fee, welche an den jeweiligen Outbound Peer gezahlt werden müsste.
Wir sehen dabei, dass der Peer von BTCPay Billpay eine Fee von 200 mSats verlangt und mit dem Klick auf View Info erhalten wir weitere Informationen.
Einen eindeutigen Rückschluss, warum die Zahlung nicht durchgeführt werden kann, lässt sich leider in unserem konkreten Fall nicht gewinnen.
Aber es lohnt sich mal mit anderen Beträgen (Amount) etwas herumzuexperimentieren und so ein Gefühl zu entwickeln, wie eine Lightning Route funktioniert.
Rebalancing Successful
Nach mehrmaligem Ausprobieren haben wir endlich eine erfolgreiches Rebalancing hinbekommen.
Jedoch haben wir dafür einen viel zu hohen Preis bezahlt. Insgesamt haben wir 87524 mSats gezahlt, also über 8 Sats.
Mit solchen Gebühren für das Rebalancing werden wir keinen erfolgreichen Routing Node betreiben können. Es zeigt aber auch, welche Gebühren mal selbst erzielen könnte, wenn man sein eigenes Rebalancing optimiert.
Deshalb wollen wir uns mal ansehen, wie und wo diese Gebühren entstanden sind.
Wir wechseln dafür in den Bereich Transactions und finden dort alle Lightning Transaktionen.
Im Bereich Payments finden wir unsere Rebalancing Transaktionen und mit dem Klick auf Show die Detail Informationen.
Wir sehen, dass es 3 Versuche gab, um die optimale Route zu finden. Die Route HTLC 3 hat den gewünschten Erfolg gebracht mit einer Fee von 87 Sats über insgesamt 5 Hops.
Die Darstellungs- und Informationsmöglichkeiten von RTL sind leider nicht sehr empfehlenswert.
Wer sich etwas ausführlicher mit der Analyse von Routing und Fees beschäftigt, um eine optimale Routing Fee und Ausbalancierung seines Nodes erreichen will, der sollte auf eine alternative Softwarelösung wie zum Beispiel von Balance of Satoshis (kurz BOS).
Fazit
Um mit seinem Lightning Node ein paar Sats zu verdienen, ist es erforderlich, dass man neben umfangreicher Liquidität am Anfang viel Zeit mit Ausprobieren investieren muss. Besonders das Rebalancing ist ein langwieriger Prozess, weil die meisten Versuche leider scheitern.
Doch es zeigt gleichermaßen auf, dass es einen Bedarf nach Liquidität und günstigen Fees besteht.
Einen eigenen Lightning Node betreibt man meistens aus Interesse am Thema Lightning und um einen Beitrag für die Stabilität des Lightning Netzwerk zu leisten.
Das Rumexperimentieren mit den Lightning Fees, dem Rebalancing und dem Versuch seine Kanäle auszugleichen ist auf jeden Fall sehr lehrreich, auch wenn man selbst keinen professionellen Routing Node betreiben will.