Suggestion:

It should be allowed that different keys can specify different sighash flags.

As an example, if chaperone signatures were desired with anyprevout, it would be required to specify that the anyprevout key sign with APO and the chaperone sign with ALL. As another example, Sapio emulator oracles sign with SIGHASH_ALL whereas other signatories might be instructed to sign with a different flag.

The current sighashtype key is per-input:
- If a sighash type is provided, the signer must check that the sighash is acceptable. If unacceptable, they must fail.
- If a sighash type is not provided, the signer should sign using SIGHASH_ALL, but may use any sighash type they wish.

So a new per-key mapping can be added safely.

I have no strong opinions on the format for said per-key sighash hints.

Why do this now? Well, I requested it when spec'ing V2 as well, but it would be nice to get it spec'd and implemented.


--


On Mon, Jun 28, 2021 at 1:32 PM Salvatore Ingala via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
Hi Andrew,

Thanks for the clarification, I was indeed reading it under the mistaken assumption that only one leaf would be added to the PSBT.

En passant, for the less experienced readers, it might be helpful if the key types that are possibly present multiple times (with different keydata) were somehow labeled in the tables.

Best,
Salvatore Ingala
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev