lambdaworks
lambdaworks copied to clipboard
lambdaworks offers implementations for both SNARKs and STARKs provers, along with the flexibility to leverage their individual components for constructing customized SNARKs.
- [x] Implement the 32 bit Mersennes Prime Field, F = 2^31 - 1, with an efficient backend. Bench it against the same field implemented with montgomery backend - [...
Implement the more efficient CIOS algorithm from Gnark. Bench with the finite field benches and confirm if there are improvements https://hackmd.io/@gnark/modular_multiplication
Add point compression to the [Pallas](https://github.com/lambdaclass/lambdaworks/blob/main/math/src/elliptic_curve/short_weierstrass/curves/pallas/curve.rs) and [Vesta](https://github.com/lambdaclass/lambdaworks/blob/main/math/src/elliptic_curve/short_weierstrass/curves/vesta/curve.rs) curves. This can be achieved by having a "compressed" version of both curves together with the affine and projective representations. We will...
# Add prover gnark example
Cairo Prover should be made compatible with Stone and the Ethereum verifier. Builtins should be proven with more complete layouts For this - [ ] Add a compatible with Stone...
This task consists of three tasks: - [x] Add Babybear field to pre defined fields on : math/src/field/fields/fft_friendly, using the right modulus. - [x] Implement IsPrimeField for BabyBear - [x]...
- [ ] Add batch inverse for the evaluations of the Z Polynomial. See: [Plonk prover, L356](https://github.com/lambdaclass/lambdaworks/blob/cffa505af7c0c9f73d938577958be20e6b92676a/provers/plonk/src/prover.rs#L356) - [ ] Add rayon to the more expensive iterators
Port cyclone MSM to lambdaworks. You can find the current implementation in the following repository: https://github.com/JumpCrypto/cyclone
Bls 12 377 currently lacks pairings. Some of the logic is shared with the 12 381. We should look how to generalize it properly or share the logic to have...
- [ ] Add a flag to run and prove cairo1 programs, using Cairo VM cairo1 proof mode