Descriptor Encryption Guide

Verschlüsselung von Wallet-Metadaten mittels beb (bitcoin-encrypted-backup)

1. Motivation: Warum verschlüsseln?

In einem modernen Bitcoin-Setup (besonders bei Multisig) ist der Schutz der privaten Schlüssel (Seeds) nur die halbe Miete. Wer Zugriff auf deinen Output Descriptor erhält, kann zwar kein Geld stehlen, gewinnt aber vollständige Einsicht in (Liana-Doku: «would be able to learn your balance (and transaction history), but would not be able to steal your funds»):

Das Tool beb (Projekt bitcoin-encrypted-backup) ermöglicht es, diesen Descriptor so zu verschlüsseln, dass er nur mit einem der öffentlichen Schlüssel (xpubs) aus dem Descriptor wiederhergestellt werden kann – nicht mit einem Passwort und nicht mit dem privaten Schlüssel (beb-Projekt: «encrypt descriptors … with a set of public keys (or xpubs) and later decrypt when at least one of them is physically present»). Stand Oktober 2026: Das Projekt ist als veraltet markiert. Sein Format lebt als BIP 138 weiter; mit beb sollen nur noch bestehende Backups entschlüsselt werden («No new backup should be exported with this format»).

Das Konzept

Der Schlüssel zum Entschlüsseln wird aus den öffentlichen Schlüsseln im Descriptor abgeleitet; die Verschlüsselung selbst verwendet zusätzlich eine Zufallszahl (Nonce) und ist darum nicht deterministisch (BIP 138: «The encryption key derives from the lexicographically-sorted public keys in the descriptor»; «let nonce = random(96 bits)»). Das bedeutet, solange du Zugriff auf deine Hardware-Wallet (Seed) und damit auf einen der xpubs hast, kannst du den verschlüsselten Descriptor jederzeit wieder in Klartext verwandeln, ohne ein separates Passwort vergessen zu können.

2. Installation & Setup

Schritt 1: Rust Umgebung

Das Tool ist in der Programmiersprache Rust geschrieben. Falls noch nicht vorhanden, installiere Rust über (rustup.rs):

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Schritt 2: Programm bauen

Lade den Quellcode von GitHub herunter und kompiliere das Projekt:

git clone https://github.com/pythcoiner/bitcoin-encrypted-backup
cd bitcoin-encrypted-backup
cargo build --bin beb --release --no-default-features --features="cli"

So steht der Befehl im beb-Projekt. Mit --features="cli,devices" holt beb die xpubs auf Wunsch direkt von einer angeschlossenen Hardware-Wallet.

Die ausführbare Datei befindet sich nun unter target/release/beb.

3. Praktische Anwendung

A. Den Descriptor verschlüsseln

Exportiere deinen Descriptor aus Sparrow Wallet als Textdatei (z.B. descriptor.txt). Führe dann den Verschlüsselungsbefehl aus:

./target/release/beb encrypt -f descriptor.txt -o backup.hex

Achtung: Die aktuelle Fassung von beb kennt nur noch den Befehl decrypt; encrypt steht in der Hilfe nicht mehr (beb-Projekt, «Commands: decrypt, help»). Neue Backups entstehen heute im Format von BIP 138.

Die Datei backup.hex ist nun sicher. Du kannst sie in der Cloud, auf USB-Sticks oder ausgedruckt speichern. Ohne einen der xpubs aus dem Descriptor sind diese Daten wertlos. Wer aber einen dieser xpubs kennt – auch ohne deine Hardware-Wallet –, kann sie entschlüsseln (BIP 138: «An xpub can be known to a third party without ever appearing on chain»).

B. Den Descriptor entschlüsseln

Um im Notfall wieder Zugriff auf die "Landkarte" deines Geldes zu erhalten, nutzt du einen deiner öffentlichen Schlüssel (xpub):

./target/release/beb decrypt -f backup.hex -k [DEIN_XPUB]

4. Ausbildung: Übung für zu Hause

Um den Prozess zu verinnerlichen, führt mit euren Kindern folgende Übung durch:

  1. Export: Erstellt eine Test-Multisig-Wallet und speichert den Descriptor.
  2. Verschlüsselung: Nutzt das Tool, um das Backup zu erstellen.
  3. Löschung: Löscht die Klartext-Datei des Descriptors.
  4. Recovery: Versucht den Descriptor mit einem falschen xpub zu entschlüsseln (Fehlertest) und danach mit dem korrekten xpub.
Fazit für die Strategie

Durch die Verschlüsselung des Descriptors erreichen wir eine "Air-Gapped Privacy". Selbst wenn unser Cloud-Speicher oder physischer Ordner kompromittiert wird, bleibt unsere finanzielle Privatsphäre gewahrt – solange keiner der xpubs in fremde Hände gelangt (BIP 138: «safe to store with untrusted cloud providers»).