🤖 AI Summary
This work addresses the inefficiency of existing SNARKs in proving batch computations of standard cryptographic hash functions—such as SHA-256, Keccak, and BLAKE3—and proposes a novel hash-based SNARK tailored for high-throughput Boolean computations over homogeneous R1CS circuits, with direct applications to hash chains, Merkle path verification, and hash-based signature validation. By integrating lincheck and zerocheck protocols within a multi-core parallel architecture co-designed with encoding-aware agents, the system achieves substantial throughput gains. Empirical results demonstrate that a single core can generate proofs for 82k BLAKE3, 42k SHA-256, and 30k Keccak evaluations per second, yielding a speedup of over 9× compared to Binius64 and more than 500× relative to the fastest elliptic-curve-based SNARKs currently available.
📝 Abstract
For many applications of SNARKs, a key bottleneck is proving large batches of standard cryptographic hash evaluations, such as SHA-256, Keccak, or BLAKE3. We introduce Flock, a hash-based SNARK for extremely fast proving of such batched Boolean computations. Flock proves batches of the same R1CS circuit (plus input/output relations between them), can prove hash-chains and Merkle path openings, and in principle can be extended to full-fledged hash-based signature verification. At its core, Flock combines new optimizations for the lincheck and zerocheck protocols with an aggressively optimized proof-of-concept implementation co-designed by coding agents.
On a single core of an M4 Max processor, Flock proves 82k evaluations of the BLAKE3 compression function, 42k SHA-256 compressions, and 30k Keccak permutations per second --- less than a $250\times$ overhead over native execution. On ten cores, throughput exceeds 660k BLAKE3 compressions per second; in proving SHA-256, Flock is more than $9\times$ faster than Binius64, the prior state of the art, and more than $500\times$ faster than the fastest elliptic curve-based SNARK we measured against.