在复制证明中,存储矿工证明他们存储的是数据的物理唯一拷贝或副本。复制证明只会在第一次存储数据时发生一次。
填充扇区并生成 CommD
当存储矿工接收到每条客户端数据时,他们会将其放入一个扇区。扇区是 Filecoin 中的基本存储单位,可以包含来自多个交易和客户的片段。
一旦扇区已满,就会生成 CommD (数据承诺,又名UnsealedSectorCID),表示该扇区中包含的所有片段 CID 的根节点。
密封行业和生成 CommR
接下来,发生称为密封的过程。
在密封过程中,扇区数据(由CommD标识)通过一系列图和散列过程进行编码,以创建唯一的副本。结果副本的 Merkle 树的根哈希是 CommRLast。(在我们的分散数据结构教程中了解更多关于Merkle树的信息。)。
然后,CommRLast 与 CommC (复制证明的另一个Merkle根输出)一起散列。这就产生了 CommR (复制承诺,又名SealedSectorCID),记录到公共区块链中。CommRLast 由矿工私下保存,以备将来在证明时空时使用,但不会保存到链中。
编码过程被设计为速度慢且计算量大,因此很难进行欺骗。(请注意,编码与加密不同。如果要存储私有数据,则必须在将其添加到Filecoin网络之前对其进行加密。)。
CommR 提供了我们需要的证据,证明矿工正在存储客户端数据的物理唯一副本。如果您使用多个存储挖掘器存储相同的数据,或者使用单个矿工对同一数据进行多个存储交易,则每个交易将有不同的 CommR。
密封过程还使用 ZK-snarks 压缩复制证明,以使链更小,从而可以由Filecoin网络的所有成员存储以用于验证目的。
End
非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。
FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud