Srinath Setty
7b1bb44e45
spark-based commitments to R1CS matrices ( #152 )
* spark-based commitments to R1CS matrices
* small fixes
1 year ago
Srinath Setty
eb97499907
Fix padding logic ( #151 )
* fix padding
* update version
1 year ago
Srinath Setty
cbbc1c6127
Generalize TranscriptRepr implementation for slices ( #150 )
* generalize the slice implementation
* bump the version
1 year ago
Srinath Setty
03710dbb97
Simplify TranscriptEngine usage ( #148 )
* simplify transcript engine usage
* update version
1 year ago
Srinath Setty
1e4995274b
Separate prover and verifier keys in CompressedSNARK ( #145 )
* checkpoint
* simplify further
* checkpoint
* gens --> ck
* update benches
* address clippy
* cleanup
* update version
1 year ago
Srinath Setty
01ae6446a9
pass only one multilinear polynomial to EE ( #144 )
* pass only one multilinear polynomial to EE
* update version
1 year ago
Srinath Setty
d53b3e0fc1
simplify trait requirements ( #143 )
* simplify trait requirements
* update version
1 year ago
Nalin
621fda5c9e
Feature to enable Neptune GPU Poseidon ( #141 )
* enable neptune gpu hashing
* Disable clippy on GPU
1 year ago
Srinath Setty
8faffd38ea
Make code generic over a TranscriptEngine ( #139 )
1 year ago
Srinath Setty
b97786d291
move IPA-specific methods to the provider ( #138 )
1 year ago
Srinath Setty
0315bd1198
fix wasm build ( #137 )
1 year ago
Srinath Setty
603c1e2a85
traits for a vector commitment engine and a polynomial evaluation engine ( #136 )
make spartan generic over the evaluation engine
update version
disable Wasm CI check
1 year ago
Srinath Setty
e7f8d11455
use thiserror ( #135 )
1 year ago
Srinath Setty
4163665f52
release candidate ( #133 )
1 year ago
Samuel Burnham
b2adab610a
Clippy formatting ( #131 )
* Clippy with Rust 1.67
* Clippy/Rustfmt with Rust 1.66.1
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
Srinath Setty
6044aff625
Update crate versions ( #119 )
* update crate versions
* fix clippy issues
* cargo fmt
2 years ago
Srinath Setty
7ec2f57b84
optimize ECC ops ( #110 )
* optimize ECC ops
* update version
2 years ago
Srinath Setty
faf28e71cd
update version ( #108 )
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
3dc26fd7e4
Simplifications in Nova's RO ( #98 )
* rename methods for better clarity
* rename
* Bump version
2 years ago
Srinath Setty
7d54d992a4
update benches ( #94 )
2 years ago
Srinath Setty
704d48b528
update to the latest pasta-msm crate ( #89 )
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
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
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
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
Samuel Burnham
25cd5ec279
Fix Wasm support ( #64 )
* Fix dependencies
* Replace rug with num-bigint
2 years ago
Srinath Setty
562fa71027
move from rug to num-bigint ( #53 )
2 years ago
Srinath Setty
0d53db18e3
implement transcript methods for various types ( #49 )
* implement transcript methods for various types
* address clippy
* add shape to transcript
2 years ago
Srinath Setty
485eb3fac6
fix build ( #48 )
* fix build
* switch to stable
2 years ago
Srinath Setty
bcbdec2982
Accelerated MSM prep ( #41 )
* remove send + sync
* introduce a new associative type to capture any form of preprocessing on group elements
* update pasta_curves version
* simplify trait requirements
* fix clippy
2 years ago
Samuel Burnham
fbc855d1d6
Wasm support ( #34 )
* Bump commit.
* Add wasm support
* Add nix build
* Update bellperson
* Update bellperson
* Remove Nix
* Remove .envrc
* Always use bellperson
* Use updated bellperson-nonnative
* Update bellperson-nonnative
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Anders Christiansen Sørby <anders@sorby.xyz>
2 years ago
Srinath Setty
72920fb62b
update crate versions ( #36 )
This PR updates the crate versions of neptune, bellperson, and bellperson-nonnative to the latest.
2 years ago
Srinath Setty
9a44d06aec
PrimeField --> ff::PrimeField ( #28 )
* PrimeField --> ff::PrimeField
* cargo fmt
2 years ago
Srinath Setty
bebcc94904
support for stable Rust
2 years ago
Srinath Setty
27839896a3
bump version number
2 years ago
Srinath Setty
e47b6148f4
Verifier circuit ( #23 )
* ECC scalar multiplication (first draft)
* fix clippy nits
* start implementing the ro gadget: 1st design Poseidon + truncate
* truncate to 128 bits
* implement add + double in constraints
* finish implementing constraints for ecc
* cargo fmt
* input of smul should be an array of bits
* cleanup ro a bit. Make the challenge returned be a vec of allocated bits
* switch to neptune 6.0
* start implementing high level circuit
* incomplete version of the verifier circuit with many TODOS
* optimize ecc ops. add i ==0 case to the circuit
* fix 0/1 constants at the circuit
* wrap CompressedGroupElement of Pallas and Vesta
* cargo fmt
* generate poseidon constants once instead of every time we call get_challenge
* Implement RO-based poseidon to use outside of circuit. Reorganize the repo
* add inner circuit to verification circuit
* start adding folding of the io. there is an error in the first call to mult_mod
* add test to check that bellperson-nonnative is compatible with nova
* remove swap file
* add another test that fails
* add inputs to the circuits in tests
* rename q to m in circuit.rs. add more tests in test_bellperson_non_native. change a in test_mult_mod to expose error
* push test for equal_with_carried. fix the issue is src/r1cs.rs
* cargo fmt + update the verifier circuit: add folding of X and update all hashes with X
* make limb_width and n_limbs parameters
* make params part of h1
* allocate the field order as constant. add check that z0 == zi when i == 0
* fix error in test_poseidon_ro
* remove merge error
* small fixes
* small fixes to comments
* clippy lints
* small edits; rename tests
* move inputize before from_num
* _limbs --> _bn
* _limbs --> _bn
Co-authored-by: Ioanna <iontzialla@gmail.com>
2 years ago
porcuquine
2919fe4e78
Use bellperson v0.19.0. ( #18 )
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
2 years ago
porcuquine
853ab90f7c
Use pasta_curves 0.3.0. ( #15 )
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
2 years ago
Srinath Setty
5e5dd65abc
Update version
3 years ago
porcuquine
c28c421ab9
Use released bellperson 0.18.0.
3 years ago
Srinath Setty
ff885c4d5d
fix bellperson path; address minor clippy-suggested edit
3 years ago