You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@
10
10
11
11
</div>
12
12
13
-
ProveKit takes Noir circuits, compiles them to R1CS, and generates WHIR proofs — built for mobile and edge environments. The core includes a custom BN254 hash engine ([Skyscraper](skyscraper/)), swap-to-disk memory management, and C FFI bindings for iOS and Android. A gnark-based recursive verifier wraps WHIR proofs in Groth16 for on-chain verification.
13
+
ProveKit takes a Noir circuit, lowers it to R1CS, and proves it with WHIR. Built for mobile and constrained environments — ships with a custom BN254 hash engine ([Skyscraper](skyscraper/)), swap-to-disk memory management, and C FFI for iOS and Android. There's also a gnark recursive verifier that wraps WHIR proofs in Groth16 for on-chain verification.
14
14
15
15
---
16
16
@@ -59,7 +59,7 @@ graph TD
59
59
60
60
## Example
61
61
62
-
From [`noir-examples/basic`](./noir-examples/basic/) — proves knowledge of a Poseidon hash preimage:
62
+
[`noir-examples/basic`](./noir-examples/basic/) — proves knowledge of a Poseidon hash preimage:
Compare against [Barretenberg](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/README.md)using[hyperfine](https://github.com/sharkdp/hyperfine):
137
+
Benchmark against [Barretenberg](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/README.md)with[hyperfine](https://github.com/sharkdp/hyperfine):
@@ -172,10 +172,10 @@ provekit-cli show-inputs ./verifier.pkv ./proof.np # public input names and val
172
172
173
173
## Acknowledgements
174
174
175
-
-[**WHIR**](https://github.com/WizardOfMenlo/whir) — the multilinear polynomial commitment scheme and sumcheck protocol at the core of ProveKit's proof system. `WhirR1CSScheme` wraps it to prove R1CS satisfiability over BN254.
175
+
-[**WHIR**](https://github.com/WizardOfMenlo/whir) — the polynomial commitment scheme and sumcheck protocol the proof system is built on. `WhirR1CSScheme` wraps it for R1CS satisfiability over BN254.
176
176
177
-
-[**Spongefish**](https://github.com/arkworks-rs/spongefish) — a permutation-agnostic Fiat-Shamir library from arkworks. ProveKit's `TranscriptSponge`and `DuplexSponge` are built on its API, driving all challenge derivation in the proof protocol.
177
+
-[**Spongefish**](https://github.com/arkworks-rs/spongefish) — Fiat-Shamir library from arkworks. All transcript construction and challenge derivation goes through its `DuplexSponge` API.
178
178
179
-
-[**gnark-skyscraper**](https://github.com/reilabs/gnark-skyscraper) — Go implementation of the Skyscraper hash for gnark circuits. The recursive verifier uses it to reproduce the exact Merkle tree commitments generated by the Rust prover, enabling cross-language proof verification.
179
+
-[**gnark-skyscraper**](https://github.com/reilabs/gnark-skyscraper) — Go implementation of the Skyscraper hash. The recursive verifier needs it to reproduce the same Merkle commitments as the Rust prover.
180
180
181
-
-[**Noir**](https://github.com/noir-lang/noir) — the ZK domain-specific language ProveKit compiles from. Circuits are authored in Noir, compiled to ACIR via nargo, and lowered to R1CS by ProveKit's compiler.
181
+
-[**Noir**](https://github.com/noir-lang/noir) — the ZK DSL we compile from. Write your circuit in Noir, run nargo to get ACIR, and ProveKit handles the rest.
0 commit comments