用户登陆
正在加载
ipfs协议与http有哪些区别?
互联网 · 2020-10-13 09:43:24

IPFS是什么?

image.png

IPFS是InterPlanetary File System的缩写,译为星际文件系统,由Juan Benet于2014年创立。

IPFS是一种分布式文件系统,区别于现在最常使用的HTTP。分布式系统能够通过改变网络的工作方式,把一对一、多对一,变成多对多,极大提高网络的处理速度和工作效率。

使用HTTP寻找内容时,每一个网页都有一个地址,用户在浏览器中输入地址、或者点击可以跳转的超链接时,浏览器通过HTTP,会将WEB服务器上站点的网页代码提取出来并呈现,形成一次请求对应一次WEB元素。如果网页中内容较多,需要较长的加载时间。

而在IPFS里,每一个内容都被分成多个部分,经过加密处理后存储在不同的电脑里,当有人提出调用申请时,就同时从多台电脑中调取出来碎片,拼接、恢复、呈现。在这个网络里的所有节点,都可以向其他节点提供内容和服务,可以允许多个节点请求多个WEB元素,大大提高处理效率。

举个例子来说,HTTP就像是图书馆,想要借书需要在图书管理员处登记、由管理员取书,如果第一个的人要借100本,那后面排队的人只能慢慢等。而IPFS就像图书角,每个人手里都有书,其中一个人发出100个借书请求,拥有这些书的人就会主动递过来,效率自然就提高。

除此之外,还能够避免中心化机构宕机问题带来的混乱。当大量的网络数据存储在中心化机构当中,一旦遭遇黑客攻击或者自然灾害,打击是致命的。一方面可能导致用户无法访问网络,一方面网络中数据会遭到损坏。

而且中心化机构自身、政府等可以随时要求,将网络当中的某些数据删除。这就是我们常见的404 Not Found情况。

IPFS上不是单个服务器场来存储和传递数据,如果一个节点受到攻击或关闭,仍然可以从网络上的其他节点检索数据。个别节点被攻击、数据受到损害,仍会有备份文件存在其他节点,可供调取。

且没有哪个权威可以决定删除IPFS当中的文件,例如为了回应西班牙政府的审查行为,加泰罗尼亚政府使用IPFS上传了以前被禁止的网站,并向公众开放。

IPFS以其优异的性能,从发布至今已平稳运行五年多。目前在IPFS协议上运行的应用已有数百个,全球已有数百万个节点。谷歌浏览器、火狐浏览器、D.Tube、IPWB、以太坊、Origin 等加入了IPFS网络。

IPFS的特点

1、IPFS为每一个文件分配一个独一无二的哈希值(文件指纹:根据文件的内容进行创建)。即使是两个文件内容只有1个比特的不相同,其哈希值也是不相同的。所以IPFS是基于文件内容进行寻址, 而不像传统的HTTP协议一样基于域名寻址。

2、IPFS在整个网络范围内去掉重复的文件,并且为文件建立版本管理。也就是说每一个文件的变更历史都将被记录(这一点类似版本控制工具git, svn等),可以很容易个回到文件的历史版本查看数据。

3、当查询文件的时候,IPFS网络根据文件的哈希值(全网唯一)进行查找。由于每个文件的哈希值全网唯一, 查询将很容易进行。

4、如果仅仅使用哈希值来区分文件的话,会给传播造成困难。因为哈希值不容易记忆,就像ip地址一样不容易记忆。于是人类发明的域名,IPFS利用IPNS将哈希值映射为容易记的名字。

5、每个节点除了存储自己需要的数据,还存储了一张哈希表。用来记录文件存储所在的位置,用来进行文件的查询下载。

讲一个剧情

小明想要观看一部xxx.avi的视频小红和小刚以前看过该视频,于是他们将视频文件加入IPFS网络,得到相同的哈希指纹B。(现实中,若该视频在周边好几个节点都持有,IPFS会把文件分块去重,节省节点的存储成本)小明在本地通过哈希指纹B(形如 /ipfs/B 的路径名),试图从IPFS网络拉取该视频。小明不关心最终的视频数据来自哪些节点。小明的节点索引DHT中的哈希值所对应的节点列表,并行地从这些节点下载部分数据块。(注意这里是部分,IPFS网络会自动从各节点下载部分数据块,再由本地的manager拼成完整的文件)小明的节点获得了这个视频,不仅自己可以观看,还可以为其他人提供资源。我们每天上网使用APP刷朋友圈、微博都在使用HTTP协议,它基于TCP/IP的计算机应用层面,从服务器传输超文本数据到本地浏览器,本地浏览器或APP渲染后呈现给用户。基于这样的网络环境构成了CS或BS架构,最后注入BAT这样大型网络提供商。

三种网络服务模式

互联网平台所提供的网络服务大致经过了三种模式的迭代历程:

第一个模式属于集中化,例如早期的12306因为没法分散去做,只有一个中心服务群,所有买票的流量直接搭载在这个服务群上,承载的压力非常大。

第二个模式属于分散集群,类似于O2O百团大战时各个网站需要建立不同区域下的服务群,它们背后的IDC机房,会让同样的服务在一个局域内分散,这就减轻了中心服务器的压力。前两种模式容易产生一些弊端:在第一种模式里,服务高度依赖中心网络。大公司或者创业公司无法承受宕机,运维有一个KPI指数叫SLA,稳定性没有到99.9%的话,基本不合格。SLA需要消耗特别大的成本,大公司需要雇一批运维专家或专业人士,去保障系统的稳定性。在第二种模式里,存储数据有丢失的风险。大家经常开玩笑的电缆被挖断,员工删库跑路,都是隐患。同时,这两种模式的带宽成本相对高很多,会造成一定带宽资源的浪费。比如《中国有嘻哈》第一期海选的视频播放量有10亿次,假设视频文件大小是1GB,播放整个视频需要消耗1000PB的带宽量。如果按照0.001美元1GB带宽成本,爱奇艺光一期节目需要支付一百万美金给ISP(互联网服务提供商)。IPFS有希望成为第三种模式。

IPFS想打造一个点对点的网络拓扑,相当于颠覆HTTP所代表的分布关系,它具有内容可寻址的特点,通过文件内容生成唯一的哈希标识,一定程度上节约了空间开销的成本。

为什么需要IPFS

根据官方网站的介绍,传统的HTTP协议具有以下不足之处:

1. HTTP的效率低下,并且服务器昂贵。使用HTTP协议从中心化的服务器集群中一次需要下载一个完整文件,而P2P的方式可以从许多peers(对等节点)中下载不同的数据块,经研究可以节省60%的带宽成本。

2. 历史文件被删除。网页的平均寿命是100天,部分网站数据不能得到永久保存。这也是受限于中心化服务器的高存储成本。

3. HTTP的中心化限制了发展机会。如下图,全球互联网的域名解析服务,根源上是由13个根服务器所提供。同时主要的云服务也由几家重要的云服务商所提供。政府和机构可以在这些中心化集群前截取HTTP消息包,窥探和监控网民的生活;黑客们也可以通过DDOS等手段攻击中心化的服务器集群,网络瘫痪的案例屡见不鲜。

4. 网络应用过于依赖主干网。当主干网因为不可抗力因素造成拥塞或宕机等,无法继续服务时,应用也会受到影响。

免责声明:
本网站所提供的所有信息仅供参考,不构成任何投资建议。用户在使用本网站的信息时应自行判断和承担风险。币界网不对用户因使用本网站信息而导致的任何损失负责。用户在进行任何投资活动前应自行进行调查和研究,并谨慎决策。币界网不对用户基于本网站信息做出的任何投资决策负责。用户在本网站发布的任何内容均由其个人负责,与币界网无关。
免责声明:本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币界网对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币界网用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币界网无关。币界网不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。
s_logo
App内打开