Skip to content

Plonky 2 & 3

Plonky 2 & 3 are active research efforts into the development of libraries containing performant cryptographic functions for use in zero-knowledge proof systems.

Plonky was Polygon’s original implementation of a zk-SNARK computational cryptographic library based on Plonk with some customizations. The original library was decommissioned in 2021 to be replaced by Plonky2.

Plonky 2

Plonky2 is a performant Rust library of cryptographic functions that includes a SNARK implementation based on techniques from Plonk and FRI as well as tools such as Starky.

The library has an emphasis on fast recursive techniques.

Polygon’s type 1 prover system uses the Plonky2 library.

Examples

The Polygon Plonky2 repo provides some example functions that you can try out:

  • factorial: Proving knowledge of 100 factorial.
  • fibonacci: Proving knowledge of the hundredth Fibonacci number.
  • range_check: Proving that a field element is in a given range.
  • square_root: Proving knowledge of the square root of a given field element

More info

Plonky 3

Plonky3 is an ongoing effort to provide a new and enhanced cryptographic library which aims to further improve on the speed and efficiency of recursive zero-knowledge proofs. It contains optimizations for newer CPU specifications.

It implements polynomial IOPs, such as PLONK and STARKS, and commitment schemes such as Brakedown. Check out the Plonky3 README for an update on what is included.

Head over to the Polygon Plonky3 repo and try it out yourself.

Learn more about Plonky 1, 2, and 3

Watch the Polygon Zero team’s introduction to Plonky on YouTube.


Comments