diff --git a/plonky2_verifier/plonk.go b/plonky2_verifier/plonk.go index 34e4083..cdc69b7 100644 --- a/plonky2_verifier/plonk.go +++ b/plonky2_verifier/plonk.go @@ -104,10 +104,13 @@ func (p *PlonkChip) evalVanishingPoly() []QuadraticExtension { for j := uint64(0); j < p.commonData.Config.NumRoutedWires; j++ { // The numerator is `beta * s_id + wire_value + gamma`, and the denominator is // `beta * s_sigma + wire_value + gamma`. - wire_value_plus_gamma := p.qe.AddExtension(p.openings.Wires[j], p.proofChallenges.FriChallenges.FriBetas[i]) + wire_value_plus_gamma := p.qe.AddExtension( + p.openings.Wires[j], + p.qe.FieldToQE(p.proofChallenges.PlonkGammas[i]), + ) numerator := p.qe.AddExtension( p.qe.MulExtension( - p.proofChallenges.FriChallenges.FriBetas[i], + p.qe.FieldToQE(p.proofChallenges.PlonkBetas[i]), s_ids[j], ), wire_value_plus_gamma, @@ -115,7 +118,7 @@ func (p *PlonkChip) evalVanishingPoly() []QuadraticExtension { denominator := p.qe.AddExtension( p.qe.MulExtension( - p.proofChallenges.FriChallenges.FriBetas[i], + p.qe.FieldToQE(p.proofChallenges.PlonkBetas[i]), p.openings.PlonkSigmas[j], ), wire_value_plus_gamma, diff --git a/plonky2_verifier/quadratic_extension.go b/plonky2_verifier/quadratic_extension.go index 19cacea..3b6414b 100644 --- a/plonky2_verifier/quadratic_extension.go +++ b/plonky2_verifier/quadratic_extension.go @@ -78,3 +78,7 @@ func (c *QuadraticExtensionAPI) InverseExtension(a QuadraticExtension) Quadratic func (c *QuadraticExtensionAPI) ScalarMulExtension(a QuadraticExtension, scalar F) QuadraticExtension { return QuadraticExtension{c.field.Mul(a[0], scalar).(F), c.field.Mul(a[1], scalar).(F)} } + +func (c *QuadraticExtensionAPI) FieldToQE(a F) QuadraticExtension { + return QuadraticExtension{a, c.ZERO_F} +}