You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build on top of #901.
### Design rationale
zkvm + mpcs api: use `batch_commit/batch_opening` to commit/open **ALL**
opcode together. In more detail, we commit `fixed_commit` and
`witin_commit` separately with just one opening.
basefold: batch opcodes with rmm with different "height", in other
words, different "num_vars".
For basefold to batch opcodes with different variables, for sumcheck
part we apply suffix alignment techniques based on
#870. For FRI part, we also apply suffix alignment techniques. So the
smaller codeword will "involved" into the folding process when current
length match.
During implementation, there is key principle in mind: verifier only
rely on one untrusted information "num_instances" from prover, and other
information should derived from verifier key.
### Working items
- [x] mpcs batch api + batch basefold prover
- [x] batch basefold verifier
### Fibonacci Benchmark Results
| Size | Branch | Proof Size | E2E Latency Change | Prover Speed (kHz) |
|----------|----------------------|------------|--------------------|---------------------|
| 2²⁰ | Master | 14.68 MB | - | 363 |
| 2²⁰ | Batched + conjecture | 1.16 MB | -14.195% | 422 |
| 2²⁰ | Batched | 2.02 MB | -11.599% | 411 |
| 2²¹ | Master | 15.53 MB | - | 411 |
| 2²¹ | Batched + conjecture | 1.24 MB | -11.178% | 451 |
| 2²¹ | Batched | 2.16 MB | -6.4525% | 428 |
| 2²² | Master | 16.42 MB | - | 406 |
| 2²² | Batched + conjecture | 1.31 MB | -11.178% | 433 |
| 2²² | Batched | 2.31 MB | -13.691% | 448 |
0 commit comments