All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Sublinear-Space ZKP System in Rust: Streaming Prover with O(√T) Memory via KZG Commitments

By

logannyeMD

8mo ago· 3 min readenCode

Summary

A reference implementation of a sublinear-space zero-knowledge proof (ZKP) prover/verifier system in Rust, based on a whitepaper. The streaming prover uses only O(√T) memory over a trace of length T, producing KZG commitments (BN254) for wires, permutation accumulator Z, and quotient Q. It employs aggregate-only Fiat–Shamir, blocked IFFT, and never materializes whole polynomials, solving the traditional O(T) memory bottleneck in zk proving pipelines. Includes CLI tools and tests.

Key quotes

· 3 pulled
It realizes a streaming prover that uses only O(√T) memory over a trace of length T, while producing standard KZG commitments (BN254) for wires, the permutation accumulator Z, and the quotient Q.
The design keeps aggregate-only Fiat–Shamir and never materializes whole polynomials.
Traditional zk proving pipelines routinely buffer whole polynomials, forcing O(T) memory and large intermediate states.
Snippet from the RSS feed
Sublinear-space ZKP system in Rust: a streaming prover that uses only O(√T) memory to commit wires/Z/Q via KZG (BN254) with blocked IFFT and aggregate-only Fiat–Shamir. Supports eval/coeff bases, d...

You might also wanna read