Srinath Setty
74501936c3
parallel and batch_normalize ( #129 )
use a macro to remove redundant code
add a test case
1 year ago
Srinath Setty
746af53e08
use serde feature to compute the digest of the shape ( #132 )
1 year ago
Samuel Burnham
13964b6f16
Add serde proof serialization ( #123 )
* Bump commit.
* Bump commit.
* (WIP) Add serde support
* Minor fixes
* Use neptune const generics
* Use git patches
* Impl serde for CompressedSNARK
* Update dependencies, revert to typenum
* Formatting
* Update bellperson-nonnative patch
* Cleanup
* Remove bellperson-nonnative fork
* Switch back to fil_pasta_curves
* Update forked dependencies
* Cleanup
* Remove unnecessary patch
* Update to lurk-pasta-msm
---------
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
1 year ago
Srinath Setty
0b2b984fd1
release version ( #130 )
1 year ago
Samuel Burnham
55f6736866
Add Wasm support ( #125 )
* Add Wasm support
* Use SeedableRng for Wasm randomness
* Fix tests
* Formatting
1 year ago
Nalin
6c6a8746d6
Speed up MSMs for non-GPU accelerated MSMs and architectures that don't support GPU/semolina ( #126 )
* WASM target support
* fast multiexp for WASM
* add parallelisation for MSM
https://github.com/zcash/halo2/blob/main/halo2_proofs/src/arithmetic.rs
1 year ago
Srinath Setty
d35604fe15
release version ( #124 )
1 year ago
Srinath Setty
23178ff54d
A simplified version of the nonnative gadgets ( #122 )
1 year ago
Nalin
fa9064a3f7
Delete outdated comment to avoid confusion ( #117 )
2 years ago
Srinath Setty
6044aff625
Update crate versions ( #119 )
* update crate versions
* fix clippy issues
* cargo fmt
2 years ago
Srinath Setty
f9672faf23
Make Nova's ecc gadgets read curve parameters from the group trait ( #115 )
* make ecc gadgets defined over Group rather than PrimeField
* use curve parameters from Group trait
2 years ago
Srinath Setty
d2844089ba
update benches ( #111 )
2 years ago
Srinath Setty
7ec2f57b84
optimize ECC ops ( #110 )
* optimize ECC ops
* update version
2 years ago
Srinath Setty
3c6867390a
optimize point add constraints ( #106 )
* optimize add constraints
* optimize double by rewriting a constraint involving an inverted element
2 years ago
Srinath Setty
6e408d03a6
simplify signature gadget ( #109 )
2 years ago
Srinath Setty
faf28e71cd
update version ( #108 )
2 years ago
Srinath Setty
ccc6ccd4c7
Support for arbitrary arity for step circuit's IO ( #107 )
* support for arbitrary arity for F
* revive MinRoot example
* revive tests
* revive ecdsa
* remove unused code
* use None instead of Some(1u32)
* revive benches
* fix clippy warning
2 years ago
Srinath Setty
0a7cbf925f
integrate with neptune's sponge ( #105 )
* integrate with neptune's sponge
* fix clippy warning
* add checks to ensure at most one squeeze
* add checks to ensure at most one squeeze
2 years ago
Srinath Setty
ddd90f7373
Update crate versions ( #104 )
* update crates to their latest version
* use latest pasta-msm
2 years ago
Srinath Setty
c7e8782f11
pad two IPA instances to the same size when folding ( #103 )
2 years ago
Srinath Setty
a56f823ace
optimize the non-native arithmetic and hashing costs by using 4 limbs instead of 8 ( #102 )
2 years ago
Srinath Setty
111abcab38
optimize MinRoot constraint system ( #101 )
* optimize MinRoot constraint system to not allocate unneeded advice variables
run with multiple MinRoot iterations per Nova step in a loop
* fix clippy warnings
2 years ago
Srinath Setty
06192ac3d4
Optimizations ( #100 )
* avoid creating commitments to zero vectors
* reduce the number of constraints in each iteration from 4 to 3
2 years ago
Srinath Setty
3dc26fd7e4
Simplifications in Nova's RO ( #98 )
* rename methods for better clarity
* rename
* Bump version
2 years ago
Srinath Setty
c6fa4d44eb
Fix benches so it varies the number of constraints in the augmented circuit in powers of 2 ( #97 )
* vary the number of constraints in the step circuit
* use a different starting state
2 years ago
Srinath Setty
5d5b9aa244
Fix bench name ( #95 )
* fix name
* Add 14
2 years ago
Srinath Setty
7d54d992a4
update benches ( #94 )
2 years ago
Srinath Setty
87a5b07bdd
name changes for improved clarity ( #93 )
2 years ago
Arthur Greef
ed915b2540
ecdsa signature proof ( #92 )
* ecdsa signature proof
* use the library-provided default circuit
* small reorg
Co-authored-by: Srinath Setty <srinath@microsoft.com>
2 years ago
Srinath Setty
35cb03f977
reorganize traits into a module; cut boilerplate code ( #91 )
use a default implementation for step circuit
2 years ago
Srinath Setty
704d48b528
update to the latest pasta-msm crate ( #89 )
2 years ago
Srinath Setty
e373f4633d
edits to address clippy with the latest Rust ( #90 )
2 years ago
Srinath Setty
a04566bb81
MinRoot example improvements ( #88 )
* support multiple iterations of MinRoot per Nova step
* small edits to println
* fix declaration
2 years ago
Srinath Setty
ff40d17cc4
Nova-based VDF using MinRoot as an example ( #86 )
* add the MinRoot VDF example
* optimize a bit
* optimization and cleanup
* clippy
* add examples to CI
* use inbuilt pow_vartime
2 years ago
Srinath Setty
63f08c0e4a
Support non-determinism with a minimal API ( #85 )
* support non-determinism with small changes to the interface
* update benches to use the new API
* add an example that exercises non-deterministic advice at each step of recursion
* tiny rename
* Address clippy; update version
2 years ago
Srinath Setty
6667d2f8b5
Abstract the RO used in the circuit with traits ( #84 )
* cleanup RO usage inside the circuit: use traits
* Add a note
* rename types for clarity
2 years ago
Srinath Setty
0863a732ff
Add asserts for constraint count ( #83 )
* Add asserts for constraint count
* switch to Standard strength
2 years ago
Srinath Setty
c29030b2d7
Release Candidate ( #82 )
* update version and README
* move tests to bellperson adapter and remove tests folder; make bellperson adapter private
2 years ago
Srinath Setty
0ff2e57bfa
Spartan variant with an IPA-based polynomial commitment scheme for compressing IVC proofs ( #80 )
* cleanup code
* compiles
* additional plumbing
* add padding
* Add missing file
* integrate
* add a separate test
* cleanup
* cleanup
* add checks for outer sum-check
* sum-checks pass
* sum-checks pass
* sum-checks pass
* Add polycommit checks to the end
* switch to pasta_msm
* clippy
* remove int_log
* switch to pasta_curves
* clippy
* clippy
* add a special case for bases.len() = 1
* use naive MSM to avoid SIGFE error for smaller MSMs
* add rayon parallelism to naive MSM
* update comment since we already implement it
* address clippy
* cleanup map and reduce code
* add parallelism to final SNARK creation and verification
* add par
* add par
* add par
* add par
* store padded shapes in the parameters
* Address clippy
* pass padded shape in params
* pass padded shape in params
* cargo fmt
* add par
* add par
* Add par
* cleanup with a reorg
* factor out spartan-based snark into a separate module
* create traits for RelaxedR1CSSNARK
* make CompressedSNARK parameterized by a SNARK satisfying our new trait
* fix benches
* cleanup code
* remove unused
* move code to Spartan-based SNARK
* make unused function private
* rename IPA types for clarity
* cleanup
* return error types; rename r_j to r_i
* fix duplicate code
2 years ago
iontzialla
81b12232fe
Add benches ( #79 )
* add benches
* fix error
* put snark in a black_box when benchmarking verification time
* fix error in benches
2 years ago
iontzialla
bf35556b90
Complete addition: handle addition of equal numbers and addition of negation ( #78 )
* make addition complete. test addition corner cases. optimizations
* optimization and comment
* fix errors
* all tests pass
2 years ago
Srinath Setty
a7da105677
IVC proof compression APIs and implementation ( #77 )
We currently implement a constant-factor compression, but in the future we will provide an exponential reduction in proof sizes
2 years ago
Srinath Setty
8308c29f94
use pasta_msm crate for MSM ( #75 )
* use pasta_msm crate for MSM
* add repr-c to pasta_curves
* add +stable
* update pasta-msm version
2 years ago
Srinath Setty
0154358469
Verifier's checks ( #73 )
* begin adding verification checks
* add verifier checks
* remove unnecessary dead_code
2 years ago
Srinath Setty
b080bac949
Update README.md ( #72 )
2 years ago
Srinath Setty
4970826f0f
small cleanup ( #71 )
2 years ago
Samuel Burnham
25cd5ec279
Fix Wasm support ( #64 )
* Fix dependencies
* Replace rug with num-bigint
2 years ago
Srinath Setty
dbe8837991
Update README.md ( #70 )
* Update README.md
* Update README.md
2 years ago
Srinath Setty
188a7c5640
Add a non-trivial step circuit ( #66 )
2 years ago
Srinath Setty
1fd4eee2b6
Recursion implementation ( #65 )
* recursion attempt
* address clippy
* initialize the running instance and witness of the primary correctly
* add asserts for debugging
* fix a bug in AllocatedPoint
* add debug statements
* fix an issue with how we inputize hashes; remove debug statements
* rename
* cleanup
* speedup tests
* require step_circuit implementors to provide a way to execute step computation
2 years ago