PSBT ist ein Standardformat, um eine noch nicht abgeschlossene Bitcoin-Transaktion zwischen prüfenden und signierenden Wallets oder Geräten weiterzugeben. Der Name bedeutet Partially Signed Bitcoin Transaction, also teilweise signierte Bitcoin-Transaktion. Die Datei kann aber auch noch ganz ohne Signatur sein. Sie transportiert Entwurf, Unterlagen und Signaturen, keine privaten Schlüssel. Aus vollständigen Unterlagen entsteht schließlich eine gewöhnliche Transaktion für das Netzwerk. Eine digitale Signatur ist eine überprüfbare Zustimmung, die mit einem privaten Schlüssel erzeugt wird. Dieser geheime Schlüssel ermöglicht das Signieren, wird dabei aber nicht offengelegt.
Anna möchte Pavel 60 000 sat schicken, also sechzigtausend der kleinsten Bitcoin-Einheiten. Ihre Wallet verwendet einen früher empfangenen, noch nicht ausgegebenen Transaktionsausgang über 100 000 sat. Ein Transaktionsausgang hält einen Betrag und die Bedingungen fest, unter denen er ausgegeben werden darf. Im Beispiel sieht der Entwurf 60 000 sat für Pavel und 39 000 sat Wechselgeld für Anna vor; 1 000 sat bleiben als Gebühr. Bis hierhin sind es nur Anweisungen. Die Anwendung speichert sie in einem PSBT und gibt es an die Hardware-Wallet weiter, je nach Gerät etwa per Kabel, QR-Code oder Speicherkarte. Anna prüft die Zahlung auf deren Display und erlaubt die Signatur. Zurück kommt die Signatur, nicht der geheime Schlüssel. Die Zahlung muss also nicht auf dem Gerät vorbereitet werden, das sie autorisieren darf. [1] [4]
Eine Datei mit der Endung .psbt ist nicht automatisch eine sichere Zahlung. Der Computer, der sie erstellt hat, kann kompromittiert oder schlicht falsch eingestellt sein. Anna vergleicht den Empfänger mit der von Pavel erhaltenen Adresse und prüft Betrag, Gesamtgebühr und Rückgabe des Wechselgelds an die eigene Wallet. Bei einer Hardware-Wallet richtet sie sich nach dem vertrauenswürdigen Gerätedisplay und dem vorgesehenen Herstellerverfahren. Die Signiersoftware prüft zugleich die Unterlagen und den Geltungsbereich der Signatur. Der Fachbegriff sighash beschreibt, welche Transaktionsteile die Signatur gegen Änderungen absichert. Einen ungewöhnlichen Modus sollten Einsteiger nicht ohne Verständnis bestätigen. Stimmen Adresse oder Gebührenprüfung nicht, wird der Entwurf geprüft, statt die Kontrolle zu umgehen. [1]
In einer Multisig-Wallet mit zwei nötigen Signaturen aus drei Schlüsseln kann Anna die erste und Pavel die zweite hinzufügen, jeweils mit dem eigenen Gerät. Sie müssen weder Wiederherstellungswörter austauschen noch gleichzeitig verbunden sein. Ein Koordinator, also die Anwendung zur Organisation des Ablaufs, sammelt Unterlagen derselben Zahlung und führt Signaturen zusammen. Trotzdem prüft jeder Signierende seine eigene Zahlungsabsicht; der Koordinator entscheidet nicht für ihn. BIP 174 unterscheidet den creator für den Entwurf, den updater für ergänzende Daten, den signer für die Signatur und den combiner für das Zusammenführen entsprechender Fassungen. Der finalizer baut die endgültigen Daten zur Erfüllung der Eingangsbedingungen, der extractor erzeugt daraus die gewöhnliche Netzwerktransaktion. Eine Anwendung übernimmt meist mehrere Rollen. Die Namen bezeichnen Aufgaben, nicht sechs vorgeschriebene Beteiligte. [1] [4]
Ein PSBT kann zeigen, welche Coins du verwenden möchtest, an wen du zahlst, wie viel Wechselgeld zurückkommt und wie Adressen zusammenhängen. Es kann auch einen xpub enthalten, also öffentliche Daten zur Ableitung weiterer öffentlicher Schlüssel und, zusammen mit den Adressregeln der Wallet, weiterer Adressen, oder Ableitungspfade, also die Position der Schlüssel innerhalb der Wallet-Struktur. Lade es deshalb nicht bei einem beliebigen Webdienst hoch, nur um den Inhalt zu lesen. Ein signiertes PSBT kann zudem jemand anderem erlauben, genau die autorisierte Transaktion fertigzustellen und zu veröffentlichen, wenn alle nötigen Unterlagen vorhanden sind. Das Löschen deiner Kopie widerruft die Signatur nicht. Die Datei ersetzt auch weder Seed Phrase (die Sicherungswörter zur Wiederherstellung der Schlüssel) noch vollständiges Multisig-Konfigurationsbackup: Sie dient einer konkreten Zahlung, nicht der allgemeinen Wallet-Wiederherstellung. [1] [4]
Eine ergänzte Signatur bedeutet nicht, dass das Netzwerk die Zahlung kennt. Nach dem Zusammenbau der endgültigen Transaktion muss sie jemand verbreiten. Ein Knoten ist ein Computer mit Software, die Bitcoin-Transaktionen und Blöcke prüft. Ein Knoten prüft sie anhand der Netzwerkregeln und seiner Annahmeregeln; ein Miner kann sie in einen Block aufnehmen. Eine fehlende Signatur, ein bereits ausgegebener Eingang und eine zu niedrige Gebühr sind unterschiedliche Probleme. Eine Schaltfläche zum Abschließen löst sie nicht von selbst. Teste die konkrete Kombination aus Anwendung, Gerät und Wallet-Typ, bevor du dich darauf verlässt. In Bitcoin Core 29 zeigt analyzepsbt etwa fehlende Unterlagen oder Signaturen. finalizepsbt kann die fertige Transaktion erzeugen; das Versenden folgt gesondert. Auch erfolgreiches Fertigstellen ist noch keine Blockbestätigung. [4] [5] [6]
BIP 174 definiert PSBT als Binärformat mit Schlüssel-Wert-Paaren. Schlüssel bedeutet hier Kennung eines Datenfelds, nicht automatisch einen privaten Bitcoin-Schlüssel. Eine globale Map beschreibt die gesamte Transaktion, Eingangsmaps die zu verbrauchenden Transaktionsausgänge und Ausgangsmaps die neu zu erzeugenden Transaktionsausgänge. Neben dem Entwurf können sie Skripte, also Bedingungen zum Ausgeben der Mittel, Schlüsselherkunft und Teilsignaturen enthalten. Die Daten lassen sich als .psbt-Datei speichern oder mit Base64 als Text darstellen. Base64 ist eine Kodierung von Binärdaten, keine Verschlüsselung. PSBT ist kein neuer Transaktionstyp in Bitcoins Regeln. Das Netzwerk erhält die resultierende Transaktion, nicht die vollständige Arbeitsdatei. [1]
Ein Gerät ohne Netzwerkverbindung muss wissen, was es unterschreiben soll. Ein UTXO ist ein älterer, noch nicht ausgegebener Transaktionsausgang, auf den ein neuer Eingang verweist. Non-Witness UTXO kann die vollständige frühere Transaktion enthalten, Witness UTXO dagegen den konkreten Transaktionsausgang mit Betrag und Bedingungen. Welche Unterlagen nötig sind, hängt vom Eingangstyp und den Regeln der Signiersoftware ab. Geprüft werden unter anderem Transaktionskennung und zugehöriger Transaktionsausgang, Beziehungen zwischen Skripten sowie ein akzeptabler sighash. Ein fehlender Betrag darf nicht als Nullgebühr gelten, fehlende Unterlagen nicht als erfolgreiche Prüfung. Die Daten müssen über einen vertrauenswürdigen Ablauf ergänzt und dürfen nicht geraten werden. [1]
Die PSBT-Version beschreibt den Aufbau des Formats, nicht die Zahl der Signaturen oder die Version der Bitcoin-Transaktion selbst. PSBT v0 speichert die unsignierte Transaktion in einem globalen Feld. Fehlt die PSBT-Versionsangabe, bedeutet das v0. PSBT v2 nach BIP 370 verwendet dieses Feld nicht und verteilt die Konstruktionsdaten auf einzelne Felder. So lassen sich Ein- und Ausgänge unter Beachtung erlaubter Änderungen und vorhandener Signaturen ergänzen. Eine bereits signierte Zahlung darf dadurch nicht beliebig umgeschrieben werden. Beide Seiten müssen die Version verstehen. ‘Unterstützt PSBT’ ist deshalb keine ausreichend genaue Kompatibilitätsangabe. [2]
BIP 371 ergänzt Daten für Taproot, darunter zugehörige Signaturen, Skripte und Schlüsselherkunft. Diese Felder lassen sich sowohl mit PSBT v0 als auch mit PSBT v2 nutzen. Eine Wallet kann also Taproot im ersten Format beherrschen, ohne das zweite zu unterstützen. Umgekehrt beweist v2-Unterstützung nicht, dass ein Gerät jeden Taproot-Fall abdeckt. Zu unterscheiden sind die Signatur über den Schlüsselpfad und das Ausgeben über einen Skriptzweig: zwei Wege, die Bedingungen eines Taproot-Transaktionsausgangs zu erfüllen. Für Nutzer ergibt sich daraus eine einfache Frage: Beherrscht meine konkrete Zusammenstellung genau die Zahlung, die ich signieren möchte? Das beantworten Dokumentation und ein getesteter Ablauf, nicht ein Kürzel in einer Funktionsliste. [3]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Multisig, Hardware Wallet, Cold Storage, Output Descriptor. Auf diesen Eintrag verweisen außerdem Multisig, Cold Storage, Hardware Wallet, Watch-only Wallet.