This guide explains BIP 376 Spending Silent Payment outputs with PSBTs in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.
TL;DR
- What it is: BIP 376 is a Draft specification adding per-input PSBTv2 fields for spending BIP 352 Silent Payment outputs. BIP 375 covers creating those outputs; BIP 376 carries the stored Silent Payment tweak and optional BIP32 spend-key derivation information needed to unlock them.
- Why it matters: BIP 376 gives PSBT components the minimum material needed to spend Silent Payment outputs, but a tweak is untrusted input until the signer proves it matches the actual taproot output. That check is the central custody control.
- Current position: BIP 376 is a Draft specification adding per-input PSBTv2 fields for spending BIP 352 Silent Payment outputs.
BIP 376 Spending Silent Payment outputs with PSBTs in simple English
BIP 376 Spending Silent Payment outputs with PSBTs: The updater must add the tweak for every Silent Payment input and should add derivation data where BIP32 is used.
Simple example
A node operator is checking BIP 376 Spending Silent Payment outputs with PSBTs. A zero fingerprint and empty path can limit disclosure when another key lookup exists.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- UTXO:
- An unspent transaction output: a piece of bitcoin that can be used as an input to a later transaction.
- PSBT:
- A portable format for passing an unsigned or partly signed Bitcoin transaction between tools and signers.
- Taproot:
- A Bitcoin upgrade that added new signature and script options for spending outputs.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
New fields
PSBT_IN_SP_SPEND_BIP32_DERIVATION uses type 0x1f with a 33-byte spend public key plus fingerprint and path. PSBT_IN_SP_TWEAK uses type 0x20 with one 32-byte tweak and no key data.
Updater
The updater must add the tweak for every Silent Payment input and should add derivation data where BIP32 is used. A zero fingerprint and empty path can limit disclosure when another key lookup exists.
Signer
The signer combines the spend private key and tweak modulo the curve order, applies the required parity negation and must fail unless the resulting x-coordinate equals the P2TR output key in witness_utxo.
Finalizer
Every tweaked input needs a taproot key signature. The finalizer constructs the one-element key-path witness and removes tweak, Silent Payment derivation, tap signature and witness-utxo fields after finalization.
Security boundary
A malicious or mistaken updater can provide a wrong tweak. Signing without output-key verification could produce a valid signature for an unintended key and enable theft.
Compatibility
Older PSBT software may ignore the extensible fields rather than understand the spend. Require an explicit capability handshake; do not let field loss or unknown-field stripping enter signing.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Frequently asked questions
What is the main point of BIP 376 Spending Silent Payment outputs with PSBTs?
BIP 376 Spending Silent Payment outputs with PSBTs: The updater must add the tweak for every Silent Payment input and should add derivation data where BIP32 is used.
For BIP 376 Spending Silent Payment outputs with PSBTs, what should a beginner know about new fields?
PSBT_IN_SP_SPEND_BIP32_DERIVATION uses type 0x1f with a 33-byte spend public key plus fingerprint and path.
For BIP 376 Spending Silent Payment outputs with PSBTs, what should a beginner know about updater?
The updater must add the tweak for every Silent Payment input and should add derivation data where BIP32 is used.
For BIP 376 Spending Silent Payment outputs with PSBTs, what should a beginner know about signer?
The signer combines the spend private key and tweak modulo the curve order, applies the required parity negation and must fail unless the resulting x-coordinate equals the P2TR output key in witness_utxo.
Conclusion
BIP 376 gives PSBT components the minimum material needed to spend Silent Payment outputs, but a tweak is untrusted input until the signer proves it matches the actual taproot output. That check is the central custody control.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.