Lightning Unklarheiten

Lightning Auto-Backup / Monitoring

Also ich verstehe das so, das in der channel.db die Balance enthalten ist. Somit bräuchte man bei jedem Satoshi der über die Channels gegangen ist sofort ein neues Backup, das auch einen Datencrash überlebt. Wenn man das nicht gewährleisten kann (bzw. unsicher ist ob das Backup exakt die letzte Lebenssekunde der Node abbildet), spielt man die channel.db lieber per „restorechanbackup“ ein und veranlasst die Peers die Channels zu schließen. Richtig?

Richtig channel.db sollte so hald immer so aktuell wie möglich sein. RTL legt zumindest schon automatisch backups ab. Die braucht man dann auch nur mehr redundant wo sichern

Automatisch? Habe eben danach gesucht. Unter Lightning → Backup musste ich erst „Backup All“ klicken, bevor unter /rtl/backup/ die Datei „channel-all.bak“ befüllt wurde.
Vorher: 0 Apr 1 17:21 channel-all.bak
Nachher: 20329 Apr 6 15:33 channel-all.bak

Mein Raspiblitz legt mir die Backups auf einen USB-Stick, meine Umbrel-Node…keine Ahnung…scheinbar muss ich das manuell machen.
Ich habe ein Problem mit „channel.db sollte so hald immer so aktuell wie möglich sein“. Es gibt da ja nur ganz aktuell (auf den Satoshi genau) oder veraltet. Keine Grauzone dazwischen also. Im letzten halben Jahr hatte ich im Durchschnitt eine Transaktion pro Tag die über meine Node lief. Sowas kann man mit einem täglichen Backup gut einfangen, aber wenn die Transaktionen mal zunehmen (Lightning soll ja tausende von Transaktionen pro Sekunde ermöglichen) dann schreibt man sich doch mit Backups einen Wolf. Dann crasht irgendwann mal die eigene Node und war natürlich grad live beim schreiben eines Backups von dem nur ein korruptes File übrig bleibt.
Irgendwie fände ich es sinnvoller wenn Channelpartner regelmäßig oder auf Anfrage (nur dem Partner) die aktuelle Channelbalance ausplaudern würden. Dann könnte man nach einem Restore die aktuelle Balance einfach erfragen und muss der Antwort eben glauben schenken. Das muss ich ja auch wenn ich den Channel Close verlange. Da kann der Partner auch eine falsche Endbalance senden, hat aber das Risiko das ich plötzlich doch noch mit einer aktuelleren Balance aufwarte und als Strafe die Balance zu mir ziehe.

ja du hast recht dachte echt das wird getriggert wenn ein neuer channel Point hinzukommt …hmm gleich mal schauen ob man sich das Anklicken sparen kann. Ich nutz auch die Backup funktion von Raspiblitz.

Ja wenn man wirklich viel los ist auf einer node und im sekunden takt die forwards kommen wird das noch interessant. Aber soweit ich das verstehe is der close sicherer, und der watchtower passt auf das bei der on-chain tx nicht geschummelt wird also eine falsche endbalance kommt

Hier wird sogar vom periodischen backup abgeraten

We say safe , as care has been taken to ensure that there are no foot guns in this method of backing up channels, vs doing things like rsync ing or copying the channel.db file periodically. Those methods can be dangerous as one never knows if they have the latest state of a channel or not. Instead, we aim to provide a simple, safe method to allow users to recover the settled funds in their channels in the case of partial or complete data loss.

There are multiple ways of obtaining SCBs from lnd. The most commonly used method will likely be via the channels.backup file that’s stored on-disk alongside the rest of the chain data. This is a special file that contains SCB entries for all currently open channels. Each time a channel is opened or closed, this file is updated on disk in a safe manner (atomic file rename). As a result, unlike the channel.db file, it’s always safe to copy this file for backup at ones desired location. The default location on Linux is: ~/.lnd/data/chain/bitcoin/mainnet/channel.backup

Also jedes mal wenn ein channel dazu oder weg kommt das machst einfacher :slight_smile:

Ok, dann ist quasi das channel.backup der der teure aber sichere weg. Ich verliere die Gebühren fürs Schließen und anschließende „Wiedereröffnen“, gehe aber kein weiteres Risiko ein. Wenn ich mir das sparen will gehe ich das Risiko ein ganze Channelbalances zu verlieren. Nun gut, dann ist das der derzeitige Stand der Technik. Ich hoffe da wird noch was besseres entwickelt. Man könnte ja vielleicht irgendwann auch Watchtowers nach der aktuellen Balance befragen? Vielleicht sogar gegen Einwurf von ein paar Satoshis. Die Watchtowers wollen ja auch betrieben werden.

