bitcoin-dev

Proposed BIP for MuSig2 Descriptors

Proposed BIP for MuSig2 Descriptors

Original Postby Salvatore Ingala

Posted on: November 7, 2023 11:34 UTC

The correspondence begins with an acknowledgment of the standards provided, highlighting their potential utility for implementations.

The central issue raised concerns the functionality of supporting KEY expressions in musig that permit ranged derivations using /*. An example is given to illustrate a configuration where each signer must derive the child xpub for each key and execute the KeyAgg algorithm (inclusive of N scalar multiplications) for every input being spent.

The email suggests an alternative policy that appears more efficient, which involves performing the KeyAgg algorithm just once for all inputs. This approach, described as musig(key1, key2, .., keyN)//*, is recommended over the former due to its succinctness and reduced performance impact on signing devices. The writer expresses a preference for keeping the standard minimal by only supporting the latter form, thereby avoiding the performance overhead and the complexities involved in writing descriptor parsers.

However, the possibility of legitimate use cases for the initially mentioned setup is acknowledged. In such an event, it is proposed that these use cases and the associated trade-offs be discussed as part of the Bitcoin Improvement Proposal (BIP). The link provided in the original email [1] likely refers to further technical details or documentation related to the KeyAgg algorithm, emphasizing the importance of this aspect in the discussion.