privacy-scaling-explorations/zkevm-circuits

is_zero can be implemented without witnessing the inverse

themighty1 opened this issue · 1 comments

Describe the feature you would like

The current is_zero gadget witnesses an inverse https://github.com/privacy-scaling-explorations/zkevm-circuits/blob/main/gadgets/src/is_zero.rs

however, it is possible to constrain a value to be zero without witnessing the inverse but using just this expression:
[(b * b + b) + (b * b - b)]

That expression evaluates to zero only when b == 0

Additional context

No response

sry, i misunderstood the purpose of is_zero