Menu

Filecoin为何与多分歧?IPFS创首人谈它的表明编制 | BTC

Source:adminAuthor:admin Addtime:2020/09/10 Click:189

来源:IPFS原力区编译

原文链接:https://filecoin.io/blog/filecoin-proof-system/

和其它大型技术创新相通,区块链是吾们已经行使和信任了几十年的几栽成熟技术的结相符体。“共识机制”自上世纪70年代最先钻研,并在90年代发展成为一栽抨击垃圾邮件的工具,它让分布式编制中的用户无需中央仲裁者就能达成制定。

Filecoin是竖立在空间表明转折上的。它还与权好表明有关,由于权好有关不光是将通证行为权好有关,而是以已表明的存储量存在,它决定了矿工出块的概率。在构建分布式存储网络时,吾们着手构建一个表明结构。在这个结构中,共识是经由过程产生数据存储来实现的。随着testnet的发布,吾们将推出一组新的基于存储的表明编制,以实现往中央化的共识。

当吾们在2017年宣布Filecoin的时候,吾们最先着手创建一个竖立在重大的往中央化市场上的往中央化存储网络。为了造就这个市场,松散市场职能,鼓励早期矿工的参与,吾们创建了一个添密通证,这是Filecoin共识的副产品。此通证是在有效的做事(即有效的复制表明和时空表明)的基础上生成的。 这些表明的故事 Juan Benet比来在Zero Knowledge播客的采访中追求了Filecoin表明结构的历史。以下是这次采访的摘录:

“Filecoin以多栽分歧的手段推动区块链的发展。

 

复制表明是一个表明编制,用来验证存储矿工实在拥有他们所存储的内容,并且异国作弊。但你如何向网络表明,你确实在存储一些东西,而不是撒谎?

Filecoin还试图解决其它一些兴趣的题目,包括更高的吞吐量相反性和可互操作、内容可寻址的链接数据结构等。

说到底,这一致都是为了行使地球上所有未行使的存储空间,用激励措施来机关它们,竖立最重大的计算存储网络,并压矮这栽存储的价格。

Filecoin对复制的表明既是对存储的表明,也是对空间的表明,两者略有分歧。在Filecoin中,数据单元存储在所谓的扇区中。你会以缓慢的编码过程将磁盘上扇区中的特定数据密封首来,并将验证挑交给区块链。密封是一项消耗大量精力的做事。想要捏造如许的表明,你必须行使客户端存储在Filecoin上的原首数据来完善特定的做事。

表明编制是一栽暗号制定,其中有表明者和验证者——表明者将向验证者表明一些东西。例如,在POW中,表明者必要做了一些计算,或者消耗了一些计算周期。他们的典型表明就是哈希。

存储表明(Proofs of Storage)是表明吾拥有某些数据的浅易表明编制。比如:吾能够向你表明吾有数据X,不必要表现数据X,或者数据是几个GB大,而是以更简洁的手段。

是数据可恢复表明(Proof of Retrievability),吾不光要表明吾有X,而且这些表明能够用来恢复X,以防吾有凶意,想要遮盖X。

空间表明(Proofs of Space)是另一栽类型——吾能够向你们保证吾消耗了肯定的存储空间。倘若吾存了1gb,然后生成一个随机的GB,那么吾就能够表明吾存储了这个随机的GB,而不是在存储其它东西。这让矿工能够行使存储空间行为做事的表明。

兴趣的片面是将空间表明与数据持有的清淡表明结相符首来——吾期待X是有效的,而不光仅是一个随机字符串。最难的片面是创建一个空间表明,它也被用来存储有效的数据。这就是Filecoin网络的暗号制定中的复制表明——行为基本原语。

其它存储表明是为了创建更值得信任的云,由于它们能够向你表明它们正在备份你的数据。但是它们在平常的中央化云环境中十足异国行使,由于信任是契约式的。现在它们被用于整个往中央化周围,由于这是吾们行使激励结构来保证事情而不是相符同制定。

吾们还行使 SNARKs来表明一些复制的实际表明,这些表明产生了大量的输出。吾们想在这些复制表明上做许多挑衅,把它们聚相符首来如许它们就能以一栽专门幼、紧凑的手段进走链式逆答。SNARKs是一个很好的手段,它给了你一栽手段往表明你的准确性,然后你就能够把这个SNARK表明放在链上。接着,各方现在能够本身验证一些极少的输入,以及实际的SNARK表明,并清新表明已经准确生成。

