This repository was archived by the owner on Sep 12, 2026. It is now read-only.
Commit a549472
Send sumcheck round polynomials whole to the consumers, minimal on the wire
Every sumcheck round polynomial has one evaluation the running claim already
fixes: h(0) + h(1) = claim, or (1 + r)·h(0) + r·h(1) = claim where the round's
eq weight was factored out. Three of the four sumchecks exploited that, each
hand-rolling it in its own notation and its own basis; the table sumcheck in
constraints.rs did not, and sent a value it then checked was redundant.
Name it once. Transmitter::add_round_poly takes the whole polynomial as
evaluations, h(0) first, and drops h(0) from the wire; Receiver::next_round_poly
reads the rest, recovers h(0), and binds all of it. Every site now speaks the
one convention, so the wire is minimal everywhere, including the 18 rounds of
the table sumcheck that were not.
The sponge binds every evaluation, so RawProof carries every evaluation, and
the two consumers that read RawProof become plain textbook sumcheck: read the
round polynomial, check it answers the claim, evaluate at the challenge. No
reconstruction, no eq-split algebra, no basis conversion. That deletes an
in-circuit field inversion per zerocheck round from the guest and the
ONE_PLUS_CHALLENGE_INV table that fed it.
Paying for that means the provers now track their running claim, since they
have to bind an h(0) the verifier will recompute. whir mirrors the verifier's
(claim, quad) pair, which it had a field for but never maintained; lincheck
takes one O(k) inner product for round 0; zerocheck reuses the interpolation it
already computes.
The recursion harness no longer touches the wire proof at all. It reads the
verifier's raw stream, so gen_verify lost its Proof parameter and run_recursion
stopped carrying one.
Measured on the pinning test: 1206 wire scalars against 1278 raw, the 72-scalar
gap being exactly one per sumcheck round. Guest cycles 727,970 -> 728,287
(+0.04%): three more stream reads per round against one fewer inversion.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent d690e1b commit a549472
8 files changed
Lines changed: 269 additions & 157 deletions
File tree
- crates
- fiat_shamir/src
- flock/src
- lean_vm/src
- pcs/src
- rec_aggregation
- guests
- src
- python-verifier
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| |||
118 | 119 | | |
119 | 120 | | |
120 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
121 | 134 | | |
122 | 135 | | |
123 | 136 | | |
| |||
141 | 154 | | |
142 | 155 | | |
143 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
144 | 166 | | |
145 | 167 | | |
146 | 168 | | |
| |||
177 | 199 | | |
178 | 200 | | |
179 | 201 | | |
| 202 | + | |
180 | 203 | | |
181 | 204 | | |
182 | 205 | | |
| |||
190 | 213 | | |
191 | 214 | | |
192 | 215 | | |
| 216 | + | |
193 | 217 | | |
194 | 218 | | |
195 | 219 | | |
196 | 220 | | |
197 | | - | |
198 | | - | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
199 | 225 | | |
200 | 226 | | |
201 | 227 | | |
202 | 228 | | |
203 | 229 | | |
204 | 230 | | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
205 | 239 | | |
206 | 240 | | |
207 | 241 | | |
208 | 242 | | |
209 | 243 | | |
210 | | - | |
| 244 | + | |
211 | 245 | | |
212 | 246 | | |
213 | 247 | | |
214 | 248 | | |
215 | | - | |
216 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
217 | 252 | | |
218 | | - | |
| 253 | + | |
219 | 254 | | |
220 | 255 | | |
221 | 256 | | |
| |||
289 | 324 | | |
290 | 325 | | |
291 | 326 | | |
292 | | - | |
293 | | - | |
294 | | - | |
| 327 | + | |
| 328 | + | |
295 | 329 | | |
296 | 330 | | |
297 | 331 | | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
298 | 356 | | |
299 | 357 | | |
300 | 358 | | |
301 | 359 | | |
302 | 360 | | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
303 | 364 | | |
304 | 365 | | |
305 | 366 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1226 | 1226 | | |
1227 | 1227 | | |
1228 | 1228 | | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
1229 | 1234 | | |
1230 | | - | |
1231 | | - | |
| 1235 | + | |
| 1236 | + | |
1232 | 1237 | | |
| 1238 | + | |
1233 | 1239 | | |
1234 | 1240 | | |
1235 | 1241 | | |
| |||
1351 | 1357 | | |
1352 | 1358 | | |
1353 | 1359 | | |
1354 | | - | |
1355 | | - | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
1356 | 1363 | | |
1357 | | - | |
1358 | | - | |
| 1364 | + | |
1359 | 1365 | | |
1360 | 1366 | | |
1361 | 1367 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
122 | 134 | | |
123 | 135 | | |
124 | 136 | | |
| |||
221 | 233 | | |
222 | 234 | | |
223 | 235 | | |
224 | | - | |
225 | | - | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
226 | 243 | | |
227 | | - | |
| 244 | + | |
228 | 245 | | |
229 | 246 | | |
230 | 247 | | |
| |||
283 | 300 | | |
284 | 301 | | |
285 | 302 | | |
286 | | - | |
287 | | - | |
288 | | - | |
| 303 | + | |
289 | 304 | | |
290 | 305 | | |
291 | 306 | | |
| |||
399 | 414 | | |
400 | 415 | | |
401 | 416 | | |
402 | | - | |
403 | | - | |
404 | 417 | | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
410 | 422 | | |
411 | 423 | | |
412 | 424 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
| |||
195 | 194 | | |
196 | 195 | | |
197 | 196 | | |
198 | | - | |
| 197 | + | |
| 198 | + | |
199 | 199 | | |
200 | 200 | | |
201 | 201 | | |
| |||
264 | 264 | | |
265 | 265 | | |
266 | 266 | | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
271 | 270 | | |
272 | 271 | | |
273 | 272 | | |
| |||
0 commit comments