首页 IPFS 正文

Filecoin的证明系统

2020-09-20 12:55:01 来源:IPFS时空云 作者:IPFS时空云 阅读:5282
   
一文搞懂Filecoin的复制证明、时空证明和零知识证明。

Filecoin之所以与众不同,不仅在于Filecoin是IPFS网络唯一的激励层,并获得了高达2.57亿美元的融资,也在于Filecoin独特的共识机制。当以比特币为代表的数字货币以工作量证明的共识机制来要求矿工相互竞争,并通过解决计算量大数学问题的方式来验证两个交换比特币的人之间的付款信息。Filecoin已经创建了新的证明结构,以经证明的存储形式确定矿工开采区块的概率,在该结构中,Filecoin通过产生积极的社会外部性的操作来达成共识。今天,我们就来谈谈Filecoin的证明系统。




PoRep(复制证明)

PoRep(复制证明)是一种证明系统,矿工可使用该证明系统以可公开验证的方式向网络证明其专用于存储数据文件一个或多个副本的唯一资源,也就是说,在复制证明中,存储矿工证明他们正在存储数据的物理唯一副本或多副本。

在矿工首次存储数据时,复制证明仅发生一次。

填充部门并生成CommD

当存储矿工收到客户数据时,他们会将其放入一个扇区。扇区是Filecoin中基本的存储单位,可以包含来自多个交易和客户数据的碎片。
 
扇区填满后,将生成一个CommD(数据提交,也称为UnsealedSectorCID),代表该扇区中所有CID的根节点。

 
密封扇区和生产CommR

接下来,发生称为密封的过程。
 
在密封期间,通过一系列图形和哈希处理对扇区数据(由CommD标识)进行编码,以创建唯一的副本。所得副本的Merkle树的根哈希是CommRLast。
 
然后,将CommRLast与CommC(来自复制证明的另一个merkle根输出)一起哈希处理。这将生成CommR(复制承诺,也称为SealedSectorCID),并记录到公共区块链中。CommRLast由矿工私下保存,以备将来在时空证明中使用,但未保存到链中。
 
编码过程被设计为缓慢且计算繁重,因此难以欺骗。(请注意,编码与加密不同。如果要存储私人数据,则必须先对其进行加密,然后再将其添加到Filecoin网络中。)
 
CommR提供了我们所需要的证明,表明矿工正在存储客户数据的物理唯一副本。如果将相同的数据存储在多个存储矿工中,或者使用一个矿工对同一数据进行多个存储交易,则每个交易将具有不同的CommR。
 
密封过程还使用zk-SNARKs压缩了复制证明,以保持链条较小,以便Filecoin网络的所有成员都可以存储该链条以进行验证。 


PoSt (时空证明)

曾经运行一次复制证明来证明矿工在密封该扇区时存储了物理上唯一的数据副本,而 PoSt (时空证明)则反复运行以证明他们继续将存储空间专用于该副本,数据随时间推移。
 
PoSt建立在复制证明期间创建的几个元素的基础上:副本,私有保存的CommRLast和公共已知的CommR。


首先,PoSt随机选择编码副本的某些叶节点,并对它们运行Merkle包含证明,以证明矿工具有应在其中的特定字节。

然后,该矿工使用私有存储的CommRLast证明(不透露其价值),他们知道该副本的根,这既与包含证明相符,又可以用于推导众所周知的CommR。
 
PoSt的最后阶段将这些证明压缩为单个zk-SNARK。 

当矿工同意为客户存储数据时,他们需要质押抵押物。如果他们在合同期间的任何时候均未通过时空证明,则将受到处罚。这是鼓励在Filecoin网络中所有参与者之间表现良好的激励措施的关键部分。

 
zk-SNARKs(零知识证明)

值得说明的是,Filecoin中的复制证明和时空证明过程均使用zk-SNARK进行压缩。
 
我们对zk-SNARKs应该不陌生,这是零知识证明,我们也可以将它们视为计算的哈希值。他们让我们证明了证明已正确完成,而不必透露证明本身或它所基于的基础数据的详细信息。
 
创建Filecoin的zk-SNARKs的过程在计算上是昂贵并且缓慢的,但是最终数值很小,并且验证过程非常快。与原始证明相比,zk-SNARKs很小,可以有效地存储在区块链中。例如,使用zk-SNARK可以将在Filecoin链上占用数百千字节的证明压缩为仅192字节。
 
如前所述,运行Filecoin节点的每个人都维护链的最新版本以进行验证。在zk-SNARK的帮助下,将每个证明都保持较小,可以最大程度地减少对Filecoin网络中每个节点的存储需求,以及验证交易所需的时间。




声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

更多 矿机信息