在复制表明的过程中,吾们行使,比如32GB,并行使专门慢的编码,从而在一个节点能够是32字节段的层中生成相通于网格的图。生成一个图必要一个不息的过程,并对每个节点进走不息哈希。由于哈希函数,它必须一个接一个地完善。

一栽生成的图是DRG(深度-半径-图)它们与这些扩展图相连,形成一个复杂的晶格结构。末了,吾们将原首数据编码为吾们所称的副本,并将其挑交为一个值。你能够获取相通的源数据,并能够对其进走多次编码,最后你将得到多个分歧的、唯一编码的副本。

现在吾们已经做到了,为了表明吾们已经准确地进走了编码,吾们能够只取样几个挑衅来表明吾们已经存储了这个。倘若吾们在整个表明中随机抽取了1000个挑衅,然后在SNARK中进走计算。吾们取源编码的数据,然后解码,然后表现它不息回到吾们准许的根。这就是吾们想要简洁的表明。否则它就是一个32字节的“叶子”,整个Merkle链不息回到根将会是一个相等大的数据量,然后乘以1000。倘若用100 KB或MB来生成一个表明,吾们能够用SNARK压缩它,吾想也许是200B旁边。

关于所有这些做事的一个远大的故事就是吾们所说的表明过山车。随着时间的推移,你最后会创建大量分歧的结构,所有这些分歧的参数服务于所有这些分歧的用例。

这个参数的选择,在Filecoin中表明的选择是吾们花了这么长时间来发布所有这些东西的最大因为。由于你选择了一个结构,它有特定的形状,产生了特定大幼的artifacts ,能够这很好,然后你调整一些参数,比如,“嘿,能够吾们想要扇区稍微大一点。“这使得其它一些参数必须转折。

很快你就进入了一个很大的、有许多分歧变量的参数空间,一旦你在这边调整一个东西,就会还有许多其它的东西也必须跟着转折。由于许多算法都在优化,做复杂性管理,是专门难得的。由于许多如许的结构、缓慢的编码,你想用有余慢的速度来表明它,但又要有余快让它不是很贵。进走拨号以使其适可而止是一个专门难得的挑衅,然后钉上稀奇的SNARK结构,以确保你能够高效,简洁地完善此操作。

所有这些参数优化能够是如此主要和难得,以至于吾们实际上不得不编写柔件来处理这些题目。吾们有一个收敛求解器来处理收敛优化题目,即选择Filecoin中的表明结议和参数。这是一个出乎预见的效果,其他团表现在能够用它来让他们的生活更容易,但是吾们必须写这个。

吾们行使了一个叫做Orient的工具,它在Github上,所有东西都是开源的(见Filecoin在Orient和Ubercalc中的参数)。它有一栽稀奇的说话,你能够在其中定义特定的算法和它们生成的artifacts ,然后将它们组相符成更大的算法,并行使所有这些变量和参数。

然后你能够做实验效果,比如某个哈希函数必要多长时间,把数据代入一些参数然后计算出其它一些参数。例如,基于此哈希函数以及在SNARK内部或表部消耗的时间,这就是你想要行使的稀奇的构造,由于它能够将时间最幼化或将链上足迹最幼化,而所有这些东西都是经由过程此求解器计算出来的。

制造区块链技术,由于它的结构是如此的复杂——不论是单独的原语照样它们是如何被编织成链的,于是吾们必要这个柔件来协助吾们写柔件。就像芯片制造相通,芯片制造不息很顺当,直到达到肯定的密度,然后他们就不及手工生产芯片了。他们不得不最先行使柔件来安放芯片。吾认为吾们已经在区块链上达到了这一点,吾们正在做的一些结构,就必要柔件来协助吾们设计。

吾认为异国其它网络行使复制表明,这是吾们的一个上风,吾们创造了这个周围。这是一个区分因素。

吾们也是唯逐一家拥有这栽起伏性市场结构的公司,这栽结构意味着要按照一个要乞降出价结构进走优化,在这栽结构下,矿工和客户能够一首对价格进走推理,然后据此达成营业。

吾认为,吾们也是唯一以有效的存储为后盾达成共识的。对于其它的网络,这能够是一栽共识,并得到了空间表明的声援,但在吾们的例子中,它是有效的。这是Filecoin最大的三个区别因素。

然后是经由过程libp2p与IPFS的紧浓密成,以及其他一些已经在IPFS上大量行使的东西。将所有这些数据直接备份到Filecoin中会很容易。值得一挑的是,IPFS是一个盛开的网络,吾们已经望到其它网络最先增补对它的声援,这也很酷。由于这个因为,它答该是一个解耦层。”

 

/End.