胡安:是什么让我们与众不同——Filecoin的证明系

发布时间:2020-02-21 12:30 浏览次数:次 作者:星际联盟 来源:http://www.ipfs-filecoin.cn

就像其他大型技术创新一样,区块链是我们已经使用和信任数十年的几种成熟技术的结合。“共识机制”自1970年代以来进行了研究,并于1990年代开发为对抗电子邮件垃圾邮件的工具,它使分布式系统中的用户可以达成协议,而无需中央仲裁员。

区块链使用不同的系统来保持共识。

例如,比特币的工作量证明共识机制要求矿工相互竞争,以解决计算量大的数学问题,从而验证两个交换比特币的人之间的付款。解决这些问题需要大量的电力。这就是为什么您听到有关比特币网络每年使用的电力比整个瑞士都要多的报告(其消耗增长更快)的原因。

Filecoin建立在时空证明的变体上。

它也与权益证明有关,因为权益以证明的存储形式而不是仅以通证作为抵押,它确定了矿工开采区块的概率。在构建去中心化存储网络时,我们着手构建证明结构,在该结构中,通过产生积极的社会外部性的操作来达成共识:数据存储。随着测试网testnet的推出,我们将推出一套新的基于存储的证明系统,以达到分散的共识。

当我们在2017年宣布Filecoin时,我们着手创建一个基于强大的分散市场的分布式存储网络。为了播种这个市场,分散市场功能并激励早期矿工参与,我们创建了一个加密代币,这是Filecoin共识的副产品。该通证是在有用的工作的基础上生成的,即有用的复制证明和时空证明。

01

关于证明的故事

协议实验室的创始人胡安Juan Benet在最近对Zero Knowledge播客的一次采访中探索了Filecoin证明构建的历史。以下是该采访的节选:

Filecoin以多种不同方式推动了区块链的前沿。

复制证明最终是一个证明系统,用于验证存储矿工是否确实拥有他们正在存储的内容并且没有作弊。在这些系统中,这是一个非常棘手的问题:如何向网络证明您确实在存储某些东西,而不是造假?

Filecoin尝试解决其他有趣的问题,包括更高的吞吐量共识以及Filecoin使用的可互操作的,内容可寻址的链接数据结构。但是,归根结底,这是要利用地球上所有未使用的存储并进行激励组织,以建立最大、最强大的计算存储网络并降低该存储的价格。

Filecoin的复制证明既是存储证明,又是空间证明,两者有细微的差异。在Filecoin中,数据单位存储在所谓的扇区中。您可以通过缓慢的编码过程将特定数据密封在磁盘上的某个扇区中,然后将其证明提交给区块链。盖章是花费在该特定证明上的大量工作。为了伪造这样的证明,您必须使用客户端存储在Filecoin上的原始数据来完成特定工作,这与比特币工作量证明中的数字哈希不同。

证明系统是密码协议,其中有一个证明者和验证者,证明者将向证明者证明某些内容。

例如,在工作量证明中,证明者已经完成了一些工作,或者花费了一些计算周期。典型的例子是用比特币表示哈希。

另一个示例是可验证延迟功能(VDF),在这里我可以向您证明我已经按顺序花费了一定数量的周期,因此我已经等待了一段时间Filecoin不使用VDF,但它是一个研究领域。所以所有这些对存储系统的证明都证明了这样的系统,低级的密码原语在各种协议中广泛使用。

(1)存储证明是简单的证明系统,可以证明我拥有一些数据。数据占有证明的一个示例是:我可以向您证明我有数据X,或者不透露数据X,或者如果数据大几GB,则更为简洁。然后是可检索性证明,我不仅要证明我有X,而且在我恶意并想从您那里保留X的情况下,也可以使用这些证明来重建X。

(2)空间证明是另一种类型的组,在这些组中,我可以向您保证我要花费一定数量的存储空间。如果我承诺存储1 GB,并且生成一个随机GB,那么可以向您证明我正在存储该随机GB,而不存储其他东西。这样就可以将存储空间用作工作量证明。

有趣的部分是将空间证明与普通的数据所有权证明相结合,在此我希望X有用,而不仅仅是随机字符串。困难的部分是创建空间证明,该证明也用于存储有用的数据。这就是复制证明作为Filecoin网络的加密协议中的基础原语。

发明了其他存储证明系统来创建您可以更好地信任的云,因为它们可以向您证明它们正在备份您的数据。但是它们在信任是契约性的常规集中式云环境中完全没有使用。而现在,他们正在整个下放空间中使用,因为这是我们使用的激励结构,以保证东西不具法律效力的协议。

我们还使用SNARK来证明一些实际的复制证明,这些证明会产生大量输出。我们想对这些复制证明进行很多挑战,但是将它们汇总在一起,以便它们可以以非常小的,紧凑的方式进行链接。

有多种方法可以执行此操作,但是SNARK是执行此操作的好方法,它们为您提供了一种方法来证明您已正确完成了证明,然后您可以将SNARK证明放在链上。然后,各方现在可以验证一些输入本身以及实际的SNARK证明,并知道证明已正确生成。

