Description
In the recursive verification circuit, we aggregate the proof verification by computing bn254_endo_batch_mul_with_generator
.
barretenberg/cpp/src/aztec/stdlib/recursion/verifier/verifier.hpp
Lines 392 to 399 in f555b8b
Similarly, the MSM to compute wnaf_batch_mul
.
barretenberg/cpp/src/aztec/stdlib/recursion/verifier/verifier.hpp
Lines 401 to 403 in f555b8b
But the problem is: if any of the elements in the rhs_elements
contain msub_div
in the bigfield module. This doesn't happen when using Standard or Turbo composers. It fails at the correct assertion when using Ultraplonk though.
I wrote a quick test to confirm this is a problem with the MSM operation in the circuit. This only tests wnaf_batch_mul
function.
barretenberg/cpp/src/aztec/stdlib/primitives/biggroup/biggroup.test.cpp
Lines 990 to 998 in 3b587a7
Questions:
- Is this the expected behaviour or are we missing some checks?
- Is this a problem because we don't allow overflows while constructing
fq_ct
points?