mirror of
https://github.com/arnaucube/gnark-plonky2-verifier.git
synced 2026-01-12 09:01:32 +01:00
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
This commit is contained in:
33
benchmark.go
33
benchmark.go
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
. "gnark-plonky2-verifier/field"
|
. "gnark-plonky2-verifier/field"
|
||||||
. "gnark-plonky2-verifier/plonky2_verifier"
|
. "gnark-plonky2-verifier/plonky2_verifier"
|
||||||
@@ -18,12 +19,14 @@ type BenchmarkPlonky2VerifierCircuit struct {
|
|||||||
proofWithPis ProofWithPublicInputs
|
proofWithPis ProofWithPublicInputs
|
||||||
|
|
||||||
verifierChip *VerifierChip
|
verifierChip *VerifierChip
|
||||||
|
plonky2CircuitName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (circuit *BenchmarkPlonky2VerifierCircuit) Define(api frontend.API) error {
|
func (circuit *BenchmarkPlonky2VerifierCircuit) Define(api frontend.API) error {
|
||||||
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
|
circuitDirname := "./plonky2_verifier/data/" + circuit.plonky2CircuitName + "/"
|
||||||
commonCircuitData := DeserializeCommonCircuitData("./plonky2_verifier/data/dummy_2^14_gates/common_circuit_data.json")
|
proofWithPis := DeserializeProofWithPublicInputs(circuitDirname + "proof_with_public_inputs.json")
|
||||||
verifierOnlyCircuitData := DeserializeVerifierOnlyCircuitData("./plonky2_verifier/data/dummy_2^14_gates/verifier_only_circuit_data.json")
|
commonCircuitData := DeserializeCommonCircuitData(circuitDirname + "common_circuit_data.json")
|
||||||
|
verifierOnlyCircuitData := DeserializeVerifierOnlyCircuitData(circuitDirname + "verifier_only_circuit_data.json")
|
||||||
|
|
||||||
fieldAPI := NewFieldAPI(api)
|
fieldAPI := NewFieldAPI(api)
|
||||||
qeAPI := NewQuadraticExtensionAPI(fieldAPI, commonCircuitData.DegreeBits)
|
qeAPI := NewQuadraticExtensionAPI(fieldAPI, commonCircuitData.DegreeBits)
|
||||||
@@ -38,9 +41,11 @@ func (circuit *BenchmarkPlonky2VerifierCircuit) Define(api frontend.API) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func compileCircuit() frontend.CompiledConstraintSystem {
|
func compileCircuit(plonky2Circuit string) frontend.CompiledConstraintSystem {
|
||||||
circuit := BenchmarkPlonky2VerifierCircuit{}
|
circuit := BenchmarkPlonky2VerifierCircuit{
|
||||||
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
|
plonky2CircuitName: plonky2Circuit,
|
||||||
|
}
|
||||||
|
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/" + plonky2Circuit + "/proof_with_public_inputs.json")
|
||||||
circuit.proofWithPis = proofWithPis
|
circuit.proofWithPis = proofWithPis
|
||||||
|
|
||||||
r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit)
|
r1cs, err := frontend.Compile(ecc.BN254.ScalarField(), r1cs.NewBuilder, &circuit)
|
||||||
@@ -52,8 +57,8 @@ func compileCircuit() frontend.CompiledConstraintSystem {
|
|||||||
return r1cs
|
return r1cs
|
||||||
}
|
}
|
||||||
|
|
||||||
func createProof(r1cs frontend.CompiledConstraintSystem) groth16.Proof {
|
func createProof(r1cs frontend.CompiledConstraintSystem, plonky2Circuit string) groth16.Proof {
|
||||||
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/dummy_2^14_gates/proof_with_public_inputs.json")
|
proofWithPis := DeserializeProofWithPublicInputs("./plonky2_verifier/data/" + plonky2Circuit + "/proof_with_public_inputs.json")
|
||||||
|
|
||||||
// Witness
|
// Witness
|
||||||
assignment := &BenchmarkPlonky2VerifierCircuit{
|
assignment := &BenchmarkPlonky2VerifierCircuit{
|
||||||
@@ -88,7 +93,15 @@ func createProof(r1cs frontend.CompiledConstraintSystem) groth16.Proof {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
r1cs := compileCircuit()
|
plonky2Circuit := flag.String("plonky2-circuit", "", "plonky2 circuit to benchmark")
|
||||||
proof := createProof(r1cs)
|
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())
|
fmt.Println(proof.CurveID(), time.Now())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,11 +115,9 @@ func (c *ChallengerChip) GetFriChallenges(commitPhaseMerkleCaps []MerkleCap, fin
|
|||||||
}
|
}
|
||||||
|
|
||||||
c.ObserveExtensionElements(finalPoly.Coeffs)
|
c.ObserveExtensionElements(finalPoly.Coeffs)
|
||||||
|
c.ObserveElement(powWitness)
|
||||||
|
|
||||||
hash := c.GetHash()
|
friPowResponse := c.GetChallenge()
|
||||||
powInputs := append(hash[:], powWitness)
|
|
||||||
|
|
||||||
friPowResponse := c.poseidonChip.HashNoPad(powInputs)[0]
|
|
||||||
friQueryIndices := c.GetNChallenges(numFriQueries)
|
friQueryIndices := c.GetNChallenges(numFriQueries)
|
||||||
|
|
||||||
return FriChallenges{
|
return FriChallenges{
|
||||||
|
|||||||
@@ -42,7 +42,11 @@
|
|||||||
4
|
4
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"degree_bits": 14,
|
"gates": [
|
||||||
|
"NoopGate",
|
||||||
|
"ConstantGate { num_consts: 2 }",
|
||||||
|
"PublicInputGate"
|
||||||
|
],
|
||||||
"selectors_info": {
|
"selectors_info": {
|
||||||
"selector_indices": [
|
"selector_indices": [
|
||||||
0,
|
0,
|
||||||
@@ -142,13 +146,5 @@
|
|||||||
14571600075677612986,
|
14571600075677612986,
|
||||||
9767480182670369297
|
9767480182670369297
|
||||||
],
|
],
|
||||||
"num_partial_products": 9,
|
"num_partial_products": 9
|
||||||
"circuit_digest": {
|
|
||||||
"elements": [
|
|
||||||
11107954614887673792,
|
|
||||||
5898958973295202229,
|
|
||||||
3718435595035443112,
|
|
||||||
7817058028188834280
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -128,5 +128,13 @@
|
|||||||
4531851613365767268
|
4531851613365767268
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"circuit_digest": {
|
||||||
|
"elements": [
|
||||||
|
651333322065354824,
|
||||||
|
4413552684545354123,
|
||||||
|
11977324165034072678,
|
||||||
|
16531113439125733803
|
||||||
]
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}
|
||||||
File diff suppressed because one or more lines are too long
@@ -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]}}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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 {
|
func (f *FriChip) finalPolyEval(finalPoly PolynomialCoeffs, point QuadraticExtension) QuadraticExtension {
|
||||||
|
|||||||
Reference in New Issue
Block a user