You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue was run into on the zexe library and has not been attempted to be reproduced on arkworks yet.
The constraints method verify for computing a BooleanVar representing whether a proof is valid or not produces unsatisfied constraints when a Default::default proof is passed as input. The correct behavior would be to simply return a BooleanVar with value false.
The method works as expected when passing in the correct proof (returns a true BooleanVar) or passing in a proof with values not initialized to Default, e.g. random group elements or canonical generator (returns a false BooleanVar). This indicates that there might be some odd behavior with how verify interacts with a proof that has 0 values (which I believe is what Default sets the group elements to).
I don't have a good idea...The problem is that the default proof has not been designed to work as a placeholder. In some of our projects, we do need such a placeholder, and our workaround is as follows: generate a real proof as "default proof", either from the same circuit we are proving or from a totally different circuit that has the same input size.
This issue was run into on the
zexe
library and has not been attempted to be reproduced onarkworks
yet.The constraints method
verify
for computing a BooleanVar representing whether a proof is valid or not produces unsatisfied constraints when a Default::default proof is passed as input. The correct behavior would be to simply return a BooleanVar with value false.The method works as expected when passing in the correct proof (returns a true BooleanVar) or passing in a proof with values not initialized to Default, e.g. random group elements or canonical generator (returns a false BooleanVar). This indicates that there might be some odd behavior with how
verify
interacts with a proof that has 0 values (which I believe is what Default sets the group elements to).https://github.com/arkworks-rs/groth16/blob/master/src/constraints.rs#L243
The text was updated successfully, but these errors were encountered: