NilFoundation / crypto3-zk

Zero-Knowledge Proof Systems for =nil; Crypto3 C++ Cryptography Suite.
MIT License
32 stars 13 forks source link

Finish Kimchi proof system implementation #82

Open rinat229 opened 2 years ago

rinat229 commented 2 years ago

For now, kimchi is not yet finished because of something wrong in verification algorithm (from this line https://github.com/NilFoundation/crypto3-zk/blob/27-implement-pickles/include/nil/crypto3/zk/snark/systems/plonk/pickles/verifier.hpp#L160, PolishToken::evaluate returns wrong values). The one single test is generated from https://github.com/o1-labs/proof-systems/blob/master/kimchi/src/tests/ec.rs#L16 with num_doubles = num_additions = num_infs = 10. Also, it's needed to

  1. Check lookups
  2. Make prover(verifier) index generation (https://github.com/o1-labs/proof-systems/blob/master/kimchi/src/prover_index.rs#L148)