jellyfish icon indicating copy to clipboard operation
jellyfish copied to clipboard

A Rust Implementation of the PLONK ZKP System and Extensions

Results 152 jellyfish issues
Sort by recently updated
recently updated
newest added

# 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...

tech debt

`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...

question
low-priority

> 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...

documentation
enhancement

@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...

low-priority
rust

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`)

low-priority

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.

low-priority
research

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