Browse Source

Circuit modifications for recent Plonky2 changes (#5)

* pretty print fibonacci data files

* added in new dummy proof serialized data

* updated powresponse calculation in the challenger chip

* changes to reflect these plonky2 changes:  40aecc8e95

* modified benchmark to accept circuit name
main
Kevin Jue 2 years ago
committed by GitHub
parent
commit
11f5ee28c6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 42712 additions and 30896 deletions
  1. +24
    -11
      benchmark.go
  2. +2
    -4
      plonky2_verifier/challenger.go
  3. +144
    -148
      plonky2_verifier/data/dummy_2^14_gates/common_circuit_data.json
  4. +30600
    -30600
      plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json
  5. +137
    -129
      plonky2_verifier/data/dummy_2^14_gates/verifier_only_circuit_data.json
  6. +1
    -0
      plonky2_verifier/data/dummy_small/common_circuit_data.json
  7. +1
    -0
      plonky2_verifier/data/dummy_small/proof_with_public_inputs.json
  8. +1
    -0
      plonky2_verifier/data/dummy_small/verifier_only_circuit_data.json
  9. +152
    -1
      plonky2_verifier/data/fibonacci/common_circuit_data.json
  10. +11509
    -1
      plonky2_verifier/data/fibonacci/proof_with_public_inputs.json
  11. +140
    -1
      plonky2_verifier/data/fibonacci/verifier_only_circuit_data.json
  12. +1
    -1
      plonky2_verifier/fri.go

+ 24
- 11
benchmark.go

@ -1,6 +1,7 @@
package main
import (
"flag"
"fmt"
. "gnark-plonky2-verifier/field"
. "gnark-plonky2-verifier/plonky2_verifier"
@ -17,13 +18,15 @@ import (
type BenchmarkPlonky2VerifierCircuit struct {
proofWithPis ProofWithPublicInputs
verifierChip *VerifierChip
verifierChip *VerifierChip
plonky2CircuitName string
}
func (circuit *BenchmarkPlonky2VerifierCircuit) Define(api frontend.API) error {
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
commonCircuitData := DeserializeCommonCircuitData("./plonky2_verifier/data/dummy_2^14_gates/common_circuit_data.json")
verifierOnlyCircuitData := DeserializeVerifierOnlyCircuitData("./plonky2_verifier/data/dummy_2^14_gates/verifier_only_circuit_data.json")
circuitDirname := "./plonky2_verifier/data/" + circuit.plonky2CircuitName + "/"
proofWithPis := DeserializeProofWithPublicInputs(circuitDirname + "proof_with_public_inputs.json")
commonCircuitData := DeserializeCommonCircuitData(circuitDirname + "common_circuit_data.json")
verifierOnlyCircuitData := DeserializeVerifierOnlyCircuitData(circuitDirname + "verifier_only_circuit_data.json")
fieldAPI := NewFieldAPI(api)
qeAPI := NewQuadraticExtensionAPI(fieldAPI, commonCircuitData.DegreeBits)
@ -38,9 +41,11 @@ func (circuit *BenchmarkPlonky2VerifierCircuit) Define(api frontend.API) error {
return nil
}
func compileCircuit() frontend.CompiledConstraintSystem {
circuit := BenchmarkPlonky2VerifierCircuit{}
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
func compileCircuit(plonky2Circuit string) frontend.CompiledConstraintSystem {
circuit := BenchmarkPlonky2VerifierCircuit{
plonky2CircuitName: plonky2Circuit,
}
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/" + plonky2Circuit + "/proof_with_public_inputs.json")
circuit.proofWithPis = proofWithPis
r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit)
@ -52,8 +57,8 @@ func compileCircuit() frontend.CompiledConstraintSystem {
return r1cs
}
func createProof(r1cs frontend.CompiledConstraintSystem) groth16.Proof {
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
func createProof(r1cs frontend.CompiledConstraintSystem, plonky2Circuit string) groth16.Proof {
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/" + plonky2Circuit + "/proof_with_public_inputs.json")
// Witness
assignment := &BenchmarkPlonky2VerifierCircuit{
@ -88,7 +93,15 @@ func createProof(r1cs frontend.CompiledConstraintSystem) groth16.Proof {
}
func main() {
r1cs := compileCircuit()
proof := createProof(r1cs)
plonky2Circuit := flag.String("plonky2-circuit", "", "plonky2 circuit to benchmark")
flag.Parse()
if plonky2Circuit == nil || *plonky2Circuit == "" {
fmt.Println("Please provide a plonky2 circuit to benchmark")
os.Exit(1)
}
r1cs := compileCircuit(*plonky2Circuit)
proof := createProof(r1cs, *plonky2Circuit)
fmt.Println(proof.CurveID(), time.Now())
}

+ 2
- 4
plonky2_verifier/challenger.go

@ -115,11 +115,9 @@ func (c *ChallengerChip) GetFriChallenges(commitPhaseMerkleCaps []MerkleCap, fin
}
c.ObserveExtensionElements(finalPoly.Coeffs)
c.ObserveElement(powWitness)
hash := c.GetHash()
powInputs := append(hash[:], powWitness)
friPowResponse := c.poseidonChip.HashNoPad(powInputs)[0]
friPowResponse := c.GetChallenge()
friQueryIndices := c.GetNChallenges(numFriQueries)
return FriChallenges{

+ 144
- 148
plonky2_verifier/data/dummy_2^14_gates/common_circuit_data.json

@ -1,154 +1,150 @@
{
"config": {
"num_wires": 135,
"num_routed_wires": 80,
"num_constants": 2,
"use_base_arithmetic_gate": true,
"security_bits": 100,
"num_challenges": 2,
"zero_knowledge": false,
"max_quotient_degree_factor": 8,
"fri_config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
]
},
"num_query_rounds": 28
}
},
"fri_params": {
"config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
"num_wires": 135,
"num_routed_wires": 80,
"num_constants": 2,
"use_base_arithmetic_gate": true,
"security_bits": 100,
"num_challenges": 2,
"zero_knowledge": false,
"max_quotient_degree_factor": 8,
"fri_config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
]
},
"num_query_rounds": 28
}
},
"fri_params": {
"config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
]
},
"num_query_rounds": 28
},
"hiding": false,
"degree_bits": 14,
"reduction_arity_bits": [
4,
4,
4
]
},
"gates": [
"NoopGate",
"ConstantGate { num_consts: 2 }",
"PublicInputGate"
],
"selectors_info": {
"selector_indices": [
0,
0,
0
],
"groups": [
{
"start": 0,
"end": 3
}
]
},
"num_query_rounds": 28
},
"hiding": false,
"degree_bits": 14,
"reduction_arity_bits": [
4,
4,
4
]
},
"degree_bits": 14,
"selectors_info": {
"selector_indices": [
0,
0,
0
"quotient_degree_factor": 8,
"num_gate_constraints": 4,
"num_constants": 3,
"num_public_inputs": 0,
"k_is": [
1,
7,
49,
343,
2401,
16807,
117649,
823543,
5764801,
40353607,
282475249,
1977326743,
13841287201,
96889010407,
678223072849,
4747561509943,
33232930569601,
232630513987207,
1628413597910449,
11398895185373143,
79792266297612001,
558545864083284007,
3909821048582988049,
8922003270666332022,
7113790686420571191,
12903046666114829695,
16534350385145470581,
5059988279530788141,
16973173887300932666,
8131752794619022736,
1582037354089406189,
11074261478625843323,
3732854072722565977,
7683234439643377518,
16889152938674473984,
7543606154233811962,
15911754940807515092,
701820169165099718,
4912741184155698026,
15942444219675301861,
916645121239607101,
6416515848677249707,
8022122801911579307,
814627405137302186,
5702391835961115302,
3023254712898638472,
2716038920875884983,
565528376716610560,
3958698637016273920,
9264146389699333119,
9508792519651578870,
11221315429317299127,
4762231727562756605,
14888878023524711914,
11988425817600061793,
10132004445542095267,
15583798910550913906,
16852872026783475737,
7289639770996824233,
14133990258148600989,
6704211459967285318,
10035992080941828584,
14911712358349047125,
12148266161370408270,
11250886851934520606,
4969231685883306958,
16337877731768564385,
3684679705892444769,
7346013871832529062,
14528608963998534792,
9466542400916821939,
10925564598174000610,
2691975909559666986,
397087297503084581,
2779611082521592067,
1010533508236560148,
7073734557655921036,
12622653764762278610,
14571600075677612986,
9767480182670369297
],
"groups": [
{
"start": 0,
"end": 3
}
]
},
"quotient_degree_factor": 8,
"num_gate_constraints": 4,
"num_constants": 3,
"num_public_inputs": 0,
"k_is": [
1,
7,
49,
343,
2401,
16807,
117649,
823543,
5764801,
40353607,
282475249,
1977326743,
13841287201,
96889010407,
678223072849,
4747561509943,
33232930569601,
232630513987207,
1628413597910449,
11398895185373143,
79792266297612001,
558545864083284007,
3909821048582988049,
8922003270666332022,
7113790686420571191,
12903046666114829695,
16534350385145470581,
5059988279530788141,
16973173887300932666,
8131752794619022736,
1582037354089406189,
11074261478625843323,
3732854072722565977,
7683234439643377518,
16889152938674473984,
7543606154233811962,
15911754940807515092,
701820169165099718,
4912741184155698026,
15942444219675301861,
916645121239607101,
6416515848677249707,
8022122801911579307,
814627405137302186,
5702391835961115302,
3023254712898638472,
2716038920875884983,
565528376716610560,
3958698637016273920,
9264146389699333119,
9508792519651578870,
11221315429317299127,
4762231727562756605,
14888878023524711914,
11988425817600061793,
10132004445542095267,
15583798910550913906,
16852872026783475737,
7289639770996824233,
14133990258148600989,
6704211459967285318,
10035992080941828584,
14911712358349047125,
12148266161370408270,
11250886851934520606,
4969231685883306958,
16337877731768564385,
3684679705892444769,
7346013871832529062,
14528608963998534792,
9466542400916821939,
10925564598174000610,
2691975909559666986,
397087297503084581,
2779611082521592067,
1010533508236560148,
7073734557655921036,
12622653764762278610,
14571600075677612986,
9767480182670369297
],
"num_partial_products": 9,
"circuit_digest": {
"elements": [
11107954614887673792,
5898958973295202229,
3718435595035443112,
7817058028188834280
]
}
"num_partial_products": 9
}

