Lightning channel force close

@Inumbro
Meine Node hatte wegen des kürzlichen LND Bug auch Probleme, daher kann ich dir berichten, dass es nur im Log steht, wenn es von dir selbst ausgelöst wurde.

Hiiiiiiilfe, ich bin völlig verloren. Ich bin kein IT-ler / Hacker und verstehe nur die Hälfte von dem was hier so geschrieben wird. Ich liebe aber Bitcoin und habe mir auch 2 Nodes zugelegt, weil ich verstanden habe, dass ich nur mit einer HW-Wallet die an meiner eigenen Node läuft meine eigene Bank bin. Ich habe auch einige Channels zu Kraken, WOS, … eröffnet. Bis auf ein paar Rebalancing Versuche ist da nichts drüber gelaufen. Mit meinen Fulmo Nodes hatte ich aber permanent Probleme. Immer wenn ich aus dem Urlaub gekommen bin liefen die nicht mehr. Immer wieder musst ich die komplett neu (mit den alten Sets) aufsetzen. Das mit den Channel Backups hatte auch nie geklappt, auch nicht mit RTL. Letztendlich wurde immer ein automatischer Force Close auf alle Channels ausgelöst. Mittlerweile bin ich von Fulmo auf Umbrel umgestiegen wobei ich jetzt gesehen habe, die Channels auch nach über 2 Monaten noch nicht zurückgeflossen sind. WOS hat mir dann die Transaktion-ID geschickt, mit der unser Channel geschlossen wurde. Damit konnte ich dann im mempool sehen, dass da noch eine Sperrzeit von 552.720.171 drauf ist. Das hat doch aber nichts mehr mit den 2 Wochen Sperrzeit zu tun, die zu Sicherheit beim Force Close verwendet wird. Habt ihr eine Idee was ich hier machen muss, um meine Funds wieder zu bekommen?

Also das mit der Sperrzeit hat sich mittlerweile geklärt. Das ist tatsächlich UNIX Time die aber bewusst weit in der Vergangenheit liegt, um sicher zu sein, dass die Transaktion sofort ausgeführt wird. Dennoch habe ich noch nicht verstanden, warum meine Gelder noch festhängen. Wenn ich das richtig verstehe gehen die Gelder nach dem Closing aus dem Channel in eine Art „Sperrkonto“ von wo das Geld dann letztendlich auf meine Wallet transferiert wird. Hat jemand eine Idee wie ich das Force Close abschließen kann?

Hier hängt die Transaktion seit Ewigkeiten fest.

Kann mir vielleicht auch einer erklären, was es mit diesem Banken auf sich hat. Habe den bei meinen diversen offenen Force Close Channels in unterschiedlichen Darstellungen/Streifenverteilungen.

Wie kommst du denn darauf? Der Channel Close ist seit Blockzeit 795512 bestätigt, siehe auch die entsprechende Transaktion mempool - Bitcoin Explorer

Wenn die Funds überwiegend auf deiner Seite waren, dann sollte die Adresse bc1qdyygr748lmh048lv33t3rm625kyum64fpqnz2q7d6278ww5duqxsjg2g5f Teil deiner Lightning-Onchain-Wallet sein, vorausgesetzt du hast diese LND- oder CL-Wallet noch.

Von welchen Banken sprichst du? Wäre nett, wenn du vor dem Posten deinen eigenen Text nochmal kurz überfliegen könntest, um Autokorrektur-Fails zu vermeiden.

Du meinst ja sicherlich den Balken der „Starting balance“ bei deinem ehemaligen Kanal mempool - Bitcoin Explorer

Ich habe mir die Anzeige von mempool.space mal für einen meiner (noch aktiven) Kanäle angesehen und muss sagen, daß ich den Balken auch nicht so recht verstehe. Ich denke, da müsste man mal im Mempool.space Chat nachfragen oder andere Doku dazu suchen.

Aber generelles Beispiel: wenn ich einen Kanal der Kapazität 5M Sats zu WOS aufmache, dann sind die 5M Sats erstmal auf meiner lokalen Seite des Kanals. Davon könnte ich jetzt etwas weniger als 5M Sats in Richtung WOS schieben. Etwas weniger deswegen, weil eine Reserve für eine Channel Close Transaktion und deren Gebühren zurückbehalten werden muss.
Derjenige, der einen Kanal schließen möchte, bezahlt auch die Transaktionsgebühren für die abschließende On-chain-Konsolidierungstransaktion, soweit ich mich erinnere (hab’ nicht mehr alle Details von Lightning im Kopf).

Hallo Clicktor,

vielen Dank für Deine schnelle Rückmeldung.
Ja, dass mit den Bestätigungen habe ich natürlich auch gesehen, aber das Geld ist nie auf meinem Node, den ich mit den alten Seeds neu aufsetzen musste, angekommen. Im Bild sieht mal die Abbuchung für das Channel Opening mit WOS, aber keine Gutschrift. Die hängt noch auf der …2g5f fest.

Gleiche Probleme (eingefrorene Funds) habe ich noch mit 6 anderen Force Close, die aus dem Zusammenbruch meiner zwei Nodes resultierten. Die 5 Mio. von WOS ist aber der größte Brocken, der mir fehlt.

Bei meinen Channels, von denen ich das Geld erhalten habe stand übrigens auch immer:

… bei den oben genannten fehlt genau dieser Eintrag „Lightning Force Close“

Mit den Banken/Balken hast Du natürlich völlig recht. Eigentlich sollte ich die Autokorrektur ausschalten, aber dann wäre in meinen Texten sicher noch mehr Fehler drin.

Auf die Idee, dass das die Liquidity-Verteilung der Channels sein könnte bin ich noch gar nicht gekommen. Dachte immer, dass das eine Art Zeitstrahl ist, der anzeigt, wie weit der Closing Prozess fortgeschritten ist. :see_no_evil:

Also auch dafür vieeeelen Dank!!

Sorry Cricktor, schon wieder so ein bug. :see_no_evil: Ich dachte ich hätte Deinen Namen doppelt kontrolliert.

Oh, der war gut… Falls du es noch nicht weißt, du kannst deine eigenen Beiträge durchaus nachträglich bearbeiten.

Ich vermute, du hast ein Static Channel Backup (SCB) wiederhergestellt und da ist es normal, daß alle Kanäle per Force Close geschlossen werden.

Um dein Problem lösen zu können, muss man etwas methodischer herangehen und vorallem nicht spekulieren müssen. Dazu hätte ich folgende Fragen, die du bitte möglichst genau und vollständig beantworten solltest.

  1. Das Öffnen des 5M-Kanals zu WoS am 6.12.2022 geschah mit welcher Lighning Node, Fulmo/Raspiblitz oder Umbrel? Lief da LND oder CL (Core Lightning) auf der Node?
    (Ich tippe auf LND.)

  2. Beim Umstieg von Fulmo/Raspiblitz zu Umbrel hast du da bei Umbrel eine neue Lightning-Wallet erstellen lassen oder hast du die alte Lightning-Wallet wiederhergestellt mit den „alten“ Recovery Wörtern?

Bitte vorsichtig sein und niemals Wallet Recovery Wörter einer mit Funds beladenen Wallet online veröffentlichen oder irgendwo online eingeben!

Das waren zwei Raspi Fulmo Nodes mit LND.

Nachdem die mir ausgefallen sind, hatte ich die mit einem neuen Fulmo Flash der SD Karten, aber den alten Seeds neu aufgesetzt.

Das war mein letzter RTL Screenshot vor dem Absturz. Danach bin ich in den Urlaub gegangen.

Den Umstieg auf Umbrel und die Umbenennung auf WeitblickUmbrel hatte ich erst Mitte September mit einem Freund gemacht.

