文章来源于Filecoin项目博客,讲述Filecoin系统中支持共识出块的证明是如何计划和设计的。Filecoin是存储网络和激励,激励获取需要提供存储能力和计算能力,所以要给节点矿工符合逻辑和安全的设计,才会出现证明系统。
就像其他大型技术创新一样,区块链是我们已经使用和信任数十年的几种成熟技术的结合。“共识机制”自1970年开始研究并在1990年代发展起来,本是一种与垃圾邮件作斗争的工具,它使分布式系统中的用户可以达成协议。
区块链使用不同的系统来保持共识。例如,比特币的工作量证明共识机制要求矿工相互竞争,以解决计算量大的数学问题,以便验证两个交换比特币的人之间的付款。解决这些问题需要大量的电力。这就是为什么您听到有关比特币网络每年使用的电力比整个瑞士都要多的原因。
Filecoin建立在空间证明的变体上。它也与权益证明有关,因为权益不是以Token作为抵押,而是以经证明的存储形式确定,确定了矿工开采区块的概率。在构建去中心化存储网络时,我们着手构建证明结构,在该结构中,通过产生的社会性操作来达成数据存储的共识。随着testnet的推出,我们将推出一套新的基于存储的证明系统,以达到去中心化的共识。
2017年宣布Filecoin时,我们开始着手创建一个基于强大的分散市场的去中心化存储网络。为了形成这个市场,分化市场功能并激励早期矿工参与,我们创建了一个加密代币,这是Filecoin共识的副产品。该Token是在有效的工作基础上生成的,即有效的复制证明和时空证明。
Filecoin以多种不同方式推动了区块链的前沿进步。复制证明最终是一个证明系统,用于验证存储矿工是否确实拥有他们正在存储的内容且没有作弊。在这些系统中,这是一个非常棘手的问题:如何向网络证明您确实在存储某些东西,而不是撒谎?
Filecoin也在尝试解决其他有趣的问题,包括更高吞吐量的共识以及Filecoin使用的互操作性以及内容可寻址的链式数据结构。但是,归根结底,这是要利用地球上所有未使用的存储并进行组织激励,以建立最大,最强大的计算存储网络并降低该存储的价格。
BTC突破56400美元关口 日内涨幅为4.29%:火币全球站数据显示,BTC短线上涨,突破56400美元关口,现报56401.8美元,日内涨幅达到4.29%,行情波动较大,请做好风险控制。[2021/3/10 18:33:42]
Filecoin的复制证明既是存储证明,又是空间证明,两者有细微的差异(稍后说明)。在Filecoin中,数据单位存储在所谓的扇区中。您可以通过缓慢的编码过程将特定数据密封在磁盘上的某个扇区中,然后将其证明提交给区块链。盖章是花费在该特定证明上的大量工作。为了无法伪造这样的证明,必须使用客户端存储在Filecoin上的原始数据才能完成特定工作,这与比特币工作量证明中的数字哈希不同。
证明系统是一种加密协议,其中有一个证明者和一个验证者,证明者将向验证者证明某些内容。例如,在工作量证明中,证明者已经完成了一些工作,或者花费了一些计算周期。典型的例子是比特币哈希。另一个示例是可验证延迟功能(VDF),可以证明我已经按顺序付出了一定数量的计算,表示我已经等待了一定时间。
存储证明是简单的证明系统,可以证明我拥有一些数据。数据所有权证明的一个例子是:我可以向您证明我有数据X,或者不透露数据X,或者如果数据有多少GB,则更为简洁。然后是可检索性证明,我不仅要证明我有X,也可以使用这些证明来重建X。
空间证明是另一种类型的组,在这些组中,我可以向您保证我要花费一定数量的存储空间。如果我承诺存储1 GB,并且生成一个随机GB,那么可以向您证明我正在存储该随机GB,而不存储其他东西。这样就可以将存储空间用作工作量证明。
有趣的部分是将空间证明与普通的数据所有权证明相结合,在此我希望X有用,而不仅仅是随机字符串。困难的部分是创建空间证明,该证明也用于存储有用的数据。这就是复制证明作为Filecoin网络的加密协议中的基础原语。
发明了其他存储证明系统来创建更好的信任的云服务,因为它们可以向您证明它们正在备份您的数据,但是它们在信任是契约性的常规集中式云环境中完全没有使用。
而现在,他们正在整个下放空间中使用,因为这是我们使用的激励结构,以保证东西不具法律效力的协议。我们还使用SNARK来证明一些实际的复制证明,这些证明会产生大量输出。我们想对这些复制证明进行很多挑战,但是要汇总它们,以便它们可以以非常小巧的方式进入链中。
有多种方法可以执行此操作,但是SNARK是执行此操作的好方法,它们为您提供了一种方法来证明您已正确完成了证明,然后您可以将SNARK证明放在链上。然后,各方现在可以验证一些输入本身以及实际的SNARK证明,并知道证明已正确生成。
在复制证明中,我们获取大量的源数据(如32GB),并应用非常慢的编码,从而在节点可能为32字节段的层中生成这些类似于格子的图形。有一个连续的过程将继续产生一个图,并为每个节点依次散列。由于哈希函数,它必须一个接一个地完成。
生成的一种图类型是DRG(Depth-Robust-Graph),它们与这些扩展图连接,并且有一个完整的复杂晶格结构。最后,我们现在已将原始数据编码为所谓的副本,即作为值提交的副本。如果需要,您可以获取相同的源数据并对其进行多次编码,最终会得到多个唯一编码的不同副本。
现在,我们已经完成了这一工作,为了证明我们已经正确完成了此编码,我们可以在SNARK内进行整个编码,这将是非常昂贵的,或者我们可以抽样一些挑战证明我们已经存储了这个。假设我们在整个证明中抽样了1000个随机挑战,然后在SNARK内进行了计算。我们获取源编码的数据,然后对其进行解码,然后证明它一直追溯到我们致力于的根。这就是我们要简洁的证明。因为否则它将是一个32字节的叶子,然后整个Merkle链一直回到根,将是相当大量的数据,然后乘以一千。100s KB或MB产生一个证明。借助SNARK,我们可以将其压缩,我认为它可以压缩到200B或类似的水平。
关于所有这些工作的一个伟大故事就是我们所说的证明过山车曲线。随着时间的流逝,您最终将创建大量不同的构造,而所有这些不同的参数将为所有这些不同的用例提供服务。
与Filecoin中的证明相比,这种参数选择可能是我们花了这么长时间才实现所有这些东西的最大原因。因为您选择一种构造,并且它具有特定的形状并产生特定大小的伪像,也许这很好,然后您调整一些参数,例如,“嘿,也许我们希望扇区稍大一些。” 这使得其他一些参数必须更改。
很快,您就进入了一个非常大的参数空间,其中包含许多不同的变量,您可以在此处调整一件事,而其他许多事情也必须更改。随着一系列算法的优化,进行复杂性管理非常困难。因为很多这样的构造,这些慢速编码,所以您希望足够慢以对证明有用,但又要足够快以至于它不是很昂贵。进行拨号以使其恰到好处是一个非常困难的挑战,然后使用特殊的SNARK结构进行钉牢处理,以确保您可以高效,简洁地完成此操作。
所有这些参数优化都是如此艰巨而又困难,以至于我们实际上不得不编写软件来处理这一问题。我们有一个约束求解器,只是为了能够在选择证明结构和Filecoin中的参数时处理约束优化问题。这样的结果令人惊讶,其他小组现在可以使用它来使他们的生活更轻松,但是我们必须编写此代码。
我们在Github上使用了一个名为Orient的工具,所有工具都是开源的(请参阅Orient和Übercalc中Filecoin的参数)。它具有一种特殊的语言,您可以在其中定义特定的算法及其生成的工件,然后将它们与所有这些变量和参数组合成更大的对象。
然后,您可以得出实验结果,例如某些哈希函数需要多长时间,然后将该数据插入某些参数中,并计算出其他一些参数必须是什么。因此,例如,基于此哈希函数以及在SNARK内部或SNARK外部花费的时间,那么您将要使用这种特殊的构造,因为它可以将时间最小化或将链上足迹最小化而所有这些东西都是通过此求解器计算出来的。
由于结构的复杂性,单个基元及其如何编织到链中以及所有脱链协议等方面,现在就制作区块链技术非常困难,因此我们需要此软件帮助我们编写软件。
我认为没有其他网络在使用复制证明,因此创建该字段是我们的优势。所以这是一个与众不同的因素。我们也是唯一具有这种可变的市场结构的公司,该结构旨在根据要价和投标结构进行优化,使矿工和客户能够一起对价格进行推理,然后从中进行交易。我认为,我们也是唯一在有用存储支持下达成共识的公司。对于其他网络,这可能是由空间证明支持的共识,但对我们而言,它很有用。这些是Filecoin的三个最大区别因素。
然后,通过libp2p紧密集成到IPFS中,以及在IPFS上已经有大量使用情况的许多其他事情。将所有数据直接备份到Filecoin将很容易。值得一提的是IPFS是一个开放的网络,我们已经看到其他网络开始增加对它的支持,这也真的很酷。出于这个原因,它意味着要成为分离层。”
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。