Skip to content

Step 3: Master polynomial

We are now going to build a "master polynomial" which will encode the gate constraints and the permutation constraints in one, which will be more efficient and equivalent to checking each constrain separately.

Exercise 21

Generate a challenge α and push it to the transcript. Compute the gates constraing on the blinded polynomials:

t_gates=qMa_blindb_blind+qLa_blind+qRb_blindc_blind

Then compute the L1 function as above and the constraints:

t_perm_start=(z_poly1)L1t_perm_step=z_polyN_polyD_polyz_poly(xω)

Compute the master polynomial:

bigt=t_gates+αt_perm_start+α2t_perm_step

and its quotient:

quotient_poly=bigtZH

Commit to quotient_poly and push to the transcript.

python
#Solve here!
alpha = 
L1 = 
t_gates     = 
t_perm_start= 
z_shifted   = 
t_perm_step = 
bigt =  
quotient_poly = 
c_t =

𝒫𝔩𝔬𝔫𝒦 Tutorial by zkSecurity