diff --git a/src/plonk.rs b/src/plonk.rs index d890d3f..0aa9cb1 100644 --- a/src/plonk.rs +++ b/src/plonk.rs @@ -29,7 +29,6 @@ use domain::EvaluationDomain; #[derive(Debug)] pub struct SRS { domain: EvaluationDomain, - deltaomega: Vec>, l0: Vec, fixed_commitments: Vec, fixed_polys: Vec>, diff --git a/src/plonk/prover.rs b/src/plonk/prover.rs index 03939fd..609a4ed 100644 --- a/src/plonk/prover.rs +++ b/src/plonk/prover.rs @@ -170,25 +170,23 @@ impl Proof { // Iterate over each wire again, this time finishing the computation // of the entire fraction by computing the numerators - for ((wire, modified_advice), deltaomega) in wires - .iter() - .zip(modified_advice.iter_mut()) - .zip(srs.deltaomega.iter()) - { + let mut deltaomega = C::Scalar::one(); + for (wire, modified_advice) in wires.iter().zip(modified_advice.iter_mut()) { // For each row i, we compute // p_j(\omega^i) + \delta^j \omega^i \beta + \gamma // for the jth wire of the permutation - for ((advice_value, modified_advice), deltaomega) in witness.advice[wire.0] + for (advice_value, modified_advice) in witness.advice[wire.0] .iter_mut() .zip(modified_advice.iter_mut()) - .zip(deltaomega.iter()) { - let mut tmp = *deltaomega; // \delta^j \omega^i + let mut tmp = deltaomega; // \delta^j \omega^i tmp *= &x_0; // \delta^j \omega^i \beta tmp += &x_1; // \delta^j \omega^i \beta + \gamma tmp += advice_value; // p_j(\omega^i) + \delta^j \omega^i \beta + \gamma *modified_advice *= &tmp; + deltaomega *= &domain.get_omega(); } + deltaomega *= &C::Scalar::DELTA; } // The modified_advice vector is a vector of vectors of fractions of diff --git a/src/plonk/srs.rs b/src/plonk/srs.rs index 9b2b997..4d73417 100644 --- a/src/plonk/srs.rs +++ b/src/plonk/srs.rs @@ -243,7 +243,6 @@ impl SRS { Ok(SRS { domain, - deltaomega, l0, fixed_commitments, fixed_polys,