Unspendable keys in descriptors

Posted by bitryonix

Sep 9, 2026/18:34 UTC

The recent discussions surrounding the implementation of an unspendable NUMS key within a script-only Taproot policy have led to several decisions aimed at standardizing this approach without overstepping existing Bitcoin Improvement Proposals (BIPs). The primary decision was the establishment of a placeholder, denoted as _, for representing the unspendable NUMS key in transaction descriptors. This method is chosen to ensure clarity and to avoid misuse of keys in the scripting process.

In order to maintain order and consistency within these transactions, keys are organized within the musig(..) function and the sortedmulti_a descriptor. This organization also extends to the sorting of sibling pairs within the tree structures of these scripts. Moreover, to prevent key reuse in scenarios involving multiple paths, identical length tuples are added alongside the _ placeholder when extensions are present. This structuring aids in defining a clear and secure framework for transaction verification according to the stipulations set forth in BIP 341.

Further technical details and the comprehensive methodology can be accessed through the proposal documentation available on GitHub. The specific enhancements and procedural norms being proposed are discussed thoroughly in the document hosted at this link. These modifications are pivotal in evolving the security and functionality of Bitcoin scripting, ensuring that it remains robust against potential security threats while adhering to established protocols.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiDecoding BitcoinWarnet
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project.

Give Feedback