WIP: 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 an y number of participants.

  2. 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.
    3dc86a9c80
  3. 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

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #30406 (refactor: modernize-use-equals-default by maflcko)
    • #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.

  4. willcl-ark added the label PSBT on Jun 26, 2024
  5. DrahtBot added the label CI failed on Jun 26, 2024
  6. 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.
    6223e0d8e4
  7. doc: detail psbt combiner derivation strip ability. 31cc0f46dc
  8. willcl-ark force-pushed on Jun 26, 2024
  9. DrahtBot removed the label CI failed on Jun 26, 2024
  10. DrahtBot added the label Needs rebase on Jul 11, 2024
  11. DrahtBot commented at 6:44 pm on July 11, 2024: contributor

    🐙 This pull request conflicts with the target branch and needs rebase.


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: 2024-09-29 01:12 UTC

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