Lightning - Erfahrungen [Liquidität, Gebühren]

Hi Leute,
Ich habe eine Frage zu meiner umbrel lightning node und hoffe ich bin hier richtig : mir wird immer mal wieder ein Kanal geschlossen (zuletzt ein recht großer mit ca 3 Mio Sats Kapazität), was sehr schade ist weil ich dadurch die inbound liquidity verloren habe - der Kanal war durch Routing am Schluss ziemlich leer auf meiner Seite. Was ich gesehen habe war es kein force close, sondern einer im gegenseitigen Einverständnis, obwohl ich hierzu nichts aktiv gemacht habe. Vielleicht kann mir das mal jemand kurz erklären wie das mit dem Channel closing funktioniert.

Danke und LG
wick3da

Denkbar ist zB, dass dein Channel-Partner ihn geschlossen hat, da er ihn für einen sogenannten Zombie-Kanal gehalten hat.

Ich beschreibe es mal aus deiner Sicht (also als wenn du derjenige wärst, der den Kanal geschlossen hat, weil du ihn für einen Zombie-Kanal hältst):
Ein Zombie-Kanal hat den Großteil der Liquidität auf der outbound-Seite - die Sats im Kanal gehören also dir und sie sind im Kanal gelockt. Wenn die Node des Channel-Partners jetzt offline geht, bist du in einer sehr unangenehmen Situation: Ein cooperative close ist nicht mehr möglich und (besonders fatal): falls jetzt deine Node auch noch abstürzt und du deine Funds nur noch durch ein SCB recovern kannst (das entspricht de facto: force-close vom Channel-Partner erbeten), wird dies scheitern, weil die Node deines Channel-Partners ja eben auch down ist. Wenn man also bemerkt, dass ein Kanal längere Zeit nicht mehr benutzt wurde, kann die Sorge aufkommen, dass die ganze Node down ist und das ist eben dann ein Risiko, wenn deine eigenen Funds im Kanal gelockt sind.

1 „Gefällt mir“

Wenn ich als dein Partner unseren Channel schließen will, dann hat deine Node folgende Möglichkeiten:

  1. Deine Node ignoriert das (oder lehnt ab), dann Force Close ich den channel zu hohen Gebühren der closing tx, als auch hohen gebühren der tx sweeps.

  2. Um Szenario 1 zu vermeiden, verhandelt deine Node lieber eine passende fee und schließt den channel mit gegenseitigem Einverständnis. Die BTC sind dann von beiden direkt wieder verwendbar und die Gebühren sind niedriger.

Auch wenn du den Channel nicht schließen willst, akzeptierst du also den Wunsch den Channel zu schließen.
Deine Node macht das halt automatisch für dich.

Was aber nicht unerwähnt bleiben sollte:
Wenn du nicht in deine Logs geguckt hast was genau der Grund der Schließung war (,sondern z.B. nur bei Amboss siehst „mutual close“), dann besteht auch die Möglichkeit, dass deine Node den Channel schließen wollte.
Das kann unterschiedliche Gründe haben, eventuell wart ihr euch über die aktuelles Gebühren nicht einig.

1 „Gefällt mir“

Eine Sache bereitet mir noch Schwierigkeiten :thinking:

Wenn ich einen Kanal z. B. zu ACINQ oder LNBiG eröffne, wir dieser, sobald aktiv, sofort leer gesaugt, noch bevor ich die Fee Policy anpassen kann (ich möchte/kann nicht 6 Blöcke daneben sitzen und warten).

:question: daher meine Frage:
Kann ich irgendwo (als Standard oder vor einer Kanaleröffnung) einstellen, mit welcher Fee Policy ein neuer Kanal eröffnet wird (hoch), um ihn später herunter zu setzten?

Zum Hintergrund:
Momentan ist es anders herum und wenn die großen Player mir schon die Sats aus dem Kanal nehmen und Umschaufeln, möchte ich doch zumindest ein paar Gebühren dafür erhalten, um die Kosten für die Kanaleröffnung (von der die großen Nodes ja profitieren) ein wenig zu kompensieren. Zudem möchte ich mit dem Kanal ja vielleicht selbst Zahlungen vornehmen, die nach dem Umschichten der Beträge teurer werden oder nicht mehr möglich sind, weil keine Route gefunden wird. Ich kann natürlich vor der Eröffnung alle anderen Kanäle teuer machen um das Routen zu unterbinden - aber das halte ich nicht für Zielführend.

