Search papers, labs, and topics across Lattice.
This paper introduces Flock, a novel hash-based SNARK designed for rapid proving of large batches of Boolean computations, specifically targeting cryptographic hash evaluations like SHA-256 and BLAKE3. By optimizing the lincheck and zerocheck protocols and leveraging a highly efficient implementation, Flock achieves remarkable throughput, proving over 660k BLAKE3 compressions per second on a multi-core setup. The results show that Flock outperforms existing methods, including Binius64, by more than 9 times, significantly enhancing the efficiency of cryptographic proofs.
Flock achieves over 660k BLAKE3 compressions per second, making it more than 9 times faster than the previous state-of-the-art in hash-based SNARKs.
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.