Denke schon das da noch was nachkommt, aber man kann ja beide varianten abwägen. Wenn man wirklichen eine total crash hat und nur mehr auf ein sehr altes backup file zurück greifen kann. Recovern mit Seed + channel will man ja eh nur im worst case. (Hier kommt dann die Frage ab welchen betrag im node bessere hardware her muss redundant Bauteile etc.) Bis jetzt bin ich gut gefahren einfach das lnd directory zu kopieren. Da kann man auch auf einen anderen node übersiedeln und channels bleiben offen. Raspiblitz macht das auch nicht anders beim release upgrade

Ja diese Überlegungen mache ich mir gerade, weil die Guthaben in meinen Nodes (auch dank Kursanstiegen) recht gut wachsen. Wenn mir der Raspiblitz abstürzt weiß ich in dem Moment ja nicht was kurz zuvor passiert ist und ob ich meiner channel.db noch vertrauen kann (was Aktualität betrifft). Das ging halt bisher gut weil die Abstürze nichts mit Schreibfehlern auf SSD zu tun hatten.
Lieber würde ich meine Nodes als VM auf dem Server laufen lassen, da habe ich schonmal ein Raid drunter und ne USV die bei Stromausfällen das ganze weiter versorgt. Da ist halt mein Problem das die Projekte (Raspiblitz, Umbrel,…) eher auf den Raspi zugeschnitten sind und alle Alternativen Plattformen eher in die Schublade „Experimental“ gesteckt werden. Ich teste Umbrel zwar aktuell unter Ubuntu als VM, aber auch da fehlt mir noch ein vernünftiges Backupkonzept.

Du kannst ja einen node auf jeden linux bauen, is natürlich viel mehr arbeit bis man alle tools zusammen hat. Von einer VM würd ich abraten damit hab ich ganz schlechte Erfahrungen gemacht bzgl. File I/O und perfomance bei meine ersten node. Gut war jetzt auch nicht soviel schmalz am Host vorhanden. Oder hast du vor eine große ESXI, oder Proxmox aufzustellen ?

Ich hab nen qnap tvs 882 stehen, das packt ein paar VMs, wenn man ihm auf Tier1 schnelle SSDs spendiert hat. Da lief auch schon immer eine Fullnode mit (ohne Lightning). Ich bin aber auch etwas faul und habe nicht so richtig Lust eine Lightning-Node von Grund auf selbst zu bauen. Mir würde deshalb sowas im Konzept von Umbrel gefallen, was ich in einer VM laufen lasse, ein Backupkonzept dazu ersinne und mich dann so wenig wie möglich drum kümmern muss. Das gebastel mit Raspberrys ist eigentlich die falsche Richtung, soviel Aufmerksamkeit wollte ich diesem Projekt gar nicht geben (auch wenns nun doch passiert ist).

Da wäre ja ein Notebook mit Akku als Notstrom noch sicherer gegen Stromausfall. Irgendwie hat das LND-Konzept noch nicht ganz Hand und Fuß, wenn es so viel Aufwand für Sicherung und Wiederherstellung bedeutet.
Das Thema Watchtower hatte ich mir vorhin auch angeschaut. Also noch eine dritte Instanz, die die Überwachung übernimmt? Hm schwierig umzusetzen. Da bräuchten wir noch einen „Blocktrainer Is Watchtowering You“-Austausch-Thread :slightly_smiling_face:

Ich will die Projekte Raspiblitz und Umbrel ja nicht schlecht reden, die Entwickler machen einen super Job und werden dafür noch nicht mal bezahlt. Trotzdem gibt es da aus meiner Sicht eine „kleine“ Diskrepanz zwischen Raspberry Pi Experimenten und einem (Netz)-Service der möglichst ausfallsicher laufen sollte (erst recht wenn Geld ins Spiel kommt). Da fehlt mir irgendwie ein Projekt als goldener Mittelweg. Ich hab nen Server, kann mit Linux was anfangen und hab ein paar Ressourcen frei die ich dem Bitcoinnetzwerk und dem 2nd Layer Lightning zur Verfügung stellen will. Dafür brauch ich eine Lösung, die nicht zum nächsten größeren Hobby heranwächst. Vielleicht gehöre ich auch zu einer Zielgruppe die zu klein ist, das kann natürlich sein. Entweder man stellt sich nen Raspi hin oder man ist Vollzeit-Nerd und macht eh den ganzen Tag nix anderes als seine Linuxbüchsen zu streicheln. Dazwischen ist nur luftleerer Raum :grinning:

Edit: So ich geh erstmal meine Nextcloud streicheln, die fühlt sich glaube einsam.

2 „Gefällt mir“

100% deiner Meinung. Raspiblitz und Umbrel können hier nichts für. Sie können nur nehmen, was da ist.

Umbrel kannst auch im Docker laufen lassen!

Es gibt sogar ein USV Modul für den Raspi: RPI USV+: Raspberry Pi - USV+ bei reichelt elektronik :star_struck:

so ein board hab ich auch grad gefunden :slight_smile:

Naja, da fehlt leider noch der Akku und für 60€ gibt es dann eine „echte“ USV …