mirror of
https://github.com/bitcoin/bips.git
synced 2026-02-23 15:38:22 +00:00
BIP 373: add MuSig2 PSBT Fields BIP
This commit is contained in:
@@ -483,6 +483,52 @@ The currently defined per-input types are defined as follows:
|
||||
| 0, 2
|
||||
| [[bip-0371.mediawiki|371]]
|
||||
|-
|
||||
| MuSig2 Participant Public Keys
|
||||
| <tt>PSBT_IN_MUSIG2_PARTICIPANT_PUBKEYS = 0x1a</tt>
|
||||
| <33 byte plain aggregate pubkey>
|
||||
| The MuSig2 aggregate plain public key from the <tt>KeyAgg</tt> algorithm. This key may or may not
|
||||
be in the script directly (as x-only). It may instead be a parent public key from which the public keys in the
|
||||
script were derived.
|
||||
| <tt><33 byte compressed pubkey>*</tt>
|
||||
| A list of the compressed public keys of the participants in the MuSig2 aggregate key in the order
|
||||
required for aggregation. If sorting was done, then the keys must be in the sorted order.
|
||||
|
|
||||
|
|
||||
| 0, 2
|
||||
| [[bip-0373.mediawiki|373]]
|
||||
|-
|
||||
| MuSig2 Public Nonce
|
||||
| <tt>PSBT_IN_MUSIG2_PUB_NONCE = 0x1b</tt>
|
||||
| <tt><33 byte compressed pubkey> <33 byte plain pubkey> <32 byte hash or omitted></tt>
|
||||
| The compressed public key of the participant providing this nonce, followed by the plain public
|
||||
key the participant is providing the nonce for, followed by the BIP 341 tapleaf hash of
|
||||
the Taproot leaf script that will be signed. If the aggregate key is the taproot internal key or the
|
||||
taproot output key, then the tapleaf hash must be omitted. The plain public key must be
|
||||
the key found in the script and not the aggregate public key that it was derived from, if it was
|
||||
derived from an aggregate key.
|
||||
| <tt><66 byte public nonce></tt>
|
||||
| The public nonce produced by the <tt>NonceGen</tt> algorithm.
|
||||
|
|
||||
|
|
||||
| 0, 2
|
||||
| [[bip-0373.mediawiki|373]]
|
||||
|-
|
||||
| MuSig2 Participant Partial Signature
|
||||
| <tt>PSBT_IN_MUSIG2_PARTIAL_SIG = 0x1c</tt>
|
||||
| <tt><33 byte compressed pubkey> <33 byte plain pubkey> <32 byte hash or omitted></tt>
|
||||
| The compressed public key of the participant providing this partial signature, followed by the
|
||||
plain public key the participant is providing the signature for, followed by the BIP 341 tapleaf hash
|
||||
of the Taproot leaf script that will be signed. If the aggregate key is the taproot internal key or
|
||||
the taproot output key, then the tapleaf hash must be omitted. Note that the plain public key must
|
||||
be the key found in the script and not the aggregate public key that it was derived from, if it was
|
||||
derived from an aggregate key.
|
||||
| <tt><32 byte partial signature></tt>
|
||||
| The partial signature produced by the <tt>Sign</tt> algorithm.
|
||||
|
|
||||
|
|
||||
| 0, 2
|
||||
| [[bip-0373.mediawiki|373]]
|
||||
|-
|
||||
| Proprietary Use Type
|
||||
| <tt>PSBT_IN_PROPRIETARY = 0xFC</tt>
|
||||
| <tt><compact size uint identifier length> <bytes identifier> <compact size uint subtype> <bytes subkeydata></tt>
|
||||
@@ -599,6 +645,20 @@ determine which outputs are change outputs and verify that the change is returni
|
||||
| 0, 2
|
||||
| [[bip-0371.mediawiki|371]]
|
||||
|-
|
||||
| MuSig2 Participant Public Keys
|
||||
| <tt>PSBT_OUT_MUSIG2_PARTICIPANT_PUBKEYS = 0x08</tt>
|
||||
| <33 byte plain aggregate pubkey>
|
||||
| The MuSig2 aggregate plain public key from the <tt>KeyAgg</tt> algorithm. This key may or may not
|
||||
be in the script directly. It may instead be a parent public key from which the public keys in the
|
||||
script were derived.
|
||||
| <tt><33 byte compressed pubkey>*</tt>
|
||||
| A list of the compressed public keys of the participants in the MuSig2 aggregate key in the order
|
||||
required for aggregation. If sorting was done, then the keys must be in the sorted order.
|
||||
|
|
||||
|
|
||||
| 0, 2
|
||||
| [[bip-0373.mediawiki|373]]
|
||||
|-
|
||||
| Proprietary Use Type
|
||||
| <tt>PSBT_OUT_PROPRIETARY = 0xFC</tt>
|
||||
| <tt><compact size uint identifier length> <bytes identifier> <compact size uint subtype> <bytes subkeydata></tt>
|
||||
|
||||
Reference in New Issue
Block a user