FRI proof of proximity
The core idea of FRI is that we can prove that a function corresponds to a polynomial of low-degree with respect to .
FRI is a IOPP consisting of several rounds of interaction between a prover and verifier. Given a domain evaluation oracle , we prove the is close to a code-word.
Commit Phase
During this phase, the prover sends a domain evaluation oracle to the verifier who responds with random challenges. After each round the prover performs a random reduction, halving the instance size.
We start with a polynomial and its domain evaluation .
Given a domain evaluation for a polynomial , the commit phase runs through rounds.
For each round in the prover decomposes (split and fold) the previous polynomial.
Split
- First we split the polynomial into even and odd terms.
- Sample a random field element provided by the verifier
- Derive random linear combination from the codeword
Fold
- Let be the generator for subgroup
- Let the codeword for evaluation of on be
- Let be the domain of half the length
- Let the codewords for , , and
The above codewords enable us to calculate for each iteration. Which is then committed to by sending the Merkle-Root to the verifier.
Query Phase
At the start of the protocol the verifier receives a domain evaluation(commitment) for the target polynomial .
With each follow-on round in the protocol the verfier receives a commitment domain evaluation to the reduced polynomial .
Finally, at the end of the protocol the verifier receives the full low-degree polynomial
The query phase consists of rounds, first the verifier randomly samples and then recursively calculates via and checks:
for every by quering the values of over the coset
REF
[H22] Ulrich Haböck. “A summary on the FRI low degree test”. Cryptology ePrint Archive, Report 2022/1216. 2022. https://eprint.iacr.org/2022/1216.pdf
[VIT] Vitalik Buterin. “STARKs, part 2: Thank goodness for FRI”. Vitalik’s blog, 2017. https://vitalik.eth.limo/general/2017/11/22/starks_part_2.html
[ASZ] Alan Szepieniec. “Anatomy of STARKs: FRI”. 2020. https://aszepieniec.github.io/stark-anatomy/fri