请选择 进入手机版 | 继续访问电脑版
查看: 424|回复: 0

[区块链技术] IPFS网络存储证明解析!

[复制链接]

该用户从未签到

78

主题

78

帖子

1358

积分

技术大虾

Rank: 6Rank: 6

积分
1358
发表于 2018-12-10 17:53:45 | 显示全部楼层 |阅读模式

  我们都知道在IPFS网络下,客户可以通过put协议花费令牌来存储数据,而存储矿工则通过提供存储空间来获得奖励,那么如何确保用户的数据是真的被有效存储了呢?我们需要存储证明。
  存储证明POS(Proof-of- Storage)即允许一个将数据外包给服务器(证明人)的用户(验证者)可以反复检查服务器是否真实存储数据。用户可以用比下载数据还高效方式来验证他外包给服务器的数据的完整性。服务器通过对一组随机数据块进行采样和提交小量数据来生成证明作为给用户的响应协议。
  传统的存储证明只保证了证明人在响应的时候拥有某些数据。在Filecoin中,我们需要更加强大的保障机制才能阻止部分不良矿工不提供存储却获得奖励的三种类型攻击:女巫攻击(Sybil attack)、外包攻击(outsourcing attacks)、代攻击(generation attacks)。
  女巫攻击:不良矿工可能通过创建多个女巫身份假装物理存储很多副本,但实际上只存储一次。
  外包攻击:不良矿工承诺的存储空间比他们实际物理存储容量更大,并依赖于快速从其他存储提供商中获取数据。
  代攻击:不良矿工宣称要存储大量的数据,但实际上他们是使用小程序有效的生成请求,且这个小程序小于他们所承诺要存储的数据。如此不良矿工在Filecoin获取区块奖励的可能性增加了。
  基于此,ipfs网络提出了两种新型存储证明方案:复制证明PoRep(Proof-of-Replicatin)和时空证明PoSt(Proof-of-Spacetime)。
  复制证明
  复制证明允许存储提供商证明数据已经被复制到了他自己唯一专用的物理存储设备上,并执行唯一的物理副本使验证者能够检查证明者是否存在将多个数据副本重复拷贝到同一存储空间。它的方案是一种交互式协议,当证明人承诺存储某数据的n个不同的副本(独立物理副本),然后通过响应协议来说服验证者,证明人确实已经存储了每个副本。PoRep有效改良了PDP和PoR方案,阻止了女巫攻击、外包攻击、代攻击。
  时空证明
  存储证明方案允许用户请求检查存储提供商当时是否已经存储了外包数据。我们如何使用PoS方案来证明数据在每段时间内都已经被存储了?最简单的答案是要求用户重复(例如每分钟)对存储提供商发送请求。然而每次交互所需要的通信复杂度会成为类似Filecoin这样的系统的瓶颈,因为存储提供商被不断要求提交他们的证明到区块网络。
  为了解决这个问题,IPFS(www.ipfsblack.com )再次提出了新的证明——时空证明,它可以让验证者检查存储提供商是否在一段时间内存储了他的外包数据。这对提供商的直接要求是:(1)生成顺序的存储证明来确定一段时间的存储量;(2)组成递归执行来生成简单的证明。
  当存储证明出现了问题,网络将会启动管理机制进行如下操作:
  如果有任何证明的丢失或无效,网络会通过扣除部分抵押品(存储矿工在提供存储之前需要在区块链中存放抵押品)的方式来惩罚存储矿工。
  如果大量证明丢失或无效(由系统参数Δfault定义),网络会认定存储矿工存在故障,将订单设定为失败,为同样的数据引入新订单进入市场。
  如果所有存储该数据的存储矿工都有故障,则该数据丢失,客户获得退款。
  IPFS网络之下两套新型的存储证明方案和严密的管理机制可以有效保证客户和矿工的双方利益,使得用户可以更加放心,整个网络的运行更加有序。

楼主热帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则