Skip to content

BIP Draft: NestedMuSig2 for BIP340-compatible Signatures - #2297

Open
BEULAHEVANJALIN wants to merge 2 commits into
bitcoin:masterfrom
BEULAHEVANJALIN:nested-musig
Open

BEULAHEVANJALIN wants to merge 2 commits into
bitcoin:masterfrom
BEULAHEVANJALIN:nested-musig

Conversation

@BEULAHEVANJALIN

Copy link
Copy Markdown

This PR proposes NestedMuSig2 for BIP340-compatible Signatures, a BIP draft extending BIP327 MuSig2 to support trees of nested signing groups. Each subgroup participates through its aggregate public key, and the complete tree produces a single BIP340 signature verifiable without knowledge of the internal structure.

The proposal includes the specification, a Python reference implementation, and test vectors covering nested key and nonce aggregation, signing, partial-signature verification, signature aggregation, and error handling. Multi-level examples and randomized tree tests accompany the vectors.

Review is particularly welcome on recursive nonce binding, signer session construction, root tweaks, and compatibility with BIP327 in the flat case. The construction remains n-of-n at each aggregation node.

@murchandamus murchandamus changed the title Add BIP draft for nested MuSig2 with reference implementation and tes… BIP Draft: NestedMuSig2 for BIP340-compatible Signatures Sep 21, 2026
@murchandamus

Copy link
Copy Markdown
Member

Hi Beulah, thank you for your submission. At first glance your document makes a great impression. I just wanted to let you know that I have seen it, but I will only get around to giving it a full read in a few weeks.
I hope some other people will chime in with review here meanwhile.

@edilmedeiros

Copy link
Copy Markdown
Contributor

@IsaqueFranklin

@patrickdugan

Copy link
Copy Markdown

Congratulations on your hard work and reaching this milestone!

I ran a few million tokens over your BIP and got these findings and fixes:

https://github.com/patrickdugan/bips/blob/nested-musig2-review/nested-musig2-review/FINDINGS.md

BEULAHEVANJALIN#1

@BEULAHEVANJALIN

Copy link
Copy Markdown
Author

@patrickdugan addressing F1. Fixed the inconsistent wording in 4523ee0. I’ve kept the 32-byte xbytes(pubkey) hash input, following BIP327’s convention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants