Home » Bitcoin » Raspiblitz SCB Backup auf einer Nextcloud
|

Raspiblitz SCB Backup auf einer Nextcloud

Ein RaspiBlitz SCB Backup ist die Lebensversicherung eurer Lightning-Kanäle: Fällt die Node aus, holt ihr mit der Datei channel.backup und eurer Seedphrase die Mittel aus den Kanälen zurück. Nur liegt diese Datei standardmässig genau dort, wo auch die Node steht — und ein Backup, das mit dem Gerät zusammen brennt, ist keins. Der RaspiBlitz bringt deshalb eine Funktion mit, die dieselbe Datei zusätzlich in eine Nextcloud eurer Wahl schiebt. Wie ihr sie einschaltet, was sie wirklich sichert und welchen Preis sie hat, steht hier.

Terminalfenster auf dunklem Grund: der RaspiBlitz ruft das Skript nextcloud.upload.sh auf und lädt die Datei channel.backup in eine Nextcloud hoch, darunter die Erfolgsmeldung des Skripts.

Was das RaspiBlitz SCB Backup sichert — und was nicht

SCB steht für Static Channel Backup. Die Datei channel.backup enthält laut der Wiederherstellungsdokumentation von LND Einträge für alle derzeit offenen Kanäle und wird jedes Mal neu geschrieben, wenn ein Kanal geöffnet oder geschlossen wird. Verschlüsselt ist sie mit einem Schlüssel, der aus eurer Seedphrase abgeleitet wird — ohne die Seed ist die Datei für Dritte wertlos. Genau deshalb ist es unbedenklich, sie in eine Cloud zu legen.

Wichtig ist, was beim Wiederherstellen tatsächlich passiert. LND startet mit der Datei, verbindet sich zu euren früheren Peers, und diese erkennen über das DLP-Protokoll, dass ihr Daten verloren habt. Die Gegenseite schliesst den Kanal daraufhin zwangsweise und schickt euch das Schlüsselmaterial, mit dem ihr an euer Guthaben kommt. Ihr bekommt also eure Mittel zurück, nicht eure Kanäle. Wer nach einem Ausfall weitermachen will, baut die Kanäle neu auf — wie das geht, steht im Beitrag zum Finden von Peers und Eröffnen von Kanälen. Wer gar keine eigene Node betreibt, hat diese Aufgabe nicht: Bei Wallets wie der Phoenix Wallet kümmert sich die App selbst um die Kanaldaten.

Zwei Grenzen nennt die LND-Dokumentation ausdrücklich. Erstens holt ein SCB nur Mittel zurück, die in den regulären Ausgängen des Kanals liegen, nicht solche, die gerade in einer schwebenden Zahlung stecken. Zweitens ist eine veraltete Sicherungsdatei gefährlich: Wurde der Kanal seit dem Backup weiterbenutzt, kann die Gegenseite oder ein Watchtower eine Straftransaktion auslösen und das gesamte Kanalguthaben einziehen. Ein SCB ist damit kein Backup im Sinne von „irgendeine Kopie genügt“, sondern nur die jeweils jüngste Fassung taugt etwas. Das ist der eigentliche Grund, warum sich diese Datei automatisch nachführen muss.

Warum drei Kopien im selben Gehäuse keine drei Kopien sind

Der RaspiBlitz sichert die Datei von sich aus mehrfach, und das ist wenig bekannt. In der Hintergrundschleife des Systems vergleicht er laufend die Prüfsumme des Originals mit der seiner Kopie. Sobald sich die Datei ändert, legt er sie unter /home/admin/backups/scb/channel.backup ab, zusätzlich eine zweite Kopie mit Zeitstempel im Dateinamen, und ausserdem eine auf der Bootpartition unter /boot/firmware/channel.backup. Nachlesen lässt sich das in home.admin/_background.sh im Projekt-Repository.

Das klingt nach vielen Kopien und ist trotzdem eine einzige, was Katastrophen angeht. Alle drei liegen im selben Gehäuse auf demselben Tisch. Ein Festplattenausfall wird davon aufgefangen, ein Brand, ein Wasserschaden oder ein Einbruch nicht. Genau das meint die 3-2-1-Regel, wenn sie eine Kopie ausser Haus verlangt: Es geht nicht um die Anzahl, sondern um die Trennung. Die Nextcloud-Funktion ist die einzige der vier Kopien, die diese Trennung herstellt — und sie ist die einzige, die ihr von Hand einschalten müsst.

Schichtdarstellung mit vier Ebenen: unten das Original der channel.backup, das LND auf der Datenplatte schreibt, darüber die lokalen Kopien mit Zeitstempel unter /home/admin/backups/scb, darüber eine Kopie auf der Bootpartition und ganz oben hervorgehoben die Nextcloud im Ordner raspiblitz als einzige Kopie ausser Haus.

