Skip to content

feat: further UInt128 support#61

Merged
arthurpaulino merged 1 commit into
mainfrom
ap/more-u128
Mar 19, 2025
Merged

feat: further UInt128 support#61
arthurpaulino merged 1 commit into
mainfrom
ap/more-u128

Conversation

@arthurpaulino

Copy link
Copy Markdown
Member

No description provided.

@arthurpaulino
arthurpaulino merged commit 57d6b9c into main Mar 19, 2025
@arthurpaulino
arthurpaulino deleted the ap/more-u128 branch March 19, 2025 18:03
samuelburnham added a commit that referenced this pull request Jul 14, 2026
The multi-stark Blake3 migration merged to its main as 2c01922
(perf: Switch from Keccak to Blake3 hashing #61), so pin there instead
of the pre-merge blake3 branch tip.
samuelburnham added a commit that referenced this pull request Jul 14, 2026
The multi-stark Blake3 migration merged to its main as 2c01922
(perf: Switch from Keccak to Blake3 hashing #61), so pin there instead
of the pre-merge blake3 branch tip.
samuelburnham added a commit that referenced this pull request Jul 15, 2026
* perf: Switch Aiur from Keccak to Blake3 hashing

Pins multi-stark at the blake3 branch rebased onto the Generic config
refactor (75fcd1b), and migrates ix accordingly:

- AiurSystem::build takes FriParameters alongside CommitmentParameters:
  the config (GoldilocksBlake3Config) is constructed once at build time
  and prove/verify no longer take FRI parameters. The FFI externs and
  every Lean call site shift the parameter from prove/verify to build.
- The verifying-key codec writes the five FRI parameters after the
  commitment parameters, since the config's challenger seed is derived
  from all seven and the config doesn't expose them back.
- The in-circuit verifier mirrors the new Fiat-Shamir transcript:
  challenger seeded with b"multi-stark/v0" + the 7 protocol parameters,
  observe_shape (circuit count + 6 metadata words per circuit, captured
  as raw wire limbs during VK deserialization), intermediate
  accumulators observed between stage_2 and alpha, and length-prefixed
  claim observation.
- The public FRI-parameter inputs (num_queries, commit_pow_bits) are now
  also asserted against the digest-bound verifying key's values.

* Formatting

* chore: Pin multi-stark at main (blake3 merged as #61)

The multi-stark Blake3 migration merged to its main as 2c01922
(perf: Switch from Keccak to Blake3 hashing #61), so pin there instead
of the pre-merge blake3 branch tip.

* bench: Benchmark recursion at the q=100 soundness level

The recursion path measured q=3 / q=1 — tractable but cryptographically
toy configs. A real recursive proof needs ~100 FRI queries for soundness,
so the query count is now 100 everywhere in the recursion path:
- aiur-recursive configs: square-q100-b1 and factorial-q100-b2
- aiur --recursive mode: recursiveFriParameters numQueries=100
- bench-recursive-verifier default: --queries 100 (pass a small value for
  a cheap local run)

At q=100 the verifier's query loop (~96% of its cost) grows ~33x, so the
verifier trace is ~15x larger (measured: 1.19e9 -> 1.83e10 fft on the
factorial toy) and the outer prove needs ~100 GB — marginal on a 128 GB
host. An OOM row there is the honest signal that secure recursion does
not yet fit; the standing feasibility gap is the point of the metric.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants