Skip to content

Add optional proof-of-work grinding plumbing - #210

Draft
latifkasuli wants to merge 3 commits into
NethermindEth:mainfrom
latifkasuli:feat/pow-grinding
Draft

Add optional proof-of-work grinding plumbing#210
latifkasuli wants to merge 3 commits into
NethermindEth:mainfrom
latifkasuli:feat/pow-grinding

Conversation

@latifkasuli

@latifkasuli latifkasuli commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Depends on #225. This branch includes its exact commit so the grinding code can be tested now; that dependency diff drops after #225 lands.

What changed

  • Adds a BLAKE3 proof-of-work nonce primitive to the transcript.
  • Adds ZipTypes::GRINDING_BITS, defaulting to 0.
  • Writes/checks the nonce after the bound combined_row and before column indices are derived.
  • Covers roundtrip, tampering, zero-bit behavior, invalid settings, proof-size accounting, and default/parallel execution.

Scope

This is parameter-neutral plumbing. It does not reduce the production column-opening count, change the benchmark configuration, or claim that g grinding bits can automatically replace g queries.

Any query reduction needs a protocol soundness argument that isolates the query error term from the other failure terms. Until then, the default remains off and the non-test configurations remain unchanged.

Validation

  • cargo fmt --all -- --check
  • cargo test -p zinc-transcript --lib (9 passed)
  • cargo test -p zinc-transcript --lib --features parallel (9 passed)
  • cargo test -p zip-plus --lib (93 passed)
  • cargo test -p zinc-protocol --lib (30 passed)
  • cargo test -p zinc-protocol --lib --features parallel (30 passed)

Related to #149.

@latifkasuli
latifkasuli marked this pull request as ready for review June 10, 2026 11:05
@latifkasuli latifkasuli changed the title Add proof-of-work grinding; bind combined_row into Fiat-Shamir Add optional proof-of-work grinding plumbing Jul 19, 2026
@latifkasuli
latifkasuli marked this pull request as draft July 19, 2026 03:02
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.

1 participant