Vorbereitung: ein eigenes Passwort für die Node

Ihr braucht eine Nextcloud-Instanz eures Vertrauens. Wir stellen unseren Lesern 5 GB Nextcloud-Speicher gratis zur Verfügung; registriert euch auf der Webseite, und die Zugangsdaten aus der Registrierung sind zugleich eure Nextcloud-Logindaten. Jede andere Instanz tut es genauso, die Funktion spricht schlicht WebDAV.

Vor der Einrichtung ein Punkt, den die Anleitung früher verschwiegen hat und der wichtiger ist als jeder Klick danach: Der RaspiBlitz speichert die Zugangsdaten im Klartext. Das Einrichtungsskript sagt das bei der Passwortabfrage selbst — „will get stored in cleartext on raspiblitz“ — und legt Server, Benutzername und Passwort anschliessend in der Konfigurationsdatei des Systems ab. Wer dort sein Nextcloud-Kontopasswort einträgt, gibt jedem, der irgendwann Lesezugriff auf die Node bekommt, das gesamte Konto.

Legt deshalb in der Nextcloud ein eigenes App-Passwort an und tragt dieses ein. Ihr findet die Funktion in den persönlichen Einstellungen unter Sicherheit, bei den Geräten und Sitzungen. Ein App-Passwort lässt sich einzeln widerrufen, ohne dass ihr euer Konto anfassen müsst. Wenn ihr Zwei-Faktor-Authentisierung aktiviert habt, führt ohnehin kein Weg daran vorbei: Ein Zugriff über WebDAV mit dem normalen Kontopasswort scheitert dann, wie ein offener Fehlerbericht im Nextcloud-Projekt beschreibt.

Das Backup in der Nextcloud einrichten

Stellt eine SSH-Verbindung zu eurem RaspiBlitz her. Öffnet das Konsolenmenü mit menu und geht in die SETTINGS:

Konsolenmenü des RaspiBlitz mit dem markierten Eintrag SETTINGS

Steuert auf den Eintrag SCB/Emergency-Backup on Nextcloud, markiert ihn mit der Leertaste und bestätigt unten mit OK:

Einstellungsliste des RaspiBlitz mit dem markierten Eintrag für das SCB- und Notfall-Backup auf einer Nextcloud

Anschliessend öffnet sich ein weiteres Fenster. Gebt die URL eurer Nextcloud-Instanz ein, auf der die Datei gesichert werden soll:

Eingabefenster des RaspiBlitz für die Adresse der Nextcloud-Instanz

https://cloud.yourdevice.ch wäre die URL unserer Nextcloud-Instanz. Bestätigt mit OK. In zwei weiteren Fenstern werdet ihr nach Username und Passwort gefragt — hier gehört das App-Passwort hinein, nicht euer Kontopasswort. Nach der Eingabe meldet das System, ob der erste Upload geklappt hat:

Ausgabe des RaspiBlitz mit der Meldung, dass die Datei channel.backup erfolgreich hochgeladen wurde

Ein Hinweis zu den fünf Bildschirmfotos in diesem Abschnitt: Sie stammen aus dem Mai 2024. Der Menüpfad und die Abfragen sind seither unverändert — der Eintrag steht bis heute im Einstellungsmenü des Projekts, nachzulesen in 00settingsMenuBasics.sh —, Farben und Randbeschriftungen können in eurer Version leicht abweichen.

Auf der Nextcloud nachsehen

Loggt euch in eure Nextcloud ein und geht oben in der Arbeitsleiste auf Dateien. Angelegt wird ein Ordner mit dem Namen raspiblitz, darin liegt die channel.backup:

Die channel.backup selbst bleibt wenige Kilobyte gross und wächst kaum, solange ihr ungefähr gleich viele Kanäle betreibt. Der Ordner wird trotzdem voller: Der RaspiBlitz lädt neben der festen Datei auch die datierte Kopie jeder Änderung hoch. Wer viel öffnet und schliesst, sammelt dort mit der Zeit eine ganze Reihe von Ständen ein. Das ist kein Fehler, sondern gewollt — nur solltet ihr wissen, dass ihr dort irgendwann aufräumen dürft, und dass die jüngste Datei die einzige ist, die ihr im Ernstfall benutzen dürft.

Von Hand prüfen, ob der Upload läuft

Ihr müsst nicht auf den nächsten Kanalschluss warten, um zu sehen, ob die Verbindung steht. Das Skript, das die Funktion ausführt, lässt sich direkt aufrufen:

sudo /home/admin/config.scripts/nextcloud.upload.sh \
     upload /home/admin/backups/scb/channel.backup

