当前位置:网站首页 > 专栏 > 正文

什么是Filecoin,与IPFS是什么关系?丨Filecoin基础概念详解

作者: IPFS星际文件深圳 2020-08-21 17:53:33 1356 0

我们平时所谈论到的去中心化分布式存储系统分为IPFS和Filecoin两个部分。IPFS是去中心化存储网络,是一个协议的基础设施,比如水电,机场,公路,房子。而Filecoin是IPFS存储的激励层,类似上层建筑,比如水电房子公路如何收费,如果分配等。具体到存储,Filecoin类似存储交易所,通过付费方式来撮合存储交易并提供保障交易执行的制度。

IPFS的功能可简单类比为目前的BT下载+内容寻址(分布式哈希表DHT)。我们所使用的BT种子的发布和下载流程是:用户制作种子文件并上传到中心化服务器(如迅雷、度盘、Bt论坛等),其他用户通过迅雷等下载软件解析种子文件并下载内容,而一旦种子被封禁或者拥有种子的用户过少,其他用户在使用种子文件时就会无法下载其内容或速度极慢。

同时种子文件对应的原始数据源节点信息也是由中心化的下载软件,如迅雷、度盘所维护,它负责告诉你应该从哪些节点下载该数据,其整体是中心化的,如果迅雷服务器出现故障或者屏蔽该文件,用户就无法下载种子文件的内容。

而在IPFS系统中,通过DHT,大量节点保存有种子及数据源节点信息,一个节点出现故障,还可以从其他节点获取这个种子及数据源信息,然后和对应节点建立连接传输数据,是去中心化的,不存在单点故障影响下载的情况。

简单来说,IPFS就是一个去中心化的按内容寻址的分布式存储系统。

IPFS解决了分布式存储和查找以及传送数据,但是没法保证数据的稳定存储。就像BT下载一样,我们可能找到了一个种子文件,但是下载时发现速度极慢或者干脆无法下载,这可能是因为保存有该种子数据的节点已经删除了该数据或者禁止了数据上传。IPFS也一样,其他节点以自愿的方式存储数据,没有强制性规范。

但因为持久确定性的数据存储需求是广泛存在的,所以这个需求的解决方案也很明显——有偿存储。

一部分节点(客户方)通过代币奖励的方式让别人帮忙存储数据,而有些节点(存储方)通过出租空闲的存储空间来获得代币奖励。在IPFS系统中,客户方和存储方是陌生人,没有任何的信任背书,同时双方对数据存储量,存储时间,是否违约等都无法做出系统的约定和信任。

因而需要代码制度规范这个交易建立信任,如果存储方违约,代码就可以做出惩罚,且可以支持多个存储方同时交易,从而一个存储方节点违约也不会影响到整体网络的数据安全性,这个代码制度规范就是Filecoin。


Filecoin核心技术

那Filecoin定义了哪些规范来保障存储安全呢?核心是两个证明:

复制证明(Proofs-of-Replication)

简单来说,存储方需要证明自己已经存储了客户方数据,同时客户方为了加强数据安全性,其可能要求保存5份相同文件在存储方的物理机器上以冗余备份。但是如何确保存储方真正存储了5份,而不是只存储了一份呢?这就涉及到如何防御多种网络攻击的解决方案,以下将简单讲解复制证明(PoRep)与时空证明(PoST)的算法逻辑。

从上表格可知防范措施的核心是Cipher block chaining这些类似算法,数据被分割多次编码,且编码过程是串行的,也就是后一个计算单元依赖于前面一个计算单元的编码结果。

左侧是一个有向图,计算单元c2的编码是要依赖于c1的编码结果。我们不可能同时进行C1和C2,图上的其他箭头也是如此。为了完成整个数据的编码,我们需要持续编码5次,这样我们的整个延长了编码时间。而解码则可以并行计算,也就是说从C1到C5的所有单元对应的数据只需一次解码即可完成,这样大大提升了解码速度。

但该算法仍有弊端,依赖关系比较单一,所以filecoin团队在最新的论文里提出了用depth robust graph来编码数据,depth robust graph上节点之间的依赖关系更强,可以更好的抵御攻击,右侧同样是一个含有5个节点的有向图,但是计算单元之间的依赖关系更复杂。

用户和系统都会发起随机挑战,给出一个随机数,让存储方给出证明。采取了类似Merkle树的证明方法,一个数据备份被分割为很多小块,形成Merkle树,树根Root就是副本的hash值。当用户或者系统要挑战存储方时,只需提出随机挑战请求,比如验证节点挑战位置12,那么矿工就需要计算从叶子节点D12到根节点Root的路径,输出一个证明给发起挑战的验证节点。

时空证明(Proofs-of-Spacetime)

存储收费不仅和数据的占用空间有关,更和存储时间相关,因而如何生成时空证明也很重要。时空证明是连续时间的大量的复制证明形成的证明链,  具体机制如下:


Filecoin中的角色存储矿工

存储两类数据,存储整个区块链所需的总存储量将远低于矿工为交易存储的密封数据。

l 密封客户的存储数据

l blockchain数据的数据的副本


检索矿工

真正存储用户数据的矿工可能离查询服务的用户很远,这时查询服务的用户下载数据的速度很慢甚至连接不上,这时就出现为提高速度和服务的矿工来缓存数据以提供更好服务,这个非常贴近CDN服务。具体方式可能有:

l 提供检索的途径

l 可以存储热门数据(非存储矿工),以便更优质提供服务

l 自己同时做存储矿工,或者从存储矿工处获取

l 不限于从filecoin网络获取,可以从免费的IPFS网络获取

l 检索效率的保证

l 检索矿工是不运行在blockchain中的,是off blockchain的。

l 全球分布式


检索客户和存储客户

检索客户是指那些从filecoin获取数据内容的用户、存储客户是指那些希望filecoin网络为自己存储数据的用户。


Filecoin基本概念

而filecoin本身也是一条链,所以公链里的概念,filecoin也有,例如共建、共有、共治、共享已经广泛的应用层等。

以上就是Filecoin的基本概念介绍,涵盖了Filecoin与IPFS的共生关系,以及Filecoin的共识算法逻辑,它不仅能作为全球性的分布式存储系统,更能让用户和内容创作者能够探索各种新的内容分发和经济模型。

星际文件(深圳)区块链有限公司成立于2018年,是一家以底层系统软件开发为核心技术,拥有基于服务器的供应链企业,以及云计算企业,遍布全球的高速VPN网络基础设施等众多优势资源,是一家集合了多家高新技术企业力量于一身、面向广大矿业企业提供软件技术服务,集群式服务器,以及托管和运维的高新科技型企业。

本文暂时没有评论,来添加一个吧(●'◡'●)

发表评论:

  • 评分:
  • 回到顶部