Source: Proofs, Arguments, and Zero-Knowledge, section 10.4
FRI let’s the prover specify a function where and is claimed to be a polynomial of degree at most (i.e., is a codeword in the Reed-Solomon code). , where is the rate parameter (trades off prover time and proof size).
The general idea:
- In order to show that a polynomial is at most of degree , show that it is equal to for a bivariate polynomial of degree in and in .
- where (respectively, ) consist of all monomials of of even (respectively, odd) degree, but with all powers divided by two and then replaced by their integer floor.
- → (for a randomly picked ) is univariate polynomial of degree
- → Recurse!
Commitment Phase: For each round , the verifier picks a random value and requests the polynomial:
In each round, the polynomial is defined over the domain with . is chosen to be a multiplicative subgroup of of a power of , which implies that .
Query Phase (repeated times): The verifier picks a random and sets . Now, it needs to check that . The verifier queries and for (note that ). From that and , it is possible to compute , assuming the relationship is as claimed.
For details, refer to the book, I didn’t quite understand them.
Queries to points outside : is equivalent to the assertion that there exists a polynomial of degree such that:
→ The verifier can apply FRI to , which can be evaluated at any point in by querying .