Type Definition sigma_fun::ext::dl_secp256k1_ed25519_eq::CoreProof[][src]

type CoreProof = And<All<Or<And<DLG<U31>, DLG<U31>>, And<DLG<U31>, DLG<U31>>>, U252>, And<Eq<DLG<U31>, DL<U31>>, Eq<DLG<U31>, DL<U31>>>>;

The underlying sigma protocol we will use to prove the relationship between the two sets of commitments.

We are trying to prove that X_p = x * G_p and X_q = x * G_q. The approach is to split x into two sets of 252 bit pedersen commitments for each curve and prove that the corresponding commitments commit to the same bit. Note the commitments are in the form commit(b) = r * G + b* H where G is the standard basepoint for each curve.