I’m studying supplies associated to the Taproot (specifically, BIP341) and I do know that there’s two potential methods to spend the output:
- through key path
- through script path
I additionally know that the Taproot output accommodates solely the X coordinate, whereas the Y coordinate is not directly assumed to be EVEN. So, in case you need to devour the output through the important thing path, it is advisable to create a signature for the (X, Yeven) level.
Nonetheless, studying BIP341, one of many consensus guidelines for spending through the script path is:
If q ≠ x(Q) or c[0] & 1 ≠ y(Q) mod 2, fail.
From the content material to the fitting of OR
, it appears like the primary bit (00000000) inside first byte inside management block denotes the parity (signal) of the Y coordinate (0
– even Y, 1
– odd Y) and that we should set the right parity, that’s, not directly, the right (even/odd) Y coordinate so as to make legitimate witness.
It follows that though we all the time use a fair Y coordinate when spending through the important thing path (no matter whether or not some extent with a fair or odd Y coordinate is obtained after tweaking), for spending through the script path we nonetheless must know what was that unique level obtained after tweaking (that’s, whether or not it has a fair or odd Y coordinate) and to set the right parity bit. Am I proper?
Additionally, since tweaking by the consensus guidelines (BIP341) between underlaying key (P) and MAST root is completed in a such approach that the even Y coordinate of the purpose P is used, does it imply that if I get from the underlaying non-public key (not the tweaked one) some extent that has an odd Y coordinate, I’ve to negate it first earlier than additional tweaking with the MAST root? And likewise from this, my non-public key turns into -private key
, that’s, the general public key’s non-public key * (-G)
?
Due to all upfront.