Integrating the univariate skip with deterministic challenges
We now describe our univariate skip variant. We focus here on the overall protocol steps, and on the verifier's perspective. We defer the details of the prover's implementation to the page after this one.
By the definition of AND constraint satisfaction, the prover's AND constraints hold if and only if
Whatever these arrays are, we can oblong-multilinearize them. In this way, we get oblong-multilinears a(I,X), b(I,X) and c(I,X) whose respective tables of values on D×Bℓand are the constraint arrays a, b and c.
Having done this, we can say that prover's AND constraints hold if and only if
a(i,x)⋅b(i,x)=?c(i,x)
holds for each i∈D and each x∈Bℓand. Our goal here will be to reduce the satisfaction of this condition to a further one, involving evaluation claims on the oblong-multilinearizations a(I,X), b(I,X) and c(I,X). It will be the job of the shift reduction to assess those latter claims (and in particular, to connect them to the witness).
Protocol Description
For notation's sake, we write
f(I,X):=a(I,X)⋅b(I,X)−c(I,X).
Our goal is now to show that f(I,X) vanishes identically on D×Bℓand; more precisely, our goal is to reduce the question of this vanishing to evaluation claims on a(I,X), b(I,X) and c(I,X). Note that f(I,X) is multivariate in 1+ℓand variables; it is not oblong-multilinear.
We now describe the protocol explicitly. Later, we explain soundness and implementation considerations.
the verifier samples a partial challenge rx←F2128ℓand−3, as usual in the deterministic zerocheck variant. the verifier sends rx to the prover.
the parties both define
rx:=(σ0,σ1,σ2,rx,0,…,rx,ℓ−4),
where the elements σ0, σ1, and σ2 of F2128 are the fixed deterministic challenges we've already explained.
the univariate polynomial
g(I):=x∈Bℓand∑f(I,x)⋅eq(rx,x)
is univariate, of degree at most 2⋅(2k−1), and vanishes on D if the prover is honest. The prover sends this polynomial, by sending its values on at least 2k−1 points outside of D (we will be more precise about this later).
the verifier checks that g(I) vanishes identically on D.
the verifier samples a single challenge ri←F2128 and sends it to the prover.
both parties write s0:=g(ri), and run an ℓand-round sumcheck on the claim
s0=?x∈Bℓand∑f(ri,x)⋅eq(rx,x).
at the end, the verifier needs to evaluate
sℓand=?f(ri,rx′)⋅eq(rx,rx′),
where sℓand and rx′ are values that arise during the sumcheck. The verifier can evaluate eq(rx,rx′) himself; he outputs the final evaluation claim on f(ri,rx′).
Completeness and Soundness
If the prover is honest—i.e., if f(i,x)=0 for each i∈D and each x∈Bℓand, and if the prover carries out the above protocol as prescribed—then he will pass. First off, f(I,X)'s vanishing on D×Bℓ implies g(I)'s vanishing on D. Moreover, if the prover computes g(I) as prescribed, then
s0=g(ri)=x∈Bℓand∑f(ri,x)⋅eq(rx,x)
will hold, by definition of g(I); this is exactly the claim that the parties will sumcheck.
If the prover is dishonest, then there exists an i∗∈D for which the set (f(i∗,x))x∈Bℓand of bits is not identically zero.
By the soundness analysis of the partially-deterministic zerocheck, the chance, over the verifier's choice of rx←F2128ℓand−3, that
0=?x∈Bℓand∑f(i∗,x)⋅eq(rx,x)
holds is at most 2128ℓ−3. Assuming that this doesn't happen, we conclude that
g(i∗)=0;
here, we write
g(I):=x∈Bℓand∑f(I,x)⋅eq(rx,x)
for the univariate polynomial that the prover should send in the first round.
In light of the verifier's check that g∣D is identically zero, the inequality g(i∗)=0 above implies that the prover can pass that check only by sending a round polynomial g(I) unequal to g(I) (as polynomials).
By standard univariate Schwartz–Zippel, the probability, over the verifier's ri←F2128, that g(ri)=g(ri) is thus at most 21282⋅(2k−1). If that equality doesn't happen, then the parties' sumcheck claim
here, sℓand and rx′ are further quantities that will arise during the sumcheck. In the second equality, we unroll the definition of f(ri,rx′), using our definition of f(I,X) above.
The verifier can locally evaluate eq(rx,rx′). At this point, the prover can nondeterministically send the verifier scalars αa, αb and αc which it claims satisfy:
If this equality passes, then the verifier will have closed out the univariate skip, pending the correctness of the prover's three evaluation claims. These are exactly the kind of claims that the shift reduction is designed to evaluate.