BIP draft: Raw() as subscript for descriptors #1721

pull furszy wants to merge 1 commits into bitcoin:master from furszy:2024_descriptors_raw_as_subscript changing 1 files +76 −0
  1. furszy commented at 9:19 pm on December 17, 2024: member

    Allowing arbitrary hex data to be wrapped in sh(), wsh(), or even within the TREE argument of a tr(KEY, TREE) descriptor enables the representation of currently inexpressible information.

    Specifically, the absence of this feature limits the representation of non-standard redeem and witness scripts. This occurs because they can currently only be represented as top-level raw(HEX) descriptors, which retain only the output script information and lack the ability to preserve the actual script.

    This work stemmed from discussions with @sipa and @achow101 about the legacy wallet migration path, particularly while investigating migrated descriptors that lacked information about the script they were supposedly migrated from.

    Additionally, issue #24114, specifically https://github.com/bitcoin/bitcoin/issues/24114#issuecomment-1127978154, provides historical context and highlights other valid use cases enabled by this behavior change.

  2. jonatack added the label New BIP on Dec 17, 2024
  3. jonatack renamed this:
    Raw() as subscript for descriptors
    BIP draft: Raw() as subscript for descriptors
    on Dec 17, 2024
  4. furszy force-pushed on Dec 18, 2024
  5. furszy force-pushed on Dec 18, 2024
  6. in bip-0391.mediawiki:26 in 47fed6d9f0 outdated
    21+
    22+This BIP is licensed under the BSD 2-clause license.
    23+
    24+==Motivation==
    25+
    26+To ensure no information is lost during conversion to descriptors, it’s useful to wrap
    


    sipa commented at 7:36 pm on December 18, 2024:
    This seems to appear somewhat out of the blue; the reader isn’t familiar with the fact that Bitcoin Core is working on migration from pre-descriptor wallets to descriptor wallet, and I don’t think it matters if you phrase it as being able to express information that’s currently inexpressible.

    furszy commented at 10:19 pm on December 18, 2024:
    absolutely, thanks!
  7. furszy force-pushed on Dec 18, 2024
  8. Raw() as subscript for descriptors a67af04615
  9. furszy force-pushed on Dec 20, 2024
  10. in bip-0391.mediawiki:44 in a67af04615
    39+participating in signing a script without knowing all participants' keys, relying solely
    40+on the script structure.
    41+
    42+==Specification==
    43+
    44+Allow raw(HEX) to be accepted within the context of `sh()`, `wsh()` and `tr()` descriptors.
    


    murchandamus commented at 7:31 pm on December 20, 2024:

    I think you’re mixing up MediaWiki and Markdown. If you want to use mediawiki, you would use <tt>sh()</tt>. It’s been permitted to submit BIPs in Markdown for a while though, if you prefer that.

    0Allow raw(HEX) to be accepted within the context of <tt>sh()</tt>, <tt>wsh()</tt> and <tt>tr()</tt> descriptors.
    

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 16:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me