Guide: Als Lightning-Routing-Node Sats stacken

Routing-Nodes

Lightning-Routing ist nicht sehr profitabel. Selbst die größten Nodes verdienen weniger als ein paar hunderttausend Sats pro Monat. Und das bei einem sehr hohen Kapitaleinsatz von mehreren Bitcoin.

Alex Bosworth ist einer der größten Lightning-Node-Betreiber

Wer einen Routing-Node betreiben will, sollte das also nicht aufgrund der vermeintlichen Profitabilität machen. Der Zeit- und Geldaufwand rechtfertigt es derzeit nämlich nur kaum. Stattdessen sollte das Ziel die Unterstützung des Lightning-Netzwerks sein, indem man dieses mit Liquidität versorgt. Welche Aufgaben das Betreiben eines Routing-Nodes beinhaltet hat Alex Bosworth aufgelistet:

Das Ziel eines Routing-Nodes ist es also, Liquidität zwischen den Nodes im Netzwerk zur Verfügung zu stellen und zu managen. Wie Lightning grundsätzlich funktioniert haben wir hier beschrieben.

Im folgenden Guide zeigen wir euch was ihr für einen Routing-Node braucht, was dessen wichtigsten Funktionen sind und wie ihr mit dem Routing Sats stacken könnt:

Voraussetzungen

Hardware

Ein Routing-Node kann prinzipiell auf jeder Plattform laufen, auf der LND funktioniert. Wir empfehlen euch allerdings ein dediziertes Gerät zu benutzen, dass keine andere Aufgabe hat, als ein Lightning-Node zu sein.

Wir benutzen einen Raspberry Pi 4 mit 4GB und einer 1TB SSD. Wenn ihr einen möglichst günstigen Node bauen wollt, könnt ihr auch eine HDD benutzen. Eine HDD hat dabei eine höheres Ausfall-Wahrscheinlichkeit als eine SSD. Wir empfehlen deshalb eine SSD.

Betriebssystem

Als Betriebssystem könnt ihr Raspiblitz oder Umbrel verwenden. MyNode empfehlen wir (aktuell) nicht, weil es sich dabei um ein 32-bit OS handelt und deshalb mit einer großen Channel.db instabil wird. Wir verwenden für den Guide Ride-The-Lightning (RTL), prinzipell unterscheidet sich die Vorgehensweise aber nicht von anderen LND-Frontends. Ihr solltet außerdem ein grundsätzliches Verständnis davon haben, wie man sich per SSH an einem Linuxsystem anmeldet.

Wer ein 32-Bit-OS verwendet, sollte regelmäßig die Größe seiner Channel.db überprüfen. Wird diese 1GB groß, funktioniert LND nicht mehr.

Die Größe eurer Channel.db könnt ihr (unter Mynode) mit diesem Befehl kontrollieren:

sudo ls -lh /mnt/hdd/mynode/lnd/data/graph/mainnet/    

Internet

Für einen Routing-Node solltet ihr eine gute Internetverbindung haben. Dabei ist die Geschwindigkeit eures Anschlusses weniger entscheidend als die Zuverlässigkeit der Verfügbarkeit. Ist euer Node oft offline, wird er grundsätzlich weniger Routing-Traffic bekommen, da sich eure Peers an fehlgeschlagene Verbindungen erinnern.

Liquidität

Um mit Routing Geld zu verdienen, müsst ihr viel Liquidität zur Verfügung stellen. Je mehr Bitcoin ihr in eure Channels investiert, desto mehr werdet ihr mit dieser Liquidität verdienen können. Ihr solltet also bereit sein, mindestens 0,3BTC in die Hand zu nehmen. Mehr dazu später.

Risiken

Hot-Wallet

Bei eurem Lightning-Node handelt es sich immer um ein Hot-Wallet. Das bedeutet, dass euer Wallet immer mit dem Internet verbunden ist. Sollte jemand Zugriff auf euren Node bekommen, hat er Zugriff auf eure Bitcoins.

Bugs

