From 33261ec1a0a84673656e903e6eed61f60d734206 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Sat, 19 Sep 2020 23:19:30 +0800 Subject: [PATCH] Recover from OpeningProof::create() failure in PLONK prover --- src/plonk/prover.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/plonk/prover.rs b/src/plonk/prover.rs index a39e65c..27e3fc1 100644 --- a/src/plonk/prover.rs +++ b/src/plonk/prover.rs @@ -578,18 +578,11 @@ impl Proof { } }); } + let opening = OpeningProof::create(¶ms, &mut transcript, &f_poly, f_blind_dup, x_6); - // Check U - let u_x = transcript.clone().squeeze(); - // y^2 = x^3 + B - let u_y2 = u_x.square() * &u_x + &C::b(); - - if let Some(_) = u_y2.deterministic_sqrt() { + if opening.is_ok() { final_q_evals = q_evals; - let opening = - OpeningProof::create(¶ms, &mut transcript, &f_poly, f_blind_dup, x_6) - .unwrap(); - break opening; + break opening.unwrap(); } else { f_blind += C::Scalar::one(); f_commitment = (f_commitment + params.h).to_affine();