Targets

We are pushing for:

Current state

In our current implementation, we can compute proofs between 2.5ms and 1.3ms per proof, depending on the polynomial degree. This is in a highly parallelized environment.

This matches other reference implementation as rust-kzg:

Untitled

This still leave us far away from our target as with this we can push for a range of 32-38Kb/s depending on the column configuration.

Options

We have available the fk20 (Feist-Khovratovich) method (amortized calculation). There are some benchmarks available here.

It should improve times *on single thread, *but it is not sure if it can be parallelized as the other method.

Some benchmarks throws:

computing proofs with fk20. POLY_SIZE 4096, NUM_INPUT_POINTS 2, NUM_PROOFS 4096
time:   [3.7427 s 3.7489 s 3.7555 s]

This results in a 1.09ms per proof (partially parallelized).

Even using this, for our current target we would still have to use about ~28seconds to compute all the needed proofs**. And, as it is not clear if it can be parallelized this values may be the limit.**