Closed amit0365 closed 7 months ago
Hi, I'm not sure I'm understanding the question, from what you described (I haven't checked the minroot) you can compute x_i_plus_1 ^ 5
and enforce it to be equal to x_i + y_i
directly in the circuit code, right?
I'm checking now the microsoft/Nova example on minroot and seems that similar code logic could be done in sonobe using arkworks.
Btw, I understand that you're preparing benchmarks comparing folding libraries, take in mind that sonobe is not yet optimized since we've focused our efforts into having the onchain verifier that can verify Nova proofs in the Ethereum EVM's.
For minroot-vdf we need to enforce x_i_plus_1 = (x_i + y_i)^{1/5}, which can be more easily checked with x_i_plus_1^5 = x_i + y_i. And we want x_i_plus_1 as a public output. I think we can't do the constraint check other way round in generate_step_constraints fn. Is there a workaround without adding a custom gadget? @arnaucube