Review of FRI
As we've already mentioned, our commitment scheme uses Reed–Solomon codes, and particular binary ones. Here, we will begin to sketch why our use of codes pays off. The crucial underlying mathematical tool turns out to be FRI—short for fast Reed–Solomon interactive oracle proof of proximity—a key protocol developed by Ben-Sasson, Bentov, Horesh and Riabzev [BBHR18].
FRI is an extremely complicated topic, and we will simply not be able to cover all of its ins and outs here. In short, FRI is a proximity test—an interactive protocol, between a prover and a verifier—pertaining to a committed word. The verifier's goal is to determine whether the word is close to a codeword—that is, whether it differs from some (i.e., any) codeword at just a few positions, or whether it's instead far from them all. In the process, the verifier would like to query as few positions of the committed word as possible. FRI resides firmly in the IOP model. A key aspect of the protocol is interaction: during the protocol, the prover and verifier interact over the course of a logarithmic number of rounds (in the length of the initial committed word). In each round, the verifier samples and sends a random challenge, and the prover commits a further word to the string oracle. In the end, the verifier runs a testing procedure known as querying, during which it reads the prover's various committed words at various points.
We conduct our overview of FRI in the binary setting—the setting, in fact, in which most of that protocol's original treatment was carried out. On the other hand, we moreover specialize binary-field FRI itself in a key way, following [DP24, § 3.1]. Our specialization is designed to make FRI compatible with the additive NTT.
Some Mathematical Objects
During our description of the additive NTT, we worked with a binary field , a size parameters , and a rate parameter . Our encoding algorithm, on input a list , gave us a further list , which arose as the evaluations of a certain polynomial of degree less than on ; here, is a domain of dimension over . In fact, we chose to be an -vector subspace of (specifically, the span of the basis prefix ). Our commitment procedure ultimately wrapped up by sending to the string oracle.
In FRI, the domain becomes just the first in a sequence of domains . Each of these shrinks by exactly one dimension; in particular, is -dimensional, and is just -dimensional as an -vector subspace of . In fact, we link up these domains using a series of -linear maps:
Here, each map is linear, with a one-dimensional kernel. In particular, vanishes on a 1-dimensional subspace of ; moreover, the image of its restriction to is exactly , a subspace whose dimension is exactly one less than 's.
Finally, the committed word , which we view as a function , becomes just the first in a series of smaller and smaller words committed to by the prover. Each committed word is a function on . To describe these further words, we need to describe the structure of the FRI protocol.
Rough Idea of FRI
The FRI protocol proceeds over rounds. We start with the prover's initial committed word . For each round index ,
- The verifier samples a random scalar , and sends it to the prover.
- The prover, using its existing oracle and , carries out a procedure called "FRI folding", which depends on both and . Using this procedure, the prover comes up with a further word . It commits this word to the oracle.
The exception is the very final round, the th. In this round, instead of committing to , the prover just sends a single constant to the verifier. Finally, the verifier kicks off its querying phase. At the end of this phase, the verifier either accepts or rejects.
The key idea necessary to understand FRI is closeness to the Reed–Solomon code. If the prover is honest, then, for each , the committed word will be a codeword in the Reed–Solomon code . That is, it will arise as the evaluations of some polynomial of degree less than on the size- domain .
On the other hand, if the prover is dishonest, then its oracles might not be codewords; they might even be far from the code, in the sense that they don't even reside near any codeword, forget about equalling one. Here, the notion "far from the code" is fairly tricky. Roughly, we can say that is far from if , in the sense that, for each codeword , holds. Here, is the distance of the Reed–Solomon code . The right-hand side represents 's unique decoding radius. If 's distance from is less than , then there exists a codeword such that holds, and moreover is unique. Otherwise, the codeword won't exist.
FRI's security guarantee entails that if the prover's initial word is far from the initial code , then the verifier will reject during its querying phase with overwhelming probability. This is true regardless of how the prover constructs its positive-indexed oracles .
Thus, stepping back, we see why FRI is called a proximity test: its overall purpose is to detect whether some committed word is close or not. If the thing is not close, then the verifier will reject.
The NTT-Friendly Specialization
As we've mentioned, we use the additive NTT to encode our initial Reed–Solomon codeword . As it happens, we are going to moreover want to choose the FRI folding maps in a particular way, in order to make those maps work "compatibly" with the additive NTT.
The particular sort of "compatibility" we're after here is pretty complicated, and we are going to essentially punt to [DP24, § 3.1] for the full treatment. Here, we give an extremely rough sketch.
We've already mentioned that, if the prover is honest, then each word will be a codeword in —that is, an evaluation of some polynomial of degree less than on . But which polynomial? In the case of , we already know, by definition of our commitment scheme: that is, it will be nothing other than
where are the (flattened) coefficients of our initial multilinear. This is simply the definition of our commitment scheme. What about for positive ?
In the work BaseFold [ZCF23], it is noted that in the prime-field setting, FRI folding acts in a "predictable" way upon the coefficients of the polynomial underlying . That is, if 's coefficients are
let's say, then will be the evaluation on of the polynomial with coefficients
That is, in the coefficient domain, FRI folding amounts to an even–odd folding of adjacent pairs of elements, using the random challenge .
In [DP24, § 3.1], we describe a particular construction of the maps which causes this behavior to re-emerge in the binary setting. We emphasize that for maps chosen arbitrarily—and [BBHR18] does not suggest a particular choice—the required even–odd folding behavior will not be preserved.