Mir ist vor paar Monaten das gleiche passiert. Meine 0,1 BTC habe ich auch nie wieder bekommen. Habe schon alle möglichen Apps und Tools ausprobiert. Falls du eine Lösung findest, gerne Posten. Ich habe auch noch nicht aufgegeben.

Die Local/Remote-Sat-Verteilung für den Kanal zu WoS passt aber nicht mit der On-Chain-Force-Close-Transaktion zusammen. Wobei noch zu klären wäre, zu wessen Wallet die Adresse bc1qdyygr748lmh048lv33t3rm625kyum64fpqnz2q7d6278ww5duqxsjg2g5f gehört.

Die zwei Raspi Fulmo Nodes (da sollte Raspiblitz drauf laufen, soweit ich weiß) hatten doch aber unterschiedliche LND-Wallets, oder? Hast du für die Fulmo-Nodes zwei Sätze mit je 24 Aezeed-Recovery Wörtern gehabt? Zwei identische Sätze von Recovery Wörtern oder zwei unterschiedliche Sätze?
Das müsstest du ja alles schriftlich dokumentiert und gesichert haben.

Du hast meine Frage 2 nicht wirklich beantwortet. Es wäre wichtig zu wissen, ob und wo ggf. noch Zugriff auf die ursprüngliche LND-Onchain-Wallet besteht, mit der die Kanäle geöffnet wurden.

Du hattest ja mit deinen drei offenen Kanälen eine Local Balance von fast 7M Sats (Total Capacity, Local im Screenshot), die du bei einem korrekten Force Close abzüglich Gebühren zurück in die alte LND-Wallet bekommen müsstest.

Hast du vor dem Absturz irgendwelche Kanal-Backups gemacht?

Ich würde mit der Node (dem LND Seed, der die onchain funds vermisst) ein reset-wallet-transactions durchführen. Das startet einen Rescan der Blockchain seit „Geburtstag“ der Node und prüft nochmal alle spends, ob sie zu ihr gehören. Die Option müsste es in den RaspiBlitz-Einstellungen geben.

