arnaucube
9f2587151f
Remove unnecessary structs & polsC
4 years ago
arnaucube
0f48cfa2a5
Add proof parsers to string (decimal & hex)
Also adds ProofToSmartContractFormat, which returns a ProofString as the
proof.B elements swap is not a valid point for the bn256.G2 format.
Also unexports internal structs and methods of the prover package.
Also apply golint.
4 years ago
druiz0992
423d5f0ce7
Add G1/G2 table calculation functionality
4 years ago
arnaucube
16054cc679
Remove inner prints
4 years ago
Eduard S
8f09322e16
Implement more agressive parallelism
4 years ago
arnaucube
5b77df54b7
Update proof sync.WaitGroup scooped variables & Add time prints in cli proof generation
4 years ago
arnaucube
3691785054
Add paralelization of polynomials in GenerateProof
- before:
BenchmarkGenerateProof-4 1 1553842743 ns/op
For a circuit of 9094 constraints takes 7.761949512s seconds to generate the proof.
- now:
BenchmarkGenerateProof-4 1 1331576862 ns/op
For a circuit of 9094 constraints takes 5.745279126s to generate the proof.
For bigger circuits (more constraints) the difference will be bigger.
Executed on a Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz, with 16GB of RAM
4 years ago
arnaucube
6256fcc9db
Update go mod & usage
4 years ago
arnaucube
9b93bad028
Use fft on calculateH polynomial multiplication
For a circuit arround 22500 constraints:
- before: the proof was generated aprox in `80 seconds`
- now: the proof is generated aprox in `16 seconds`
4 years ago
arnaucube
324c817d42
Add polynomials arithmetic in goff
Polynomials and ifft moved to goff (iden3/go-iden3-crypto/ff) instead of *big.Int.
Benchmarks:
- Before:
BenchmarkArithmetic/polynomialSub-4 2774 441063 ns/op
BenchmarkArithmetic/polynomialMul-4 1 1135732757 ns/op
BenchmarkArithmetic/polynomialDiv-4 768 1425192 ns/op
BenchmarkGenerateProof-4 1 2844488975 ns/op
- With this commit:
BenchmarkArithmetic/polynomialSubE-4 23097 54152 ns/op
BenchmarkArithmetic/polynomialMulE-4 25 44914327 ns/op
BenchmarkArithmetic/polynomialDivE-4 8703 132573 ns/op
BenchmarkGenerateProof-4 1 1530398526 ns/op
4 years ago
arnaucube
e1147db72f
refactor in sub packages
4 years ago
arnaucube
0e453eb1ff
Add Verifier Groth16 compatible with circom
4 years ago
arnaucube
198eeee493
Fix use H polynomial
4 years ago
arnaucube
d5c971e59a
Update exposed methods, update README.md, add godoc & goreport cards
4 years ago
arnaucube
001af791cc
Proof generation works, add h pol calculation
4 years ago
arnaucube
a99f4510da
Add zkSNARK Groth16 prover
4 years ago
arnaucube
a9a9e78b6e
Add ProvingKey parser from json
4 years ago