Skip to content

Commit

Permalink
Initialize the README.md with a sketch of the structure
Browse files Browse the repository at this point in the history
  • Loading branch information
arnaucube committed Nov 28, 2023
1 parent 905ba44 commit ee178d7
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# folding-schemes
(brief description)

## Schemes implemented
- [Nova](https://eprint.iacr.org/2021/370.pdf) + [CycleFold](https://eprint.iacr.org/2023/1192.pdf)

WIP:
- [HyperNova](https://eprint.iacr.org/2023/573.pdf)
- [ProtoGalaxy](https://eprint.iacr.org/2023/1106.pdf)

### Frontends available
- [arkworks](https://github.com/arkworks-rs)
- [Circom](https://github.com/iden3/circom)

## Usage

### Overview
Suppose that the user inputs a circuit that follows the IVC structure, chooses which Folding Scheme to use (eg. Nova), and which Decider (eg. Spartan over Pasta curve).

Later the user can for example change with few code changes the Folding Scheme being used (eg. switch to ProtoGalaxy) and also the Decider (eg. Groth16 over bn254), so the final proof can be verified in an Ethereum smart contract.

### Folding the circuit
First let's define our circuit to be folded:
```circom
//
```

Now we plug it into the library:
```rust
//
```

### Generating the final proof (decider), and verifying it in Ethereum

### Swapping curves and proving schemes
Additionally, let's suppose that for the final proof (decider), instead of using Groth16 over the BN254 curve, we want to use Marlin+IPA over the Pasta curves, so we can enjoy of not needing a trusted setup.
It just requires few line changes on our previous code [...]



## License

0 comments on commit ee178d7

Please sign in to comment.