在复制证明中,我们获取大量的源数据(如32GB),并应用非常慢的编码,从而在节点可能为32字节段的层中生成这些类似格子的图形。有一个连续的过程将继续产生一个图,并为每个节点依次散列。由于哈希函数,它必须一个接一个地完成。

生成的一种图类型是DRG(深度-鲁棒图),它们与这些扩展图连接在一起,并且存在一个完整的复杂晶格结构。最后,我们现在已将原始数据编码为所谓的副本,即作为值提交的副本。如果需要,您可以获取相同的源数据并对其进行多次编码,最终会得到多个唯一编码的不同副本。

现在,我们已经完成了这一工作,为了证明我们已经正确完成了此编码,我们可以在SNARK内进行整个编码,这将是非常昂贵的,或者我们可以抽样一些挑战来解决证明我们已经存储了这个。假设我们在整个证明中抽样了1000个随机挑战,然后在SNARK内进行了计算。

我们获取源编码的数据,然后对其进行解码,然后证明它一直追溯到我们致力于的根。这就是我们要简洁的证明。因为否则,它将是一个32字节的叶子,然后整个Merkle链一直回到根,将是相当大量的数据,然后乘以一千。100s KB或MB产生一个证明。借助SNARK,我们可以将其压缩,我认为它可以压缩到200B或类似的水平。

关于所有这些工作的一个伟大故事就是我们所说的证明过山车。随着时间的流逝,您最终将创建大量不同的构造,而所有这些不同的参数将为所有这些不同的用例提供服务。

与Filecoin中的证明相比,这种参数选择可能是我们花了这么长时间才运送所有这些东西的最大原因。因为您选择一种构造,并且它具有特定的形状并产生特定大小的伪像,也许还可以,然后您调整一些参数,例如,“嘿,也许我们希望扇区稍大一些。” 这使得其他一些参数必须更改。

很快,您就进入了一个非常大的参数空间,其中包含许多不同的变量,您可以在此处调整一件事,而其他许多事情也必须更改。随着一系列算法的优化,进行复杂性管理非常困难。因为很多这样的构造,这些慢速编码,所以您希望足够慢以对证明有用,但又要足够快以至于它不是很昂贵。进行拨号以使其恰到好处是一个非常困难的挑战,然后使用特殊的SNARK结构进行钉牢处理,以确保您可以高效,简洁地完成此操作。

所有这些参数优化都是如此艰巨而又困难,以至于我们实际上不得不编写软件来处理这一问题。我们有一个约束求解器,只是为了能够在选择证明结构和Filecoin中的参数时处理约束优化问题。这样的结果令人惊讶,其他小组现在可以使用它来使他们的生活更轻松,但是我们必须编写此代码。

02

Orient工具

我们在Github上使用了一个名为Orient的工具,所有工具都是开源的(请参阅Orient和Übercalc中Filecoin的参数)。它具有一种特殊的语言,您可以在其中定义特定的算法及其生成的工件,然后将它们与所有这些变量和参数组合成更大的工件。

然后,您可以得出实验结果,例如某些哈希函数需要多长时间,然后将该数据插入某些参数中,并计算出其他一些参数必须是什么。

因此,例如,基于此哈希函数以及在SNARK内部或SNARK外部花费的时间,那么您将要使用这种特殊的构造,因为它可以将时间最小化或将链上足迹最小化而所有这些东西都是通过此求解器计算出来的。

由于结构的复杂性,单个基元及其如何编织到链中以及所有脱链协议等等,现在就制造区块链技术非常困难,以至于我们都需要此软件帮助我们编写软件。类似于芯片制造的方式,芯片制造一直很好,直到达到一定的密度,然后他们停止了手动生产芯片的能力。

他们必须开始使用软件才能对芯片进行布局。我认为我们已经达到了区块链的目的,在区块链中,我们正在建造的某些建筑中,我们需要软件来帮助我们进行设计。

我认为没有其他网络在使用复制证明,因此创建该字段是我们的优势。所以这是一个与众不同的因素。我们也是唯一具有这种可变的市场结构的公司,该结构旨在根据要价和投标结构进行优化,使矿工和客户能够一起推理价格,然后从中进行交易。

我认为我们也是唯一在有用存储支持下达成共识的公司。对于其他网络,这可能是由空间证明支持的共识,但是在我们的情况下,它很有用。这些是Filecoin的三个最大区别因素。

然后,通过libp2p紧密集成到IPFS中,以及在IPFS上已经有大量使用情况的许多其他事情。将所有数据直接备份到Filecoin将很容易。

值得一提的是IPFS是一个开放的网络,我们已经看到其他网络开始增加对它的支持,这也真的很酷。出于这个原因,它意味着要成为分离层。

上一篇:小米金融首次采用IPFS加密技术!

下一篇:2020财富指南 | IPFS上线在即, Filecoin发出最强音!

相关推荐
渠道商首页渠道合作 微信客服1 微信客服2
X

截屏,微信识别二维码

微信号:463026449

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!
X

截屏,微信识别二维码

微信号:clj830911

(点击微信号复制,添加好友)

打开微信