Prerequisite:

  • multilinear polynomials
  • low degree extension

Multilinear extensions

A multivariate polynomial is multilinear if the degree of the polynomial in each variable is at most one.

let be any function mapping the v-dimensional hypercube to , then multilinear extension of is , a -variate polynomial that agrees with on all .

Why multilinear extensions?

Allows to represent domain of length 2^v into v variable multilinear polynomial, which is way less than univariate polynomials where variable polynomial is needed to represent length domain.

Using SZ lemma, verifier gains power over prover as if two functions differ at even one point in , then their extension disagree almost everywhere, precisely agree at most .

Prove that a function has a unique multilinear extension over . a

Lagrange interpolation

where for any , is called equality polynomial,

Sumcheck protocol

To Prove:

More precisely, sumcheck protocol is used to prove a v-variate polynomial defined over a Finite field .

Let’s see how the protocol behaves:

  • claiming to equal to
  • round 1: sends a univariate polynomial:
  • checks that , and
  • , and sends to
  • round i:
    • checks and sends to
  • last round:
    • checks , and
    • checks with oracle query access to that

Efficiency:

  • : for each round i: terms are sent

Univariate sumcheck

Introduced in Aurora Paper, univariate sumcheck proves relation for a univariate polynomial of degree and subset :

Properties of protocol:

  1. rounds:
  2. proof complexity:
  3. query complexity:
  4. prover operations:
  5. verifier operations:

Uses theorem stated by Byott and Chapman BC99 that iff has degree less than . Prove this using FRI protocol by BBHR18b which has proof complexity and proof length . For case when degree : we observe that we can split any polynomial into two polynomials and such that with and ; in particular, and agree on , and thus so do their sums on .

  • https://hackmd.io/@kIJ38IbETaGkxGkcxhrNVg/HycoeJUJh?utm_source=preview-mode&utm_medium=rec

GKR

and agrees to a circuit. proves , the output of the circuit.

Taken from jolt repo:

GKR is a SNARK protocol for binary trees of multiplication / addition gates. The standard form allows combinations of both using a wiring predicate , and two additional MLEs and .

evaluates to the value of he circuit at the -th layer in the -th gate. For example corresponds to the output gate.

evaluates to 1 if the -th gate of the -th layer is an addition gate.

evaluates to 1 if the -th gate of the -th layer is a multiplication gate.

The sumcheck protocol is applied to the following:

where

Lasso and Jolt implement the Thaler13 version of GKR which is optimized for the far simpler case of a binary tree of multiplication gates. This simplifies each sumcheck to:

where

GKR is utilized in memory-checking for the multi-set permutation check.

Resources