p2tr – Is it true that we do not care about parity with the important thing path, however it’s not case with the script path? (Taproot)

0
3
p2tr – Is it true that we do not care about parity with the important thing path, however it’s not case with the script path? (Taproot)


I’m studying supplies associated to the Taproot (specifically, BIP341) and I do know that there’s two potential methods to spend the output:

  1. through key path
  2. 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.

LEAVE A REPLY

Please enter your comment!
Please enter your name here