Bei Erfolg antwortet es mit File /home/admin/backups/scb/channel.backup has been uploaded. Schlägt es fehl, kommt err='File upload failed' zurück; fehlen die hinterlegten Zugangsdaten, meldet es err='Nextcloud credentials are missing'. Die drei Meldungen stehen so in config.scripts/nextcloud.upload.sh. Ein fehlgeschlagener Upload ist fast immer eine falsche Adresse oder ein Passwort, das die Nextcloud nicht annimmt — siehe den Abschnitt zum App-Passwort weiter oben.

Abschalten lässt sich die Funktion über denselben Menüeintrag; das Skript kennt dafür den Parameter off, der die hinterlegten Zugangsdaten wieder entfernt. Das ist der Weg, wenn ihr eure Node verkauft oder weitergebt — sonst wandert das Passwort mit.

Was diese Sicherung leistet — und was nicht

  • Sie bringt eure Kanaldaten ausser Haus. Das ist die eine Trennung, die alle lokalen Kopien nicht schaffen.
  • Sie ersetzt kein Seed-Backup. Ohne eure Seedphrase ist die Datei unbrauchbar, und die gehört nicht in dieselbe Cloud.
  • Sie sichert die Kanäle von LND. Hochgeladen wird laut Menüskript die channel.backup aus dem LND-Datenverzeichnis; wer den RaspiBlitz mit Core Lightning betreibt, muss sich um seine Sicherung getrennt kümmern.
  • Sie kostet ein Passwort im Klartext auf der Node. Mit einem App-Passwort ist der Schaden begrenzt, mit dem Kontopasswort nicht.
  • Sie ist kein Ersatz für ein Systembackup. Was ihr sonst noch sichern solltet, steht im Backup- und Restore-Leitfaden für Lightning-Fullnodes, und wie ihr die ganze Node auf neue Hardware hebt, im Beitrag zum Umzug auf neue Hardware.

Wer seine Kanalzustände zusätzlich in einer Oberfläche im Blick behalten will, findet im Beitrag zu Thunderhub und Amboss den zweiten Weg zur Sicherung der Kanaldaten. Und wenn ihr euch fragt, ob eure Version die hier beschriebene Funktion überhaupt hat: Sie steckt seit Jahren im Einstellungsmenü und ist auch in der aktuellen Fassung 1.12.1 vorhanden. Wie ihr aktualisiert, steht in der Anleitung zum RaspiBlitz-Update.

Fazit: Doppelt genäht hält nur, wenn der zweite Faden woanders liegt

Die Nextcloud-Funktion des RaspiBlitz ist in zwei Minuten eingeschaltet und erledigt danach das, was kein lokales Backup kann: Sie bringt die jüngste channel.backup aus dem Haus, automatisch, bei jeder Kanaländerung. Für eine Node, die echtes Geld hält, ist das keine Kür. Der Preis ist ein Zugangsdatensatz im Klartext auf dem Gerät — tragbar, solange dort ein widerrufbares App-Passwort steht und nicht der Generalschlüssel zu eurer Cloud. Und weil die Datei mit einem aus eurer Seed abgeleiteten Schlüssel verschlüsselt ist, gilt weiterhin: Die Cloud sieht davon nichts — solange die Seed nicht danebenliegt.

Schaut gerne hier vorbei für den kompletten Backup & Restore Leitfaden für Fullnodes:

Quellen und weiterführende Links

Ähnliche Beiträge

  • Wie funktioniert die Bitcoin Blockchain

    In diesem Artikel erkläre ich Euch auf einfache Art und Weise, wie die Bitcoin Blockchain funktioniert. Die Bitcoin Blockchain ist das Rückgrat des Bitcoin-Netzwerks. Sie ist eine öffentliche, dezentrale und...

  • Warum gibt es nur 21 Million Bitcoin

    In diesem Artikel klären wir, warum es nur 21 Millionen Bitcoin gibt und wie es dazu kommt. Im Kern des Bitcoin-Protokolls liegt eine grundlegende Regel: Es wird nie mehr als...

  • Was ist eine Bitcoin Full Node

    In der Welt der digitalen Währungen bedeutet Souveränität, vollständige Kontrolle über Ihre eigenen Finanzen zu haben. Für Bitcoin-Benutzer besteht ein Weg, diese Kontrolle zu erlangen und das Netzwerk zu stärken,...

  • Bitcoin Privacy optimiert und anonym versenden

    In diesem Artikel geht es darum wie Bitcoin Privacy optimiert und anonym versenden könnt. Viele Menschen neigen dazu, Bitcoin als eine völlig anonyme Währung zu betrachten. In Wahrheit ist Bitcoin...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert