Closed yelhousni closed 1 month ago
I'm not fully sure about the possible overflow in BLS12-377, but I think with this approach we have a slight problem. Imo it looks good for the emulated 4-dim, but not for 2-chain.
Applied the suggestions and resolved conversations. For BLS12-377, we only use the GLV+Fake-GLV for testing purposes as it is currently more expensive constraint-wise compared to classical GLV. If we do the scalars decomposition check in non-native then definitely way more expensive.
Thanks for all the changes! All good from my side now. I'll postpone the general interfaces for different curves for a separate PR (https://github.com/Consensys/gnark/issues/1303)
Description
https://ethresear.ch/t/fake-glv-you-dont-need-an-efficient-endomorphism-to-implement-glv-like-scalar-multiplication-in-snark-circuits/20394/7
Type of change
How has this been tested?
Correctness tests are implemented in
emulated/sw_emulated/point_test.go
andnative/sw_bls12377/g1_test.go
.How has this been benchmarked?
All benchmarks are in plonkish constraints (scs).
Checklist:
golangci-lint
does not output errors locally