Warning
This post was published 51 days ago. The infomation described in this article may have changed.
I am wondering about the necessary of FRI to test the low degree of boundary quotient. (boundary_quotient_codewords).
As for https://neptune.cash/learn/stark-anatomy/stark/ In the verify side, the last check of verify procedure has ensured the link between boundary quotient and transition quotient. โVerify the link between boundary quotients and transition quotient. To do thisโ
According to the stark_anatomy source code, the verify functions check the following equation: verifier_accepts = verifier_accepts and (combination == values[i])
So does this check include the correctness of boundary quotient ? I think boundary quotient should be correct if the above check is successful.
Thanks.
๐ท๏ธ STARK AIRaszepieniec 2025-01-01 ๐ ๐
So does this check include the correctness of boundary quotient ?
Yes. But it took me a while to parse my own tutorial and convince myself of this fact. So youโre not the only one who is confused ;-) If you can think of a better way to present this, then please consider making a pull request.
Whatโs going on is that we make nonlinear1 random combination of all quotient polynomials2 and pass this codeword into FRI. This combination covers both transition quotients and boundary quotients.
The non-linearity comes from the shift induced by the factor , which guarantees that the shifted polynomial has exactly the right degree. Since writing this tutorial, we determined that no soundness is lost if the shifted polynomial is dropped, making the combination into a linear one.
People have pointed out that the trace polynomials themselves also ought to be included into the random linear combination. While I cannot attack the system that does not include them (i.e., the one presented in the tutorial), it costs very little to err on the side of safety so in Triton VM we do include the trace polynomials.