Das Lightning-Netzwerk ist neu. Es ist nicht auszuschließen, dass es durch einen Fehler im Code dazu kommt, dass ihr nicht mehr an euer Geld kommt. Daher ist das Sichern des Recovery Seeds unerlässlich.

Hardware

Ein katastrophaler Hardware-Schaden kann dazu führen, dass ihr Funds verliert. Zwar lässt sich ein Totalverlust über den Einsatz eines Watchtowers und ein sachgemäßes Backup vermeiden, doch auch dann müssen alle Channels während des Wiederherstellens geschlossen und danach wieder neu etabliert werden.

Setup

Channel-Partner

Routing-Node
Lightning-Nodes nach BOS-Score sortiert

Eine der wichtigsten Bewertungskriterien eines Lightning-Nodes sind dessen Peers. Es sollte für euren Node möglich sein, Verbindungen zwischen großen Nodes und etwas kleineren Nodes herzustellen. Eine Verzeichnis aller Nodes und deren Channels findet ihr auf 1ml.com. Im Lightningwiki findet ihr eine Liste von Nodes, die nach BOS-Bewertung sortiert sind. Darin gehen Dinge wie Uptime, Liquidität, Anzahl und Wertigkeit der Channelpartner mit ein.

Ihr solltet euch fragen:

  • Welche Nodes benötigen viel Liquidität?
    Beispielsweise Börsen wie Bitfinex, River Financial, lnmarkets.
  • Welche Nodes sind gut vernetzt?
    Z.B. Opennode, BitmexResearch oder Rompert
  • Was sind deren Fees? Niedrige Fee-Rates sind wichtig
  • Welche Nodes brauchen viel Liquidität,
    sind aber noch nicht sehr gut vernetzt?

Eröffnet Channels mit Nodes die gut in dieses Schema passen. Keine Angst, sollten manche dieser Channel-Partner nicht gut sein, werden wir das später herausfinden. Für den Anfang sollten ungefähr 10 Channels reichen. Ihr könnt auch Channels mit Freunden eröffnen, die Routing-Nodes betreiben, um so Liquidität miteinander auszutauschen.

Channel-Kapazität

Hier gilt die Regel: Wenige große Channels sind besser als viele kleine Channels. Das liegt einerseits daran, dass ihr für große Zahlungen eine höhere Gebühr verlangen könnt. Die meisten Transaktionen im Lightning-Netzwerk liegen zwischen 100k und 1mil sat. Andererseits muss ein großer Channel seltener gerebalanced werden, was den Aufwand und Kosten deutlich verringert. Wie ihr Channels mit Balace-of-Satoshis rebalancen könnt, haben wir in diesem Artikel beschrieben.

Ein guter Channel sollte eine Kapazität von mindestens 3 000 000 sat haben.

Transaktionsgebühren

Der Mempool auf jochen-hoenicke.de

Da es euer Ziel ist, so viele Fees wie möglich mit dem Routing einzunehmen, sollten eure Channel-Eröffnungs-Fees so niedrig wie möglich sein. Die Onchain-Transaktion, die ihr sendet um den Channel zu eröffnen, sollte also bestenfalls nur 1sat/vbyte kosten. Damit kostet eine Channeleröffnung nur circa 150 sat.

So verändert ihr die Transaktionsgebühren während der Channelöffnung

Nutzt also Zeiten in denen der Mempool tendenziell eher leer ist (z.B. am Wochenende). Weil Channels auf lange Zeit ausgelegt sein sollten, kann ruhig gewartet werden.

Channel-Fees

Channel-Fees funktionieren über eine Base-Fee und eine Fee-Rate. Erstere ist unabhängig vom Payment-Amount, letztere ist eine relative Gebühr und wird über “Parts Per Million” berechnet. Diese ergibt sich aus dem Satoshi-Betrag der Transaktion. Beide werden in Milli-Satoshi (msat) angegeben.

Sobald ein Channel geöffnet ist, hat er eine Default-Fee von 1000 msat Base-Fee und 1 msat Fee-Rate. Ihr verdient damit also an einer 100.000 sat Transaktion: 1000 msat + 0,1 msat.

Die Default-Fees eines Channels

Diese Fees solltet ihr direkt nach dem Öffnen ändern. Erfahrungsgemäß ist eine niedrige Base-Fee von 10 msat und eine Fee-Rate von circa 50 ppm ein guter Ausgangspunkt um die Aktivität eines Channels zu testen.

Inbound-Liquidität

Nachdem ihr Channels eröffnet habt, könnt ihr Bitcoin versenden. Zum Routen gehört aber sowohl Senden als auch Empfangen. Inbound-Liquidität könnt ihr über verschiedene Wege bekommen:

  • Auf Lightningto.me könnt ihr Liquidität anfragen
  • Lightning Conductor eröffnet einen Channel zu euch,
    wenn ihr einen dorthin eröffnet
  • Auf Bitfinex oder Nicehash Bitcoin könnt ihr per Lightning einzahlen und Onchain auszahlen
  • Freunde nach Channels fragen
  • Sats versenden (an ein anderes Lightning-Wallet das ihr besitzt)

Besonders die Möglichkeit über Bitfinex Lightning in Onchain-BTC umzuwandeln gibt euch eine einfache Möglichkeit, Inbound-Liquidität zu bekommen. Dort ist kein KYC nötig, solange ihr nicht mit Fiat handelt. Über Nicehash funktioniert das auch, dort gibt es aber öfter Probleme. Eure Inbound-Liquidität sollte im besten Fall eurer Outbound-Liquidität entsprechen.

Mit Phoenix-Wallet Inbound-Liquidität zu schaffen ist zwar möglich, aber extrem teuer.

Optimierung

Wenn eure Channel offen sind und ihr genug Liquidität auf eurem Node habt, kann es ein wenig dauern bis das ganze Fahrt aufnimmt. Sendet jemand eine Lightning-Transaktion, wird der erste Routing-Versuch immer eine zuvor erfolgreiche Route verwenden. Ihr müsst also etwas warten um nach und nach einen guten Ruf aufzubauen.

Je nach gewählten Channelpartnern kann es sogar eine Woche dauern bis ihr ordentliche Transaktionen routet.

Fee-Rates

Eure Routing-Peers

In RTL könnt ihr unter Lightning -> Routing -> Routing Peers sehen, welche Peers am aktivsten sind. Benutzt ein Outgoing-Peer euch überdurchschnittlich oft als Route, solltet ihr anfangen eure Fees für diesen Channel zu erhöhen. Das könnt ihr tun indem ihr nach und nach die Fee-Rate anhebt und dabei die Anzahl der Transaktionen beobachtet.

Manche Peers benötigen viel eurer Liquidität – zum Teil sogar mit Fee-Rates von bis zu 400 ppm. Andere benötigen weniger und routen sogar mit 20 ppm nicht besonders viel. Das heißt ihr solltet immer ein Auge auf eure Channel-Fees haben um so eure Liquiditätsströme zu steuern.

Persönlich halte ich die Fee-Rate bei privaten Nodes so niedrig wie möglich und bei kommerziellen Nodes so hoch wie möglich. Dabei spielt es auch eine Rolle wie viel ihr für das Rebalancing des Channels zahlen müsst. Mehr dazu später.

Channels

Wenn ihr Channels habt, die annähernd keinen Traffic generieren, solltet ihr diese schließen, sobald der Mempool leer ist. Liquidität in toten Kanälen liegen zu lassen ist unproduktiv und sollte in bessere Channels investiert werden.

Ein inaktiver Channel

Das gleiche solltet ihr tun, wenn Peers lange Zeit inaktiv sind. Falls ein Peer lange Zeit offline ist, müsst ihr einen Force-Close durchführen, nachdem euer Guthaben für ein paar Tage gelockt ist.

Rebalancing

Da eure Channel zu Beginn alle entweder Inbound- oder Outbound-Liquidität haben ist es nötig diese zu rebalancen. Das bedeutet, dass ihr Liquidität von einem Kanal in einen anderen schiebt. Wir haben diesem Thema einen gesamten Artikel gewidmet, indem wir zeigen wie ihr mit Balance of Satoshis effizient arbeitet. Diesen solltet ihr zunächst lesen.

Beim Rebalancing solltet ihr auf jeden Fall darauf achten, dass ihr für die Rebalancing-Transaktion eine maximale Fee benutzt, die niedriger ist als die Fee-Rate im entsprechenden Channel. Andernfalls würden wir für das Rebalancing mehr bezahlen als uns das Routing einbringt.

2 Beispiel-Channels

Diese beiden Channel sind unbalanciert. Channel A hat viel Outbound-Liquidität und Channel B viel Inbound-Liquidität. Wenn nun per Rebalancing Outbound-Liquidität von Channel A zu Channel B geschoben wird, muss sich daran orientiert werden, welche Channel-Fees wir für Channel B eingestellt haben.

Ein Routing-Node kann zwar passiv, also ohne Rebalancing, betrieben werden, erwirtschaftet so aber deutlich weniger. Rebalancing sollte, je nach Traffic und Kapazität, bei einem aktiven Node 1-2x am Tag passieren.

Liquiditäts-Management

Forward-Verlauf

Ihr solltet mehrmals am Tag eure Forwards überprüfen und auf dieser Basis rebalancen. Im oben gezeigten Screenshots seht ihr mehrere Forwards zu River Financial. Das bedeutet, dass River Financial sehr viel Outbound-Liquidität genutzt hat und der Channel wahrscheinlich gerebalanced werden muss. Beim Routing zahlt euch immer der Outbound-Channel die Fee.

Channel-Zustand

Über Lightning -> Channels können wir uns den Zustand des Channels anschauen. Tatsächlich ist der Channel durch die Forwards annähernd komplett geleert worden. Dies erkennt ihr am niedrigen Balance-Score rechts in der Tabelle. Bevor wir rebalancen schauen wir uns zunächst die Channel-Fees an.

Actions -> Update Fee Policy

Unsere Fee-Rate liegt bei 145ppm. Das bedeutet, dass wir für das Rebalancing eine Fee-Rate von maximal 144ppm nutzen können um Gewinn zu machen, da das Rebalancing sonst teurer wäre als das Routen.

Zunächst schauen wir in welchem Channel wir Liquidität liegen haben:

Der Channel mit ion.radar.tech hat fast 4mil Sats an Liquidität. Wir sollten vorher die Fee-Rate des Channel-Partners kontrollieren.

Actions -> View Remote Fee

In diesem Fall liegt die Fee-Rate bei 1ppm, was sehr günstig für uns ist. Channels mit hohen Fee-Rates solltet ihr beim Rebalancen meiden.

Wir rebalancen den Channel mit BOS:

bos rebalance --in River Financial --out ion.radar.tech --amount 500000 --max-fee-rate 70

In diesem Beispiel habe ich eine Fee-Rate von 70 benutzt und eine Transaktionshöhe von 500000sat. Erfahrungsgemäß ist die Erfolgswahrscheinlichkeit bei mehreren kleineren Rebalancings höher als bei wenigen großen.

Ein Beispiel einer hohen Fee-Rate

Da bei BOS nicht jeder Rebalancing-Versuch funktioniert, werdet ihr oft mehrere Versuche dafür brauchen. Ist eure max-fee-rate zu niedrig angesetzt, wird euch BOS dies als Fehler anzeigen. Es hilft auch verschiedene Channels zu probieren. Da euch angezeigt wird, welche Peers BOS als Route plant, könnt ihr Peers mit hohen Channel-Fees über “–avoid [pubkey des peers] ” ausschließen:

Nach und nach ergibt sich so eine recht lange Liste, die euch aber eine höhere Wahrscheinlich für ein günstiges Rebalancing gibt.

Wenn der Channel nun wieder über genug Liquidität verfügt, kann er wieder Transaktionen routen. Dann habt ihr zwar Sats für das Rebalancing bezahlt, doch behaltet den Gewinn vom vorherigen Routing.

So sollte ein Channel aussehen, der hauptsächlich als Outbound-Peer benutzt wird

