zorch.pcs.ligero.config¶
Single-shot Ligero proof type. Co-located with the scheme like BasefoldProof
in basefold/config.py — there is no shared proof.py in pcs/.
Ligero opens one committed multilinear f, laid out as a rows x cols matrix
X̃ (rows = code.message_len), at a point z = (z_row, z_col). The prover
sends w = X̃ · r_col in the clear (r_col = eq(z_col)); the verifier checks
proximity <X[s], r_col> = encode(w)[s] on a few opened codeword rows and value
<r_row, w> = y. That single sent vector is Ligero's sqrt(N) proof cost — the
recursion in pcs/ligerito is exactly what removes it.
LigeroProof
dataclass
¶
One single-shot Ligero opening proof.
the sent vector X̃ · r_col, length rows (= code.message_len). Its
sqrt(N) size is Ligero's proof-cost bottleneck.
component_opening: the codeword rows opened at the sampled query positions
(row is [Q, cols]); the verifier dots each with r_col for the
proximity left-hand side and Merkle-checks it against the commitment.
Source code in zorch/pcs/ligero/config.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | |