protocol.fri#
FRI folding protocol.
Classes#
FRI protocol: folding, commitment, and verification. |
Module Contents#
- class protocol.fri.FRI[source]#
FRI protocol: folding, commitment, and verification.
- static fold(fri_round: int, pol: primitives.field.FF3Poly, challenge: list[int], n_bits_ext: int, prev_bits: int, current_bits: int) primitives.field.FF3Poly[source]#
Fold polynomial by factor 2^(prev_bits - current_bits) using challenge.
- static merkelize(fri_round: int, pol: primitives.field.FF3Poly, tree: primitives.merkle_tree.MerkleTree, current_bits: int, next_bits: int) primitives.merkle_tree.MerkleRoot[source]#
Commit to FRI layer via Merkle tree.
- static verify_fold(value: list[int], fri_round: int, n_bits_ext: int, current_bits: int, prev_bits: int, challenge: list[int], idx: int, siblings: list[list[int]]) primitives.field.FF3[source]#
Verify fold step: recompute expected value from siblings and challenge.
- static prove_queries(queries: list[int], trees: list[primitives.merkle_tree.MerkleTree], current_bits: int) list[list[int]][source]#
Generate Merkle proofs for query indices.