Diesem Ablauf solltet ihr jedesmal folgen, wenn ein Channel viel einseitigen Traffic bekommen hat. Deshalb gilt: Je größer ein Channel ist, desto weniger Arbeit benötigt er. Wenn ein Channel nach einem einzigen Forward gerebalanced werden muss bedeutet das viel Aufwand für euch.

So sollte ein Channel aussehen, der in beide Richtungen viel routet

Als Routing-Node behaltet ihr im Auge welche Channels Liquidität benötigen und gebt sie ihnen. Channels, die in beide Richtungen routen, sollten immer möglichst ausgegliche Liquidität haben.

Andere Einnahmequellen

Loop

Lightning Labs “Loop” Service lässt Kunden Bitcoin von Off-Chain zu On-Chain Adressen schicken und andersherum. Ihr könnt Loop Inbound-Liquidität “verkaufen”, indem ihr einen Channel mit dem Loop-Node eröffnet. Doch hier ist Vorsicht geboten. Ist der Channel einmal geöffnet dauert es wegen den niedrigen Default-Fees nur wenige Minuten bis Loop eure Inbound Liquidität aufgesaugt hat und den Channel wieder geschlossen hat. Deswegen sollten Fees mit dem Loop Channel deutlich höher sein als mit anderen Channeln.

Pool

Über Pool könnt ihr Liquidität vermieten. Hierzu haben wir einen eigenen Guide geschrieben. Um Pool benutzen zu können, müsst ihr jedoch Teil der BOS-Score-Liste sein.

Tips

  • Benutzt den @lightningwatchbot auf Telegram um Benachrichtigungen zu bekommen, wenn euer Node offline geht
  • Passt eure Channel-Fees regelmäßig an den Traffic im Channel an
  • Behaltet den Mempool im Auge – Nutzt niedrige Fees um eure Channels zu eröffnen und zu schließen
  • Verratet niemandem die IP-Adresse eures Nodes
  • Kontrolliert eure Forwards mehrmals täglich

Sobald ihr euch sicherer fühlt und mehr Erfahrung mit Channel- und Liquidity-Management habt, könnt ihr nach und nach eure Node-Kapazität erhöhen indem ihr weitere Channel öffnet.

Wenn ihr wollt, könnt ihr auch einen Channel zu unserem Node eröffnen.

Unseren zweiten Routing-Node Guide findet ihr hier!

Spende uns:

Wenn dir dieser oder einer unserer anderen Beiträge gefallen hat, würden wir uns über eine kleine Spende freuen:

11 comments

  1. Spricht eigentlich etwas dagegen die Lightning -Node in einer VM oder einem LXC-Container zu betreiben?

    1. Viele Routing-Nodes laufen auf VPS. Mit LXC-Containern habe ich persönlich leider keine Erfahrungen.

  2. Habe nach dem lightning payment leider keinen Zugriff auf den Artikel erhalten. Link mit meinem Payment-Hash funktioniert nicht. Kann jemand helfen?

  3. Ich würde sehr gerne die symbolischen 2121 sats zahlen, muss dafür aber natürlich erst meinen ersten channel erstellen. Nachdem ihr schon eine sinnvoll vernetzte Node aufgebaut habt: Wie finde ich denn eure Node um einen Channel zu öffnen?

  4. Super Guide! Vielen Dank!
    Ihr schreibt, dass es hier nicht um Profitabilität geht. Aber gibt es eine Übersicht, einen Anhaltspunkt mit was für Einnahmen man rechnen kann? Wovon diese abhängig sind und wie sich das in Zukunft entwickeln könnte?

    1. Zu Beginn des Artikels haben wir Alex Bosworths Tweet mit seinen Routing-Node-Einnahmen gepostet. Alex ist einer der größten Routing-Nodes und sollte so ziemlich als oberste Grenze des aktuell erreichbaren Umsatzes dienen.

  5. Echt super Artikel. Wahnsinn wie komplex Lightning am Ende doch ist. Werde jetzt Erfahrung sammeln und weiter aufstocken.

  6. Kann es sein, dass ihr zu wenig Inboud Liquidität habt, die Zahlung geht nicht durch 😉

Schreibe einen Kommentar zu Luke Antworten abbrechen