Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Rationale for this change Currently, ranges on scalar values are verified in a bitwise decomposition for each bit. This requires a proportionally large amount of work to verify, since each bit must be checked. A more efficient range check can leverage a lookup table and protocol with a verifying party to efficiently argue range and uniqueness against columns of scalar values. # What changes are included in this PR? Adds an efficient, byte-oriented range check protocol via lookup table with logarithmic derivative arguments # Are these changes tested? - [x] Thorough unit tests for individual range check components - [x] A demo RangeCheckExpr based off of a ProofPlan trait implementation so that the prover and verifier builder structs can be accessed # Split - Introduce threading to heavy matrix operations - Configurable, generic word sizes - Configurable range - Dynamic column sizes - Convert from ProofPlan to ProofExpr, need ProofExpr to be able to provide verifier challenge
- Loading branch information