New BIP to align descriptors, xpub derivation and miniscript [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2023-09-11T12:03:59+00:00


Summary:

The email discusses the issues with the current implementation of script output descriptors, also known as "output descriptors" or "wallet descriptors," and proposes a new approach to address these problems. The combination of descriptors, miniscript, and extended BIP32 keys often leads to redundancy and unspecified caveats.One issue highlighted in the email is that the derivation path standards commit to a specific type of script pubkey, but this information is also present in the descriptor itself. This duplication creates redundancy and can lead to confusion. Additionally, each public key within the descriptor replicates the derivation information and information about the Bitcoin network, further adding to the redundancy.Another issue raised is the conflicting approaches for handling the use of the same signer in different miniscript branches. The email suggests two possible solutions: deriving a different hardened xpub from the signing device for each occurrence, which can be cumbersome, or querying a single xpub from the device and then appending an unhardened derivation step. The latter option can reduce the number of steps by reusing the multipath step.To address these issues, the email proposes a new BIP proposal that removes the redundancies and inconsistencies. The proposed approach suggests introducing a new BIP44 purpose field that will be used with all descriptor formats. This field will enforce a standardized format for all keys, ensuring that they follow the same standard and use the same network and terminal derivation format. The email provides an example of how these standardized descriptors would look like.The email emphasizes the importance of standardization and highlights that wallets unaware of client-side validation may spend UTXOs and burn external states if the meaning of certain segments is not extended through dedicated BIPs. Therefore, the author proposes that the new approach should be acknowledged by the mailing list and seeks Concept (n)ACKs and Approach (n)ACKs from the community.Once the approach is acknowledged, the email author plans to write a reference implementation in Rust and deploy it with the MyCitadel wallet, which is currently the only wallet that supports the combination of descriptors, miniscript, and taproot.In summary, the email discusses the issues with current script output descriptors and proposes a new approach to address these problems. The author plans to work on a BIP proposal after receiving feedback from the community and seeks support from the mailing list.


Updated on: 2023-09-12T01:52:56.500179+00:00