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,这是首个用于同步存储节点的简洁存储证明算法。节点为其存储的数据块构建证明并发送给验证节点。验证节点查询该证明以识别并随后请求缺失的数据块。该证明具有简洁性、支持成员查询,且每个数据块仅需少量比特。我们在运行以太坊Swarm的1000个节点集群上评估了SNIPS算法。结果表明,与现有最优方法相比,SNIPS将同步数据量减少了三个数量级。此外,证明的创建与验证复杂度与数据块数量呈线性关系,通常每个数据块仅需数十微秒。这些特性对我们的应用场景至关重要,因为我们设想要频繁运行SNIPS以持续维持足够冗余。