BTC Warp: Light Node Syncing with zkSNARKs

BTC Warp is a proof-of-concept on how to solve the light node syncing problem for Bitcoin. It suggests verifying zkSNARKs attesting to the longest valid PoW chain instead of syncing a light node with Bitcoin history.

BTC Warp: Light Node Syncing with zkSNARKs
  • "We present BTC Warp(opens in a new tab), a succinct, verifiable proof of Bitcoin block headers to solve light node syncing."
  • "We set out to solve the Bitcoin light client sync problem using zkSNARKs for zero shot sync attestation of the entire Bitcoin chain's history of work."
  • "But why light nodes? Light nodes still need over 60 MB of storage 1 to store block headers, which is infeasible for some users."
"Using the succinctness property of zkSNARKs, BTC Warp allows new light clients to instantly verify the heaviest proof-of-work Bitcoin chain with significantly less storage (less than 30 kB!)."
  • "Our end goal is to be able to SNARK the full Bitcoin blockchain for full nodes; light nodes are just the first step in the process."
  • "To prove a block header, we check the header is under the difficulty threshold, the parent hash matches the hash of its parent, and accumulate the total work for the chain."
  • "We’ve open sourced our circuits and code here."
  • "Our zkSNARK circuits leverage Plonky2’s recursive proving capabilities. To parallelize proving, we create a “proof tree” with dummy proofs as placeholders for future block headers. Our construction can apply for future Bitcoin blocks without re-syncing!"
  • "Concretely, each layer in the tree proves a state transition of block headers. As more blocks are produced, we can update our proof to validate the newest headers."
  • "The infra is also simple: we use the Nakamoto BTC light client to get headers and AWS to generate + serve proofs."
  • "Future work includes further optimizing our SHA256 gadgets, supporting circuit serialization to reduce repeated computation, and implementing gadgets to verify Bitcoin transactions. We can also improve our infrastructure to further parallelize proof generation."
  • "We’re looking for a small group of early partners and would love to chat" - please reach out here. "You can follow us on Twitter and email us at hello@succinct.xyz."

GitHub Repo
Full Blog Post / Archive
Announcement / Archive