Wenn ich auf dem Kanal Inbound haben möchte ist das natürlich super - aber das möchte ich eben selbst beeinflussen können.

Falls die Frage hier schon beantwortet wurde bin ich für einen Verweis dankbar :pray:, ich habe die Antwort jedenfalls nicht gefunden und vielleicht ist diese Einstellung in der von mir verwendeten Software (RTL, Thunderbird und Umbrel-Lightning) auch schlicht nicht vorgesehen.

Update:
Hier habe ich etwas gefunden, dort wird wohl der Standard für neue Kanäle eingestellt (stammt aus einem anderen Thread):

Diese Werte wären dann anzupassen (aus lnd.conf example):

# default fees for new channels (does not affect existing ones)
bitcoin.feerate=100
bitcoin.basefee=1
minchansize=1000000

Du hast es dir ja schon selbst beantwortet.
Ich finde es auch schlau die fee als Standart immer hoch zu machen, damit der Kanal eben nicht leer gesaugt wird.

Wenn dein Kanal zu ACINQ leer ist, hast du zwar inbound, aber der ist nicht sehr wertvoll.
Da alle anderen ja hohe Gebühren zu ACINQ haben, sind Transaktionen zu dir über den ACINQ Kanal bestimmt sehr teuer.

Es ist daher immer gut zu solchen Nodes hohe fees zu haben, damit man zumindest für den Verlust der Liquidität vergütet wird :slight_smile:

Als kleine Ergänzung, bei LNDg kann man bereits bei der Eröffnung eines Channels die Fee einstellen noch bevor er aktiv wird. Ich habe auch eine etwas höhere default Fee in der LND.conf eingestellt, passe aber noch bei der Eröffnung den Wert an.

Auch per Kommandozeile ist das seit Kurzem direkt für den zu öffnenden Kanal möglich:

lncli openchannel ...
   --base_fee_msat value
   --fee_rate_ppm value
1 „Gefällt mir“

Hallo !

@mrsieb
Dein Tip QR kann ich weder mit WoS noch mit Phönix einlesen.
Eigentlich wärest du jetzt um 21 Sats reicher.
Dafür bekommst jetzt an dieser Stelle ein schriftliches danke.

Das wir inzwischen im MilliSatoshi rechnen ist glatt an mir vorbei gegangen.
Von den theoretischen Gebühren habe ich wohl gehört.
Praktisch kann ich wohl aber immer gratis Zahlungen durchführen.
Natürlich teste ich erst mal mit Micropayments.
Ich kann aber 1 einzelnen Sat versenden ohne das Gebühren anfallen.
Oder kann das sein das in Wallets wie WoS oder LNbits gerundet wird?
Wird mir wohl möglich 1 Sat angezeigt der in Wirklichkeit nur 998 milli Sat ist?
Oder wird tatsächlich immer eine Rote gefunden die gratis ist?

Als Terminal-Neuling habe ich etwas gebraucht, um die Config-Datei zu finden, auch weil sie anders heißt und woanders liegt als in den Tutorials, die ich dazu fand:

# Config-Datei finden
umbrel@umbrel:~ $ find -iname *lnd.conf
./umbrel/app-data/lightning/data/lnd/umbrel-lnd.conf
# Config-Datei editieren:
umbrel@umbrel:~ $ sudo nano ./umbrel/app-data/lightning/data/lnd/umbrel-lnd.conf

Allerdings steht am Beginn der Datei:

# This file is automatically generated by Umbrel, any changes will be overwritten.

Auf diesem Weg kann ich die Start-Liquidität für neue Kanäle also nicht ändern :thinking:


Ich finde dort nur Einstellungen zur Kanalgröße und Fee für die Eröffnungstransaktion.
Oder kann ich das bereits direkt nach der Eröffnung ändern, noch bevor die Transaktion 6 Bestätigungen hat? Das funktioniert bei RTL oder ThunderHub nicht.

