Skip to content

Use Proximity Gaps bound used by plonky3's Whir #262

Description

@sashafrolov

I have been trying to integrate this library into my project. I have been getting some unexpectedly slow performance results when compared to Plonky3's WHIR implementation.

For example, with a target security level of 100 bits, a field size of 128 bits (using Field128 in this library), a pow_bits level of 20 bits, and all other settings set to this library's default, it takes ~144 seconds on my M4 Macbook to commit to a polynomial in 2^16 variables because the PoW takes so long.

Switching to a ~192 bit field does fix this, but I want to use a 128 bit field for reasons related to my project.

Looking into the code, Plonky3's WHIR uses the proximity gaps result of BCSS25 (https://eprint.iacr.org/2025/2055), see the code reference here.

This library's WHIR implementation uses the BCI+20 bound (code reference here).

Could you all please switch the proximity gaps bound? It is meaningful in making this library work for the parameter settings I am interested in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions