The bitcoin network and its growing set of tools provide individuals with the ability to provide their own banking services free of rent-seeking intermediaries and third-party custodial risk. Bitcoin can be as straightforward or as complex as you require it to be.
While most of us would use bitcoin to store our wealth across space and time and make payments when needed, however, other features may not be evident to you.
As the network matures, developers in the space are tackling edge cases to offer features for unique experiences that still maintain decentralisation and abide by the rules of bitcoins consensus. As a result of this development, bitcoin can be used in a couple of ways, either individually or collaboratively.
To use bitcoin in a collaborative fashion with 2 or more parties, you have to make use of a PSBT.
What is a PSBT?
A PSBT or Partially Signed Bitcoin Transaction (PSBT) is a Bitcoin standard that facilitates the portability of unsigned transactions; this allows multiple parties to sign the same transaction at different times.
The PSBT format is most useful when multiple parties wish to add inputs to the same transaction, giving multiple parties a say over a particular UTXO/Set of funds.
When was PSBTs introduced?
PSBT was introduced by BIP 174 and allowed users to more easily sign transactions on a cold storage device and then broadcast the signed transaction from a device connected to the internet.
The basic details about PSBTs and a specification for the original version 0 PSBTs are published in BIP174. Version 2 PSBTs are described in BIP370. There is no version 1 PSBTs.
How does a PSBT work?
Partially Signed Bitcoin Transactions (PSBTs) are a data format that allows wallets and other tools to exchange information about a Bitcoin transaction and the signatures necessary to complete it.
A PSBT can be created that identifies a set of UTXOs to spend and a set of outputs to receive that spent value. Then information about each UTXO that’s necessary to generate a signature for it can added, possibly by a separate tool, such as the UTXO’s script or its precise bitcoin value.
The PSBT can then be copied by any means to a program that can sign it. For multi-sig wallets or cases where different wallets control different inputs, this last step can be repeated multiple times by different programs on different copies of the PSBT.
Multiple PSBTs, each with one or more necessary signatures, can be integrated into a single PSBT later. Finally, that fully signed PSBT can be converted into a complete ready-to-broadcast transaction.
Interoperability with PSBTs
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.
When would you use a PSBT?
PSBT is an interchange format for Bitcoin transactions that are not fully signed yet, together with relevant metadata to help entities work towards signing it. A PSBT is intended to simplify workflows where multiple parties must cooperate to produce a transaction. Common examples of using a PSBT can be seen in hardware wallets, multi-sig setups, and CoinJoin transactions.
PSBTs can even be used in conjunction with the Lightning Network, including creating, signing, and funding channels with PSBTs.
More information on PSBT
If you would like more of a technical look at PSBT, check out the following resources:
You can also check out the following Bitcoin Improvement Proposals:
Using bitcoin collaboratively
Have you used bitcoin in a collaborative fashion? What did you use it for and what was your experience like? Let us know in the comments down below.