是什么让我们与众不同:Filecoin的证明系统
与其它大型技术创新类似,区块链凝聚了我们已经使用和信任数十年的几种成熟技术。1970年代开始研究,并在1990年代发展起来的“共识机制”是一种抵制垃圾邮件的工具,使得分布式系统中的用户可以达成协议,而且无需中央决策者。

区块链使用不同的系统来维持共识。例如,比特币的工作量证明共识机制要求矿工相互竞争,以解决计算诸多数学问题,从而验证两个交换比特币的人之间的交易。解决这些问题需要大量的电力。这就是为什么比特币网络每年使用的电力比整个瑞士还多(并且其消耗增长更快)这样报道的原因。

比特币网络每年使用的电力比整个瑞士还多
Filecoin建立在一些空间证明上。也与权益证明有关,因为权益不是以通证作为抵押,而是采用经过验证的存储形式,确定矿工挖矿区块的概率。在构建去中心化存储网络时,我们准备构建证明结构,在该结构中,通过产生积极的社会外部性的操作来达成共识:数据存储。随着测试网的启动,我们将推出一套新的基于存储的证明系统,以达成去中心化共识。
2017年,当我们在宣布推出Filecoin时,我们着手创建一个基于强大的去中心化市场的去中心化存储网络。为了播种这个市场,将市场功能去中心化并激励早期矿工参与,我们创建了一种加密通证,这是Filecoin共识的副产品。此通证是在有效工作的基础上生成的,即有效的复制证明和时空证明。

这些证明的来由
协议实验室创始人Juan Benet在最近一次零知识播客的采访中探索了Filecoin证明构建的历史。以下是该采访的节选:
Filecoin以多种不同方式推动了区块链的前沿发展。复制证明终究是一个证明系统,用于验证存储矿工是否确实拥有他们正在存储的内容并且没有作弊。在这些系统中,这是一个非常棘手的问题:如何向网络证明你确确实实存储了数据,而没有说谎?
Filecoin的复制证明既是存储证明,又是空间证明,两者有细微的差异(下文说明)。在Filecoin中,数据单位存储在所谓的扇区中。可以通过缓慢的编码过程将特定数据密封在磁盘上的某个扇区中,然后将其证明提交给区块链。封印是花费在该特定证明上的大量工作。要想伪造这样的证明,必须使用客户端存储在Filecoin上的原始数据来完成特定工作,这与比特币工作量证明中的数字哈希不同。
Filecoin尝试解决其他一些有意思的问题,包括更高的吞吐量共识以及Filecoin所使用的可互操作的,内容可寻址的链接数据结构。但归根结底,这一切都是为了利用地球上所有未使用的存储空间并以激励的方式将其组织利用,以建立规模最大,功能最强大的计算存储网络并以低价进行存储。
证明系统是一种加密协议,其中分别存在证明者和验证者,证明者将向证明者证明某些内容。例如,在工作量证明中,证明者已经完成了一部分工作,或者花费了一些计算周期。典型的例子是[用比特币表示]哈希。另一个示例是可验证延迟功能(VDF),在这里我可以向你证明我已经花费了一定的周期,因此,我已经按顺序等待了一定时间[Filecoin不使用VDF,但是研究领域]。因此,所有这些存储证明系统都是类似的证明系统,都被广泛用于各种协议中。
存储证明是简单的证明系统,可以证明我拥有数据。数据占有证明的一个范例是:我可以向你证明我有数据X,或者不透露数据X,亦或者用更简洁的方式证明数据大小。可检索性证明,在这里,我不仅要证明我有X,而且这些证明可以用来重建X,以防万一我想从你那里恶意获取并保留X。
空间证明是另一种类型的群组,我可以通过其向你保证我要使用一定数量的存储空间。如果我承诺存储1 GB,并且生成一个随机大小的数据,则可以证明我正在存储该随机数据,而不会进行其他存储。这样就可以将存储空间用作工作量证明。
有趣的是将空间证明与普通的数据拥有证明相结合,我希望X有用,而不仅仅是随机字符串。困难的是创建空间证明,该证明也用于存储有用的数据。这就是复制证明作为Filecoin网络加密协议中的基础原语的原因。
构建其他存储证明系统来创建更可信的云,原因是其可以证明矿工在备份你的数据。但是它们常规集中式云环境中完全没有使用。现已在整个去中心化领域中使用,因为这是我们使用激励机制来做担保而不是合同协议的地方。
我们还使用SNARKs来验证一些实际的复制证明,这些证明会进行大量输出。我们想对这些复制证明发起诸多挑战并而不是将其汇总,方便复制证明以非常小巧的方式进入链中。很多方法可以执行此操作,但是SNARKs是执行此操作的最佳选择,他们提供了证明复制证明已经正确执行的方法,然后你可以将SNARKs证明纳入链中。然后,各方现在可以验证亲自输入以及实际的SNARKs证明,并了解证明已正确生成。
在复制证明中,我们获取大量的源数据(如32GB),并应使用速度缓慢的编码,从而在节点可能为32字节段的层中生成这些类似于晶格的图形。此过程是连续的,不断产生新图形,并且每个节点都按顺序散列。由于哈希函数,必须不间断地完成。

