BIP373: Clarify where keys in MuSig fields may appear in the Taproot output #1695

pull achow101 wants to merge 1 commits into bitcoin:master from achow101:373-clarify-plain-pub changing 1 files +13 −13
  1. achow101 commented at 10:46 PM on November 6, 2024: member
    • The aggregate pubkey in PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS does not have to appear anywhere in the Taproot output.
    • The plain pubkeys in PSBT_IN_MUSIG2_PUB_NONCE and PSBT_IN_MUSIG2_PARTIAL_SIG must be either the output pubkey, or appears in a script, and not the internal key.
  2. achow101 commented at 10:46 PM on November 6, 2024: member
  3. lozanopo approved
  4. jonatack added the label Proposed BIP modification on Nov 6, 2024
  5. jonatack added the label Pending acceptance on Nov 6, 2024
  6. jonatack removed the label Pending acceptance on Nov 6, 2024
  7. bigspider commented at 1:23 PM on November 7, 2024: contributor
    • The aggregate pubkey in PSBT_IN_MUSIG2_PUB_NONCE does not have to appear anywhere in the Taproot output.

    I think you meant PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS (clarifying for any other reader passing by)

  8. in bip-0373.mediawiki:81 in 351aad6707 outdated
      76 | @@ -77,8 +77,8 @@ required for aggregation. If sorting was done, then the keys must be in the sort
      77 |  key the participant is providing the nonce for, followed by the BIP 341 tapleaf hash of
      78 |  the Taproot leaf script that will be signed. If the aggregate key is the taproot internal key or the
      79 |  taproot output key, then the tapleaf hash must be omitted. The plain public key must be
      80 | -the key found in the script and not the aggregate public key that it was derived from, if it was
      81 | -derived from an aggregate key.
      82 | +the output key or found in a script. It is not the internal key nor the aggregate public key that
      83 | +it was derived from, if it was derived from an aggregate key.
    


    bigspider commented at 1:27 PM on November 7, 2024:

    Nit: The plain public key must be the taproot output key instead of The plain public key must be the output key, matching the language of BIP-341.


    achow101 commented at 8:06 PM on November 7, 2024:

    Done

  9. bigspider commented at 1:28 PM on November 7, 2024: contributor

    ACK, only left a small nit to make it more explicit.

  10. achow101 force-pushed on Nov 7, 2024
  11. achow101 commented at 8:06 PM on November 7, 2024: member

    I think you meant PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS (clarifying for any other reader passing by)

    Oops yes, fixed.

  12. jonatack requested review from bigspider on Nov 8, 2024
  13. in bip-0373.mediawiki:96 in 16be6ec090 outdated
      92 | @@ -93,8 +93,8 @@ derived from an aggregate key.
      93 |  plain public key the participant is providing the signature for, followed by the BIP 341 tapleaf hash
      94 |  of the Taproot leaf script that will be signed. If the aggregate key is the taproot internal key or
      95 |  the taproot output key, then the tapleaf hash must be omitted. Note that the plain public key must
      96 | -be the key found in the script and not the aggregate public key that it was derived from, if it was
      97 | -derived from an aggregate key.
      98 | +the taproot output key or found in a script. It is not the internal key nor the aggregate public key that
    


    jonatack commented at 3:39 PM on November 8, 2024:

    Looks like a missing word here.

    "Note that the plain public key must..."

    be the taproot output key or found in a script. It is not the internal key nor the aggregate public key that
    

    achow101 commented at 4:43 PM on November 8, 2024:

    Fixed

  14. bigspider approved
  15. bigspider commented at 4:41 PM on November 8, 2024: contributor

    LGTM, and it matches the way I implemented it as mentioned in #29675

  16. 373: Clarify where keys in MuSig fields may appear in the Taproot output
    - The aggregate pubkey in `PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS` does not have to
      appear anywhere in the Taproot output.
    - The plain pubkeys in `PSBT_IN_MUSIG2_PUB_NONCE` and
      `PSBT_IN_MUSIG2_PARTIAL_SIG` must be either the output pubkey, or
      appears in a script, and not the internal key.
    0ff32bd4c2
  17. achow101 force-pushed on Nov 8, 2024
  18. jonatack commented at 5:00 PM on November 8, 2024: member

    ACK 0ff32bd4c274a83d5a10c23afeab9280a25799e4

  19. jonatack renamed this:
    373: Clarify where keys in MuSig fields may appear in the Taproot output
    BIP373: Clarify where keys in MuSig fields may appear in the Taproot output
    on Nov 8, 2024
  20. jonatack merged this on Nov 8, 2024
  21. jonatack closed this on Nov 8, 2024


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-14 11:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me