Computing a STARK's out-of-domain evaluations quickly with barycentric interpolation over the trace subgroup.
· 1 min read · STARKs, Polynomials
Preliminaries
Let F be a finite field of prime order p and let ℓ be the largest positive integer such that 2ℓ∣(p−1). Let k<ℓ and let G⊂F∗ be a multiplicative subgroup of order n=2k. Also, let K denote an extension field over F.
The vanishing polynomial over a domain D⊆F∗ is the monic polynomial whose simple roots are precisely the elements of D: VD(X)=∏a∈D(X−a). For any multiplicative subgroup H it collapses to VH(X)=X∣H∣−1, and for a coset cH to VcH(X)=X∣H∣−c∣H∣.
DEEP-ALI
The verifier samples the out-of-domain point z←K∖K. The prover answers with the OOD evaluations: the translated column values and the chunk values
DEEP is the remaining half: binding the claimed values vj,s,viQ to the committed words, which is exactly what the quotients of Step 5 do, at which point “close to a codeword” is also discharged by the proximity test.
Barycentric Evaluation
Notice that for x∈/G:
f(x)=u∈G∑f(u)⋅Lu(x)=nVG(x)u∈G∑x−uu⋅f(u).
If we enumerate the elements of G by u1,…,uℓ, the previous can be computed by precomputing the shared constant and vector
nVG(x),(x−u1u1,…,x−uℓuℓ)
for each x and then computing the inner product per column: