Filecoin的证明系统(三)

Filecoin Club 2020-05-21 12:43
在昨天的分享中,我们介绍到Filecoin的复制证明是一个编码过程,这个编码过程结束后会产生一个replica。
那么在产生了replica之后,系统要做什么呢?接下来,系统还要证明这个编码过程是正确的。
为此,我们有两种选择:
一是在一个SNARK中执行一次完整的编码过程,但这个代价非常大;

二是我们随机抽样选择一些问题来挑战我们的replica以证明编码过程是正确的。
我们选择了随机抽样的方法---比如抽样1000个问题来验证这个replica,然后在一个SNARK中做这些抽样计算。我们选取经过编码的数据,然后将其解码,如果解码的数据都吻合原始数据那就证明这个编码过程是正确的。
如果不选择随机抽样的方法而是在SNARK中执行一次完整的编码过程,那计算所得的数据量将大得惊人(注:在SNARK中进行计算的过程也能压缩最终所得的数据)。
由于在这个计算过程中,我们会随机抽样多次进行计算。我们会先抽样得到一个场景,计算出一个结果,然后改变某个参数,再计算得到一个结果。这个过程重复下去直到抽样计算的过程结束。
因此在计算过程结束之后,我们会得到多个不同的参数,每个参数都对应一个场景。这个计算过程是相当耗时的,对系统设计来说也是一个很大的挑战。
为此我们一直在想办法优化这个过程,但这并不容易。我们需要额外的工具来帮忙,我们使用了一个被称为“Orient”的开源软件工具(Github上有它的源代码)。
这个工具用一种特殊的语言定义算法和算法计算所得的结果,然后将这些结果合并在一起。我们可以用这个工具做各种实验,比如测试一下某个哈希函数运算所需的时间、测试一下改变某个参数如果还想得到同样的结果还需要改变其它什么参数等。
Filecoin系统的结构非常复杂,如何把各种不同的计算结果在区块链上以及区块链下进行归集和整理是复杂的过程,因此我们需要利用这类软件。
这有点像芯片制造---随着芯片的需求不断发展,芯片的集成度会越来越高,这就迫使芯片制造商不得不用各种软件来辅助设计。
我们在Filecoin的设计中就碰到了类似芯片制造商碰到的芯片集成度的问题,因此这就使得我们必须依靠软件工具来辅助我们的设计。
我们不认为其它的区块链系统会用到复制证明,这是我们的独创,也是Filecoin系统区别于其它系统的特征之一。

我们的系统还有独特的竞价机制,让矿工和用户在市场环境下通过竞价找到一个双方都可以接受的服务价格。此外我们的共识机制也很特殊,它要矿工证明其存储的数据是用户所需的。
其它的去中心化存储项目会用到类似空间证明的共识机制,而在Filecoin中,我们更进一步,要求“空间”中存储的是有用的数据。
所有这些集合在一起,使Filecoin系统与众不同。
参考链接:
https://filecoin.io/blog/filecoin-proof-system/

上一篇:数字货币发展势不可挡,Filecoin能否成为其中佼佼者?

下一篇:Filecoin二测,你想要的“第一”都在这里

相关阅读:

关于我们联系我们作者投稿
Copyright © 2013 比特巴手机版
币圈人都爱上的网站,新闻行情教程人物测评资讯大全