HTTP协议的问题与IPFS的解决

Posted IPFS方得社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议的问题与IPFS的解决相关的知识,希望对你有一定的参考价值。

本文章允许转载,但必须注明:原文来自于星际资本(http://ipfs.fund)。否则视为侵权。


前面我们谈到IPFS的目标是取代HTTP协议,那么HTTP协议存在哪些问题?IPFS如何解决这些问?2015年有一篇文章《IPFS:替代HTTP的分布式网络协议》对上述问题做出了一定分析说明,文章的大意是:

《IPFS:替代HTTP的分布式网络协议》文章纲要

一、HTTP存在很多问题

1、HTTP鼓励高度集中化。这种与Web去中心化的本意背道而驰的结果,使得用户非常依赖少数服务器及主干网络,而美国国家安全局这样的组织非常容易进行信息拦截与与监听。

2、HTTP是低效的。对服务器和主干网络的依赖,导致传输成本高昂。

3、HTTP过度依赖于Internet主干网。主干网的各种故障都将导致大面积的网络瘫痪。

二、IPFS如何解决了这些问题

IPFS的基于内容寻址和分布式存储的特性,可以大大提升通讯速度。此外IPFS还具有存储限制很少、文件可以作为IPFS目录对象对其他文件进行访问的特点。

1、与IPFS建立联盟的数据。IPFS协议建立起来的网络可成为一个数据永不丢失的数据联盟。

2、IPNS。通能过IPNS可以生成一个公钥,公钥指向代表网页的IPFS文件哈希,可以改变其指向的文件哈希,从而完成网站更新。

4、IPFS HTTP网关:新旧网络之间的桥梁。IPFS支持通过HTTP网关进行过度,方便用户使用不同协议访问网络。

5、IPFS真正能够替代HTTP可能还需要一段时间,而且也有很多工作要做。

    其实除了文中所提的几个问题外,IPFS对比HTTP的取代还有几个因素值得考虑:

    1、依赖服务器的HTTP网络还非常容易产生内容丢失的问题。而IPFS的分布式存储,可以让内容永久保存,除非同时对所有节点进行攻击。

    2、HTTP协议基于文本的明文传输,没有数据隐私可言,而作为升级版的HTTPS引入了SSL(Secure Sockets Layer)机制对数据进行加密,但HTTPS需要中心节点部署证书,去中心化,而去中心化存储的IPFS本身则无法做到这一点,必须考虑采用其他的保密措施。


以下是《IPFS:替代HTTP的分布式网络协议》的全文:





IPFS:替代HTTP的分布式网络协议


    今年年初,Internet Archive开始倡导分布式网络。现在关于它的声音已经变得越来越清晰而又响亮。而IPFS就是在这种环境下出现的一个典型的开源代表。IPFS是点对点协议InterPlanetary File System的简称,它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。

一、HTTP存在很多问题

    HTTP鼓励高度集中化

    Web的本意是去中心化,但它却变得越来越中心化,今天越来越多的人依靠的是少数网站的服务。HTTP变成了一个脆弱的、高度集中的、无效的、过度依赖于骨干网的协议。像美国国家安全局这样的组织,现在只需要在几个点上拦截通信来进行监视。对政府来说,阻止网站访问这些高度集中化的资源变得容易。这也使通信容易遭受DDoS攻击而面临巨大的风险。

    将web进行去中性化,可以降低极少数强大组织的延展性,并提高所有站点的自由度和独立性,同时也降低了由于服务器中断造成数据丢失的风险。

    HTTP是低效的

    如果不是成规模的处理数据,将这些数据从中央数据中心分发仍然是非常昂贵的。IPFS可代替总是从数据中心获取内容的HTTP,如果将一个ISP网络上的每一台计算机变成流媒体CDN,这时会怎么样?例如,获取江南Style视频,就可以完全在ISP网络上下载,而不需要在Internet骨干网上经过大量的传输,从而大大减少数据传输的费用。

    HTTP过度依赖于Internet主干网

    当内容过度集中化之后,这让数据中心高度依赖于Internet骨干网。这样除了有利于政府对内容进行封锁和审查,事实上存在很多可靠性问题。即使允许冗余,主要的骨干有时还是会被损坏,或者出现路由表失控,其后果可能是非常严重。Internet骨干网并不健全,其很容易被攻击,同时一些重要的光纤线路被切断时服务很容易遭受影响。

二、IPFS如何解决了这些问题

    当文件被添加到IPFS节点上,它得到一个新的名字。这个名字实际上是一个加密哈希,它是从文件内容中被计算出来。通过加密保证该哈希始终只表示该文件的内容。哪怕只在文件中修改一个比特的数据,哈希都会完全不同。

    当下一步向IPFS分布式网络询问哈希的时候,它通过使用一个分布式哈希表,可以快速(在一个拥有10,000,000个节点的网络中只需要20跳)地找到拥有数据的节点,从而检索该数据,并使用哈希验证这是否是正确的数据。

    IPFS是通用的,并且存储限制很少。它服务的文件可大可小,对于一些大的文件,它会自动将其切割为一些小块,使IPFS节点不仅仅可以像HTTP一样从一台服务器上下载文件,而且可以从数百台服务器上进行同步下载。IPFS网络是一个细粒度的、不可靠的、分布式的、易联合的内容分发网络(Content Delivery Network , CDN)。对于所有数据类型都是很有用的,包括图像、视频流、分布式数据库、操作系统、blockchains等,而对于IPFS来说,最重要的是静态web网站。

    IPFS文件也可以是特殊的IPFS目录对象,它允许用户使用人类可读的文件名,透明地链接到其他IPFS哈希。用户可以通过默认方式加载目录中的index.html,这也是标准的HTTP服务器采用的方式。使用目录对象,IPFS可允许用户采用完全相同的方式生成静态网站。将web网站添加到IPFS节点中只需要一个简单的命令:

    ipfs add -r yoursitedirectory。

    在此之后,用户可以从任何IPFS节点访问,而不需要链接到HTML上的任何哈希。

    与IPFS建立联盟的数据

    IPFS不需要每个节点存储所有发布到IPFS上的内容。相反,每个节点只存储自己想要的数据。如果每个节点托管一点数据,所有数据通过累积就提供了比任何集中式HTTP更多的空间、带宽和可用性。分布式网络将很快成为世界上最快、最可用、以及最大的数据存储。没有人有能力关闭所有的节点,所以数据永远不会丢失。

    从其他IPFS节点复制、存储web网站很容易。它只需要一条命令以及网站的哈希值:

    ipfspin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8。

    IPFS负责剩下的所有工作。

    IPNS

    IPFS哈希代表不可变的数据,这意味着它们是不能被更改的,否则会导致哈希值的变更。这是一件好事,因为它鼓励数据的持久性,但我们仍然需要一种方法来找到最新的IPFS哈希以表示你的网站。IPFS通过一种特殊的功能来实现,即IPNS。

    如果该链接不起作用,不用担心。能够通过更改pubkeyhash所指向的内容,而pubkeyhash却永远保持不变。这样,网站的更新问题就得到了解决。

    接下来,只需要保证这些网站的位置是人类可读的,所有问题就解决了。

    IPFS/ IPNS哈希是一些很大的、难看的字符串,而且不容易记住。所以IPFS允许用户使用现有的域名系统(Domain Name System, DNS)来为IPFS/IPNS内容提供人类可读的链接。它允许用户通过在域名服务器上将哈希插入TXT记录来实现这一点(如果你方便使用一个命令行,运行如下命令:dig TXT ipfs.git.sexy)。具体可以参考这里 http://ipfs.io/ipns/ipfs.git.sexy/。

    未来,IPFS已计划支持Namecoin,它理论上可以用来创建一个完全去中心化的、分布式的web,整个环境中不需要一个中心控制。没有ICANN,没有中央服务器,没有“权威”证书,也没有瓶颈。这听起来很疯狂。可现实的确疯狂。因为使用今天的技术这是完全可以实现的!

    IPFS HTTP网关:新旧网络之间的桥梁

    通过一个HTTP网关,IPFS可以实现从HTTP到IPFS的过度,浏览器可以完全实现IPFS之前,现在已经允许当前的web浏览器访问IPFS。用户很快就可以切换到IPFS,完成web网站的存储、分发和服务。

    到目前为止,IPFS还处于实验阶段。当网站更新的时候,Neocities将每天发布一个哈希IPFS。这个哈希将指向该网站的最新版本,并通过IPFS HTTP网关可以访问。因为每次更新IPFS哈希都会变更,这也能够为所有网站提供一个存档历史记录。

    从长期来看,如果一切顺利的话,Neocities希望使用IPFS存储所有的网站,并为每个网站发布IPNS键。这将让用户可以不依赖于Neocities而进行内容发布。如果构建得当,即使Neocities不存在了,用户仍然可以更新自己的网站。通过有效地去除网站对Neocities中央服务器的依赖,这种集中控制环境将被永久性打破。

    IPFS真正能够替代HTTP可能还需要一段时间,而且也有很多工作要做。

    通过与协议实验室(Protocol Labs)合作,Neocities已经成为产业界实施IPFS第一大网站。从9月8日开始,所有Neocities站点可以为世界上任何IPFS节点提供查看、存档和托管功能。当一个IPFS节点选择从Neocities上托管一个网站的时候,即使Neocities关闭了或停止对它托管,网站的原始版本仍继续可用。使用Neocities网站的IPFS节点越多,Neocities网站越容易访问。

    目前,IPFS仍处于alpha开发阶段。它还没有取代现有的网站存储系统。如同任何复杂的新技术,它还存在很多需要的改进地方。但IPFS不是雾件,现在已经可以开始工作,感兴趣的用户可以下载软件安装到电脑上。

    《IPFS:替代HTTP的分布式网络协议》全文完

    

    当然,关于IPFS对HTTP的取代,还有许多值得探讨的,这涉及两个协议的具体内容,后续我们会再进一步进行分析。


欢迎扫描添加群秘微信,加入IPFS星际社区,获取更多资讯。


以上是关于HTTP协议的问题与IPFS的解决的主要内容,如果未能解决你的问题,请参考以下文章

如果HTTP协议被IPFS取代,看懂你就财富自由了

什么是IPFS?它能取代HTTP协议?

404之殇——凭什么说IPFS能取代HTTP成为互联网底层协议?

IPFS将颠覆HTTP协议,变革信息传播方式!

IPFS凭什么可以代替HTTP

IPFS凭什么可以代替HTTP