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

Succinctness #3

Open Antonio95 opened 2 months ago

Antonio95 commented 2 months ago

We have an implementation of the Ligero SNARK as described in section 4 of the paper, which is not succinct. In particular, the prover sends the verifier the entire matrix U of size 4 * k * n containing an encoding of the extended solution vector x || y || z || w. Although not discussed in the paper (at least not in section 4, it might appear elsewhere), we likely want to make this succinct in the future by instead sending a Merkle commitment to U and open the requested columns in the vein of the Ligero PCS. This will also require making the verifier's private coins in the current code (the columns to be opened) public.