什么是IPFS:概述和用例

2019-04-19 15:22:16

360截图20200608103130788.png


  IPFS代表InterPlanetary文件系统,这个缩写听起来像来自像星球大战这样的Sci-Fi特许经营,事实上它是一种技术,在某些方面类似于常用的BitTorrent协议进行数据交换。从技术角度讲,IPFS是一种内容可寻址的点对点存储和共享超媒体的方法。

  它由Juan Benet于2015年开发,旨在促进分散式应用程序的开发。该协议的全球目标是使互联网比现在更快,更安全,更透明。


  协议概述

  IPFS是分布式P2P文件系统,换言之,是完全分散的内容传递网络(CDN),其允许在处理和存储数据方面具有前所未有的灵活性。

  信息存储的主要单位是262158字节或更少,包含文件的部分和到其他相关块的超链接。IPFS的一个弱点是,从Web加载的数据被复制到硬盘上的块存储中,这导致文件占用两倍的大小。去年出现了期待已久的“--nocopy”选项,它修复了这个缺陷,并允许将源文件用作块源。

  与BitTorrent的相似之处在于IPFS,您无法浏览任何目录或按名称搜索文件。IPFS网络可以描述为在一个Git存储库中交换文件的BitTorrent swarm。

  太复杂?想象一下BitTorrent,但更灵活,可扩展,统一的P2P在线文件存储空间。开发人员为他们的项目设定了一个非常雄心勃勃的目标 - 用他们的加密IPFS替换HTTP协议。


  IPFS如何运作

  IPFS是一个开源项目。它有一个用GO编写的跨平台客户端。它可以在任何系统上下载,编译。它由一个简单的命令ipfs守护进程启动,所有交互都通过简单的Web界面进行。在添加文件或目录时,系统会生成其multihash - SHA128 ID,它包含3个部分(散列函数,字节大小,散列本身)。Multihash有一定的发展空间,允许网络在未来使用更安全的哈希函数。Multihash包含在内容ID中。

  可通过gateway.ipfs.io访问网络。您需要知道您尝试访问的文件的多哈,以获取其地址,如http://gateway.ipfs.io/ipfs/[multihash]。您可以通过两种方式访问IFPS - 创建自己的本地节点并成为基础架构的一部分,或通过外部公共网关。

  这种P2P超媒体协议的一大优势是,站点不再需要文件的集中文件存储,这违背了互联网的基本原则之一。目前,当采用HTTP协议时,可以仅从一个位置(计算机/服务器)定位和下载文件,而IPFS允许同时从多个位置下载文件,从而导致相当大的速度增加。

  此外,如果中间链接停止响应,则很容易中断HTTP下载。我们正在接近内容交付成本成为决定性因素的时候,IPFS将为内容制作者和消费者提供前沿优势。


  隐藏的优势

  由于其性质,IPFS对DDoS攻击具有免疫力,目前困扰着许多集中式互联网资源。最重要的是,当互联网访问不稳定时,分散是有利的,它甚至允许在可用时通过离线缓存访问数据块。

  IPFS的另一个潜在隐藏优势可能是其物联网友好性。即使是现在,带有WiFi连接或灯开关的多功能电脑用他们的查询堵塞了互联网网络,随后随着这些设备的数量急剧增加,网络可能会过载。在这种情况下,IPFS凭借其简单性和分布原则将闪耀,并留下庞大而缓慢的HTTP。

  最后,让我们转向Netflix的例子,Netflix是最大的内容提供商公司之一,最近开始对可扩展的P2P流媒体技术进行大规模研究。着名的CDN提供商CloudFlare也在积极研究这项技术。该公司成立于2009年,从那时起已吸引了1.82亿美元的投资。这说明了大公司对分布式流媒体越来越感兴趣,并再次证明了对IPFS等项目的需求。这一点,以及IPFS是开源的这一事实,甚至对像YouTube这样的巨头来说也是一个令人信服的案例。

  换句话说,IPFS可以将互联网塑造成我们梦想的平台,由于当前的技术限制,这是不可能的。该协议实现了碰巧离线和偶尔在线的人们之间的可持续连接,成本更低,内容交付时间更快。


最新推荐