What is a PSBT?
Most people use the Bitcoin blockchain for storing wealth and making payments, but as blockchain technology evolves, other uses cases and features are constantly arising. As the network matures, developers are addressing edge cases to offer unique experiences, while maintaining blockchain decentralization and adhering to Bitcoin's consensus rules. If users want to use Bitcoin collaboratively with two or more parties, they will need to utilize a PSBT. PSBT or Partially Signed Bitcoin Transaction allows for greater flexibility in transaction processing. In this article, we'll take a closer look at what PSBT is and how it works, including its functionality, format, and workflow.
What is a PSBT?
PSBT was introduced as part of Bitcoin Improvement Proposal BIP174, which is a standard for the serialization and deserialization of partially signed transactions. The PSBT transaction format is designed to be interoperable, meaning that it can be used by any wallet or service that supports it, regardless of the software or hardware being used.
Transactions can to be partially signed, which means that some inputs are signed and some are left unsigned. This enables multiple signers to collaborate on the creation of a transaction without the need for them to be present at the same time. This is particularly useful for multisig transactions, which require multiple signatures to authorize a transaction.
How does a PSBT work?
PSBT can be used with any wallet that supports the PSBT format, including Bitcoin Core and hardware wallets such as Trezor and Ledger. It is also compatible with SegWit and Taproot, two popular BTC transaction formats.
The PSBT format includes information about the transaction inputs, including the UTXOs, satoshis, public keys, and scriptsig. The private keys are not included in the PSBT file, as they are only needed to finalize the transaction. The PSBT file can be shared between signers, allowing them to collaborate on the transaction creation process.
The workflow for using PSBT involves creating an unsigned transaction, which is then shared between the signers. Each signer adds their signature to the PSBT file, until all required signatures are obtained. Once all signatures are obtained, the transaction can be finalized and broadcast to the Bitcoin network.
PSBT enables the use of coinjoin transactions, which are a type of transaction that combines multiple inputs and outputs into a single transaction. This can help to increase the privacy and anonymity of the final transaction, as it is more difficult for an observer to determine which inputs and outputs are associated with which participants.
The PSBT standard also advances interoperability between different wallet software. Using PSBTs, a transaction can be crafted with a watch-only wallet, which does not have access to the private keys needed to sign the transaction. The watch-only wallet can then export a PSBT file, which can be imported to a wallet which does contain the required private keys. Once the transaction is signed, the signing wallet can export an updated PSBT file, which can be sent to a Bitcoin node to be broadcast to the network.
When would you use a PSBT?
PSBT is a format for Bitcoin transactions that are not completely signed, along with corresponding metadata to facilitate the signing process. Its purpose is to streamline workflows where multiple parties need to collaborate on generating a transaction. PSBT is frequently utilized in hardware wallets, multi-sig arrangements, and CoinJoin transactions. PSBT can also be employed in tandem with the Lightning Network, enabling the creation, signing, and funding of channels with PSBTs.
With the rise of Bitcoin Ordinal NFTs, Ordinals marketplaces such as Gamma.io have implemented PSBT solutions and Bitcoin L1 infrastructure to ensure the platform would remain trustless over time, and make user safety a priority.
PSBT is a powerful tool for enabling collaborative transaction processing and enhancing the portability of unsigned transactions. It provides a standardized format and specification, and with its support for coinjoin transactions and the ability to finalize transactions with hardware wallets, PSBT is a valuable addition to the world of crypto and blockchain technology.