privacy-scaling-explorations / halo2

https://privacy-scaling-explorations.github.io/halo2/
Other
201 stars 121 forks source link

Tight k on lookups #317

Closed miguel-ambrona closed 4 months ago

miguel-ambrona commented 4 months ago

CLOSING THIS AT IT REQUIRES MORE CHANGES.

We disable two checks on key generation that made sure the row being filled was within the usable rows.

These checks are not necessary for fixed columns (where we disabled them), because fixed columns are public and are not blinded. Indeed, they are computed at setup time.

These checks served as a sanity check though, because in general one would not want to assign values at unusable offsets. On exception is the case of lookups. Thanks to this change, we can now run circuits with 2^k lookup tables on a k-domain. Before this change, a (k+1)-domain was needed.

This solution is good IMHO, but I suggest opening a GitHub issue to revisit this problem in the future to possibly enable/disable the check via an additional argument to the assign_fixed function.