前言
随着社会网络的不断发展,当前时代人们对网络资源的渴求越来越大,从文本、图片乃至视频文件。然而在人们的日常使用中,传统的HTTP协议的诟病一一浮现出来,于此同时其他的传输协议也不断兴起,IPFS作为一个点对点分布式文件系统系统无疑是其中的佼佼者!本文就此对IPFS做个简单介绍。
一、什么是IPFS?
PFS,是一个点对点的分布式文件系统协议,也被称为“星际文件系统”(InterPlanetary File System),它可以让我们的互联网速度更快,更加安全,并且更加开放。在应用场景中,与HTTP有相似之处,然而IPFS协议的目标是取代传统的互联网协议HTTP。
二、IPFS与HTTP对比
下面我将从速度、安全性、开放性三个方面将传统的HTTP与IPFS做对比:
1.速度
HTTP:
使用HTTP协议需要从中心化的服务器下载完整的文件,其中不乏有比较占用带宽的视频文件,速度相当慢。
IPFS:
P2P将文件分割为小的快,从多个服务器同时下载,速度相当快,大约可以节省近60%的带宽。
2.安全性
HTTP:
你或许有过如下经历:在网上看到一篇非常好的blog,于是乎将其添加到收藏夹。几个月后,突然用到此blog中某个知识点,想去查看一下,于是打开收藏夹中的链接进行去访问,但是浏览器返回的404(无法找到页面)。什么原因呢?原来http的页面平均生存周期大约只有100天,Web文件经常被删除,无法永久保存,归根接底是由于存储成本太高
IPFS:
相反IPFS则不会出现这样的情况。IPFS提供了文件的历史版本回溯功能,用过git或者svn(或者其他版本控制工具)的同学们肯定知道,git可以很容易的查看文件的历史版本, IPFS也是借助了类似的思想,使数据可以永久的保存。
3.开放性
HTTP:
我们现在的互联网是一个高度中心化的网络。各种管制将互联网的功能造成威胁,比如:互联网封锁,管制,监控等等。
IPFS:
分布式的IPFS可以克服这些web的缺点。
三、IPFS的内容
1.协议:
首先IPFS是一个协议,类似于http协议,它拥有以下功能:
- 定义了一个基于内容的寻址文件系统
- 内容分发
- 使用的技术分布式hash、p2p传输、版本管理系统
2.文件系统:
其次IPFS是一个文件系统:
- 有文件夹和文件,类似于我们熟悉的百度网盘
- 可挂载文件系统
3.web协议:
1.它可以像传统的http那样查看互联网页面
2.未来浏览器可以直接支持ipfs:/或者fs:/协议
4.模块化的协议:
IPFS是一个模块化的协议,它包括连接层、路由层及数据块交换三个方面
1.连接层:可以通过其他任何网络协议连接
2.路由层:寻找定位文件所在位置
3.数据交换:采用BitTorrent技术
**比特流(BitTorrent)**是一种内容分发协议,由布拉姆·科恩自主开发。它采用高效的软件分发系统和点对点技术共享大体积文件(如一部电影或电视节目),并使每个用户像网络重新分配结点那样提供上传服务。一般的下载服务器为每一个发出下载请求的用户提供下载服务,而BitTorrent的工作方式与之不同。分配器或文件的持有者将文件发送给其中一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载都全部完成。这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量[带宽] 特点:上传速度越快,下载速度越快。(百度百科)
5.p2p系统
IPFS是一个p2p(点对点)系统,它具有以下特点:
1.世界范围内的p2p文件传输网络
2.分布式网络结构
3.没有单点失效问题
6.CDN:
CDN:CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术(百度百科)
1.文件添加到IPFS网络,将会在全世界进行CDN加速
2.bitorrent的带宽管理
7.命名服务:
IPFS拥有命名服务:
1.IPNS:基于SFS(自认证系统)命名系统
2.可以和现有域名系统绑定。
四、IPFS应用领域
IPFS主要应用于以下几个领域:
1.建立永久信息档案
IPFS提供了一个弱冗余的、高性能的集群化存储方案。我们可以通过IPFS建立一个长久存在的信息档案。
2.降低存储、带宽成本
IPFS提供了一个安全的点对点内容分发网络。在云计算时代,我们日常所用的网络带宽和网络存储服务,大部分都是由第三方服务平台支持。比如YouTuBe,它需要支付高额的流量费用给IPS(互联网服务提供商),而YouToBe,则通过商业广告及收费会员的形式转接给用户。
介于此IPFS协议实验室团队借鉴比特币的经济模型,设计了基于IPFS的区块链项目Filecoin。Filecoin将IPFS网络参与者分为两类:Storage Miner(为网络提供空闲的存储空间) 和Retriver(为网络中的节点提供带宽,帮助其他用户传输文件),通过这种共享模型充分利用闲置资源,降低了系统总成本,并为用户降低了使用成本。
3.与区块链完美结合
我们可以使用IPFS处理大量数据,并将不变的、永久的IPFS链接放置到区块链事务中,而不必将数据本身放在区块链中。
4.为内容创作带来自由
IPFS可以帮助用户以一种去中心化的方式交付内容。比如Akasha,它是一个基于以太坊和IPFS的社交博客创作平台,用户创作的博客内容通过一个IPFS网络进行发布,而非中心化服务器,内容收益直接归创作者所有,没有中间商分利。
五、IPFS应用场景
下面我要说的是IPFS的主要应用场景,这也许也是大家最关心的问题,
我会从搜索引擎、平台类、社交类、电商类等几个方面一一作介绍。
首先,在2020年2月10日,协议实验室发布了《IPFS 2020年项目重点》,回顾了IPFS在2019年的发展:IPFS公共网络在2019年增长了30倍!每天有成千上万的节点参与IPFS网络!每周都有数百万用户访问IPFS HTTP网关! 在2020年的美国最大的以太坊峰会ETHDenver里面,提交给ETH Denver的52个项目中,有24个是使用IPFS构建的。
在下图中我们可以清楚的看到IPFS在各个领域的应用场景
1.搜索引擎
说到搜索引擎,我们可能会首先想到谷歌浏览器、火狐浏览器。
【谷歌浏览器】
谷歌浏览器(Google Chrome)是目前世界上使用率和市场占有率最高的浏览器。谷歌应用商店为我们提供了丰富的插件,为我们平时的使用提供了便利。在谷歌的应用商店里,我们也能找IPFS的身影。 2019年初,IPFS 伴侣上架谷歌网上应用店。这款插件简化了对IPFS资源访问的浏览器扩展。IPFS是由于IPFS官方社区孵化而成,目的在于帮助用户在本地更好的运行、管理自己的节点,并随时查看IPFS节点的资源信息。无需下载,一键调用。
【Firfox火狐浏览器】
早在2018年火狐 WebExtensions 产品经理 Mike Conca 在 Mozilla 官网介绍了火狐的59项最新扩展。其中一项特性是支持包括IPFS在内的分布式协议,新增了“ipfs://”协议的支持。
2.平台类
【Netflix(网飞)】
Netflix是全球最大的流媒体平台,主要提供互联网在线流媒体播放,定制DVD、蓝光光碟在线出租等业务。Netflix面临最大的难题来自于容器分发问题。镜像层通常位于不同的区域。那么如何在大规模,多区域环境中有效地提取容器镜像呢?现在Netfilx与IPFS合作,利用IPFS作为点对点CDN,可以使Netflix基础架构内的节点进行协作并将共同的种子播种到相邻节点,从而有助于更快地分发容器。
Bitswap是IPFS在两个或多个对等端之间传输文件片段的机制。Netflix针对Bitswap进行了重大改进,在旧版Bitswap中,平均需要花费9.08秒将300 MiB图像拉到32个窃取点上。然而经过改进之后将这一时间缩短至3.16秒,比DockerHub(3.93秒)快也快了20%左右。当窃取点的数量超过播种者时,窃取的片段被重新播种,从而减少了种子与窃取者之间的联系。
【D.Tube】
D.Tube对标YouTube,它是第一个加密分布式视频平台,建立在 STEEM 区块链和 IPFS 点对点网络之上,未来会支持FIlecoin网络,旨在成为 YouTube 的替代品,允许用户在IPFS/FIlecoin 基础上观看或上传视频,并在不可变的 STEEM 区块链上进行分享或评论,同时赚取加密通证!
【Ujomusic】
Ujomusic对标虾米音乐和咪咕音乐 ,它是一个 IPFS上的音乐家的区块链市场。2015年,Ujo帮助音乐家Imogen Heap用区块链发行了作品“Tiny Human”。粉丝可以购买许可权,下载、试听,也可以用于混音等用途;而且粉丝支付的钱会自动分配给Heap和该作品的合作方。该初创企业还和很多品牌合作,为了“在开源区块链系统中将这些目录重新数字化”,同时鼓励开发者在平台上开发应用
3.社交类
【Peepeth】
Peepeth是一个分布式社交平台,可以看作是区块链版推特。包括以太坊V神等人均在使用。
4.电商类
【Open Bazaar】
Open Bazaar对标淘宝和亚马逊,它是一个去中心化的全球自由买卖市场 。这个平台没有一个中心服务器,每个用户要使用 Open Bazaar 平台购物时,都需要下载一个软件,自身也作为一个服务器节点,为整个网络服务。目前,这款软件已经有 30 多个国家在使用,OpenBazaar 利用 IPFS 的强大功能创造了一个完全免费的电子商务!
5.其他应用
【Peer Map】
PeerMaps是一个分布式,离线的地图应用,可替代商业地图提供商(例如Google地图)。您的计算机不是从集中式切片服务中获取数据,而是从网络中的其他对等方获取地图数据
总结
以上就是今天要讲的内容,包括IPFS的简介,IPFS主要内容及IPFS的主要应用领域及场景。