/Plonky3

A collection of libraries related to polynomial IOPs (PIOPs)

Primary LanguageRustApache License 2.0Apache-2.0

Plonky3

Plonky3 is a toolkit for implementing polynomial IOPs (PIOPs), such as PLONK and STARKs. It aims to support several polynomial commitment schemes, such as Brakedown.

This is the "core" repo, but the plan is to move each crate into its own repo once APIs stabilize.

Status

Fields:

  • Mersenne31
    • common extension fields
    • AVX2
    • AVX-512
    • NEON
  • Goldilocks
    • common extension fields
    • AVX2
    • AVX-512
    • NEON

Vector-ish commitment schemes

  • generalized Merkle tree

Polynomial commitment schemes

  • FRI-based PCS
  • tensor PCS
  • univariate-to-multivariate adapter
  • multivariate-to-univariate adapter

PIOPs

  • STARK
  • PLONK

Codes

  • Brakedown
  • Reed-Solomon

Algorithms

  • basic FFT
  • Mersenne FFT

Hashes

  • Rescue
  • Poseidon
  • Poseidon2
  • Keccak-256
  • BLAKE3-modified

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.