经过了比特币价格过山车式涨跌,以及亿级ICO层出不穷的吸睛,区块链正以席卷全球之势为大众所知。在这场盛宴中,无论投资者还是投机者都在不断挖掘着各种项目,伺机而动。然而新技术的门槛又让许多跑步入场的圈外人士难以判断一个项目的价值。为此,作为一个聚焦IPFS的团队,IPFS.FUND力求通过系统的介绍帮助大家较全面地理解IPFS项目。
既然要帮助大家系统地理解IPFS,IPFS.FUND将在接下来的一段时间内逐步推出原创文章,帮助大家建立起对IPFS较为完善的知识框架。我们的目标是:让没有技术基础的朋友们也能读懂IPFS项目。
而本文作为整个系列的导论,将简要说明:IPFS是什么、IPFS有什么目标、IPFS与Filecoin的关系三个问题。由此延伸出来的诸多问题,将后续以其他文章来解释,不断完善IPFS的知识树。
一、IPFS是什么
IPFS全称Interplanetary File System,是“星际文件系统”,是一个点对点的超媒体协议(“A peer-to-peer hypermedia protocol”——官网对其的最简说明)。
根据这个说明,IPFS的本质是一份“协议”,丰富一点来说时一份针对“超媒体”的协议,而“点对点”是通过该协议组织起来的网络的格局。也就是说,在这样一个中心化的存储网络(DecentralizedStorage Network)中,每个节点都可以提供存储空间,供网络中的其他节点进行存储,同时也提供传输,依据规则向网络中需要读取该文件的节点发送本地存储的文件。
要理解这个含义,需要明白三个词:【协议】、【超媒体】、【点对点】。
【协议】:这里的协议指的是网络通信协议,我们可以把它理解成一份规则,这份规则规定了网络上节点之间如何通信。这里我们可以打个比方,人与人之间的交流(通信)也是有规则(协议)的。在最常见的面谈中,语言就是规则,中国人和中国人可以很好地交谈,因为用的是同一种语言,中国人和美国人就难以交谈,因为各自的语言不同(协议不同),除非其中一方学会另一方的语言,并用对方的语言来交谈(切换规则)。
【超媒体】:超媒体的概念源自超文本,是指采用非线性的、网状的结构对多媒体进行管理。比如我们访问一个界面,该界面的多媒体(文本、图片、视频等)来自不同的空间(存储位置),在我们访问的时候通过一定规则组织在一起后被呈现给了我们,而不是在一开始就把这些多媒体素材放在一起做成一个界面,然后上传服务器,并在我们请求的时候展示出来。
【点对点】:简称p2p。基于技术特点,所有的区块链项目都在一定程度上追求去中心化的效果,而传统互联网络,恰是一个典型的中心化系统。我们设想这样一个场景:但我们要用某个客户端(电脑或手机或其他)下载一份数据(可能是文本、图片、视频等),在实际运作中,是由客户端向存有该数据的服务器发送请求,服务器根据规则作出响应,向本地客户端发送该内容,完成本次通信。那么一旦服务器出现故障,我们就无法获得这份数据。而在点对点网络中,不存在代表中心的服务器,所有节点都是对等的,既可以响应别人的请求发送数据,也可以向别的节点发出请求。于是,我们是向网络中存有该数据的节点发出请求,当其中一个存有该数据的节点出现故障时,则由其他存有该数据的节点进行响应。针对这两种网络,小编尝试画两张图作说明:
二、IPFS的目标
从名字中就可以看出来,IPFS项目可以说是充满了雄心壮志,其目标或者说野心是:取代HTTP协议。
要判断一个项目的发展前景,除了看起目标是否远大之外,还要了解其实现的可能性,这里将延伸出2个问题:
1、HTTP是否需要被替代?
2、IPFS是否是替代HTTP的最好选择?
这两个问题我们将在之后的其他文章中进行说明,这里先帮助大家简要理解一下IPFS项目。
要理解这个目标,最好是简单了解下通信协议层、HTTP协议。
【通信协议层】:开放式系统互联参考模型(Open System Interconnection)是ISO组织推荐的一个网络系统结构,请注意这是一个“参考”模型,并非所用的网络通信都是严格按照该模型进行的。该模型设定了七层网络协议,这七层由高到低分别是:应用层(A) 、表示层(P) 、会话层(S) 、传输层(T) 、网络层(N) 、数据链路层(DL)、物理层(PH)。每一层都有一系列协议,分别规定了在数据传输过程中所应遵循的规则。其中大家所熟悉的TCP/IP协议中,TCP就在传输层,IP就在网络层。在此可以这么理解,前面说了各国语言可以看做是人类交流的协议,其实语言也是有使用前提的,也就是听说的能力,因此听说就可以看做是比语言更低的一层协议。如果我们要与一位聋哑人交流,无论用哪种语言都没有用,必须用肢体动作(哑语),语言和肢体动作可以看做是同一层的两种协议,在其中的语言这一层上,各国语言是各种不同的协议。网络通信协议层也可以这么理解。
【HTTP协议】:即超文本传输协议(Hyper Text Transfer Protocol),位于网络协议层的应用层中。在该协议的产生过程中,万维网协会(World Wide Web Consortium)和互联网工程工作小组(InternetEngineering Task Force)是主要的工作组织之一,因此所有www文件都必须遵守这个协议。换而言之,HTTP协议、包括加入了SSL层以提高安全性的HTTPS构成了今天我们使用的互联网的不可或缺的组成。
三、IPFS与Filecoin的关系
关注挖矿的朋友们常常问小编:IPFS应该如何挖矿,这里就要先解释一下IPFS和Filecoin是什么关系。
IPFS的项目团队是Protocol Labs,核心领导人是Juan Benet,这个团队正在开发的项目不仅是IPFS,还有Filecoin、libp2p、IPLD、Multiformats,各个项目之间相辅相成,我们会在之后的文章中对其进行分析,这里先只说Filecoin。
前面已经讲了基于IPFS协议可以搭建起一个p2p网络,网络节点贡献出自己的存储空间供其他节点使用,是不是有一种很熟悉的感觉?是不是想起了bt下载、eMule、迅雷,然后就是各种老师铺面而来。
那么在使用这些网络下载资源的时候,最常见的问题是什么?是不是下着下着突然没资源了?
我们一边骂着“这些龟儿子!有资源不共享还来用什么p2p!”一边无比纯熟地把下载好的文件设置为不再上传。原因是什么?是无利可图,是缺乏激励!归根结底还是人性在作祟。
了解比特币的朋友们都知道,作为一种去中心化的可编程加密数字货币,为了能实现共识,比特币的诸多机制设计都是基于人性的,同样地,IPFS的成功运用离不开针对人性的设计,Filecoin就是其中推动IPFS被广泛运用的激励设计。通过Filecoin,可以激励那些为IPFS网络提供资源的节点,而激励物就是Filecoin。因此,如果说在IPFS上挖矿,挖的也就是Filecoin了。
这部分原本是把共识算法、时空证明都写进来的,但这样一来就延展太开了,所以思虑再三后,为了符合“入门”的定位,还是把那些内容都删去,之后在逐步扩展。这里大家理解Filecoin是对IPFS网络的的激励就行了。
选择基于信任
效率代表决心