19 Commits

Author SHA1 Message Date
puma314
940c81b212
Significant refactor and all tests passing, as well as optimized range check for Goldilocks (#37) 2023-10-11 18:02:46 -07:00
puma314
0c677ddd0d
Revert "Range check optimizations" 2023-10-11 17:39:52 -07:00
Uma Roy
19da211317 rename another file 2023-10-11 15:23:53 -07:00
Uma Roy
ca5d0904d1 benchmark works now 2023-10-11 15:20:42 -07:00
Uma Roy
3aef7954ed All tests pass 2023-10-11 14:53:34 -07:00
Uma Roy
b173b28649 checkpoint 2023-10-11 12:20:48 -07:00
Uma Roy
5d53737841 Moved to variables 2023-10-11 12:01:26 -07:00
Uma Roy
3b8611c6ac Rename back 2023-10-11 11:37:45 -07:00
Uma Roy
1c0235b35a Renamed symbol a bunch in goldilocks, goldilocks tests pass 2023-10-10 22:32:54 -07:00
Uma Roy
07cf7bd857 Upgraded dependencies 2023-10-10 22:15:01 -07:00
Kevin Jue
7bd0035e65
range check inputted plonky2 proof (#29)
* gl

* stage 1 optimizations

* working optimized poseidon

* Fix posedion tests

* in progress gate type refactor

* working gates

* working e2e

* hm'

* hm2

* debug saga continues

* more debugging cry

* more debug

* it finally works

* optimizations

* more optimizations

* new changes

* more optimizations

* more cleanup

* some refactoring

* new files

* flattening of packages

* working commit

* more refactor

* more flattening

* more flattening

* more more refactor

* more optimizations

* more optimizations

* more optimizations

* plonk benchmark

* plonk

* fix r1cs

* resolve kevin's comments

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/quadratic_extension.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* added range check for the inputted proof

* removed the go.mod replace directive

* removed some hacky code

* removed duplicate import

* renamed rangecheckQEVariable to rangecheckQE

* resolved conflict

---------

Co-authored-by: John Guibas <john@succinct.xyz>
2023-07-24 16:18:37 -07:00
John Guibas
b670530e7f
Use optimized goldilocks in codebase (#26)
* gl

* stage 1 optimizations

* working optimized poseidon

* Fix posedion tests

* in progress gate type refactor

* working gates

* working e2e

* hm'

* hm2

* debug saga continues

* more debugging cry

* more debug

* it finally works

* optimizations

* more optimizations

* new changes

* more optimizations

* more cleanup

* some refactoring

* new files

* flattening of packages

* working commit

* more refactor

* more flattening

* more flattening

* more more refactor

* more optimizations

* more optimizations

* more optimizations

* plonk benchmark

* plonk

* fix r1cs

* resolve kevin's comments

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/base.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* Update goldilocks/quadratic_extension.go

Co-authored-by: Kevin Jue <kjue235@gmail.com>

* fix: resolve kevin's confusion

---------

Co-authored-by: Kevin Jue <kjue235@gmail.com>
2023-07-24 16:08:17 -07:00
Kevin Jue
103c7ca47d
proof with small public input (#28) 2023-06-26 12:09:14 -07:00
Kevin Jue
9ce7bb7dbb
Step test case with public inputs (#23)
* added step test case

* export solidity code

* just set proof's public input as public variables

* make serialization a command line option

* added flag to output solidity

* some changes to the benchmark file

* used gnark cherry picked bug fix

* removed fuzz testing

* added some logging

* more debug messages and test cases for the hint issue

* removed usage of goldilocks reduce

* removed prints

* removed GoldilocksReduce

* removed prints

* added a todo

* some serialization changes
2023-06-17 19:44:20 -07:00
Kevin Jue
15b7dcbcdb
optimized goldilocks (#22)
* cleaned up qe api

* modified goldilocks poseidon to use optimized goldilocks operations

* better comment

* added goldilocks test cases

* some cleanup and comments

* changed poseidon constaints to frontend.Variable

* fixed double cast

* fixed bug in challenger
2023-06-08 14:22:42 -07:00
Kevin Jue
b3a3aa851b
cleaned up qe api (#21) 2023-06-06 17:56:10 -07:00
Kevin Jue
a516925ad8
Poseidon BN128 (#20)
* initial commit of poseidon bn128

* got challenger working

* deserialize is working

* cleaned up deserialization function a bit

* fixed challenger

* add in the hack to the challenges

* fixed some bugs in poseidon_bn128

* fri verification is working

* some changes for benchmarking

* added decode_block plonky2 data

* initial commit for poseidon_mds_gate

* updated gate test cases

* working poseidon mds gate

* full verifier test case working
2023-06-06 17:36:51 -07:00
Kevin Jue
302b5f5bf1
Upgrade to gnark 0.8 (#18)
* make proof with PIS public input

* upgraded to 0.8 gnark

* reduced pow witness

* fixed bug

* fixed test

* fixed bug

* adding profiling

* changed everything to be pointers

* convert remaining poseidon constants

* added the recursive_very_small

* added more outputs for benchmark
2023-05-25 07:39:06 -07:00
Kevin Jue
cf84b032e2
Rearranged files (#17)
* removed unused file

* change field import

* change import of field package

* changed field import

* moved hash to poseidon and some changes to the field package

* changed file structure
2023-05-19 19:49:14 -07:00