首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IPFS取代HTTP基本已成定局,但仍需一段时间发展

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

近日,IFPS宣布了一个未来web发展计划,它用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。IPFS表示,IPFS未来将替代HTTP(以及其他的许多东西)

HTTP的问题

HTTP鼓励高度集中化

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

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

IPFS优势

与IPFS建立联盟的数据

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

从其他IPFS节点复制、存储web网站很容易。它只需要一条命令以及网站的哈希值,IPFS则可以完成剩下的所有工作。

IPNS

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

IPNS允许用户使用一个私有密钥来对IPFS哈希附加一个引用,使用一个公共密钥哈希(简称pubkeyhash)表示你的网站的最新版本。如果用户使用过比特币,可能会对此比较熟悉,一个比特币地址也是一个pubkeyhash。

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

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

人类可读的可变地址

IPFS/ IPNS哈希是一些很大的、难看的字符串,而且不容易记住。所以IPFS允许用户使用现有的域名系统(Domain Name System, DNS)来为IPFS/IPNS内容提供人类可读的链接。它允许用户通过在域名服务器上将哈希插入TXT记录来实现这一点。

未来,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可能还需要一段时间,但是现在市场上各种矿机商家纷纷推出各种各样的矿机,想要入坑的朋友一定要擦亮眼睛,不要被无良商家割了韭菜。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428G1K5S200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com