390: clarifications on KEY expression restrictions #1871

pull achow101 wants to merge 2 commits into bitcoin:master from achow101:desc-clarifications changing 10 files +25 −10
  1. achow101 commented at 10:06 pm on June 18, 2025: member

    Clarifies the restrictions on KEY expressions around when child derivation is allowed.

    Also added a Requires header to all of the descriptor BIPs since they require reading 380 first.

  2. descriptors: Require BIP 380
    All of BIPs describing new descriptors require BIP 380
    bc66fdb166
  3. achow101 force-pushed on Jun 18, 2025
  4. murchandamus commented at 10:58 pm on June 18, 2025: contributor
    Thanks, looks good to me.
  5. jonatack added the label Proposed BIP modification on Jun 18, 2025
  6. in bip-0390.mediawiki:64 in 23e78b68df outdated
    69+described above, with the keys also being sorted after all derivation and prior to aggregation.
    70+Then further BIP 32 derivation will be performed on the aggregate public key as described in
    71+[[bip-0328.mediawiki|BIP 328]]. The <tt>/NUM/.../*</tt> following the <tt>musig()</tt> specifies
    72+the derivation path to be used when deriving from the aggregate public key. <tt>/*</tt> is also
    73+optional. As there is no aggregate private key, only unhardened derivation from the aggregate public
    74+key is allowed. Thus these derivation steps cannot contain be <tt>/NUMh</tt> or <tt>/NUM'</tt>
    


    jonatack commented at 11:54 pm on June 18, 2025:
    s/contain be/contain/ ?

    achow101 commented at 0:13 am on June 19, 2025:
    Done
  7. in bip-0390.mediawiki:61 in 23e78b68df outdated
    66+contains child derivation as specified by <tt>/*</tt> or multipath as specified with
    67+<tt>/<NUM;NUM;...></tt>, in addition to the same usage restrictions as in the previous section. The KEY expressions
    68+additionally must be xpubs or derived from xpubs. The aggregate public key is first computed as
    69+described above, with the keys also being sorted after all derivation and prior to aggregation.
    70+Then further BIP 32 derivation will be performed on the aggregate public key as described in
    71+[[bip-0328.mediawiki|BIP 328]]. The <tt>/NUM/.../*</tt> following the <tt>musig()</tt> specifies
    


    jonatack commented at 11:55 pm on June 18, 2025:
    (in passing, should 390 require 328?)

    achow101 commented at 0:14 am on June 19, 2025:
    I guess so. added
  8. 390: Additional clarifications on KEY expression restrictions c754a4d095
  9. in bip-0389.mediawiki:12 in 23e78b68df outdated
     8@@ -9,6 +9,7 @@
     9   Type: Informational
    10   Created: 2022-07-26
    11   License: BSD-2-Clause
    12+  Requires: 380
    


    jonatack commented at 11:59 pm on June 18, 2025:
    Checked that 388 (omitted from this change) does not also require 380
  10. achow101 force-pushed on Jun 19, 2025
  11. in bip-0390.mediawiki:63 in c754a4d095
    68+additionally must be xpubs or derived from xpubs. The aggregate public key is first computed as
    69+described above, with the keys also being sorted after all derivation and prior to aggregation.
    70+Then further BIP 32 derivation will be performed on the aggregate public key as described in
    71+[[bip-0328.mediawiki|BIP 328]]. The <tt>/NUM/.../*</tt> following the <tt>musig()</tt> specifies
    72+the derivation path to be used when deriving from the aggregate public key. <tt>/*</tt> is also
    73+optional. As there is no aggregate private key, only unhardened derivation from the aggregate public
    


    rkrux commented at 11:49 am on June 19, 2025:

    /* is also optional.

    So musig(xpub.../1,xpub.../2)/3/4 will be treated as musig(xpub.../1,xpub.../2)/3/4/*? If yes, I understand it’s being provided to reduce verbosity but one with an explicit /* at the end would get rid of any possibility of a doubt in the mind of a reader imho.


    rkrux commented at 1:35 pm on June 19, 2025:

    So musig(xpub…/1,xpub…/2)/3/4 will be treated as musig(xpub…/1,xpub…/2)/3/4/*?

    On second thought, I think this is not what this means, they both will be treated separately. Sorry I didn’t mean to add more confusion.

  12. rkrux commented at 11:51 am on June 19, 2025: contributor
    The new verbiage is better and mostly not confusing - asked one question.
  13. jonatack commented at 2:19 am on June 20, 2025: member
    ACK c754a4d095704228de928deb817cda47a6499e3e
  14. jonatack merged this on Jun 20, 2025
  15. jonatack closed this on Jun 20, 2025


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: 2025-07-02 14:10 UTC

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