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.
Multi and Sortedmulti descriptors should support up to 20 keys instead of 16 inside P2WSH context #20620
issue sanket1729 opened this issue on December 11, 2020-
sanket1729 commented at 4:34 AM on December 11, 2020: contributor
-
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 -
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 :)
-
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
-
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...).
- MarcoFalke added the label TX fees and policy on Jan 5, 2021
-
MarcoFalke commented at 10:10 AM on January 5, 2021: member
Is this an issue? If yes, what are the steps to reproduce?
-
darosior commented at 11:05 AM on January 5, 2021: member
@MarcoFalke this is an issue, but with
Descriptorsrather thanTX 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:getdescriptorinfo 'sh(wsh(multi(20,03669b8afcec803a0d323e9a17f3ea8e68e8abe5a278020a929adbec52421adbd0,0260b2003c386519fc9eadf2b5cf124dd8eea4c4e68d5e154050a9346ea98ce600,0362a74e399c39ed5593852a30147f2959b56bb827dfa3e60e464b02ccf87dc5e8,0261345b53de74a4d721ef877c255429961b7e43714171ac06168d7e08c542a8b8,02da72e8b46901a65d4374fe6315538d8f368557dda3a1dcf9ea903f3afe7314c8,0318c82dd0b53fd3a932d16e0ba9e278fcc937c582d5781be626ff16e201f72286,0297ccef1ef99f9d73dec9ad37476ddb232f1238aff877af19e72ba04493361009,02e502cfd5c3f972fe9a3e2a18827820638f96b6f347e54d63deb839011fd5765d,03e687710f0e3ebe81c1037074da939d409c0025f17eb86adb9427d28f0f7ae0e9,02c04d3a5274952acdbc76987f3184b346a483d43be40874624b29e3692c1df5af,02ed06e0f418b5b43a7ec01d1d7d27290fa15f75771cb69b642a51471c29c84acd,036d46073cbb9ffee90473f3da429abc8de7f8751199da44485682a989a4bebb24,02f5d1ff7c9029a80a4e36b9a5497027ef7f3e73384a4a94fbfe7c4e9164eec8bc,02e41deffd1b7cce11cde209a781adcffdabd1b91c0ba0375857a2bfd9302419f3,02d76625f7956a7fc505ab02556c23ee72d832f1bac391bcd2d3abce5710a13d06,0399eb0a5487515802dc14544cf10b3666623762fbed2ec38a3975716e2c29c232,02bc2feaa536991d269aae46abb8f3772a5b3ad592314945e51543e7da84c4af6e,0318bf32e5217c1eb771a6d5ce1cd39395dff7ff665704f175c9a5451d95a2f2ca,02c681a6243f16208c2004bb81f5a8a67edfdd3e3711534eadeec3dcf0b010c759,0249fdd6b69768b8d84b4893f8ff84b36835c50183de20fcae8f366a45290d01fd)))' - MarcoFalke removed the label TX fees and policy on Jan 5, 2021
- MarcoFalke added the label Descriptors on Jan 5, 2021
- MarcoFalke added the label Feature on Jan 5, 2021
- MarcoFalke removed the label Feature on Jan 5, 2021
-
darosior commented at 1:08 PM on January 5, 2021: member
FWIW i'm working on this
- fanquake closed this on May 3, 2021
- sidhujag referenced this in commit 18b80ef3c1 on May 3, 2021
- 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 - 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 - DrahtBot locked this on Aug 18, 2022