You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arnaucube d3abe648a6 add note pointing to the HyperNova's multifolding-poc 9 months ago
.github/workflows Add Transcript & TranscriptVar CS test, clean dependencies & clippy. Add GHA for tests 10 months ago
src add note pointing to the HyperNova's multifolding-poc 9 months ago
.gitignore pedersen commitment with merlin transcript 10 months ago
Cargo.toml add Augmented F (F') circuit initial implementation 10 months ago
LICENSE check openings of folded instance comms cmE, cmW 10 months ago
README.md add initial IVC proof generation impl 10 months ago

README.md

nova-study Test

Implementation of Nova using arkworks-rs just for learning purposes.

Warning: Implementation from scratch to learn the internals of Nova. Do not use in production.

This repo is an ongoing implementation, the code will be dirty for a while and not optimized but just to understand and experiment with the internals of the scheme and try experimental combinations.

Thanks to Levs57, Nalin Bhardwaj and Carlos Pérez for clarifications on the Nova paper.

Details

"Nova: Recursive Zero-Knowledge Arguments from Folding Schemes" (https://eprint.iacr.org/2021/370) by Abhiram Kothapalli, Srinath Setty, Ioanna Tzialla.

Current implementation uses a cycle of pairing-friendly curves with Groth16 for the compressed IVC proofs (as an example, the tests use MNT4, MNT6 curves), once the full scheme works, will see how many constraints the circuits need and might change one of the sides to a non-pairing curve with a non-pairing proof instead of Groth16. Eventually would like to explore also using BN254 with Grumpkin for ending up verifying the proofs in Ethereum.