PLONK
Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge
PLONK emerges as a versatile zero-knowledge proof framework, devised by Ariel Gabizon, Zac Williamson, and Oana Ciobotaru. The acronym 'PLONK' embodies 'Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge,' playfully coined to capture its essence.
Zero-knowledge proofs denote cryptographic protocols enabling a party (the prover) to validate familiarity with specific information to another party (the verifier), all while keeping the information itself undisclosed. This feature lends itself to diverse applications, including safeguarding privacy in transactions and ensuring secure data exchange.
PLONK builds upon the progress achieved by preceding general-purpose zero-knowledge proof protocols, such as SONIC and Marlin. It introduces a range of refinements aimed at enhancing the usability and efficiency of zero-knowledge proofs.
The concept behind PLONK
Within PLONK, gate constraints and copy constraints serve as pivotal concepts that facilitate the transformation of a computational problem encapsulated in a computer program into a collection of polynomial equations, adeptly verified as zero-knowledge proofs. These constraints play a critical role in establishing a structured framework of equations capable of succinctly representing the problem at hand in a verifiable manner.
Gate Constraints: Gate constraints manifest as equations correlating the values associated with wires linked to the same gate within the circuit. In PLONK, the conversion process involves translating the problem into a circuit configuration comprised of logic gates responsible for addition and multiplication operations. Each gate accepts input wires and generates an output wire according to specific operations. For instance, let's examine a multiplication gate furnished with two input wires (A and B) and one output wire (C). The corresponding gate constraint assumes the form of an equation:
C = A * B
Similarly, in the context of an addition gate featuring input wires (X and Y) and an output wire (Z), the pertinent gate constraint reads:
Z = X + Y
These gate constraints ensure accurate alignment between circuit operations and the polynomial equations, empowering the verifier to affirm computation correctness while remaining unaware of the specific inputs presented by the prover.
Copy Constraints: Copy constraints establish equivalences between different wires situated anywhere within the circuit. They guarantee that the output of one gate equals the input of another gate, preserving the flow of data across the circuit. The enforcement of copy constraints is paramount to maintaining coherence and consistency in the circuit representation. For instance, contemplate two wires, A and B, that must hold identical values. The corresponding copy constraint would be an equation:
A = B
Copy constraints underpin the accurate propagation of data throughout the circuit and are indispensable for establishing a well-structured system of equations encapsulating the entire problem.
In essence, PLONK leverages gate constraints and copy constraints to metamorphose a program-derived problem into a coherent assembly of polynomial equations. These equations constitute the foundation for generating zero-knowledge proofs. By integrating these constraints, PLONK achieves a succinct and efficient problem representation, rendering it practical and scalable across a spectrum of applications demanding zero-knowledge proofs. For further insight into formulas and mathematical concepts, we recommend exploring Vitalik Buterin's article
Last updated