Author: Andrew Chow 2021-06-22 21:22:28
Published on: 2021-06-22T21:22:28+00:00
This proposal introduces a new BIP that defines additional fields for Taproot support in PSBT. The existing PSBT fields are unable to support Taproot, so new fields must be defined to allow PSBTs to carry the information necessary for signing Taproot inputs. The proposed fields include Taproot Key Spend Signature, Taproot Script Spend Signature, Taproot Leaf Script, Taproot Key BIP 32 Derivation Path, Taproot Internal Key, and Taproot Merkle Root. Similarly, the per-output types include Taproot Internal Key, Taproot Tree, and Taproot Key BIP 32 Derivation Path.The proposal also recommends using PSBT_IN_WITNESS_UTXO instead of PSBT_IN_NON_WITNESS_UTXO for Taproot inputs because a Taproot signature will commit to all of the amounts and output scripts spent by the inputs of the transaction, thus preventing any potential attacks involving an updater lying about the amounts in an output. The proposal is a draft and is licensed under the 2-clause BSD license. The compatibility of this proposal with the existing PSBT format is ensured as it is designed to be extensible, and old software will ignore the new fields. Test vectors are yet to be determined.
Updated on: 2023-05-21T02:45:24.329882+00:00