libiop
libiop copied to clipboard
C++ library for IOP-based zkSNARKs
1. It's not portable 2. It's not needed anyway
https://github.com/scipr-lab/libiop/blob/a2ed2ec2f3e85f29b6035951553b02cb737c817a/libiop/protocols/encoded/sumcheck/sumcheck.tcc#L367-L381 Here, `actual_sum` should be `g[0] * this->summation_domain_size` instead of `g[0]`. Please see https://github.com/arkworks-rs/bcs/blob/2ddd1db3838cbf393a8d8d7eafe6a004aa584c61/sumcheck/src/util.rs#L16-L27 for a possible fix
Thanks for the useful library! This PR fixes a couple issues I ran into: 1. `size_t` is defined in ``. Some C++ libraries will incidentally pull this in, but that's...
Cap hashing was implemented for merkle trees. The algebraic and non-algebraic cap hashes were both implemented in `hash_enum.tcc`, as well as the dummy algebraic hash. See issue https://github.com/scipr-lab/libiop/issues/41. A bug...
WIP, trying to fix errors in how test_bcs_transform calls proof of work
The test_bcs_transformation test currently uses dummy BCS parameters. We should instead just use the actual BCS parameters for hashchain, merkle tree hash, proof of work, etc. The dummy algebraic hashes...
The `bcs_transformation_parameters` object has an attribute named `hash_enum`. However, this is incorrect, since the BCS transformation is allowed to have different hash types for its hashchain and merkle tree. This...
When you have many randomly queries to a single merkle tree, you can compute on you're own most nodes at the top. (e.g. with two queries, one on the left...
Addresses #28. I believe all feedback has been accounted for, but if not I will be happy to revise.
Currently we are restricted to binary merkle trees. (Two children at each node) We should generalize to allow for non-binary merkle trees. Theres good evidence for this being advantageous in...