|
2 | 2 |
|
3 | 3 | All notable changes to this project will be documented in this file. |
4 | 4 |
|
5 | | -## [Unreleased] |
| 5 | +## [Unreleased] — Canonical Rewrite |
| 6 | + |
| 7 | +Major revision: unified API, one verifier, one proof type, 7 provers, SIMD acceleration. |
| 8 | + |
| 9 | +### Breaking |
| 10 | + |
| 11 | +- **Package renamed** from `efficient-sumcheck` to `effsc`. |
| 12 | +- **Single verifier** — `sumcheck_verify()` returns `SumcheckResult { challenges, final_claim }`. The oracle check is the caller's responsibility ([Thaler Remark 4.2](https://people.cs.georgetown.edu/jthaler/ProofsArgsAndZK.pdf)). Removed `inner_product_sumcheck_verify`, `multilinear_sumcheck_verify`, and `coefficient_sumcheck::sumcheck_verify`. |
| 13 | +- **Single proof type** — `SumcheckProof<F>` replaces `Sumcheck<F>` and `ProductSumcheck<F>`. |
| 14 | +- **Transcript redesigned** — `send()`/`receive()`/`challenge()` replace `read()`/`write()`. |
| 15 | +- **Legacy entry points demoted** — use `runner::sumcheck()` with a prover type. |
6 | 16 |
|
7 | 17 | ### Added |
8 | | -- **Base/Extension field support**: `multilinear_sumcheck` and `inner_product_sumcheck` now take two type parameters `<BF, EF>` — base field for evaluations, extension field for challenges. Set `EF = BF` when no extension is needed. |
9 | | -- `pairwise::cross_field_reduce` — parallel helper for folding `BF` evaluations with an `EF` challenge. |
| 18 | + |
| 19 | +- **`SumcheckProver<F>` trait** — single extension point for all polynomial shapes. |
| 20 | +- **7 concrete provers** — `MultilinearProver`, `InnerProductProver`, `CoefficientProver` (each with MSB + LSB variants), `GkrProver`. |
| 21 | +- **`SumcheckField` trait** — generic field interface; blanket impl for `ark_ff::Field` behind `feature = "arkworks"`. |
| 22 | +- **`SimdRepr` trait** — safe SIMD opt-in with `zerocopy` layout verification. |
| 23 | +- **`runner::sumcheck()`** — single runner with partial execution and per-round hooks. |
| 24 | +- **Eq polynomial utilities** — `eq_poly`, `eq_poly_non_binary`, O(2^v) incremental `compute_hypercube_eq_evals`. |
| 25 | +- **Adversarial verifier tests** — corrupted proofs, wrong sums, wrong final values across all prover types. |
| 26 | +- **`no_std` support** — core library works without `arkworks` feature. |
| 27 | +- **SIMD** — transparent 8-wide AVX-512 IFMA, 2-wide NEON acceleration. |
| 28 | + |
| 29 | +### Integrations |
| 30 | + |
| 31 | +- [WHIR](https://github.com/WizardOfMenlo/whir) ([PR #250](https://github.com/WizardOfMenlo/whir/pull/250)) |
| 32 | +- [WARP](https://github.com/compsec-epfl/warp) ([PR #24](https://github.com/compsec-epfl/warp/pull/24)) |
| 33 | + |
| 34 | +### Removed |
| 35 | + |
| 36 | +- **~4,500 lines of legacy code** — old `Prover` trait, `TimeProver`/`SpaceProver`/`BlendyProver`, `OrderStrategy`, `messages/`, `interpolation/`, `simd_ops`. |
10 | 37 |
|
11 | 38 | ## [0.0.2] - 2026-02-11 |
12 | 39 |
|
|
0 commit comments