Guppy improves blockchain light clients using zero knowledge proofs

Guppy: Efficient Light Clients via Recursive Zero-Knowledge Proofs

Cryptography and Security

Summary

Blockchain networks need a way for light clients to verify transactions without storing all the data. The authors of this paper show how to do this more efficiently by having validators only track recent changes instead of the entire state. They use a special cryptographic technique called recursive zero-knowledge proofs to build a trustworthy summary of the full data off-chain. This approach lowers the work validators do while still allowing fast and reliable verification for clients.

blockchainlight clientMerkle treestate commitmentzero-knowledge proofrecursive proofhash chainPlonky2off-chain computationlatency

Authors

George Danezis, Deepak Maram, Arnab Roy, Alberto Sonnino, Karl Wust

Abstract

Traditional light clients rely on validators committing to the entire blockchain state at every block via a state commitment such as a Merkle tree, allowing clients to verify facts using short proofs. However, maintaining large and ever-growing state trees imposes a significant burden on validators and lies on the critical path of block production. As a result, many modern high-throughput chains avoid this approach altogether. This work asks whether efficient inclusion proofs can be supported without requiring validators to maintain full state commitments. We present Guppy, a protocol that achieves this by having validators commit to just the state updates. An off-chain, untrusted service, secured by recursive Zero-Knowledge Proofs (ZKPs), then maintains a verifiable Merkle tree over the full state. This design keeps validator overhead negligible and does not increase the asymptotic complexity of block construction. Our design rests on two key technical ideas. First, a hash-chain commitment moves validator signature verification out of the ZK circuit, keeping the proving circuit efficient. Second, we design a parallel recursive proving pipeline that leverages cheap recursion in modern ZKPs to ensure latency grows only logarithmically with throughput. Our Plonky2-based implementation demonstrates that Guppy can maintain a Merkle tree of size 2^30 while processing thousands of updates per second, adding only 2-4 s of latency.