Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arrabbiata: add resources in README #2929

Merged
merged 2 commits into from
Jan 8, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions arrabbiata/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Arrabbiata - a generic recursive zero-knowledge argument implementation based on folding schemes
# Arrabbiata - a generic recursive zero-knowledge argument implementation based on folding schemes

### Motivation
## Motivation

This library provides an implementation of a generic recursive zero-knowledge
argument based on folding schemes (initially defined in
Expand Down Expand Up @@ -28,7 +28,7 @@ Not even sure it is possible right now.
**This will change. We might go up to degree 6 or 7, as we're building the
different gadgets (EC addition, EC scalar multiplication, Poseidon).

### Implementation details
## Implementation details

We provide a binary to run arbitrarily large computation.
The implementation of the circuits will follow the one used by the o1vm
Expand All @@ -50,7 +50,7 @@ While building the witness, the cross terms are also computed on the fly, to be
used in the next iteration. This way, the prover only pays the price of the
activated gate on each row.

### Examples
## Examples

Different built-in examples are provided. For instance:
```
Expand All @@ -64,13 +64,13 @@ the end.
You can also activate logging which contains benchmarking by using the
environment variable `RUST_LOG=debug`.

### Run tests
## Run tests

```
cargo nextest run --all-features --release --nocapture -p arrabiata
```

### Registry of zkApps
## Registry of zkApps

A registry of zkApps is already preconfigured.
To write a zkApp, check TODO.
Expand All @@ -87,7 +87,16 @@ lib.rs file. In this registry, we could have for instance o1VM -->
versions over time. It can also be done using a registry. We keep only one IVC
circuit for now -->

### References
## References

- The name is not only used as a reference to Kimchi and Pickles, but also to
the mathematician [Aryabhata](https://en.wikipedia.org/wiki/Aryabhata).

## Resources

- [Nova: Recursive Zero-Knowledge Arguments from Folding Schemes](https://eprint.iacr.org/2021/370)
- [ProtoStar: Generic Efficient Accumulation/Folding for Special Sound Protocols](https://eprint.iacr.org/2023/620)
- [ProtoGalaxy: Efficient ProtoStar-style folding of multiple instances](https://eprint.iacr.org/2023/1106)
- [Behind Nova: cross-terms computation for high degree gates](https://hackmd.io/qq_Awc1AR3ywzkruE4Wq9Q)
- [CycleFold: Folding-scheme-based recursive arguments over a cycle of elliptic curves](https://eprint.iacr.org/2023/1192)
- [Revisiting the Nova Proof System on a Cycle of Curves](https://eprint.iacr.org/2023/969)
Loading