Skip to content

Commit 436cb20

Browse files
committed
feat(stark): MMCS-style batched composition poly commitment
All tables compute composition polys in parallel, then commit into one shared Merkle tree. Restructures Rounds 2-4: 1. Per-table parallel: reconstruct Round1, sample beta, compute composition 2. Shared: batch all composition parts into one tree 3. Per-table parallel: append shared root to forked transcript, Rounds 3-4 Adds comp_col_offset/comp_col_count to StarkProof for per-table extraction from batched openings. FRI still per-table (next commit).
1 parent 9140e94 commit 436cb20

3 files changed

Lines changed: 762 additions & 135 deletions

File tree

crypto/stark/src/proof/stark.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@ pub struct StarkProof<F: IsSubFieldOf<E>, E: IsField, PI> {
6262
pub trace_ood_evaluations: Table<E>,
6363
// Commitments to Hᵢ
6464
pub composition_poly_root: Commitment,
65+
// This table's starting column index in the batched composition tree.
66+
// The verifier uses this to extract per-table columns from the full batched row.
67+
pub comp_col_offset: usize,
68+
// Number of this table's composition poly parts in the batched composition tree.
69+
pub comp_col_count: usize,
6570
// Hᵢ(z^N)
6671
pub composition_poly_parts_ood_evaluation: Vec<FieldElement<E>>,
6772
// [pₖ]

0 commit comments

Comments
 (0)