-
Notifications
You must be signed in to change notification settings - Fork 41
Closed
Description
We can make our MSM (multi scalar multiplications) faster.
There is a lot of optimizations from ZPrize that we don't use:
- https://github.com/yrrid/submission-wasm-bls12377#optimizations-in-our-solution
I am checking how we can integrate them in our code - https://www.youtube.com/watch?v=Bl5mQA7UL2I
- https://www.youtube.com/watch?v=KAWlySN7Hm8
- https://github.com/snarkify/arkmsm/tree/main
Other MSM implementations are worth looking at too, such as
- MSM tuning for high core count mratsim/constantine#227
- https://github.com/AztecProtocol/barretenberg/tree/master/cpp/src/barretenberg/ecc
- https://github.com/Consensys/gnark-crypto/blob/208eeba5a82c069ec6cb51b2f82abaa6c7c870f4/ecc/bls12-381/multiexp.go#L43
- https://github.com/zkcrypto/bellman/blob/3a1c43b01a89d426842df39b432de979917951e6/src/multiexp.rs#L305
- Fork of
bellmanby Matter labs: https://github.com/matter-labs/zksync-crypto/blob/b241b29a8c14785b6d1a74b754d89fe4c9a7a375/crates/bellman/src/multiexp.rs#L525 - https://github.com/supranational/blst/blob/master/bindings/rust/src/pippenger.rs
Other resources:
- MSM Optimizations lambdaclass/lambdaworks#730
- Towards state-of-the-art multi-scalar-muls privacy-ethereum/halo2curves#163
- Parallel Multi-Scalar-Multiplication mratsim/constantine#226
Faster inversion:
Metadata
Metadata
Assignees
Labels
No labels