Permit Combiner to strip bip32_deriv information #30341

pull willcl-ark wants to merge 3 commits into bitcoin:master from willcl-ark:psbt-strip-derivs-combine changing 6 files +50 −2
  1. willcl-ark commented at 11:01 am on June 26, 2024: member

    Closes: #30294

    Looking for approach (N)ACK.

    Previously setting the bip32derivs flag to false with the walletprocesspsbt RPC correctly does not include bip32_derivs for inputs in the PSBT, but does include bip32_derivs for outputs.

    User may want to actively strip all bip32 derivation paths from a PSBT for privacy reasons however. It may make sense to do this after signing your inputs and outputs during a manual coinjoin as demonstrated in the BIP174 example.

    To me, this makes more sense to include in the Combiner PSBT role. It’s then separated from signing done by the Signers.

    Therefore add functionality to combinepsbt permitting stripping of all bip32_derivation paths found in all provided psbts’ inputs and outputs.

    As this RPC can be called with a single PSBT, it can be used to strip derivation paths from a PSBT with any number of participants.

  2. DrahtBot commented at 11:01 am on June 26, 2024: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/30341.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Approach NACK achow101

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #21283 (Implement BIP 370 PSBTv2 by achow101)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    LLM Linter (✨ experimental)

    Possible typos and grammar issues:

    • “out inputs and outputs” -> “inputs and outputs” [“out” is extraneous and confuses the phrase]
    • “these those that are not empty” -> “those that are not empty” [duplicate demonstratives]

    drahtbot_id_4_m

  3. willcl-ark added the label PSBT on Jun 26, 2024
  4. DrahtBot added the label CI failed on Jun 26, 2024
  5. willcl-ark force-pushed on Jun 26, 2024
  6. DrahtBot removed the label CI failed on Jun 26, 2024
  7. DrahtBot added the label Needs rebase on Jul 11, 2024
  8. willcl-ark force-pushed on Oct 8, 2024
  9. DrahtBot removed the label Needs rebase on Oct 8, 2024
  10. fanquake commented at 3:23 pm on February 20, 2025: member

    Looking for approach (N)ACK.

    Maybe @achow101 ? Otherwise given no interest in this in 8 months, maybe we should just close.

  11. rpc: strip derivation paths from psbt during combine
    Previously setting bip32derivs to false with walletprocesspsbt does not
    include bip32_derivs for inputs, but does include bip32_derivs for
    outputs.
    
    User may want to strip all bip32 derivation paths for privacy reasons
    however. It may make sense to do this after signing your inputs and
    outputs during a manual coinjoin for example.
    
    Therefore add functionality to `combinepsbt` permitting stripping of
    all bip32_derivation paths found in all provided psbts.
    
    As this RPC can be called with a single psbt, it can be used to strip
    derivation paths from any psbt.
    b009550742
  12. test: exercise bip32_deriv stripping during psbt combine
    These asserts check that when calling `combinepsbt` RPC with
    `stripderivs=true`, all derivation paths are stripped from all inputs
    and outputs.
    c3dec1ad9d
  13. doc: detail psbt combiner derivation strip ability. be9246e0f4
  14. willcl-ark force-pushed on Jun 25, 2025
  15. achow101 requested review from achow101 on Oct 22, 2025
  16. willcl-ark renamed this:
    WIP: Permit Combiner to strip bip32_deriv information
    Permit Combiner to strip bip32_deriv information
    on Oct 22, 2025
  17. willcl-ark marked this as ready for review on Oct 22, 2025
  18. achow101 commented at 5:40 pm on October 27, 2025: member

    Approach NACK

    I don’t think it’s up to the combiner to strip this information. If a signer wants to preserve their own privacy, then they should remove it prior to sending the PSBT to any of their counterparties, or the combiner. I think it would be better to have the strip functionality be in walletprocesspsbt, and signers can pass their PSBT back through that if they want to strip the derivation paths.


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-10-31 09:13 UTC

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