Conversation
On the sender side, the public key information provided by the Updater is used by the Signer in the silent payment output derivation phase to obtain the private keys required to produce the ecdh shares. The sender cannot produce the shares from its own public keys, but its private keys. This was implied by the former phrase and this change removes the ambiguity.
P2TR outputs with enabled key path spend are also required to derive ECDH shares. The Updater role wasn't mentioning this but all the others Inputs Available for Shared Secret Derivation (P2WPKH, P2PKH, P2SH-P2WPKH) as per BIP 352. P2TR is also part of these and should be mentioned too.
The reasoning here is for verifying the ECDH shares with the DLEQ proofs that are generated by a signer without the sender private keys. Other entities can handle the PSBT, and in order to verify they would need the public key of the input Without the |
I see. This is a completely different perspective than the one I was using.
...and the public key is known because it is in the PSBT_IN_WITNESS_UTXO, right? |
The derivation data from the BIP174 Updater spec is implied to be for the signer to find the correct keys and to detect change. Now it is needed by both signer and extractor for these specific output scripts for verifying DLEQs.
Correct. |
|
@andrewtoth Is this a case of impersonation? Anyways, I think we can close this and focus the discussion on how to make this clearer. |
|
I control @andrewtoth-exo as well and forgot to switch before commenting. Apologies for the confusion. |
|
Closing because of misunderstood rationale: the original changes weren't intended to produce signatures but to verify DLEQ proofs. |
Description
While reviewing test vectors for BIP 375, and by looking closer at the spec, I noticed the following:
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:
To address this:
cc: @andrewtoth