+ 30600
- 30600
plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json
File diff suppressed because it is too large
View File


+ 137
- 129
plonky2_verifier/data/dummy_2^14_gates/verifier_only_circuit_data.json

@ -1,132 +1,140 @@
{
"constants_sigmas_cap": [
{
"elements": [
4759797886241550041,
16047691004983234860,
9659762256552197216,
10112553966470275428
]
},
{
"elements": [
6580856520142680697,
17545262075403841780,
17375632104615520990,
7416977774732798943
]
},
{
"elements": [
16353512268073979322,
819827092644027799,
16690673607724368808,
15037968687422549712
]
},
{
"elements": [
8436504004905600346,
9803040091724299970,
13874489205559745161,
9113368467425613680
]
},
{
"elements": [
11091349953543466700,
16835828310505248580,
9401730018779004456,
16217511395210280637
]
},
{
"elements": [
14652613590798123935,
6513400524233583632,
14260635575060377802,
2934429662141013591
]
},
{
"elements": [
16079430466329685864,
15523825632000959289,
10929447713382773099,
13359117551990706652
]
},
{
"elements": [
3981642429220224195,
16563383270645026066,
11676626736400014113,
12391006943408842728
]
},
{
"elements": [
14534632951568236500,
6622950057448608217,
10317722778604321203,
16857091229989966532
]
},
{
"elements": [
1854667436830330051,
10698208885037992043,
8279000029256055765,
16473632613257578260
]
},
{
"elements": [
6112653519502862522,
16414985808267477185,
17212339018953338390,
2035088574051215606
]
},
{
"elements": [
283442216994125368,
5745335585396117672,
5374569058514548582,
10252700696576858963
]
},
{
"elements": [
9306370623805561429,
16251397047578608507,
14346837135739683212,
16134961398977435830
]
},
{
"elements": [
7908139687533230014,
868091850428391307,
17334379805830263268,
14344912333616841759
]
},
{
"elements": [
5694816422417791625,
1123655791248550867,
10759039854778271524,
14259550375971834217
]
},
{
"elements": [
8540856852870738366,
13653940430116418378,
12200920580995523853,
4531851613365767268
]
"constants_sigmas_cap": [
{
"elements": [
4759797886241550041,
16047691004983234860,
9659762256552197216,
10112553966470275428
]
},
{
"elements": [
6580856520142680697,
17545262075403841780,
17375632104615520990,
7416977774732798943
]
},
{
"elements": [
16353512268073979322,
819827092644027799,
16690673607724368808,
15037968687422549712
]
},
{
"elements": [
8436504004905600346,
9803040091724299970,
13874489205559745161,
9113368467425613680
]
},
{
"elements": [
11091349953543466700,
16835828310505248580,
9401730018779004456,
16217511395210280637
]
},
{
"elements": [
14652613590798123935,
6513400524233583632,
14260635575060377802,
2934429662141013591
]
},
{
"elements": [
16079430466329685864,
15523825632000959289,
10929447713382773099,
13359117551990706652
]
},
{
"elements": [
3981642429220224195,
16563383270645026066,
11676626736400014113,
12391006943408842728
]
},
{
"elements": [
14534632951568236500,
6622950057448608217,
10317722778604321203,
16857091229989966532
]
},
{
"elements": [
1854667436830330051,
10698208885037992043,
8279000029256055765,
16473632613257578260
]
},
{
"elements": [
6112653519502862522,
16414985808267477185,
17212339018953338390,
2035088574051215606
]
},
{
"elements": [
283442216994125368,
5745335585396117672,
5374569058514548582,
10252700696576858963
]
},
{
"elements": [
9306370623805561429,
16251397047578608507,
14346837135739683212,
16134961398977435830
]
},
{
"elements": [
7908139687533230014,
868091850428391307,
17334379805830263268,
14344912333616841759
]
},
{
"elements": [
5694816422417791625,
1123655791248550867,
10759039854778271524,
14259550375971834217
]
},
{
"elements": [
8540856852870738366,
13653940430116418378,
12200920580995523853,
4531851613365767268
]
}
],
"circuit_digest": {
"elements": [
651333322065354824,
4413552684545354123,
11977324165034072678,
16531113439125733803
]
}
]
}

+ 1
- 0
plonky2_verifier/data/dummy_small/common_circuit_data.json

@ -0,0 +1 @@
{"config":{"num_wires":135,"num_routed_wires":80,"num_constants":2,"use_base_arithmetic_gate":true,"security_bits":100,"num_challenges":2,"zero_knowledge":false,"max_quotient_degree_factor":8,"fri_config":{"rate_bits":12,"cap_height":4,"proof_of_work_bits":16,"reduction_strategy":{"ConstantArityBits":[4,5]},"num_query_rounds":7}},"fri_params":{"config":{"rate_bits":12,"cap_height":4,"proof_of_work_bits":16,"reduction_strategy":{"ConstantArityBits":[4,5]},"num_query_rounds":7},"hiding":false,"degree_bits":2,"reduction_arity_bits":[]},"gates":["NoopGate","ConstantGate { num_consts: 2 }","PublicInputGate"],"selectors_info":{"selector_indices":[0,0,0],"groups":[{"start":0,"end":3}]},"quotient_degree_factor":8,"num_gate_constraints":4,"num_constants":3,"num_public_inputs":0,"k_is":[1,7,49,343,2401,16807,117649,823543,5764801,40353607,282475249,1977326743,13841287201,96889010407,678223072849,4747561509943,33232930569601,232630513987207,1628413597910449,11398895185373143,79792266297612001,558545864083284007,3909821048582988049,8922003270666332022,7113790686420571191,12903046666114829695,16534350385145470581,5059988279530788141,16973173887300932666,8131752794619022736,1582037354089406189,11074261478625843323,3732854072722565977,7683234439643377518,16889152938674473984,7543606154233811962,15911754940807515092,701820169165099718,4912741184155698026,15942444219675301861,916645121239607101,6416515848677249707,8022122801911579307,814627405137302186,5702391835961115302,3023254712898638472,2716038920875884983,565528376716610560,3958698637016273920,9264146389699333119,9508792519651578870,11221315429317299127,4762231727562756605,14888878023524711914,11988425817600061793,10132004445542095267,15583798910550913906,16852872026783475737,7289639770996824233,14133990258148600989,6704211459967285318,10035992080941828584,14911712358349047125,12148266161370408270,11250886851934520606,4969231685883306958,16337877731768564385,3684679705892444769,7346013871832529062,14528608963998534792,9466542400916821939,10925564598174000610,2691975909559666986,397087297503084581,2779611082521592067,1010533508236560148,7073734557655921036,12622653764762278610,14571600075677612986,9767480182670369297],"num_partial_products":9}

+ 1
- 0
plonky2_verifier/data/dummy_small/proof_with_public_inputs.json
File diff suppressed because it is too large
View File


+ 1
- 0
plonky2_verifier/data/dummy_small/verifier_only_circuit_data.json

@ -0,0 +1 @@
{"constants_sigmas_cap":[{"elements":[12942050173360299287,15429129527496118608,11044804177370023771,17027862521442293343]},{"elements":[5129937521595676319,9249371000310776833,1698652619737853229,3597277235363989900]},{"elements":[9499069482602362280,6056775334288968735,9416720030884613634,8481612183293566397]},{"elements":[7444928464878659248,59632799137831308,6374428807271012784,12055696886890254745]},{"elements":[11760551261657627154,5292872815316944996,12187602224948210417,184439611357521062]},{"elements":[13972524877212598728,11420817450690243876,15994255466128604849,1311060574252414086]},{"elements":[16494325411515456931,18075355179587378715,4646724997371828866,1372832552151954570]},{"elements":[16387476627685153284,17032030743812759632,16808048043752991311,16788518620316721833]},{"elements":[4194862242212612774,364226560743618053,11438397620101696839,9286576348843874621]},{"elements":[6340101954898285234,10773051474343740098,6629082148740745229,3982094848619266494]},{"elements":[8009275308971482529,10105260369496924395,8987390598028905021,9739740379439925196]},{"elements":[13635364907274847648,1135616847056663194,6574618410485087638,11497429148813108159]},{"elements":[15405963465632273554,10983537026674671450,17181205620785852479,2598367474817225484]},{"elements":[16613943869767229638,8953767102519510969,2778482474224727871,835196900223386389]},{"elements":[213910466424313779,1036984933257510494,9766858993890477954,5836427172912690664]},{"elements":[1538574690328025715,2426907990630109879,8393881157947355071,8063812988973786255]}],"circuit_digest":{"elements":[18101853563531100136,12778281678899705371,12856635299514517756,11554767480547589421]}}

+ 152
- 1
plonky2_verifier/data/fibonacci/common_circuit_data.json

@ -1 +1,152 @@
{"config":{"num_wires":135,"num_routed_wires":80,"num_constants":2,"use_base_arithmetic_gate":true,"security_bits":100,"num_challenges":2,"zero_knowledge":false,"max_quotient_degree_factor":8,"fri_config":{"rate_bits":3,"cap_height":4,"proof_of_work_bits":16,"reduction_strategy":{"ConstantArityBits":[4,5]},"num_query_rounds":28}},"fri_params":{"config":{"rate_bits":3,"cap_height":4,"proof_of_work_bits":16,"reduction_strategy":{"ConstantArityBits":[4,5]},"num_query_rounds":28},"hiding":false,"degree_bits":3,"reduction_arity_bits":[]},"gates":["ConstantGate { num_consts: 2 }","PublicInputGate","ArithmeticGate { num_ops: 20 }","PoseidonGate(PhantomData<plonky2_field::goldilocks_field::GoldilocksField>)<WIDTH=12>"],"selectors_info":{"selector_indices":[0,0,0,1],"groups":[{"start":0,"end":3},{"start":3,"end":4}]},"quotient_degree_factor":8,"num_gate_constraints":123,"num_constants":4,"num_public_inputs":3,"k_is":[1,7,49,343,2401,16807,117649,823543,5764801,40353607,282475249,1977326743,13841287201,96889010407,678223072849,4747561509943,33232930569601,232630513987207,1628413597910449,11398895185373143,79792266297612001,558545864083284007,3909821048582988049,8922003270666332022,7113790686420571191,12903046666114829695,16534350385145470581,5059988279530788141,16973173887300932666,8131752794619022736,1582037354089406189,11074261478625843323,3732854072722565977,7683234439643377518,16889152938674473984,7543606154233811962,15911754940807515092,701820169165099718,4912741184155698026,15942444219675301861,916645121239607101,6416515848677249707,8022122801911579307,814627405137302186,5702391835961115302,3023254712898638472,2716038920875884983,565528376716610560,3958698637016273920,9264146389699333119,9508792519651578870,11221315429317299127,4762231727562756605,14888878023524711914,11988425817600061793,10132004445542095267,15583798910550913906,16852872026783475737,7289639770996824233,14133990258148600989,6704211459967285318,10035992080941828584,14911712358349047125,12148266161370408270,11250886851934520606,4969231685883306958,16337877731768564385,3684679705892444769,7346013871832529062,14528608963998534792,9466542400916821939,10925564598174000610,2691975909559666986,397087297503084581,2779611082521592067,1010533508236560148,7073734557655921036,12622653764762278610,14571600075677612986,9767480182670369297],"num_partial_products":9}
{
"config": {
"num_wires": 135,
"num_routed_wires": 80,
"num_constants": 2,
"use_base_arithmetic_gate": true,
"security_bits": 100,
"num_challenges": 2,
"zero_knowledge": false,
"max_quotient_degree_factor": 8,
"fri_config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
]
},
"num_query_rounds": 28
}
},
"fri_params": {
"config": {
"rate_bits": 3,
"cap_height": 4,
"proof_of_work_bits": 16,
"reduction_strategy": {
"ConstantArityBits": [
4,
5
]
},
"num_query_rounds": 28
},
"hiding": false,
"degree_bits": 3,
"reduction_arity_bits": []
},
"gates": [
"ConstantGate { num_consts: 2 }",
"PublicInputGate",
"ArithmeticGate { num_ops: 20 }",
"PoseidonGate(PhantomData<plonky2_field::goldilocks_field::GoldilocksField>)<WIDTH=12>"
],
"selectors_info": {
"selector_indices": [
0,
0,
0,
1
],
"groups": [
{
"start": 0,
"end": 3
},
{
"start": 3,
"end": 4
}
]
},
"quotient_degree_factor": 8,
"num_gate_constraints": 123,
"num_constants": 4,
"num_public_inputs": 3,
"k_is": [
1,
7,
49,
343,
2401,
16807,
117649,
823543,
5764801,
40353607,
282475249,
1977326743,
13841287201,
96889010407,
678223072849,
4747561509943,
33232930569601,
232630513987207,
1628413597910449,
11398895185373143,
79792266297612001,
558545864083284007,
3909821048582988049,
8922003270666332022,
7113790686420571191,
12903046666114829695,
16534350385145470581,
5059988279530788141,
16973173887300932666,
8131752794619022736,
1582037354089406189,
11074261478625843323,
3732854072722565977,
7683234439643377518,
16889152938674473984,
7543606154233811962,
15911754940807515092,
701820169165099718,
4912741184155698026,
15942444219675301861,
916645121239607101,
6416515848677249707,
8022122801911579307,
814627405137302186,
5702391835961115302,
3023254712898638472,
2716038920875884983,
565528376716610560,
3958698637016273920,
9264146389699333119,
9508792519651578870,
11221315429317299127,
4762231727562756605,
14888878023524711914,
11988425817600061793,
10132004445542095267,
15583798910550913906,
16852872026783475737,
7289639770996824233,
14133990258148600989,
6704211459967285318,
10035992080941828584,
14911712358349047125,
12148266161370408270,
11250886851934520606,
4969231685883306958,
16337877731768564385,
3684679705892444769,
7346013871832529062,
14528608963998534792,
9466542400916821939,
10925564598174000610,
2691975909559666986,
397087297503084581,
2779611082521592067,
1010533508236560148,
7073734557655921036,
12622653764762278610,
14571600075677612986,
9767480182670369297
],
"num_partial_products": 9
}

