NP-Eng / ligero

Rust implementation of (the non-interactive, non-ZK version of) the Ligero SNARK for arithmetic circuits.
Apache License 2.0
2 stars 1 forks source link

Optimisations #20

Open Antonio95 opened 1 month ago

Antonio95 commented 1 month ago

It's likely optimisations can be made on the prover and verifier side. For instance, we realised that it is cheaper for the verifier to compute all evaluations of a certain polynomial over the entire domain using an FFT and then select the ones of interest, than to individually evaluate that polynomial at the point of interest (we should implement a threshold to switch from one technique to the other).

Flamegraph is very useful in determining the bottlenecks.

I imagine similar optimisations to the above can be applied to more places.