Backup eines RaspiBlitz

Moin zusammen. :slightly_smiling_face:

Es ist wahrscheinlich eine Noob Frage, jedoch bin ich noch nicht so ganz dahinter gestiegen, wie das mit einem Backup auf einem RaspiBlitz nun richtig funktioniert.

Wenn ich das bisher richtig verstanden habe, dann ist das wichtigste Backup jenes, welches ich von meinen Channels erstelle. Mal abgesehen vom Seed. Alles andere scheint eher der allgemeinen Konfiguration zu dienen?

Ich habe bereits über RTL versucht ein Backup zu machen. Dort wird mir ein Pfad angezeigt. Gehe ich dann auf „Backup all“, erhalte ich die Meldung, dass der Vorgang erfolgreich war. Gehe ich anschließend auf „Download Backup“ erhalte ich folgende Fehlermeldung:

Unter dem Reiter „restore“ ist angeblich ebenfalls keine entsprechende Datei vorhanden.

Also habe ich mich via SSH angemeldet, dort unter „settings“ die Backup Variante mit dem USB Stick ausgewählt, und bin die angezeigten Schritte durchgegangen. Allerdings habe ich keine Ahnung, ob das Backup nun dort tatsächlich gespeichert ist. Kennt von euch jemand das Problem oder habe ich etwas übersehen? Muss ich noch irgendwelche Pfade generieren, damit die Option über RTL funktioniert?

Die nächste Frage, die sich mir stellt, hat etwas mit der Wiederherstellung zu tun. Wenn ich das richtig verstehe, dann kann ein Backup immer nur von der Version wiederhergestellt werden, von der das Backup stammt. Ist das richtig? Also angenommen, ich mache jetzt ein erfolgreiches Backup und führe dann Update auf die aktuelle RaspiBlitz Version durch, dann kann ich anschließend meine Sicherung gar nicht verwenden?

Sorry für die Fragen. Aber ich bin mir da gerade etwas unsicher und will nicht einfach draufloslegen.

Viele Grüße

Als Backup reicht der Seed und das Channel Backup.
Dürfte auf allen RaspiblitzVersionen das gleiche ChannelBackup sein, da man
jederzeit auf die neuste Version aufstocken kann und das Channelbackup immer
eingelesen werden kann.
Hier ist der Telegram Channel von Raspiblitz Deutschland. Klein und fein.

also ich habe beim raspiblitz nun bei settings & options ein Staticchannelback up auf dem stick aktiviert.
diesbezuüglich zwei Fragen:
ich finde keine backupdatei im dateiverzeichnis media. wo werden die backups gespeichert?
und mir ist auch nicht ganz ersichtlich wie ich die backupdatei einspielen sollte, sofern ich sie denn dann mal finde.
in der readme vom raspiblitz hab ich folgendes gefunden:

[Since LND v.06 (and RaspiBlitz v1.2) a feature called Static-Channel-Backups is available. Within RaspiBlitz this is used when a channel.backup file is mentioned.

Its the best backup to protect the funds you put on your RaspiBlitz and into channel available yet - so its recommended to make use of it.

To recover your funds you need two things:

  • the 24 words seed
  • the latest channel.backup file

The word seed you got during wallet setup, to write it down and to keep it at a safe (offline) location. The channel.backup is stored on the HDD and updated by LND everytime a new channel is opened or closed. The lastest version of this file is needed to recover all your funds (if possible). In case your HDD gets damaged, RaspiBlitz always keeps a copy of the latest version of the channel.backup file on the SD card within the subdirectories of: /home/admin/.lnd/data/chain/.](raspiblitz/README.md at v1.2 · rootzoll/raspiblitz · GitHub)

allerdings ist unter /.lnd keine backupdatei zu finden… wie erstelle ich die backupdatei

Weiß halt nicht ob das Backup ausreicht um den Raspiblitz nach dem Backup weiter zu betreiben. Nach meiner Information reicht das Backup aus, dass Zugriff auf deine Bitcoins wieder möglich sind, aber es könnte sein das alle Channels geschlossen werden müssen, da die Channel Backup Datei vielleicht nicht alles enthält, was nötig ist um direkt mit den geöffneten Channels direkt weiter zu machen.

Reicht es aus, wenn das Channel-Backup beim letzten Öffnen / Schließen eines Kanals erstellt wurde oder benötige ich ein Channel-Backup nach der letzten Transaktion um wieder alles sicher herzustellen?

Laut Raspiblitz Doku reicht ein Channel-Backup nach dem letzten Öffnen / Schließen eines Kanals aber woher kommen dann die neuesten Infos bezüglich aktueller Balance wenn es Transaktionen gab? Sonst laufe ich ja Gefahr einen veralteten Stand wieder einzuspielen mit dem Backup?

Mit einem Channel-Backup werden alle deine Channels geschlossen damit du wieder an deine BTCs kommst. Für eine Wiederherstellung, solltest du lieber die rescue Datei verwenden. Diese muss immer aktuell gehalten werden.

Wann ist das Rescue File aktuell? Backup nach jeder Transsktion oder nur nach Channeleröffnungen?

Der Raspiblitz bietet 3 unterschiedliche Recover-Funktionen an:

  • LNDRESCUE
  • SEED+ SCB
  • ONLYSEED

Siehe Raspiblitz-Doku.

LND RESCUE FILE

Ein Rescue-File muss manuell angelegt werden, im Grunde legt es ein gzip File von /mnt/hdd/lnd an.

Was es genau macht sieht man im Skript: lnd.backup.sh

Das Problem bei diesem „Backup“ ist, dass es die channel.db, die zentrale Datenbank enthält. Diese ändert sich im laufenden Betrieb ständig, insbesondere bei Transaktionen. Eine Transaktion (Payment, Forward, etc.) verändert die Balance in den Kanälen. Spielt man einen alten Stand ein, wird das von der Gegenseite möglicherweise als Betrugsversuch gesehen und man wird bestraft und verliert alle Funds des Kanals.

Deswegen ist dieses Backup wirklich nur gedacht, wenn der Raspiblitz nicht mehr startet und man irgendwie die Daten sichern möchte. Wenn man nach dem Backup lnd wieder startet, sollte man es nicht mehr nutzen, außer man weiß genau, was man tut.

Seed + SCB

Aus diesem Grund wurde für lnd das sog. „Static Channel Backup“ konzipiert. Es speichert alle relevanten Informationen für die Kanäle (aber nicht die Balance, aus oben genanntem Grund). Wird so ein Backup eingespielt werden alle Peers informiert, dass sie den Kanal doch bitte force-closen sollen. So kommt man im besten Fall wieder an die Bitcon auf der Chain. Die Kanäle sind nachher aber alle geschlossen, außer ein Peer ist ebenfalls offline.

Das SCB ist mit dem Seed verschlüsselt, deswegen braucht man dazu auch unbedingt den Seed.

Der Raspiblitz kann so konfiguriert werden, dass automatisch ein Backup auf einem USB Stick angelegt wird. Das sollte man auf jeden Fall machen. Nextcloud wird ebenso unterstützt. Zusätzlich hat der bos telegram bot eine automatisch Backup-Funktion. Ein physisch separiertes Static-Channel-Backup ist dringend zu empfehlen!

Seed only

Mit dem Seed alleine kann man eigentlich nur die on-chain-BTC retten. Wenn man nur noch den Seed hat und sonst nichts, kann man die On-Chain-Balance holen und darauf hoffen, dass die Peers den Kanal von sich aus schließen (und dabei nicht betrügen).

Das Rescue-File verändert sich also in relevantem Sinn nach jeder Transaktion (und in anderen Fällen sobald lnd läuft). Das SCB nur nach Channel-Öffnung bzw. Channel-Schließung.

5 „Gefällt mir“

Hallo GLN,

vielen Dank für die umfassende Erläuterung! Nach mehrfachem Durchlesen hab ich es jetzt auch verstanden.
Der nächste Schritt wäre jetzt ne USV an den Raspiblitz zu binden. Ohne das wäre es mir zu heiß größere Liquidität ins LN zu stellen, was denkst du?

Schau mal in diesen Tutorial Thread von @GLN, da geht es unter anderem auch um USV: