Experimental Implementation of LatticeFold+ written in Rust.
LatticeFold+ is the new folding protocol that improves LatticeFold in every respect:
Link to the LatticeFold+ paper: https://eprint.iacr.org/2025/247.pdf Link to the LatticeFold paper: https://eprint.iacr.org/2024/257.pdf
This repository provides an experimental reference implementation of Latticefold+ (LatticeFold+: Faster, Simpler, Shorter Lattice-Based Folding for Succinct Proof Systems), a novel, quantum-secure SNARK-folding scheme over small (64-bit) fields. It brings the theoretical Latticefold+ protocol into working code—leveraging lattice-based Aitaj commitments, NTT-packed cyclotomic rings, and an integrated range-proof step to fold incremental proofs with minimal overhead.
We built this in Rust (1.80+) using the arkworks
crates for finite‐field and NTT operations, plus rayon
for parallelism. We borrowed Nethermind’s latticefold setup and Aitaj commitments, then re-implemented the Latticefold+ range-proof step with compile-time chunking macros and SIMD-accelerated NTT via Rust’s packed_simd
.