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 denote a finite field, write for a subgroup of the group of units with a power of two. Let denote the vector space of functions , considered as vectors with entries indexed by some fixed enumeration of (we’ll call elements of “words”). Let denote the evaluation map, i.e. Write for the relative Hamming distance on , and let denote the Reed-Solomon code with degree bound . Fix throughout some degree bound . We will be concerned with two separate Reed-Solomon codes, namely and (note that both use the same evaluation points ). Write for the unique decoding radius of , i.e. is maximal such that, for any and ,
The data of a commitment in the FRI-PCS with degree bound is a word (more precisely: an oracle to ). Assume for now that the prover is honest. In the simplest case, for some . Crucially, however, we require something weaker than this of a commitment : it is sufficient that be within the unique decoding radius of some codeword , i.e. Any such is considered to be a valid commitment to its corresponding . Why is this subtlety necessary? Because if the stricter condition 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 to the verifier, an evaluation proof proceeds as follows. The verifier chooses an evaluation point and sends this to the prover, and the prover responds with the purported evaluation of the polynomial committed to (in the case of an honest prover, where is determined by ). The prover wants to establish
Since if and only if is divisible by , and degree is additive under polynomial multiplication, this two part claim is equivalent to the following unified claim:
Thus we are interested in the proximity of the commitment to a specific subset of , namely the subset consisting of codewords of the form . 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 ). The good news is that, with a small amount of work, it can be seen that the claim is equivalent to a claim that can be established using the FRI-IOPP (with degree bound ). This claim involves a vector derived from , 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 that commits to . 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 of 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 (enumerated in some agreed upon manner). The prover binds itself to by sending the Merkle root to the verifier, and the verifier queries an entry 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 for each , a bijection of the space of all words can be defined by Call such a map a “component-wise bijection”; it is immediate for any such map that For any and , define a component-wise bijection by Its inverse is given by from which it follows immediately that Combining and , we obtain and substituting this into the claim , we obtain the equivalent claim which the prover and verifier can establish using the FRI-IOPP! is nothing more than the statement that is -close to .
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 doesn’t hold, i.e. for all , is not within the unique decoding radius of some . Put differently, this is just saying that , i.e. “ is -far from the code ”. Thus, by , for any , and so claim 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 is in the unique decoding radius of for some , but the claimed evaluation is false, i.e. . Then for any , we have (since otherwise the evaluations at would match), and so and are distinct codewords. Thus, by , since can be within (the unique decoding radius) of at most one codeword (which is ).