zorch.pcs.fri.verifier¶
FRI verifier: rebuild the quotient from f, then check fold consistency.
For each query the verifier reconstructs the quotient g at the conjugate pair
from the committed f values — g(x) = (f(x) − v)/(x − z) — and binds that
pair to the committed layer-0 leaf, so a false claim v ≠ f(z) yields a
non-low-degree g that fails both the per-layer fold check and the final-layer
constant check. It never trusts a prover-sent layer-0 oracle. All arithmetic
(NTT domain, field divide, Merkle rebuild) lowers on CPU and GPU.
FriVerifier
dataclass
¶
Bases: VerifierStage[OpeningClaim[FriCommitment], TrivialClaim, OpeningProof[list[FriProof]]]
Source code in zorch/pcs/fri/verifier.py
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | |
verify ¶
verify(
claim: OpeningClaim[FriCommitment],
reduction_proof: OpeningProof[list[FriProof]],
transcript: Transcript,
) -> VerifyResult[TrivialClaim]
Check the claimed evaluations against the commitment.
Source code in zorch/pcs/fri/verifier.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |