作者:CBB萌大熊 / 来源:投稿
本文作者 | CBB萌大熊 (知乎:https://www.zhihu.com/people/cbbmeng-da-xiong/activities)
星际文件系统(Inter Planetary File System,及IPFS)是一种点到点的分布式文件系统,由Juan Benet 在2014年5月份发起。IPFS链接的计算设备都有用相同的文件管理模式。从某种意义上来说,这个概念和Web最初理念很类似,但实际上是IPFS更像是互相转发Git目标的单个BitTorrent用户群。IPFS具备成为互联网子系统的可能,通过合理配置可以完善甚至替代超级文本传输协议(Hyper Text Transport Protocol,即HTTP)。通过存储多个数据副本,IPFS协议被认为可以用于创建一种更加永久的网络,使数据难以被删除。
① IPFS基础入门
在中心化模式里,服务高度依赖中心网络。大公司或者创业公司无法承受宕机,需要消耗特别高的成本,通常需要雇佣一批运维专家或者专业人事,去保障系统的稳定性。在分布式模式里,存储数据又由丢失的风险,电缆,人害都是隐患。而网络空间的治理模式而言,需要一个新的互联网传输协议,一个旨在创建持久且去中心化的分布式存储和共享文件的网络传输协议。
IPFS本质上是一种内容可寻址/版本化/点对点超媒体的分布式存储/传输协议,可以构建更快/更安全/更自由的互联网时代,目标是补充甚至取代过去20年里使用的HTTP。IPFS的开发目前处于ALpha试验阶段,还没能替代现存的网站存储系统。、
IPFS用基于内容的寻址替代传统的基于域名寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。用户上传一个文件到IPFS节点中,将会得到基于其内容计算出的唯一密码哈希值。哈希值直接反应文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,他会使用一个分布式哈希表找到文件的所在节点,取回文件并验证文件数据。IPFS从根本上改变了查找的方式,这是它最重要的的特征。在HTTP协议中,用户查找的时位置,而在IPFS协议中用户查找的似乎内容。
IPFS是通用目的的基础架构,基本上没有存储上的限制。大文件会被切分成小块,下载的时候可以从多个服务器中同时获取。IPFS的网络是不固定的,细粒度的,分布式的网络,可以很好的适应内容分发网络的要求。这样的设计可以很好的共享各类数据,包括图像,视频,数据库,甚至整个操作系统。
② IPFS解决方案
举例说明,明白IPFS和HTTP不用之处后,我们在后面的了解过程中,会轻松很多。那IPFS和HTTP的核心区别就是IPFS查找的是文件的内容,而HTTP查找是文件的位置。我们把原理简单阐述一下。
遵照HTTP协议,浏览器首先会查找服务器的位置(ip地址),随后向服务器索要文件路径。这种体系,文件的位置取决于服务器的管理者,而用户只能希望于文件没有被移动或者删除,并且服务器没有关闭。比如我们在使用百度云盘的时候,经常会出现的提示“文件已删除或移动”。
IPFS的做法,则是不关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中可能出现的内容。把文件放置到IPFS节点,会得到一个新的文件名(一个哈希值),这个文件名类似于我们使用的钱包公钥(地址),并且标识了文件的内容。当IPFS被请求一个文件哈希时,他会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据(整个过程相当于用私钥取出指定地址钱包的货币余额)。
另外IPFS文件还可以抽象成特殊的IPFS目录,从而标注的一个可读的文件名。从而标注一个可读文件名(可以映射到IPFS哈希),在访问时,会想HTTP一样获取一个目录索引。把网站在IPFS上建立只需要一条指令:
Ipfs add -r 网址
网页建的链接不再需要人去维护,IPFS自带的查找可以 解决。
③ IPFS的技术架构
IPFS与老技术相比优势在于:第一能提高系统效率。第二能降低系统运维成本。IPFS技术架构大概分为8层。从顶部的身份层,网络层,路由层,交换层,对象层,文件层,命名层,应用层。每层功能独立且搭配。对技术架构原理我们暂时不做细致讨论,这会引起大脑不适。
④ IPFS与区块链
严格来说,IPFS协议是使用了一部分区块链中技术所衍生出来的新技术协议,可以说是独立出区块链的新型技术。同时他继承了区块链中分布式账本,去中心化的属性,以及增加了无限可能的储存空间。但是这是在无链IPFS功能性上的优势,如果要保证链改IPFS项目的高能力运行,那么主链之间的信息传输将会是核心问题。因为这涉及到工作量证明验证,即所谓的挖矿。
比如LibP2P,是IPFS协议中的网络层,相当于快递公司的角色,主要功能是发现节点,链接节点,发现数据,传输数据。利用LibP2P的特点,使IPFS协议被任何区块链项目接入,因为还可以作为一个P2P工程的底层协议存在。
比如IPLD,他是一个转换器,可以把现有的异构的数据结构统一成一种格式,方便不同系统之间的数据交换和互相操作。因此,IPLD其实使一个转换的中间件,他支持比特币,以太坊等区块数据结构。这也是IPFS能与区块链系统融合的原因。比如跨链应用。
⑤关于Filecoin
Filecoin的项目起源使为了鼓励人们参与到IPFS协议的活动中,以借鉴BTC的经济模型而开发出基础IPFS协议的基础货币FIL。通过两种方式参与者可以获得货币。
1,Host为网络提供空闲的存储空间。
Retriver为网络中的节点提供宽带,帮其他用户传输文件。
简单说,Filecoin的意思是,要借助HTTP协议的存储空间和宽带,解决掉HTTP,参与的人们将给与FIL奖励。
PS:Filecoin的主网推迟已经多次,2019年11月启动的是测试网不是主网,主网启动新启动时间又又又又推迟到2020年第一季度。
现在,所交易的FIL是期货。主要在GATE和LBANK上。