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.
翻译:分布式存储系统中的数据同步对于保证足够的冗余以防止数据丢失至关重要。我们提出了 SNIPS,这是首个用于同步存储节点的简洁存储证明算法。节点构建存储块的证明并将其发送到验证节点。验证器通过查询证明来识别并请求缺少的块。证明简洁,支持成员查询,并且每个块只需要几位比特。我们在运行Ethereum Swarm的1000个节点群集上评估了 SNIPS 算法。结果表明,与现有技术相比,SNIPS将同步数据量降低了三个数量级。此外,创建和验证证明与块数成线性关系,通常每个块只需要数十微秒。这些品质对于我们的用例至关重要,因为我们设想经常运行 SNIPS 以持续维护足够的冗余。