jellyfish
jellyfish copied to clipboard
Simplier TurboPlonk relation
Currently, our customized gate formula is:
![Screenshot 2022-11-10 at 12 58 41 AM](https://user-images.githubusercontent.com/20514086/200893096-87ef4f11-ad0b-44e5-af02-7bdc573da534.png)
@zhenfeizhang has suggested that since currently the gadgets we use either use linear combination selectors q_lc := (q1~q4)
or hash (degree 5) selectors q_hash:=(qH1~qH4)
, but not at the same time, maybe we can simplify the formula to (...
are remaining parts that stays unchanged):
$$ \textcolor{red}{(1 - q_H) \cdot} (q_1 \cdot w_1 + q_2 \cdot w_2 + q_3 \cdot w_3 + q_4 \cdot w_4 ) + \textcolor{red}{q_H \cdot (q_1 \cdot w_1^5 + q_2 \cdot w_2^5 + q_3 \cdot w_3^5 + q_4 \cdot w_4^5)} + \ldots $$
In this way, we can save 3 q_H
selectors which translate to 3 group elements in verification keys and 3 field elements in proof size.
Current WIP: https://github.com/EspressoSystems/jellyfish/tree/simpler-turboplonk