Guppy speeds up blockchain light clients with zero-knowledge proofs

Guppy: Efficient Light Clients via Recursive Zero-Knowledge Proofs

Cryptography and Security

Summary

Light clients in blockchains need to verify data without storing everything, but this can be slow and hard for validators. The authors created Guppy, which lets validators just record changes instead of the whole state. An extra service uses special proofs called recursive zero-knowledge proofs to keep the full data trustworthy. This makes verifying information faster while keeping validator work minimal, supporting high transaction speeds with small delays.

What this means in practice

  • For blockchain developers: Implement light clients that verify blockchain data efficiently without heavy validator overhead, enabling higher transaction throughput.
  • For cloud infrastructure teams: Deploy off-chain services that maintain verifiable Merkle trees over large states using recursive zero-knowledge proofs for secure data verification.

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.