+ 11509
- 1
plonky2_verifier/data/fibonacci/proof_with_public_inputs.json
File diff suppressed because it is too large
View File


+ 140
- 1
plonky2_verifier/data/fibonacci/verifier_only_circuit_data.json

@ -1 +1,140 @@
{"constants_sigmas_cap":[{"elements":[2913805118787558759,15605217703384212484,9293436862297178555,10529947991695419448]},{"elements":[1937331278189251620,17537260089483183877,10458485670158100707,4116443229550247591]},{"elements":[8142760542024755709,3845244796524514577,16191049345326767258,7348433903875207214]},{"elements":[18274477257392359471,9341197367296335592,14314312946600883535,17431979896521737468]},{"elements":[12713790163422286570,9838614764658999419,3024549327814176904,6544549858431318793]},{"elements":[17461063081201329467,1929790214678747830,14738190695567211833,4502436664569676311]},{"elements":[17446087997043032816,17518692693064701003,4915378766449394412,10675325761198739044]},{"elements":[11349186227918507635,7105572536043210156,13296927306801261929,6138189381388819111]},{"elements":[17427080957162886576,4310228111529328877,16109317445338921222,11923676504992192083]},{"elements":[11292141569337462929,7213981967192374125,4837353949249389782,13157524938508720907]},{"elements":[17221477633935993097,7905315334616496868,2950048088611741910,16851660641249290423]},{"elements":[1918571898367258879,14473285549490778842,16456257732802770188,16611801325745795527]},{"elements":[7880989808200689690,16935107633380717766,8956194191973051375,1103945341495739535]},{"elements":[4501339912027744074,12142665268233044767,9270990890291324944,45374981263348191]},{"elements":[13657768796246999470,2899654677720502418,7228867285602519410,3363587770111123806]},{"elements":[18227101298896629706,12986849723013952028,16815808278639394978,16460725848109409638]}],"circuit_digest":{"elements":[15489309507512017401,16244437215982314072,10011620388767144997,15394117319313330212]}}
{
"constants_sigmas_cap": [
{
"elements": [
2913805118787558759,
15605217703384212484,
9293436862297178555,
10529947991695419448
]
},
{
"elements": [
1937331278189251620,
17537260089483183877,
10458485670158100707,
4116443229550247591
]
},
{
"elements": [
8142760542024755709,
3845244796524514577,
16191049345326767258,
7348433903875207214
]
},
{
"elements": [
18274477257392359471,
9341197367296335592,
14314312946600883535,
17431979896521737468
]
},
{
"elements": [
12713790163422286570,
9838614764658999419,
3024549327814176904,
6544549858431318793
]
},
{
"elements": [
17461063081201329467,
1929790214678747830,
14738190695567211833,
4502436664569676311
]
},
{
"elements": [
17446087997043032816,
17518692693064701003,
4915378766449394412,
10675325761198739044
]
},
{
"elements": [
11349186227918507635,
7105572536043210156,
13296927306801261929,
6138189381388819111
]
},
{
"elements": [
17427080957162886576,
4310228111529328877,
16109317445338921222,
11923676504992192083
]
},
{
"elements": [
11292141569337462929,
7213981967192374125,
4837353949249389782,
13157524938508720907
]
},
{
"elements": [
17221477633935993097,
7905315334616496868,
2950048088611741910,
16851660641249290423
]
},
{
"elements": [
1918571898367258879,
14473285549490778842,
16456257732802770188,
16611801325745795527
]
},
{
"elements": [
7880989808200689690,
16935107633380717766,
8956194191973051375,
1103945341495739535
]
},
{
"elements": [
4501339912027744074,
12142665268233044767,
9270990890291324944,
45374981263348191
]
},
{
"elements": [
13657768796246999470,
2899654677720502418,
7228867285602519410,
3363587770111123806
]
},
{
"elements": [
18227101298896629706,
12986849723013952028,
16815808278639394978,
16460725848109409638
]
}
],
"circuit_digest": {
"elements": [
15489309507512017401,
16244437215982314072,
10011620388767144997,
15394117319313330212
]
}
}

+ 1
- 1
plonky2_verifier/fri.go

@ -276,7 +276,7 @@ func (f *FriChip) friCombineInitial(
)
}
return f.qeAPI.MulExtension(sum, subgroupX_QE)
return sum
}
func (f *FriChip) finalPolyEval(finalPoly PolynomialCoeffs, point QuadraticExtension) QuadraticExtension {

Loading…
Cancel
Save