Falls nicht, händisch reset-wallet-transactions=true in die lnd.conf eintragen und LND neustarten (https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf#L346). Anschließend den Eintrag wieder entfernen, sonst macht LND das bei jedem Neustart.

Keine Ahnung wo die Differenz her kommt. Vielleicht sind ja vor dem Zusammenbruch der Node noch Aktivitäten auf dem Channel gelaufen. Von mir wurden die aber nicht ausgelöst. Transaktionen konnte ich nach dem Neustart der Nodes keine erkennen.

Ja, aber … Nachfolgend meine Backup-Übersicht:

Das Schreiben der Backups auf den USB habe ich beim Fulmo Menü nie wirklich verstanden und die haben auch nur „selten“, mehr zufällig funktioniert (oft Fehlermeldungen mit denen ich nichts anfangen konnte). Habe mich dann auf den RTL Channel-Backup konzentriert der zwar leicht war zu erstellen, aber ein Horror, wenn ich den wieder einspielen wollte (andere Geschichte). Vor meinem Urlaub hatte ich dann am 1.3.23 noch mal alles „gesichert“, was ging.

Jede Node wurde mit eigenen Seeds erstellt (die natürlich auch angemessen auf getrennten Stahlplatten gesichert wurden), also gehe ich auch mal von eigenen LND Wallets aus. Hier in der Diskussion beschränke ich mich aber auf eine Node (Weitblick, neu WeitblickUmbrel), weil hier mein dickster Channel liegt. Nur damit ich keinen Fehler mache: die LND Wallet ist die OnChain-Wallet der Node, oder? Das ist die, auf der die Coins auf der Haupthahn für die Lightning Channels geblockt werden? :see_no_evil:

Ich habe mal eine Zusammenstellung aller Channels meiner zwei Nodes gemacht.

Die gelben Felder zeigen, welche Channels noch nicht abgeschlossen sind. Die hängen in einer Art „Übergangs-/Sperrkonto“. Ich habe keine Ahnung wem die Konten gehören, bzw. wie ich da ran komme, oder wen ich ansprechen kann, um die Gelder frei zu geben. …2g5f ist genau so eine Adresse. Auf die anderen „Wallet Closing Adresse“ konnte ich Gutschriften auf meinem Konto (Hauptchain) finden.

Kennst Du diese „Übergangs-/Sperrkonto“.

Nachdem ich die Funds auf dem Fulmo Raspi trotz Neustart und Neuinstallation nicht mehr herstellen konnte (wie gesagt, die hängen in irgendwelchen „Übergangs-/Sperrkonten“) und mir weder der Fulmo Support (schlechtester Support den ich überhaupt kenne, obwohl ich extra ein Ticket bei denen gekauft hatte!!!) noch WOS und selbst René Pickardt bislang nicht weiterhelfen konnte, habe ich von Fulmo auf Umbrel umgestellt, in der Hoffnung, dass da der Rescan andere Ergebnisse liefert. Leider nein. Bin jetzt gerade dabei noch einmal Fulmo zu installieren, wobei ich jetzt sogar die Festplatte komplett platt gemacht habe. Auf Transaktionsdaten ab „Geburtstag“ der Node, also vor dem Zusammenbruch, zugreifen zu wollen wird wohl nicht mehr funktionieren. Der Rescan läuft jetzt seit fast einer Woche und ist noch nicht mal bei 50%. Bin mal gespannt wie lange das noch dauert. Hatte gehofft, dass das etwas schneller geht. Werde dann natürlich Deine Empfehlungen mal ausprobieren.

Ist das derselbe Rescan-Prozess oder meinst du etwas anderes? In jedem Fall zunächst das Ergebnis abwarten.

Ich habe den Recsan bei jeder Neuinstallation laufen lassen, um sicher zu gehen, dass da nichts verloren geht, nur das ich dieses Mal sogar die SSD vorher formatiert habe. Bislang ging der Rescan auch bedeutend schneller, so dass sich da schon was geändert haben muss. Bin mal gespannt.

Das heißt die Blockchain muss ebenfalls nochmal gesynct werden? Gut, dann dauert das natürlich etwas.

Wenn die Blockchain und LND synchronisiert sind, solltest du mal auf die Kommandozeile gehen und mit lncli wallet mal untersuchen, was da so zu sehen ist.

NAME:
   lncli wallet - Interact with the wallet.

USAGE:
   lncli wallet command [command options] [arguments...]

COMMANDS:
   pendingsweeps    List all outputs that are pending to be swept within lnd.
   bumpfee          Bumps the fee of an arbitrary input/transaction.
   bumpclosefee     Bumps the fee of a channel closing transaction.
   listsweeps       Lists all sweeps that have been published by our node.
   labeltx          Adds a label to a transaction.
   publishtx        Attempts to publish the passed transaction to the network.
   releaseoutput    Release an output previously locked by lnd.
   leaseoutput      Lease an output.
   listleases       Return a list of currently held leases.
   psbt             Interact with partially signed bitcoin transactions (PSBTs).
   accounts         Interact with wallet accounts.
   requiredreserve  Returns the wallet reserve.

OPTIONS:
   --help, -h  show help

Auch was lncli walletbalance ausgibt, wäre erstmal interessant.
lncli listunspent gibt dir die transferierbaren Coins der On-chain-Wallet.
Was es mit lncli releaseoutput und den anderen Unterbefehlen wie leaseoutput und listleases auf sich hat, müssen wir dann noch recherchieren oder Jemand hier im Forum kennt sich damit aus.

Man kann sich da langsam herantasten, ich finde sowas durchaus spannend und man kann eigentlich immer irgendwas dabei lernen.

Man kann sich erstmal mit lncli help ansehen, was lncli so zu bieten hat.
Bei einzelnen Kommandos von lncli kann man sich z.B. mit lncli help listunspent weitere Details bzw. Erklärungen zum Kommando abrufen.
Bei Kommandos von lncli, die Unterkommandos haben, kann man dann z.B. mit lncli wallet help oder lncli wallet help listleases weiterkommen.

Ich hatte bisher nicht so’n LND-Recovery-Problem am Hals, daher auch ein wenig Neuland für mich. In der Bitcoin- und Blockchain-Materie stecke ich aber einigermaßen gut drin und die Linux-Kommandozeile ist mir auch nicht fremd. Interessant ist es jedenfalls.
Was ich nicht beurteilen kann, ist, ob das vollständige Plattmachen der Node zu einem echten Problem werden kann, weil alte LND-Zustände jetzt natürlich weg sind.

Könnte sein. Ich will nur hoffen, daß es keine Penalty-Transaktion gegen deinen Kanal war. Ich wundere mich auch etwas über die vier Outputs der Channel-Close-Transaktion. Ich hätte da nur zwei erwartet, nämlich die Adressen beider Kanalpartner.

Sag’ Bescheid, wenn alles synchronisiert ist, also Blockchain und LND bei 100%. Dann sehen wir erstmal, was die On-chain-LND-Wallet so sagt und ob der Tipp von @utxo noch nötig ist.

Willkommen im Club. Ich bin mir absolut sicher, dass es hunderte da draussen mit ähnlichen Problemen gibt, denen das aber noch gar nicht so richtig aufgefallen ist.

Jeder der neu in dem Thema unterwegs ist und seine erste Node installiert probiert Sachen aus. Eröffnet Channels. Versucht Gelder hin und her zu schieben. Funktioniert nicht weil es die falschen / zu kleinen oder nicht ausbalancierte Channels sind. Dann Versucht man ein normales Closing, geht zu langsam. Wechselt auf ein Force Close in der Hoffnung, dass das schneller geht… Oder die/der Node gibt den Geist auf und es folgt bei der Neuinstallation automatisch ein Force Close. So war jedenfalls meine Historie. Bei den vielen hin und her habe ich den Überblick der Zahlungen und Gutschriften und somit auch der Rückzahlungen aus den Channels völlig aus den Augen verloren. Den großen Brocken von WOS konnte ich dann aber nicht mehr übersehen, weswegen ich meine alten Channel Closings mal überprüft habe. Das hat mich dann schon schockiert, dass 12 Channels mit einem Gesamtvolumen von 2.500€ noch offen sind. Jeder sollte mal nachschauen, ob er seine Funds, abzüglich Gebühren, nach einem Closing wirklich auf der Mainchain wieder gutgeschrieben bekommen hat. Ich bin sicher, dass es da viele gibt, die offene Positionen haben.

Ja, werde es gerne mal testen, wenn der Sync abgeschlossen ist. Bin jetzt bei 55,5%.

Ich bin froh, dass Dich das interessiert und Du helfen willst, weil ich bislang nur gegen eine Wand gelaufen bin.

WOS hat mir bestätigt, dass es keine Penalty-Transaktion war und sie ihren Teil der Channels bekommen haben. Nur meiner Steckt noch fest. Ich habe mit meiner Familie auch einen Ring mit 5 Nodes aufgebaut, wo auch Channels geschlossen wurden. Die Gegenseite hat die Gelder bekommen, nur bei mir hängen die auf den ominösen „Sperrkonten“ fest. Auch das waren alles keine Penalty-Transaktions.

Habe ja noch eine zweite Node die aktuell auf Umbrel läuft, bei der drei Force Closing noch offen sind. Eine davon ist:

… auf der die Funds auf der …77pnd festhängen.

Wir können auch gerne bei der weiter suchen, solange Fulmo synchronisert. Lösen wir eines der Probleme, lösen wir vermutlich alle.