History of Plonky
Initially, Plonky1 employed the KZG commitment scheme, offering a timing edge by verifying rather than computing recursive proofs. The introduction of Plonky2 marked a shift to the FRI commitment scheme. This approach leverages hashing algorithms instead of elliptic curves for polynomial commitments, allowing efficient calculations within a single domain and utilizing the Goldilocks field for rapid proof generation. FRI’s fully recursive nature simplifies engineering by enabling complete verifier implementation within the circuit.
Binius introduces a different commitment strategy with Brakedown, which utilizes Merkle trees and Reed-Solomon encoding. This results in larger proofs and longer verification times compared to FRI, but offers a significant reduction in Prover time. (Brakedown is a polynomial commitment based on tensor query. )
Plonky3 shows notable performance advancements over Plonky2. It retains the FRI commitment scheme while incorporating Brakedown. Improvements include optimized data structures for FRI, enhanced efficiency through parallel computing, and the use of hash functions and smaller fields like the Mersenne31 prime field. The main design principle is combining faster-prover, bigger-proof schemes like Brakedown with recursion.
Brakedown PCS
Brakedown is a polynomial commitment scheme that significantly reduces prover time by leveraging Merkle trees and Reed-Solomon encoding. It ensures both proximity and consistency, making it a fast and secure alternative to traditional polynomial commitment schemes. Brakedown is particularly effective in reducing FFT operations and employs tensor product representations of polynomial values.
Differences between Plonky2 and Plonky3
Plonky3 builds upon the foundation laid by Plonky2 by incorporating additional commitment schemes and optimizing the FRI protocol's implementation. It achieves better performance through advanced data structures, parallel computing, and the use of smaller fields. These improvements make Plonky3 more efficient in generating and verifying proofs while maintaining the simplicity and robustness introduced in Plonky2.
Papers
https://eprint.iacr.org/2023/1784.pdf
https://eprint.iacr.org/2021/1043.pdf
Libraries
https://github.com/Plonky3/Plonky3
Implementation Details
https://lita.gitbook.io/lita-documentation/architecture/proving-system-plonky3