Multi and Sortedmulti descriptors should support up to 20 keys instead of 16 inside P2WSH context #20620

issue sanket1729 openend this issue on December 11, 2020
  1. sanket1729 commented at 4:34 am on December 11, 2020: contributor
    Currently, the multisig descriptor constructions are limited to 16 keys only possibly because of template parsing reasons. Under p2sh context, such scripts would be invalid anyway because of 520-byte rule, but we can support up to 20 keys for CHECKMULTISIG in witness script context.
  2. darosior commented at 10:39 pm on January 4, 2021: member
    I think that even under witness context such Script are non standard as the small-integerness is checked in MatchMultisig: https://github.com/bitcoin/bitcoin/blob/bc8ada1c15345d14e324aee68488c8aa8a75cae0/src/script/standard.cpp#L92-L108
  3. sanket1729 commented at 10:49 pm on January 4, 2021: contributor
    I don’t follow you completly. Yes, such scripts are non-standard now, but should be considered standard. And hence the issue :)
  4. darosior commented at 10:51 pm on January 4, 2021: member
    Ok, i thought you were talking about descriptor parsing. Can propose a patch to make them standard if others find it reasonable
  5. sipa commented at 10:53 pm on January 4, 2021: member
    @darosior That is only relevant for bare multisig though (which isn’t standard at all by default). Descriptors could well start supporting 17-20 key multisig when wrapped in wsh(), without affecting any network policy (also there is no strict reason descriptors can’t support nonstandard things too, but I think we want to avoid that if possible). @sanket1729 I believe v17-v20 multisig inside P2WSH is standard, as inside P2SH/P2WSH template matching isn’t used to determine standardness (otherwise ~all of miniscript would be nonstandard…).
  6. MarcoFalke added the label TX fees and policy on Jan 5, 2021
  7. MarcoFalke commented at 10:10 am on January 5, 2021: member
    Is this an issue? If yes, what are the steps to reproduce?
  8. darosior commented at 11:05 am on January 5, 2021: member

    @MarcoFalke this is an issue, but with Descriptors rather than TX fees and policy. As outlined by sipa above 17-20 pubkeys multisig are standard under witness context, it’s just that our current descriptor implementation does not parse them. Here is a minimal example:

    0getdescriptorinfo 'sh(wsh(multi(20,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232,02bc2feaa536991d269aae46abb8f3772a5b3ad592314945e51543e7da84c4af6e,0318bf32e5217c1eb771a6d5ce1cd39395dff7ff665704f175c9a5451d95a2f2ca,02c681a6243f16208c2004bb81f5a8a67edfdd3e3711534eadeec3dcf0b010c759,0249fdd6b69768b8d84b4893f8ff84b36835c50183de20fcae8f366a45290d01fd)))'
    
  9. MarcoFalke removed the label TX fees and policy on Jan 5, 2021
  10. MarcoFalke added the label Descriptors on Jan 5, 2021
  11. MarcoFalke added the label Feature on Jan 5, 2021
  12. MarcoFalke removed the label Feature on Jan 5, 2021
  13. darosior commented at 1:08 pm on January 5, 2021: member
    FWIW i’m working on this
  14. fanquake closed this on May 3, 2021

  15. sidhujag referenced this in commit 18b80ef3c1 on May 3, 2021
  16. jnewbery renamed this:
    Muliti and Sortedmulti descriptors should support upto 20 keys instead of 16 inside P2WSH context
    Multi and Sortedmulti descriptors should support upto 20 keys instead of 16 inside P2WSH context
    on May 11, 2021
  17. jnewbery renamed this:
    Multi and Sortedmulti descriptors should support upto 20 keys instead of 16 inside P2WSH context
    Multi and Sortedmulti descriptors should support up to 20 keys instead of 16 inside P2WSH context
    on May 11, 2021
  18. DrahtBot locked this on Aug 18, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC

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