Filecoin的证明机制可以推动区块链的发展
Filecoin是建立在空间证明变化上的。在构建分布式存储网络时,我们着手构建一个证明结构,在这个结构中,共识是通过产生数据存储来实现的。
Filecoin,一个建立在强大的去中心化市场上的去中心化存储网络。为了培育这个市场,分散市场职能,鼓励矿工的参与,IPFS官方创建了一个加密通证,这是Filecoin共识的副产品。此通证是在有用的工作(即有用的复制证明和时空证明)的基础上生成的。
1)复制证明
复制证明是一个证明系统,用来验证存储矿工确实拥有他们所存储的内容,并且没有作弊。但如何向网络证明,矿工确实在存储一些东西,而不是撒谎?Filecoin对复制的证明既是对存储的证明,也是对空间的证明,两者略有不同。
在Filecoin中,数据单元存储在所谓的扇区中。矿工以缓慢的编码过程将磁盘上扇区中的特定数据密封起来,并将验证提交给区块链。密封是一项耗费大量精力的工作。想要伪造这样的证明,矿工必须使用客户端存储在Filecoin上的原始数据来完成特定的工作。
复制证明运行一次以证明矿工在密封扇区时存储了数据的物理唯一副本,而时空证明(PoSt)则反复运行,以证明他们继续将存储空间专用于该扇区随着时间的推移数据。
2)时空证明
时空证明是向存储矿工发出加密挑战的过程,只有直接通过封装扇区才能正确回答。存储矿工必须在严格的时间限制内应对这一挑战,封装的计算难度确保了存储矿工必须保持对封装扇区的随时访问和扇区的完整性。
首先,时空证明随机选择编码副本的一些叶节点,并在其上运行默克尔包含证明,以表明矿工拥有应该在那里的特定字节。然后,矿工使用私有存储的 CommRLast 来证明(不透露其值)他们知道副本的根,该根既与包含证明一致,又可用于推导出公知的复制承诺。
当矿工同意为客户存储数据时,他们需要放入抵押品。如果他们在合同期间的任何时候未能通过时空证明,他们将受到处罚。这是鼓励 Filecoin 网络中所有参与者的良好行为的激励措施的关键部分。
时空证明的最后阶段将这些证明压缩为单个zk-SNARK。
3)zk-SNARK
Filecoin 中的复制证明和时空证明过程都使用 zk-SNARK 进行压缩。
zk-SNARKs 代表“零知识简洁非交互式知识论证”。我们可以将它们视为计算的散列。它们让我们证明一个证明已经正确完成,而不必透露证明本身或它所基于的基础数据的细节。
创建Filecoin 的zk-SNARKs 的过程在计算上是昂贵的(慢),但产生的最终产品很小并且验证过程非常快。与原始证明相比,zk-SNARK很小,因此可以有效地存储在区块链中。例如,一个在Filecoin链上占用数百 KB 的证明可以使用zk-SNARK压缩到仅192 个字节。
区块链通常使用工作证明(意味着计算或处理能力),而 Filecoin的证明是有用存储的证明(一种权益证明)。因为这些证明不必连续运行,所以它们的计算效率更高,对环境的危害也更少。
Filecoin以多种不同的方式推动区块链的发展。