Kevin Jue c01f530fe1
fix: Support range checking non aligned bitwidth values (#47)
* initial commit

* most of the code done

* made global poseidon chip

* changed decompSize and added some panics

* made all gl chip as pointers

* working code

* revert go.mod and go.sum

* cleanup and comments

* cleaned up range checker selection

* renamed gnarkRangeCheckSelector to gnarkRangeCheckerSelector

* addressed PR comment

* addressed overflow issue identified by Veridise

* added some comments

* fixed some comment typos

* restore change made from commit hash 85d20ce and 9617141
2024-01-04 13:56:13 -08:00
2023-12-19 11:04:30 -08:00
2023-12-18 18:02:01 -08:00
2023-12-18 18:31:56 -08:00
2023-10-13 14:00:54 -07:00
2023-10-13 14:00:54 -07:00
2023-03-28 11:12:07 -07:00
2023-12-19 12:22:19 -08:00

Gnark Plonky2 Verifier

This is an implementation of a Plonky2 verifier in Gnark (supports Groth16 and PLONK).

Besides the verifier, there are some Gnark implementation of circuits in this repo that may be useful for other projects:

Requirements

Benchmark

To run the benchmark,

go run benchmark.go

Profiling

First run the benchmark with profiling turned on

go run benchmark.go -profile

Then use the following command to generate a visualization of the pprof

go tool pprof --png gnark.pprof > verifier.png
Description
No description provided
Readme MIT
Languages
Go 100%