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…”

    0be 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: 2024-11-21 09:10 UTC

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