Description
While reviewing test vectors for BIP 375, and by looking closer at the spec, I noticed the following:
- The updater role mentions the addition of PSBT_IN_BIP32_DERIVATION data for p2wpkh, p2sh-p2wpkh and p2pkh, all members of the Inputs for Shared Secret Derivation from BIP 352, but doesn’t mention the addition of PSBT_IN_TAP_BIP32_DERIVATION data for p2tr inputs with key path spend path enabled, which are also part of the Inputs for Shared Secret Derivation from BIP 352 list.
- The argued reason for this is confusing:
so the public key is available for creating the ecdh_shared_secret when the private key is not known.This is not making clear that the ECDH shares, on the sending side, can only be produced by the sender private keys.
There is a third point, that was raised before in the BIP 376 specification:
- It’s not clear from the specification which format should the Updater use to not reveal the derivation path and fingerprint on these fields.
To address this:
- I rephrased the rationale for BIP32_DERIVATION addition in f208b9d4f93b57f80cbdc92a3f08808869cfd255
- I added the mention of PSBT_IN_TAP_BIP32_DERIVATION field in 7d7e0343cab5fa6b501a8bc5811ee94a30139830.
- I specified the same format than BIP 376 to not reveal derivation data in 6838026ac3611141ed9291f769c7a52d57a57a8f
cc: @andrewtoth