0

Can i compose a multisig address where one of the signatories is a multisig address?
In order to create a multisig address we need the pubkey of the signatories.

bitcoin­cli addmultisigaddress 2 
'["pubkey1", "pubkey2",..."pubkey(n)"]'

Is anything stopping me from using a multisig address as one of the signatories?

Essentially: can one of the signatories be a multisig address (one that currently starts with a 3).

2 Answers 2

1

No this is not supported behavior. You can manually add the public keys from one multisig script into another, but a multisignature script can not be nested within another.

3
  • It was always supported by Bitcoin Script, and there is now tools to be able to use that safely (output descriptors with Miniscript support). Apr 10, 2023 at 9:25
  • @AntoinePoinsot: I think the question asker is asking about the equivalent of a nested MuSig2 key within a script? If he is then that wasn't possible until Schnorr (or at least an equivalent MuSig2 scheme wasn't specified for ECDSA) Apr 10, 2023 at 9:38
  • 1
    I don't think he's asking about a public key aggregation scheme specifically, just about having the feature "a 2-of-3 where one of the signer is actually a 2-of-3 (or another sort of multisig)". And it's precisely one of the things Miniscript makes possible: composability. Also, you wouldn't be able to have a threshold with Musig2 directly (only by using a Taproot tree) and he's using a 2-of-3 in his question. TL;DR: both work. You can either use Miniscript or have aggregated keys in separate Taproot leaves, but i'd argue the latter is significantly more involved at the moment. :) Apr 10, 2023 at 9:54
0

Update to Claris' answer in April 2023:

With Schnorr signatures (enabled in the Taproot soft fork that activated in November 2021) you can now generate a single Schnorr public key that is the aggregate of multiple other valid Schnorr public keys and create a single aggregated signature from them. This aggregated Schnorr public key can be nested within another multisig scheme. However, your Bitcoin address needs to be a Taproot address (SegWit v1) starting bc1p.... rather than 3....

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.