docs(spec): fix Ligero parameters, constraints, and quadratic layout #119
+21
−18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is documentation-only plus comment fixes; no functional behavior is changed.
This PR corrects several inconsistencies in
docs/specs/ligero.mdrelative to the implementation and the Ligero construction, primarily around row/column accounting, parameter definitions, and quadratic-row layout.Changes:
A) In
docs/specs/ligero.mdDefine
NW(total number of witnesses), which is used later ininner_product_vector.NQW = NWROW + 3 * NQT,T:NROW = NQW + 3(three blinding rows are added to the witness matrixT).BLOCK > NREQ(redundant givenBLOCK = NREQ + WR).BLOCK:BLOCK = NREQ + WR,BLOCK >= 2 * (NREQ + QR) + (NREQ + WR) - 2,BLOCK >= 2 * (NREQ + WR) - 1, and Replace them with the correct quadratic-row length constraintDBLOCK = 2 * (NREQ + WR) - 1BLOCK_ENCin code):NCOL = DBLOCK + ceil(BLOCK / rate)QwithQRin thelayout_quadratic_rowspseudocode.layout_quadratic_rowsto match the intended layout:xrows first, followed by allyrows, then allzrows.ligero_param.hand the triple-row structure described in the Ligero paper.inner_product_vector.a_x,a_y,a_z) to reflect the corrected row layout and dimensions.B) In
lib/ligero/ligero_param.hnwqrow:nwqrow = nwrow + 3 * nqtriples;