在复制证明中,存储矿工证明他们存储的是数据的物理唯一拷贝或副本。复制证明只会在第一次存储数据时发生一次。

验证Filecoin的存储教程 | 复制证明(PoRep)

填充扇区并生成 CommD

当存储矿工接收到每条客户端数据时,他们会将其放入一个扇区。扇区是 Filecoin 中的基本存储单位,可以包含来自多个交易和客户的片段。

一旦扇区已满,就会生成 CommD (数据承诺,又名UnsealedSectorCID),表示该扇区中包含的所有片段 CID 的根节点。

密封行业和生成 CommR

接下来,发生称为密封的过程。

在密封过程中,扇区数据(由CommD标识)通过一系列图和散列过程进行编码,以创建唯一的副本。结果副本的 Merkle 树的根哈希是 CommRLast。(在我们的分散数据结构教程中了解更多关于Merkle树的信息。)。

然后,CommRLast 与 CommC (复制证明的另一个Merkle根输出)一起散列。这就产生了 CommR (复制承诺,又名SealedSectorCID),记录到公共区块链中。CommRLast 由矿工私下保存,以备将来在证明时空时使用,但不会保存到链中。

编码过程被设计为速度慢且计算量大,因此很难进行欺骗。(请注意,编码与加密不同。如果要存储私有数据,则必须在将其添加到Filecoin网络之前对其进行加密。)。

CommR 提供了我们需要的证据,证明矿工正在存储客户端数据的物理唯一副本。如果您使用多个存储挖掘器存储相同的数据,或者使用单个矿工对同一数据进行多个存储交易,则每个交易将有不同的 CommR。

密封过程还使用 ZK-snarks 压缩复制证明,以使链更小,从而可以由Filecoin网络的所有成员存储以用于验证目的。

松雪 关注