\usepackageamsmath

Building a polynomial commitment scheme from the FRI-IOPP


Here we cover how to build a polynomial commitment scheme (PCS) from the FRI interactive oracle proof of proximity (FRI-IOPP). Specifically, we explain how to reduce an evaluation proof to a proof of proximity. It is assumed that the reader already understands the FRI-IOPP. Everything here was derived from reading Transparent PCS with polylogarithmic communication complexity (Vlasov & Panarin, 2019).

We assume the usual setup for FRI. Let F denote a finite field, write ΩF for a subgroup of the group of units F× with |Ω| a power of two. Let FΩ denote the vector space of functions ΩF, considered as vectors with entries indexed by some fixed enumeration of Ω (we’ll call elements of FΩ “words”). Let E:F[X]FΩ denote the evaluation map, i.e. (Ef)ω=f(ω)fF[X]ωΩ. Write Δ for the relative Hamming distance on FΩ, and let RSk=E(F[X]<k)FΩ denote the Reed-Solomon code with degree bound k. Fix throughout some degree bound 1<d<|Ω|. We will be concerned with two separate Reed-Solomon codes, namely RSd and RSd1 (note that both use the same evaluation points Ω). Write δ0 for the unique decoding radius of RSd, i.e. δ0 is maximal such that, for any fF[X]<d and uFΩ, Δ(u,Ef)δ0( gF[X]<dΔ(u,Eg)δ0f=g ).

The data of a commitment in the FRI-PCS with degree bound d is a word uFΩ (more precisely: an oracle to u). Assume for now that the prover is honest. In the simplest case, u=Ef for some fF[X]<d. Crucially, however, we require something weaker than this of a commitment u: it is sufficient that u be within the unique decoding radius of some codeword Ef, i.e. (UDR)Δ(u,Ef)δ0fF[X]<d. Any such u is considered to be a valid commitment to its corresponding fF[X]<d. Why is this subtlety necessary? Because if the stricter condition u=Ef were required, then the (soon to be explained) reduction of an evaluation proof to an invocation of the FRI-IOPP wouldn’t be possible. The FRI-IOPP isn’t sufficiently sensitive to reliably distinguish between a codeword and nearby non-codewords (for an explicit demonstration, see here).

Assuming that the prover has sent a commitment uFΩ to the verifier, an evaluation proof proceeds as follows. The verifier chooses an evaluation point rFΩ and sends this to the prover, and the prover responds with the purported evaluation c of the polynomial committed to (in the case of an honest prover, c=f(r) where f is determined by (UDR)). The prover wants to establish (TwoPart)fF[X]<d s.t. Δ(u,Ef)δ0  and  f(r)=c.
Since f(r)=c if and only if fc is divisible by Xr, and degree is additive under polynomial multiplication, this two part claim is equivalent to the following unified claim:
(Unified)qF[X]<d1 s.t. Δ(u,E((Xr)q+c))δ0. Thus we are interested in the proximity of the commitment u to a specific subset of RSd, namely the subset consisting of codewords of the form E((Xr)q+c). Note, however, that we can not immediately apply FRI-IOPP to establish this claim, since this subset is not itself a Reed-Solomon code (it isn’t even a linear subspace of FΩ). The good news is that, with a small amount of work, it can be seen that the claim (Unified) is equivalent to a claim that can be established using the FRI-IOPP (with degree bound d1). This claim involves a vector Dr,cuFΩ derived from u, which we’ll define below. And thus the FRI-PCS evaluation proof will be established using by a proximity proof!

Firstly, a note on oracles. Importantly, the verifier does not need to receive or read all of the uFΩ that commits to fF[X]<d. Since an evaluation proof reduces to an invocation of the FRI-IOPP, it is sufficient for the verifier to be supplied with a mechanism to query entries uω of u at arbitrary indices ωΩ. In an information theoretic presentation, this mechanism is abstracted as an oracle. In implementation, the oracle is typically instantiated with a Merkle commitment to the tree whose leaves are the uω (enumerated in some agreed upon manner). The prover binds itself to u by sending the Merkle root to the verifier, and the verifier queries an entry uω by asking the prover for the Merkle path from the root to the corresponding leaf.

Let’s now derive the reduction of the evaluation proof to an instance of the FRI-IOPP. Given bijections θw:FF for each ωΩ, a bijection θ:FΩFΩ of the space of all words can be defined by (θv)ω=θω(vω)vFΩ,ωΩ. Call such a map θ a “component-wise bijection”; it is immediate for any such map that (HDInv)Δ(θu, v)=Δ(u, θ1v)u,vFΩ. For any rFΩ and cF, define a component-wise bijection Dr,c:FΩFΩ by (Dr,cu)ω=uωcωruFΩ,ωΩ. Its inverse is given by (Dr,c1(v))ω=(ωr)vω+cvFΩ,ωΩ, from which it follows immediately that (DrcInverse)(Dr,c1E)(q)=E((Xr)q+c)qF[X]. Combining (HDInv) and (DrcInverse), we obtain (StepDown)Δ(Dr,cu, E(q))=Δ(u, E((Xr)q+c))vFΩqF[X], and substituting this into the claim (Unified), we obtain the equivalent claim (FRIable)qF[X]<d1 s.t. Δ(Dr,cu,Eq)δ0, which the prover and verifier can establish using the FRI-IOPP! (FRIable) is nothing more than the statement that Dr,cu is δ0-close to RSd1.

It is instructive to now consider the two possible cheating strategies for the prover in this reduction to the FRI-IOPP. The first is where the first claim of (TwoPart) doesn’t hold, i.e. for all fF[X]<d, u is not within the unique decoding radius of some Ef. Put differently, this is just saying that Δ(u, RSd)>δ0, i.e. “u is δ0-far from the code RSd”. Thus, by (StepDown), for any qF[X]<d1, Δ(Dr,cu, Eq)=Δ(u, E((Xr)q+c))Δ(u, RSd)>δ0, and so claim (FRIable) is false, and will be caught with the soundness bound of the FRI-IOPP. The only other cheating strategy for the prover is that where the u is in the unique decoding radius of Ef for some fF[X]<d, but the claimed evaluation is false, i.e. f(r)c. Then for any qF[X]<d1, we have f(Xr)q+c (since otherwise the evaluations at c would match), and so Ef and E((Xr)q+c) are distinct codewords. Thus, by (StepDown), Δ(Dr,cu, Eq)=Δ(u, E((Xr)q+c))>δ0, since u can be within δ0 (the unique decoding radius) of at most one codeword (which is Ef).

Leave a Reply

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