perf: replace BW6-761 final exp by a class equivalence check#1155
Conversation
|
It is though difficult to include the computation of Adapting the algorithms in/out-circuit to match each other would affect performances and make the trick not worth it. |
Actually, now that this additional trick might not be worth it, it becomes more relevant to push the Miller function to the cyclotomic subgroup by performing the easy part of the final exp only before doing the class equivalence check. This saves an additional 1,390,037 scs making the total cut at 2,679,259 scs. |
Description
Similarly to #1143 we adapt https://eprint.iacr.org/2024/640.pdf to the BW6-761 case with the following parameters:
First, we find the residue witness in a hint:
(no need for the modified Tonelli-Shanks for cube roots here as
Then, we check in-circuit that:
with two optimized addition chains, a Frobenius power and a hinted division in Fp6.
Type of change
How has this been tested?
TestPairingCheckTestSolvetest passes.How has this been benchmarked?
This PR saves 2,679,259 scs in the emulated PLONK verifier of BW6-761 in a BN254-PLONK.
Checklist:
golangci-lintdoes not output errors locally