ZK-Garage / plonk

A pure Rust PLONK implementation using arkworks as a backend.
https://discord.gg/XWJdhVf37F
Mozilla Public License 2.0
295 stars 76 forks source link

Derive the Minimal Quotient Polynomial #79

Open bhgomes opened 2 years ago

bhgomes commented 2 years ago

A given concrete circuit may only use a subset of the custom-gate functionality available to the proof system. This can be detected whenever some selectors are all zero throughout the circuit. More generally, if a selector is nonzero but constant throughout the circuit, we can also reduce the complexity of the quotient polynomial. This is a step towards the fully customizable system where users can design their own custom gates and the proof system will select the subset of custom gates which are used in any concrete circuit.