TurboPLONK

Expressing PLONK and Custom Gates

TurboPlonk plonk is an Evolution that interpreter the circuit as a sequence of state with dynamic transitions and copy constraints. This model retains the benefit of polynomials commitment schemes based zero knowledge proofs but also allows for more concise and specialized representations resulting in better performance for certain tasks (circuit constraints demanding tasks like bitwise operations).

See turbo-PLONK as "PLONK with superpower" by letting you define custom gates also allowing you inject constants via selectors, it optimizes complex protocols like elliptic curve operations into fewer constraints, making proofs faster and circuit smaller.

Turbo-PLONK generalized PLONK by introducing customizable transition gate and enhanced selectors, "PLONK with programmable gate" made possible by Turbo-PLONK.

Key Components of Turbo PLONK

Transition Gate

A transition gate is a polynomials constraint that can involves current and next row values

Dynamic Selectors

  • Selectors are no longer limited to just addition and multiplication

  • They can activate abitratry precompuited constant (e.g. elliptic Curve parameters) or toggle between constarant modes

Copy Constraints as Memory

Turbo PLONK proposal paper

Last updated