  Data synchronization in decentralized storage systems is essential to
guarantee sufficient redundancy to prevent data loss. We present SNIPS, the
first succinct proof of storage algorithm for synchronizing storage peers. A
peer constructs a proof for its stored chunks and sends it to verifier peers. A
verifier queries the proof to identify and subsequently requests missing
chunks. The proof is succinct, supports membership queries, and requires only a
few bits per chunk.
  We evaluated our SNIPS algorithm on a cluster of 1000 peers running Ethereum
Swarm. Our results show that SNIPS reduces the amount of synchronization data
by three orders of magnitude compared to the state-of-the-art. Additionally,
creating and verifying a proof is linear with the number of chunks and
typically requires only tens of microseconds per chunk. These qualities are
vital for our use case, as we envision running SNIPS frequently to maintain
sufficient redundancy consistently.
