1
0
mirror of https://github.com/bitcoin/bips.git synced 2025-01-18 05:12:47 +01:00

Slight rewrite of evenness byte explanation for clarity

This commit is contained in:
kdmukai 2024-12-16 14:01:25 -06:00 committed by kdmukai
parent 6521dfdd2c
commit 45e626feab

View File

@ -52,17 +52,16 @@ The new per-input types are defined as follows:
| rowspan="2"| 0, 2 | rowspan="2"| 0, 2
|- |-
| The MuSig2 aggregate public key (compressed) <ref>'''Why the compressed aggregate public key instead of x-only?''' | The MuSig2 aggregate public key (compressed) <ref>'''Why the compressed aggregate public key instead of x-only?'''
BIP 32 requires public keys to include their evenness byte. Aggregate public keys are expected to be BIP 32 public keys can be derived from a BIP 327 MuSig2 aggregate public key (see: [[bip-0328.mediawiki|BIP 328]]).
derived from, following [[bip-0328.mediawiki|BIP 328]], and therefore will But since BIP 32 requires public keys to include their evenness byte, BIP 327 MuSig2 aggregate public keys must
need to include the evenness. Furthermore, PSBT_IN_TAP_BIP32_DERIVATION fields include fingerprints include their evenness byte as well. Furthermore, PSBT_IN_TAP_BIP32_DERIVATION fields include fingerprints to identify
to identify master keys, and these fingerprints require y-coordinate of the public key, master keys, and these fingerprints require the y-coordinate of the public key, so x-only serialization can't be used.
so x-only serialization can't be used. By including By including the aggregate key as a full public key, signers that are unaware of the MuSig2 outside of the PSBT will
the aggregate key as a full public key, signers that are unaware of the MuSig2 outside of the PSBT still be able to identify which keys are derived from the aggregate key by computing and then comparing the
will still be able to identify which keys are derived from the aggregate key by computing and then fingerprints. This is necessary for the signer to apply the correct tweaks to their partial signature.</ref> from the
comparing the fingerprints. This is necessary for the signer to apply the correct tweaks to their <tt>KeyAgg</tt> algorithm. This key may or may not appear (as x-only) in the Taproot output key, the internal key, or
partial signature.</ref> from the <tt>KeyAgg</tt> algorithm. This key may or may not appear in a script. It may instead be a parent public key from which the Taproot output key, internal key, or keys in a script
(as x-only) in the Taproot output key, the internal key, or in a script. It may instead be a parent public were derived.
key from which the Taproot output key, internal key, or keys in a script were derived.
| A list of the compressed public keys of the participants in the MuSig2 aggregate key in the order | 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. required for aggregation. If sorting was done, then the keys must be in the sorted order.
|- |-