什么是IPFS?

星际导航
什么是IPFS?

星际文件系统(InterPlanetary File System,缩写IPFS是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。
IPFS是用于存储和访问文件,网站,应用程序和数据的分布式系统。也是一个对等的分布式文件系统,它尝试为所有计算设备连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。[11]这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS没有单点故障,并且节点不需要相互信任。[12]分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。

该文件系统可以通过多种方式访问,包括FUSE与HTTP。将本地文件添加到IPFS文件系统可使其面向全世界可用。文件表示基于其哈希,因此有利于缓存。文件的分发采用一个基于BitTorrent的协议。其他查看内容的用户也有助于将内容提供给网络上的其他人。IPFS有一个称为IPNS的名称服务,它是一个基于PKI的全局名字空间,用于构筑信任链,这与其他NS兼容,并可以映射DNS、.onion、.bit等到IPNS。

1 什么是IPFS

星际文件系统(InterPlanetary File System). IPFS 是一个分布式的web, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且更加开放.

2 为什么有IPFS

众所周知, 互联网是建立在HTTP协议上的. HTTP协议是个伟大的发明, 让我们的互联网得以快速发展.但是互联网发展到了今天HTTP逐渐出来了不足.

HTTP的中心化是低效的, 并且成本很高.

使用HTTP协议每次需要从中心化的服务器下载完整的文件(网页, 视频, 图片等), 速度慢, 效率低. 如果改用P2P的方式下载, 可以节省近60%的带宽. P2P将文件分割为小的块, 从多个服务器同时下载, 速度非常快.

Web文件经常被删除

回想一下是不是经常你收藏的某个页面, 在使用的时候浏览器返回404(无法找到页面), http的页面平均生存周期大约只有100天. Web文件经常被删除(由于存储成本太高), 无法永久保存. IPFS提供了文件的历史版本回溯功能(就像git版本控制工具一样), 可以很容易的查看文件的历史版本, 数据可以得到永久保存

中心化限制了web的成长

我们的现有互联网是一个高度中心化的网络. 互联网是人类的伟大发明, 也是科技创新的加速器. 各种管制将对这互联网的功能造成威胁, 例如: 互联网封锁, 管制, 监控等等. 这些都源于互联网的中心化.而分布式的IPFS可以克服这些web的缺点.

现在的互联网应用高度依赖互联网主干网

主干网受制于诸多因素的影响, 战争, 自然灾害, 互联网管制, 中心化服务器宕机等等, 都可能是我们的互联网应用中断服务. IPFS可以是互联网应用极大的降低互联网应用对主干网的依赖.

3 IPFS的目标

IPFS不仅仅是为了加速web. 而是为了最终取代HTTP协议, 使互联网更加美好(野心真的很大).

IPFS如何在流媒体方面帮助我们?
IPFS正在成为Internet的一个新的主要子系统。如果构建正确,它可以补充或替换HTTP。
在IPFS流中,我们不需要将内容推送给每个用户。您所要做的就是将内容推送到IPFS网关。任何想要该内容的人都可以从那里领取。IPFS网关在本地缓存内容。因此,更多的网关,更多的内容来源。
IPFS提供了这些实时流媒体内容的持久性存储,因此,如果有人错过了实时流媒体,他们总是可以回来找它的保存副本。网络会自动删除重复项并跟踪版本历史记录。通过我们的界面,我们还允许用户安排实时流媒体和广播的内容。用户可以记录媒体并自动执行系统,以在指定的时间段内在给定的时间流式传输媒体。
IPFS有助于解决拥堵并通过分配来过度控制政府。IPFS地址而不是位置,直接指向资源,并确保此数据来自最近的源。
这意味着,如果一个教室里满是学生,他们会观看同一视频,那么他们会从彼此而不是任何中心位置获取视频。这将使4k视频流无缓冲。
IPFS流式传输如何工作
什么是IPFS?
1.获取内容
WebRTC通过简单的应用程序编程接口为Web浏览器和移动应用程序提供实时通信。使用WebRTC,我们每5秒钟将网络摄像头内容作为带有VP9编解码器的WebM传输到节点服务器。
2.转换为HLS
一旦我们在服务器端使用FFMPEG收到了内容块,就将其转换为HLS格式。它创建m3u8文件和ts文件。我们将这些文件添加到专门用于此实时流会话的文件夹中。'
3.将文件添加到IPFS
在此专用文件夹中的每次更新上,我们都需要将该文件夹添加/重新添加到IPFS,然后重新发布IPNS。每次更新后,内容都会更改,因此该文件夹的哈希也会更改。但是我们不需要这个,我们需要一个静态哈希,它可以引用这个动态的HLS文件文件夹。为此,我们正在使用IPNS。IPNS中的名称是公用密钥的哈希。它与一条记录相关联,该记录包含有关与其链接的哈希的信息,该信息由相应的私钥签名。新记录可以随时签名和发布。
4.在客户端播放
HTTP Live Streaming(HLS)是当今用于流传输视频的最流行的协议之一。在过去的几年中,HLS有充分的理由成为网络视频的标准协议。HLS的设置非常简单,可以免费使用,并且在各种设备上都受支持。
网络上的任何人都可以借助IPNS哈希请求内容,并使用HLS播放器在浏览器中播放。HLS播放器获取“ master.m3u8”文件,并按定义的顺序播放块。

关注IPFShub公众号

什么是IPFS?
温馨提示:本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与星际导航官方立场无关。
版权声明:星际导航 发表于 2020-08-19 7:07:32。
转载请注明:什么是IPFS? | IPFS导航 | IPFShub
广告也精彩

暂无评论

暂无评论...