In den Fee Rates kann die Base Fee nicht geändert werden, das geht nur in den Advanced Settings - vielleicht sollte der Wert auch gar nicht angefasst werden? Auch wichtig zu wissen: oBase sind bei LNDg msats, das lässt sich also sehr fein einstellen. oRate ist in ppm angegeben, 1000 ppm sind 0.1%.

LNDg ist insgesamt sehr technisch, etwas ungewohnt, scheint mir ein sehr mächtiges Werkzeug und sollte daher wohl mit Vorsicht eingesetzt werden. Aber sich damit zu beschäftigen wird sich bestimmt lohnen - zumindest für das Betreiben einer Routing-Node, die ausgeglichene Kanäle braucht um attraktiv zu sein.

Genau so ist es. Direkt nach dem Eröffnen kann man direkt die Fees einstellen.

Um mal ne Lanze für LNDg zu brechen, ich betreibe seit fast 3 Jahren Lightning Nodes und das ist das Tool auf das ich als einziges nicht verzichten wöllte (wenn ich mich für eins entscheiden müsste).

2 „Gefällt mir“

Geht mir auch so!

Geh mal in die Lightning App auf dem umbrel homescreen. In der App oben rechts steht irgendwas wie „Settings“ / „Advanced“ oder so ähnlich.
Da kannst du sämtliche Dinge konfigurieren, u.a. auch die default fee rates und base fee.

1 „Gefällt mir“

Advances Settings - Danke :slightly_smiling_face: :+1:
Direkt geändert auf 1000ppm (=0.1%).

Dort gibt es (neben vielen, die ich noch nicht verstehe) eine Einstellung allow-circular-route (die ausgeschaltet ist):

Circular Payment Routes
Allow payments that are sent through a circular route, where the payment arrives and departs at the same channel.

Ist damit folgendes möglich?

  1. A öffnet einen Channel zu B mit 1M Sats
  2. B öffnet einen Channel zu C mit 1M Sats
  3. C öffnet einen Channel zu A mit 1M Sats
  4. A sendet sich selbst 500K Sats, die werden über B und C nach A geroutet und die Kanäle sind ausgeglichen?

Kannst Du @kieselbert oder @BR_Robin mir eventuell Tipps geben, mit welchen Werten ich bei Auto-Fee und Auto-Rebalance beginnen sollte?

  • Die Max Cost % für das Rebalancing habe ich in den einzelnen Kanälen bereits von 65% (Voreinstellung) bereits auf 100% angehoben (darf kostenneutral sein, da ich lernen und keine Sats verdienen möchte). Den Tipp las ich irgendwo hier im Forum. Allerdings gibt es in den Settings auch nochmal AR Max Cost. Die sollten/müssen dann vermutlich ebenfalls hoch gesetzt werden?
  • Die AR Target Time in den Auto-Rebalancer Settings darf nicht 0 (Voreinstellung) sein, bekomme ich angezeigt.
  • AF Increment in den Auto-Fees Settings würde ich zunächst sogar auf 100 ppm (0,01%) hoch setzen, um einen Effekt (Änderungen) zu sehen, da die Werte ja (soweit ich weiß) nicht öfter als alle 24 Stunden geändert werden sollten. Oder ist das zu hoch?

Die aktuellen Einstellungen von LNDg auf meiner Node:

Das ist quasi der default Wert. Solltest du also einen neuen Channel öffnen ist das erstmal auf diesen Wert eingestellt (bist du es änderst).

Das ist einfach die Zeit in Minuten wie lange er ein Rebalancing versucht bis er aufgibt. Ich hab da 4min, aber das ist Geschmackssache. Deutlich längere Zeiten bringen meist nix.

Würde ich nicht so hoch ansetzen, eher so im bereich 20-25ppm. Anfangs zum lernen ruhig selbst mit den Fees spielen.

