Verify all proofs

Suppose you have a polynomial

P, and the sample proofs
Qi=โŒŠPX16โˆ’ฯ‰iโˆ—16โŒ‹
.

Goal: verify all proofs.

Note that for all

i,
Qiโˆ—(X16โˆ’ฯ‰iโˆ—16)=Pโˆ’Ii
, where
Ii
is the
deg<16
interpolant of the i'th subgroup.

We can combine all of these equations with a random linear combination:

โˆ‘Qiโˆ—(X16โˆ’ฯ‰iโˆ—16)โˆ—ri=โˆ‘(Pโˆ’Ii)โˆ—ri

Now let us play with this equation:

โˆ‘(Qiโˆ—ri)โˆ—X16โˆ’โˆ‘(Qiโˆ—wiโˆ—16โˆ—ri)=Pโˆ—โˆ‘riโˆ’โˆ‘(Iiโˆ—ri)

We now convert this into a pairing equation:

e(โˆ‘(Qiโˆ—ri),[X16])รทe(โˆ‘(Qiโˆ—wiโˆ—16โˆ—ri),[1])=e(Pโˆ—โˆ‘riโˆ’โˆ‘(Iiโˆ—ri),[1])

Let us go through this term-by-term.

  • โˆ‘(Qiโˆ—ri)
    is a simple size
    N16
    fast linear combination.
  • โˆ‘Qiโˆ—wiโˆ—16โˆ—ri
    is a simple size
    N16
    fast linear combination.
  • Pโˆ—โˆ‘ri
    is a multiplication after N field operations
  • โˆ‘(Iiโˆ—ri)
    involves the calculation of
    N16
    size-16 interpolants; with Lagrange interpolation this can be done in
    โ‰ˆ16โˆ—N
    field operations; FFTs may speed this up but at these small scales only slightly. Adding up the interpolants and converting the result into a point is trivial.