\usepackageamsmath

FRI is a proof of proximity, not a low-degree test

(The following thought experiment was suggested to me by my colleague Ryan Cao; mistakes and invective are my own).

FRI is often described as a “low degree test”, which suggests that the verifier should reject with high probability if the degree is high. This is not the case, as the simple example below demonstrates. Indeed it is the polynomials of highest degree that have the highest chance of being erroneously accepted by the verifier. (What is true is that the FRI verifier rejects with high probability if the evaluations are far from the code: FRI is a proof of proximity).

Let F be a field, ΩF with n=|Ω|, and write
ϵΩ:F[x]<nFΩ,f(f(ω))ωΩ for the evaluation map. For any kn, let RS[Ω,k]:=ϵΩ(F[x]<k) be the Reed-Solomon code of evaluations of polynomials of degree strictly less than k on Ω.

Henceforth we assume that Ω is a subgroup of the multiplicative group F× and that n=|Ω| is a power of two. The degree bound k=2d will also be a power of two. For αF, let Φα:F[x]F[x] be the FRI folding operation (in the coefficient domain) and write Ψα=ϵΩΦαϵΩ1 for the corresponding operation in the evaluation domain. Then it’s not hard to check that for any vFΩ and αF, we have (Fold)(Ψα(v))ω2=12(1+αω)vω+12(1αω)vωωΩ.

FRI operates by iterated folding, using challenges provided by the verifier. The claim of the proximity of v(0):=vFΩ to the code RS[Ω,2d] is reduced to the claim of the proximity of v(1):=Ψαv(0) to the code RS[Ω2,2d1] for some αF. This process is repeated until the claim is that v(d) is close to the code RS[Ω2d,1], at which point the verifier queries t entries from v(d) and checks if they all agree: if they do, it concludes that v(d) is (w.h.p.) close to its code, and hence that the original vector v(0) is (w.h.p.) close to the original code. Proving that FRI is indeed a good test of proximity is complicated. It is easy to show, however, that FRI is not (indeed never intended being) a reliable means of detecting polynomials of high degree, and that is what we’ll do here.

For any ωΩ, let Lω,Ω denote the Lagrange interpolation polynomial, i.e. Lω,Ω=ωΩ ωωxωωωF[x]. Then degL=n1, i.e. it has has maximal degree (given the size of the evaluation domain Ω). Its evaluations, however, are “one-hot” at ω vω,Ω:=ϵΩ(Lω,Ω)=(0,,0,1,0,,0) and in this sense are maximally close to the code, while not being in the code (having Hamming distance 1 from the zero codeword). It’s easy to see from (Fold) that Ψα(vω,Ω)=12(1+αω)vω2,Ω2 i.e. that except with negligible probability (when α=ω), the folding will also have Hamming distance 1 from its code RS[Ω2,2d1]. Note, however, that the relative Hamming distance has doubled, since the size of the evaluation domain has halved.

So let’s set v(0):=vω,Ω. Then after d rounds of folding, v(d) is (except with negligible probability) non-zero in exactly one place, and its relative distance from the code RS[Ω2d,1] (which consists of constant vectors) is 2d/2n i.e. the rate ρ of the original code. The verifier thus accepts with probability (1ρ)t. Given that ρ is typically close to zero (e.g. 22264) and t is always small, this probability is close to 1. For this reason, it is misleading (if commonplace) to describe FRI as a “low-degree test”: the polynomials Lω,Ω, which have maximal degree are routinely accepted by the FRI verifier. Why? Because the evaluations of these polynomials are close (“proximal”) to the code. FRI is a proof of proximity, after all.

Leave a Reply

Your email address will not be published. Required fields are marked *