Aus dem eigenen Nähkästchen geplaudert, ich nutze nur das Rebalancing, aber nicht die AutoFees. Letztere ändern die Fees nie so wie ich das mag, meist zu schnell nach unten und zu selten nach oben. Auch kann man das „Band“ in dem sich die Fees bewegen sollen nur für alle Channels einheitlich einstellen. Es gibt Channels die ich bei 0ppm lasse damit sich da was bewegt, gleichzeitig will ich aber nicht das andere Channels langsam auf 0ppm gesenkt werden. Unter „Fee Rates“ gibt es die Spalte Adjustments (nach der kann man auch sortieren) und die nehme ich alle 2-3 Tage als Empfehlung und übernehme die dann nach belieben (oder halt auch nicht). Damit fahre ich ganz gut und es ist immer noch deutlich einfacher als den Flow in den Channels „händisch“ zu verfolgen und daraus Rückschlüsse für die Fee zu bilden.
Meine Settings:

2 „Gefällt mir“

Das sehe ich auch so… habe aber leider noch kein interessantes Script gefunden, welches die Fees vernünftig aber doch profitabel reguliert.

Ich mache es ähnlich wie @kieselbert
Autofees finde ich nicht nützlich, aus besagten Gründen. Ich nutze die eigentlich nur nachdem ich einen Channel neu eröffnet habe.
Ich stelle die fee hoch auf etwa 500ppm und autofee reduziert die täglich um 50 solange ich nicht Route. So finde ich irgendwann raus, zu welcher Fee ich gut routen kann.
Sonst ist die autofee für die meisten meiner Channels nutzlos.

Unter folgendem Link findest du ziemlich viele Infos zu den Parametern.

https://github.com/cryptosharks131/lndg#auto-fees

Kieselbert hat ja schon einiges beantwortet, deshalb nur noch kurz zu „AF-Increment“
Unter obigen Link steht folgendes dazu:

" AF-Increment - The increment size of our potential fee changes, all fee suggestions will be a multiple of this value "

D.h. Bei deinem Increment von 100 werden deine Fees nur um 100, 200, etc verändert, nicht aber um etwa 130.

Ich habe die AF-Increment bei z.B. bei 5

2 „Gefällt mir“

Die habe ich jetzt erst einmal aktiviert einfach mal um zu sehen, was passiert. Den Tipp mit den Adjustments habe ich gerade mal angewandt. Direkt nach Aktualisierung wurden bei zwei Kanälen direkt neue Änderungen vorgeschlagen :thinking: das habe ich dann ignoriert.

Vielen Dank :pray: daran kann ich mich orientieren.

Vielen Dank - daran werde ich mich abarbeiten, das ist sehr hilfreich. Somit hat sich die Frage "Was bedeutet * AR-Workers* beispielsweise erübrigt :slightly_smiling_face:

Jetzt heißt es probieren und studieren :eyes:

1 „Gefällt mir“

Wer kann mir sagen, was genau mit „disabling your side of a channel“ gemeint ist?

Übersetzt mit Deepl: „Neben der manuellen Überwachung und Anpassung sollten Sie auch dafür sorgen, dass bestimmte Änderungen automatisch durchgeführt werden. Dies könnte z. B. die Deaktivierung Ihrer Seite eines Kanals sein, wenn Sie keine ausgehende Liquidität haben, oder die Anpassung des Gebührensatzes oder die Wiederherstellung der Verbindung zu Peers mit inaktiven Kanälen.

Siehe letzter Absatz auf der Seite https://c-otto.de

Jede Kanalseite kann deaktiviert / disabled werden, manuell wie automatisiert. Das geschieht zumeist, wenn die Gegenseite offline gegangen ist oder eine instabile Verbindung mit wiederkehrenden Abbrüchen hat. LND deaktiviert den Kanal dann solange, bis die Gegenseite mindestens 20 Minuten eine stabile Verbindung ausweist. Erst dann gibt es den Kanal für das Routing frei.

Diese Methode kann auch für Liquiditätsengpässe genutzt werden. Ist die lokale Balance sehr gering und kann nicht zeitgerecht durch Rebalancing wiederaufgefüllt werden, könnte man den Kanal einseitig deaktivieren, um Routing zu verhindern. Eingehendes Routing ist weiterhin möglich. Wurde die lokale Seite durch natürliches Routing oder gesteuertes Rebalancing wiederaufgefüllt, kann die Kanalseite reaktiviert werden.

Automatisch passiert das wohl, wenn die Local Balance = 0 ist.
Jedoch wie kann ich das manuell machen - gibt es dazu ein lncli-command?