Filecoin的工作证明机制工作流程解析
扫描二维码
随时随地手机看文章
IPFS由胡安在2014年5月份发起,目前为止已经诞生了5年时间,而基于IPFS开发的Filecoin存储激励项目则旨在为我们的网络提供更加完善、体验更好的存储服务。
愿景很美好,但我们首先要弄清楚,它是怎么保证整个存储服务的正常运行呢?Filecoin的工作证明机制在围绕着核心的复制证明PoRep与时空证明PoSt之外还涉及不少其他的证明机制。今天我们用超直白的话和大家解说Filecoin的工作证明机制
Filecoin存储的工作流程
首先,我们来了解下Filecoin完成存储需要的关键流程和角色。
挑战(challenge)
系统对矿工提问一个或多个问题进行验证,回答正确,则挑战成功,否则失败。类似于BTC的工作量证明,依靠一系列大量的计算,最终得出首次记账权。
证明者(prover):
矿工想要完成挑战(challenge)就需要向Filecoin系统提供真实有效的证明。
检验者(verifier):
系统代表用户向矿工发起挑战(challenge),以此检测矿工是否完成了数据存储任务。
数据(data):
指用户向矿工发起存储需求的数据或者已被矿工存储的数据。
证明(proof):
矿工完成挑战(challenge)时的回答。
流程:
检验者(verifier)向矿工(prover)发起挑战(challenge),矿工提交证明(proof),再由系统检验矿工的答复来判断是否通过本次挑战(challenge)。
Filecoin存储的证明机制
存储证明 Proof-of-Storage,PoS:
Filecoin利用存储空间进行证明作为它的工作量证明机制,最初时将其命名为存储证明 Proof-of-Storage,目前已升级为PoRep。证明矿工在对应的时间内存储了特定的数据,不严格来说硬盘的储存量即代表其算力,相比POW机制耗费的巨大能源,其消耗不值一提。
复制证明 Proof-of-Replication,PoRep:
PoRep 是PoS的进阶版,可以证明矿工已将 数据(data)存储,并保证每份数据存储的独立性,同时防止女巫攻击,外源攻击和生成攻击。
数据持有性证明 Provable-Data-Possession,PDP:
矿工完成了用户存储数据的订单后,为了证明数据已经被自己存储,用户可以多次验证矿工是否将其数据保持存储的状态
可检索证明 Proof-of-Retrievability,PoRet:
与PDP类似,证明矿工存储的数据是可以用来查询的。
空间证明 Proof-of-Space,PoSpace:
Filecoin提出的关于存储量证明的概念,PoSpace是PoW的一种,不同的是PoW使用的是计算资源,而PoSpace使用的是存储资源。
时空证明 Proof-of-SpaceTIme,PoSt:
时空证明,矿工证明自己花费了SpaceTIme资源, 即:一定时间内的存储空间的使用,PoSt是基于复制证明(Proof-of-ReplicaTIon,PoRep)实现的。
Protocol Labs团队为什么要将系统搞得这么复杂?
区块链里面任何精巧的系统都需要精心设计(比如BTC),让系统能够依靠自身机制一直运行下去,目的不外乎下面两个:
● 保证矿工能够老老实实的帮助用户存储数据
● 公平的分配代币
《 PoRep & PoSt 》有啥作用?
复制证明:Proofs-of-ReplicaTIon
PoRep必须能够防范以下三种常见的攻击方式:女巫攻击、外源攻击、生成攻击。
他们的共同特点是攻击矿工实际存储的数据大小要比声称存储的数据小,这样攻击矿工就能获得本不该他获得的报酬。
● 女巫攻击(Sybil Attack):
利用n个身份,承诺存储n份数据D,而实际上存储小于n份(比如1份),但是却提供了n份存储证明,攻击成功。
● 外部数据源攻击(Outsourcing Attack):
当攻击者矿工收到检验者要求提供数据D的证明的时候,攻击者矿工从别的矿工那里生成证明,证明自己一直存储了数据D,而实际上没有存储,攻击成功。
● 生成攻击(Generation Attack):
攻击者A可以使用某种方式生成数据D,当检验者验证的时候,攻击者A就可以重新生成数据D来完成存储证明,攻击成功。
时空证明:Proofs-of-Spacetime
时空证明提出了证明链(proof-chain)的数据结构,证明链把一些挑战(challenge)和证明(proof)链接起来,在证明链的基础上添加上时间段,这样就得到了一段时间内的矿工存储数据的证明,这就是时空证明(Proof-of-Spacetime,PoSt)。
PoSt可以证明在该段时间内矿工存储了特定的数据,并且利用时间戳锚定这些证明链,这样即使检验者(verifier)不在线,也能够在将来去验证矿工在该段时间内是否生成了证明链,PoSt会被提交到链上用来产生新的区块(Block)。
结语
通过用户存储数据以及矿工完成存储以及一系列验证的过程来看,Filecoin已经成熟到一定的程度了,但不可否认还有许多诸如零知识证明等还能继续优化的地方。
相信了解Filecoin的工作证明机制之后,大家都发现了它的魅力所在:以一套精密运作的系统,通过向存储资源贡献者发放FIL的形式,或者向检索服务提供者发放FIL的形式,激励大家参与贡献自己的存储资源与带宽资源。
这就在全球范围内,极大地增加了网络的节点数量,让整个分布式存储网络变成了一个巨大的存储空间。在整套机制的配合下,IPFS在跟HTTP的竞争中拥有了更强的发展优势,看到这你也就明白了Filecoin为何受到如此多的资本以及组织的青睐。