gnark icon indicating copy to clipboard operation
gnark copied to clipboard

feat: efficient batch range check

Open gbotrel opened this issue 2 years ago • 2 comments

see also #388 .

The batch range check component should enable:

  • [x] efficient limb batch range checks for emulated arithmetic (Groth16)
  • [x] efficient limb batch range checks for emulated arithmetic (PlonK)
  • [x] bypass the range check constraints (but still identify the affected variable that need to be range checked) to perform the range checks out-of-circuit.

gbotrel avatar Feb 08 '23 18:02 gbotrel

@ivokub can you update status on this one?

gbotrel avatar Mar 15 '23 19:03 gbotrel

@ivokub can you update status on this one?

All is done. The range check gadget is agnostic to the builder if it either implements Committer or Rangechecker interfaces. If PLONK is to receive Commit method, then range checks start working automatically. Or if we plug in builder (e.g. Wizard) which has native support for range checks, then starts automatically working (i.e. we relay all range checks to the proof system, which handles it on its own).

I'm not sure if should close before PLONK commitment is done? Otherwise done from my side.

ivokub avatar Mar 15 '23 22:03 ivokub