jellyfish
jellyfish copied to clipboard
A Rust Implementation of the PLONK ZKP System and Extensions
# Problem In a perfect world we prefer to eliminate unneeded trait bounds from associated types: ```rust trait MyTrait { type MyAssocType; // no unneeded trait bounds, as god intended...
`MerkleTreeScheme` trait looks a lot like a vector commitment https://github.com/EspressoSystems/jellyfish/blob/53403e2f33ca8b8cedb8733ccba3d300c4b4c613/primitives/src/merkle_tree/mod.rs#L179 plus a few Merkle-specific methods such as `height`. Shall we rename this trait into a completely abstract `VectorCommitmentScheme`? This would...
> crate has been renamed to `crypto_secretbox` | Details | | | ------------------- | ---------------------------------------------- | | Status | unmaintained | | Package | `xsalsa20poly1305` | | Version | `0.9.1`...
Currently, there are some util functions that we only want conditionally compile for tests and benches across different crates. (specifically `gen_srs_for_testing` [here](https://github.com/EspressoSystems/jellyfish/pull/231/commits/094fd51e2e83f3068fc82874482e58935a2fdbef)) We currently directly copy the code from `jf-primitives`...
- [ ] Add comments in the ECC circuits (e.g., MSM and other group operations) that the input points should be guaranteed to be well-formed (e.g. whether they're in the...
@sveitser has pointed out that downstream libraries that use `jellyfish` usually compile with `--release` for faster runtime jellyfish which slows down the dev process and many dev tools (also work...
In [jf_utils/conversion.rs](https://github.com/EspressoSystems/jellyfish/blob/main/utilities/src/conversion.rs), we have duplicated APIs doing the same thing. We should refactor the codebase to merge them. (`fr_to_fq`, `fq_to_fr` and `field_switching`)
We should compare our SMT with [Jellyfish MT](https://developers.diem.com/papers/jellyfish-merkle-tree/2021-01-14.pdf) (JMT 😢 name collision) by Diem, used by Aptos for their key-value map.
https://github.com/EspressoSystems/jellyfish/blob/main/primitives/src/rescue/mod.rs#L139 the default `pow()` algorithm uses the `double-then-add` method to accommodate variable exponents. For rescue hashes, the exponent is fixed. One could try to implement the `addition chain` method for...
We should create another markdown file for benchmarks and add a link to it in the README