-
Notifications
You must be signed in to change notification settings - Fork 369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat Emulated BW6-761 #589
Conversation
Thanks for the contribution! Also added @yelhousni. It may take a few days before can get to it. But I really like the possibility of two layers of recursion, I think this will open up very interesting approaches for scalability. |
Great! thanks @SherLzp for the contribution! |
Yes, I think 2-chain + emulated BW6-761 is really amazing(comes from this paper). That's no problem. We can work out the optimisations later. If there is anything I can help, please let me know. |
Even though if we use a bit wider limb we get one less limb then there is a mismatch between the machine and non-native representations. For now change it to match the machine sizes. We are likely to reconsider the sizes when have updated the range checker gadget to have limb sizes multible of the table size.
I pushed a few fixes. There are still some cleanup work to do but I'll postpone. I want to move some types around into packages where they are actually used (LineEvaluation), also some documentation would be nice. And I see that tests print some logging info. All in all, I think it is a bit of work. I'll then have a look at the correctness. |
@SherLzp we ended up re-implementing in #846 the emulated BW6-761 pairing with the same optimization techniques as for BN254 and BLS12-381. I wanted to thank you for this PR which helped me init and test #846. The overall cost is now 2,969,304 R1CS which saves 524,150 constraints. Edit: 2,716,106 R1CS now |
Emulate operations of BW6-761 curve with the following result:
Constraints:
MillerLoop 2153658
FinalExponentiation 2153658
1 Pairing: 3493454
In order to make complete tests, we need to wait for the merge of gnark-crypto#359
Sir, could you please take a reivew on that. @ivokub