Skip to content

Commit 7457da0

Browse files
release: v0.7.0 (#81)
* Update CHANGELOG.md * Update package.json * feat: optimized `HTTPVerification` (#82) * wip: better HTTP - Trying to reduce file size and constraints substantially - Also need to make this so it doesn't matter if there is padding around headers / etc. * WIP: improving HTTP digesting * WIP: http rewrite * WIP: almost working no-header test * WIP: working start/body * working tests! * cleanup * Update masker.circom * Update CHANGELOG.md * feat: hash-based JSON circuit (#41) * feat: hash based JSON verification * WIP: save * resetting for clearer approach * good save state * feat: working hash version Though this will be too expensive, the idea works! * WIP: need to clear after comma * WIP: good progress * WIP: getting keys also now * feat: (mostly?) working tree hasher * seems to be correct for spotify * perf: first optimization * wip: brain hurty left a note to myself * fix: tree hasher seems correct now * TODO: note to self * feat: hash based JSON verification * WIP: save * resetting for clearer approach * good save state * feat: working hash version Though this will be too expensive, the idea works! * WIP: need to clear after comma * WIP: good progress * WIP: getting keys also now * feat: (mostly?) working tree hasher * seems to be correct for spotify * perf: first optimization * wip: brain hurty left a note to myself * fix: tree hasher seems correct now * TODO: note to self * cleanup from rebase * cleanup * WIP: seems to monomial correctly * rename * add in value to eval at * WIP: start looking for matches * made some fixes * it may be working! * now i can write tests! * more tests * more JSON hasher tests * cleanup * remove excess stuff * adjust builds * fix: build * feat: manifest digest verification (#83) * feat: `PolynomialDigest` * WIP: working to get through NIVC * feat: HTTP circuit digesting * feat: ChaCha circuit digesting * feat: JSON circuit digesting * fix: `JSONExtraction` * IT WORKS * feat: TS init digest * feat: separate sequence/value * cleanup * fix: builds * fix: warnings * Update CHANGELOG.md * fix: PR feedback * Fix/http verification (#85) * fix: `zeroed_data` for `data_digest` in `http_verification` * add test for 1024 * cleanup readme --------- Co-authored-by: Sambhav Dusad <lonerapier@proton.me>
1 parent 26fc847 commit 7457da0

63 files changed

Lines changed: 1669 additions & 2359 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,37 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8+
## [0.7.0] - 2024-12-3
9+
10+
### Added
11+
### Changed
12+
#### Circuit Builds
13+
#### Artifacts
14+
- **Circuit sizes:**
15+
- `plaintext_authentication_1024b`:
16+
- non-linear constaints: `383,102`
17+
- R1CS file: `123.4MB`
18+
- Graph file: `19.9MB`
19+
- `http_verification_1024b`:
20+
- non-linear constaints: `121,376`
21+
- R1CS file: `80.7MB`
22+
- Graph file: `4.4MB`
23+
- **WARNING:** Extremely slow build with `--O2` flag. Need to investigate.
24+
- `json_extraction_1024b`:
25+
- non-linear constaints: `452,683`
26+
- R1CS file: `90.3MB`
27+
- Graph file: `13.2MB`
28+
- **Total size:** `243.7MB`
29+
- **Circuit param file sizes (SNARK):**
30+
- `aux_params`: `62.2MB`
31+
- `prover_key`: `50.3MB`
32+
- `verifier_key`: `415.3MB`
33+
34+
### Notes
35+
36+
---
837

9-
## [UNRELEASED] [0.6.0] - 2024-12-3
38+
## [0.6.0] - 2024-12-3
1039

1140
### Added
1241

@@ -21,9 +50,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
2150
- Runs with `512b` per fold
2251
- `http_nivc` replaced with more suitable name: `http_verification`
2352

24-
### Fixed
25-
- TODO
26-
2753
### Notes
2854
- **Total circuits:** 5
2955
- **Circuit sizes:**

README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313

1414
## Overview
1515

16-
`web-prover-circuits` is a project focused on implementing parsers and extractors/selective-disclosure for various data formats inside zero-knowledge circuits.
16+
`web-prover-circuits` is a project focused on implementing parsers and extractors/selective-disclosure for various data formats inside zero-knowledge circuits.
17+
Specifically, these are designed to be used in an NIVC folding scheme.
18+
Currently, our program layout looks like this:
19+
![v0.7.0](docs/images/v0.7.0.png)
1720

1821
## Repository Structure
1922

@@ -94,12 +97,7 @@ npx circomkit compile plaintext_authentication_1024b
9497
```
9598
which implicitly checks the `circuits.json` for an object that points to the circuit's code itself.
9699

97-
If you are having trouble with `circomkit`, consider:
98-
99-
##### SNARKJS
100-
Likewise, `snarkjs` is used to handle proofs and verification under the hood.
101-
There is [documentation](https://docs.circom.io/getting-started/compiling-circuits/) on Circom's usage to work with this.
102-
We suggest starting at that link and carrying through to "Proving circuits with ZK".
100+
If you are having trouble with `circomkit`, consider
103101

104102
##### Mocha
105103
`mocha` will also be installed from before.

builds/target_1024b/json_extract_value_1024b.circom

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pragma circom 2.1.9;
2+
3+
include "../../circuits/json/extraction.circom";
4+
5+
component main { public [step_in] } = JSONExtraction(1024, 10);

builds/target_1024b/json_mask_array_index_1024b.circom

Lines changed: 0 additions & 5 deletions
This file was deleted.

builds/target_1024b/json_mask_object_1024b.circom

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pragma circom 2.1.9;
22

3-
include "../../circuits/chacha20/nivc/chacha20_nivc.circom";
3+
include "../../circuits/chacha20/authentication.circom";
44

5-
component main { public [step_in] } = ChaCha20_NIVC(1024);
5+
component main { public [step_in] } = PlaintextAuthentication(1024);

builds/target_512b/json_extract_value_512b.circom

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pragma circom 2.1.9;
2+
3+
include "../../circuits/json/extraction.circom";
4+
5+
component main { public [step_in] } = JSONExtraction(512, 10);

builds/target_512b/json_mask_array_index_512b.circom

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)