Analysis of the util circuits
StealthAddrOwnership
Compute and constrain
G = vk*H1 - H2
.Constrain that
8*G == 0
.
VKDerivation
Constrain that
vk = Poseidon(spendPubKey, vkNonce)
.Constrain that
vkbits
is the bit decomposition ofvk
.constrain that
vk
is less than the Baby Jubjub scalar field order.
IsOrderL
Compute
Q = inv8*P
whereinv8 = (inv(8) mod l)
.Constrain that
8*Q === P
. This guarantees thatord(P) = ord(Q)/GCD(ord(Q), 8)
soord(P)
is either l or 1.Constrain that P is not the identity point.