深度鲁棒图(Depth-Robust-Graph)
生成的一种图形是DRG(深度鲁棒图),与这些扩展图相连,并且存在一个整体复杂的晶格结构。最后,我们现在已经将原始数据编码为副本,该副本作为值提交。可以根据需要获取相同的源数据并对其进行多次编码,最终会得到多个唯一编码的不同副本。
现在,我们已经完成了这一工作,为了证明我们已经正确完成了此编码,我们可以在SNARKs内进行全部编码,成本十分昂贵,或者我们可以抽样一些挑战证明我们已存储。假设我们在整个证明过程中抽取了1000个随机挑战,然后在SNARKs内进行了计算。我们获取源编码的数据,然后对其进行解码,证明它一直追溯到根。这就是我所要简洁的证明。因为否则它将是32字节的叶,然后整个Merkle链一直回到根,将是相当大量的数据,然后乘以1000。 100s KB或MB产生一个证明。使用SNARKs,我们可以将其压缩,我认为可以压缩到200B或类似的水平。

能够完整说明这项伟大工作的就是我们所谓的证明过山车。随着时间的流逝,最终将创建大量不同的结构,而所有这些不同的参数将为同的用例提供服务。
与Filecoin中的证明相比,这种参数选择可能是我们花了这么长时间才构建出这些结构的最大原因。因为选择一种结构,且具有一定的形状并产生特定大小的工艺品,也许还不错,然后你调整一些参数,例如“我们希望扇形稍大一些。”这就导致牵一发而动全身。
很快,就进入了一个非常大的参数空间,其中包含许多不同的变量,你可以在此处作轻微调整,同时也就意味着要更改很多其他内容。随着一系列算法的优化,进行复杂性管理非常困难。由于许多此类结构以及这些慢速编码,你希望速度慢些让其有用,但又想节约成本让其速度尽可能快些。进行拨号使其速度恰到好处是一个非常困难的挑战,然后在特定的SNARK结构上进行固定,以确保你可以高效,简洁地完成此任务。
所有这些参数优化都艰巨而又困难,以至于我们不得不编写软件来处理。我们有一个约束求解器,只是为了能够在选择证明结构和Filecoin中的参数时处理约束优化问题。结果让人惊喜,其他小组现在可以使用它,以使他们的生活更轻松,但是我们必须编写此代码。
我们在Github上使用了一个名为Orient的工具,并且所有工具都是开源的(请参阅Orient和Übercalc中Filecoin的参数)。它独有一种特殊的语言,可以在其中定义特定的算法及其生成的工件,然后将它们与所有这些变量和参数组合成更大的对象。
然后你可以得出实验结果,例如某些哈希函数需要多长时间,然后将该数据插入某些参数中,并计算出其他一些参数必须是什么。因此,例如,基于此哈希函数以及在SNARK内部或SNARK外部花费的时间,那么将要使用这种特定的结构,因为它可将某些时间压缩至最短或将链上占用的空间最小化,而这一切都是通过此求解器计算出来的。

由于结构的复杂性,单个基元及其如何编织到链中以及所有脱链协议等等,现在使得区块链技术非常困难,以至于我们都需要此软件帮助我们编写软件。类似于芯片制造的方式,芯片制造一直发展不错,直到达到一定的密度,然后他们停止了手动生产芯片的能力。他们必须开始使用软件才能对芯片进行布局。我们自认为经达到了区块链的目的,在区块链中,我们正在建立的某些结构中,我们需要软件来帮助我们进行设计。
我认为没有其他网络在使用复制证明,因此创建该领域是我们的优势。所以这是我们与众不同的地方。我们也是唯一拥有这种灵活的市场结构的公司,该结构旨在根据要价和投标结构进行优化,使矿工和客户能够一起商讨价格,然后再进行交易。我认为,我们也是唯一在有用存储支持下达成共识的公司。对于其他网络,可能是由空间证明支持的共识,但对我们却很有用。这些是Filecoin的三大最有区别性的因素。
然后,通过libp2p紧密集成到IPFS中,其他很多项目也已经在使用IPFS。将这些数据直接备份到Filecoin会很容易。值得一提的是IPFS是一个开放的网络,我们已经看到其他网络开始加大力度支持,真的很棒。这意味着IPFS将要成为一个去耦层。”
来源:金色财经
文章来源指股网整理,转载请注明出处。







