IPFS技术协议范本真的能改变HTTP协议吗?

IPFS—http的终极杀手
本文整理自从小白到精通,有删节如果说区块链技术是互联网技术的一次升级,那么IPFS,可能会被认为是对互联网协议的一次重塑。首先,我们来认识下IPFSIPFS—又称“星际文件系统”。简单点说,它是一个点对点的分布式文件系统(和比特币技术一样),通过底层协议,可以让存储在IPFS系统上的文件,在全世界任何一个地方快速获取,且不受防火墙的影响(无需网络代理)。我们现在所使用的互联网协议被称作——超文本协议HTTP。这种协议具有超中心化特性。也就是说,你从互联网上下载文件或者是浏览网页,一次只能从一个数据中心获取你所需要的资料。如果这个数据中心出现故障,或者被限制或是攻击,就会出现文件丢失或者网页无法打开的问题。比如你存在某云盘的资料突然无法下载,或者你想浏览的网页因为某些政策原因无法打开。而IPFS的目的就是解决这些问题。在某些方面,IPFS类似Web,你一样可以基于IPFS进行互联网地址的链接。但IPFS是去中心化的,它不存在Web的主网故障问题。所以,IPFS完全取代掉HTTP也并非天方夜谭。但如果仅仅把IPFS当成HTTP看待,那就有点小看它。接下来就为你介绍他的两个重要特质。01互联网信息永久存储IPFS像是一个分布式存储网络(类似于SIA),任何存储在系统里的资源,包括文字、图片、声音、视频,以及网站代码,通过IPFS进行哈希运算后,都会生成唯一的地址。今后,你只要通过这个地址就可以打开它们。并且这个地址是可以被分享的。而由于加密算法的保护,该地址具备了不可篡改和删除的特性(在某种意义上,如果破解密码还是有可能被篡改或删除,但概率极低)。所以,一旦数据存储在IPFS中,它就会是永久性的。比如我们经常会遇到的某个资源删除无法访问的问题:。这种情况,在IPFS上就不会发生。即便是把该站点撤销,只要存储该站点信息的网络依然存在,该网页就可以被正常访问。存储站点的分布式网络越多,它的可靠性也就越强。与SIA不同的是,IPFS存储的一般是公共信息,普通大众都可以获得的。有一种说法认为,如果IPFS完全取代HTTP,那么此后,人类历史将会被永久保存,且不会被篡改。这也就意味着,人类所做的每一件事情都会被记录,不管是正确的、抑或是错误的。02解决“过度冗余”问题如果你喜欢某部电影,又担心电影资源丢失,通常的做法是,你会把这部电影下载在自己的电脑上。比如电影《阿凡达》,在2016年一年的下载次数就达到了1658万次,总下载数量更是惊人。那么一个无法避免的问题是:同样的一部电影被反复储存,造成了内存资源极大浪费。这就是HTTP协议的弊端。同样的资源备份的次数过多,就会造成过度冗余的问题。而IPFS的出现可以很好的解决这个问题。IPFS会把存储文件,做一次哈希计算,只字不差的两个文件哈希值相同。所以,用户只需要使用相同的哈希值,就可以访问那个文件,这个哈希值就是文件的地址。只要获取这个地址,就可以共享资源了。基于上面的永久存储特性,你再也不用担心某个电影找不到了,也不用备份,因为全球电脑上只要有那么几个人存储着,你就能拿到它。而不是重复存储几十万份。你也许会问:那如果大家都不存储呢?关于这个问题,IPFS也有自己的应对方法。创始团队在今年8月,发布了自己的代币Filecoin,用来鼓励IPFS网络中的数据存储。而这个Filecoin,类似于现在比较火的迅雷玩客币,以及流量矿石。可以通过硬盘存储的方式进行挖矿获得代币(目前IPFS团队还未公布挖矿信息)。不同的是,Filecoin是基于“复制证明”机制POR来完成挖矿确认。IPFS团队 (你是否有和我一样的感觉,看到IPFS如同看到未来。)当然,IPFS的野心愿景是否能实现,也要看团队的真正实力。那么,到底是谁提出了这一颠覆性的构想?IPFS创始人——Juan Benet,毕业于斯坦福大学。他和他的团队创建的Protocol Labs(协议实验室)在2014年夏季入选美国顶级孵化器Y-Combinator,团队已经成功开发出多个项目。目前IPFS项目获得了10多个投资人的投资。关于这个团队,我发现他们非常低调,创始人Juan Benet的个人信息网络上也极少。实际上,IPFS项目在2015年就已经启动,目前尚处于实验阶段。IPFS社区有数百位贡献者共同完成整个系统的创建工作。虽然团队低调,不过它在开源社区内部却得到了迅速的口碑传播。从“星际文件系统”这个名称上可以看出,IPFS是去中心化网络基础设施的一个野心设想。“希望很多不同类型的应用都可以建立在IPFS上。至少,它可以用来作为一个全局的,挂载性,版本控制文件系统和命名空间,或者作为下一代的文件共享系统。而最好的情况是,IPFS可以让Web升级一个层次。当发布一个有价值的信息时,任何感兴趣的人都可以进行发布而不会强迫性的必须只允许发布机构进行发布。用户可以信任信息的内容,信不信任信息的发送者都是无关紧要的,还有一个特点就是,一些重要但很老的文件也不会丢失。IPFS期待着带我们进入到一个永恒Wdb的世界。”思考 任何颠覆性的创新都会带来一些问题,自然IPFS也不例外。技术层面的问题,我相信团队有这个实力去解决。在此和大家分享两个思考题:1、不可删除是否真的需要?不可篡改、删除是IPFS不同于HTTP的优势,但在某些方面,这也会变成它的劣势。一个不可被删除的存储系统,是不是意味着缺少容错机制?2、代币FIL的价格如何锚定?IPFS的代币Filecoin主要是激励用户提供存储和检索服务。和Sia一样,需要存储服务的用户则需为此支付代币。那么这就形成一个矛盾:代币投资者以及矿工希望代币价格越高越好,而需要存储服务的网页提供商(类似亚马逊、腾讯)则希望代币价格越低越好。可有时候我们既是投资者也是使用者。这个问题,应该是所有去中心化的存储系统共同面临的一个问题。相关链接项目官方网:https://ipfs.io/协议实验室:https://protocol.ai/早期矿工计划:https://filecoin.io/官方推特:https://twitter.com/IPFSbot视频演示:
商务合作 QQ:
币源总群 QQ:
币源官方微博:@币源社区
币源官方电报:
文章投稿邮箱:
All Rights Reserved.
京ICP备号-1
Powered by 北京币源网络科技发展有限公司IPFS是什么?为什么说它将取代HTTP? | 巴比特
IPFS是什么?为什么说它将取代HTTP?
今年年初Internet Archive发布了对分布式Web方案的征集,新的Web将会变得速度更快,安全性更高,更可靠,并且更加持久。对此我们感到兴奋不已,同时也将立刻踏上探索Web未来的旅途。
通过和Protocol Labs合作,Neocities成为了在生产中使用IPFS的最主要力量。目前Neocities的所有网站都可以通过世界上任意一个IPFS结点浏览和归档,即使Neocities关闭或撤下了某个站点,该站点也仍然可以被有效访问。支撑Neocities网站的IPFS结点越多,这些网站的可靠性越强(冗余度越高),对我们的集中依赖也就越少。
那么什么是IPFS呢?让我们来看一下它的README的内容:
IPFS(The InterPlanetary File System)是一种点到点的分布式文件系统,它连接的计算设备都拥有相同的文件管理模式。从某种意义上来说这个概念跟Web的最初理念很类似,但是实际上IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完备甚至替代HTTP。这听起来已经有些不可思议,但其实它可以做到更多。
IPFS的开发目前处于alpha试验阶段,还没能替代现存的网站存储系统。就像其它复杂的新技术一样,我们有很多改进要做。但IPFS不是空想,它一直在实际运行着,你可以试着在自己的电脑上配置IPFS,为Neocities网站的访问用户提供服务,你的加入或许会延续某个网站的寿命。
尽管IPFS的开发还不十分成熟,但我仍然要表达一个大胆的观点:IPFS会取代HTTP(和其他一些组件一起)。虽然取代HTTP听起来很荒谬,但是我们应当看到HTTP已经很破旧了,继续长期甚至永远地使用HTTP才是更荒谬的事。所以我们应当应用当今计算机技术,着力解决分布式带来的诸多问题,为Web服务设计更好的协议。
1、HTTP的缺陷
HTTP(超文本传输协议)是全世界统一的全局信息格式协议,它的制定为分发和显示信息提供了规范。HTTP将发布信息的成本降到了最低,扰乱了经济、政治、文化管理机构对信息(音乐、思想、视频、新闻、游戏等等)传播的控制。然而通过使获取信息的渠道更加平等、过程更为容易,HTTP实际上使我们的文化产业更加蓬勃有生机,很难想象没有了它生活将会变得怎样。
HTTP堪称史上最伟大的发明之一,我永远爱它。但是由于在可分布性和可持久性方面的缺失,它多次在我们面前崩溃,因此难以成为人类知识总和的永久载体。HTTP分发内容的方式在根本上是有缺陷的,尽管经历了性能调优、CA证书SSL以及其它一些手段,也都没能改善。HTTP/2的改进在一定程度上缓解了缺陷,但是保守的升级并不能根本地解决问题,反而突显了HTTP的老旧。因此我们要采用一种新的基础协议代替HTTP来治理网络环境,提供更好的Web服务。我非常希望IPFS能成为那个替代者。
HTTP是脆弱的
上图是Tim Berners-Lee在CERN的NeXT电脑,是世界上第一台HTTP协议的Web服务器。主机箱上贴着一张醒目的纸条,上面写着“这是一台服务器,不要关机!”不能关机是因为其他几台Web服务器正和它保持着连接,依赖于它运转。一旦这台电脑关机或无响应,连接就会中断,站点间的联系会被打破,访问的内容也随之消失不见。这就是HTTP最大的问题所在,它的腐蚀性。Tim的NeXT电脑现存于一家博物馆,是最早被淘汰的Web服务器之一。
下图是使用Web时常见的场景:
即使没有读过HTTP协议的具体内容,大多数人也都了解404错误意味着什么。它是HTTP协议的错误码,表明网页不在服务器的指定位置。能够见到404错误说明你还有一定的运气,因为有些时候服务器连这样的信息也不会显示。更可怕的是除非Internet Archive做了备份,否则要访问的网页可能永远也找不到,就这样丢失了。通常一个网页诞生的时间越早,回应404错误的可能就越大。就像一个冷血的数字墓碑,埋葬了当时的认知、美感或者愚昧。
90年代以后建立的网站中,我最喜欢的是Mosh to Yanni,不过今天的它只能作为一个反面的例子出现,告诉我们HTTP在维持网站间的连接方面是有多么的不足。Mosh to Yanni主页的静态内容仍然可以加载,浏览器的渲染也运行得很正常,但是站外的和动态服务的内容已经全都不可访问。
出现这种状况的原因其实非常简单,就是集中管理的Web服务器不可避免的会关机。而关机的原因则有很多,或是域名的所有者变更,或是计算机崩溃却没有备份。若是取消集中管理,让网站的拥有者自己搭建HTTP服务器,情况也不会好转,甚至可能更糟。
与Mosh to Yanni相似的例子多得数不清,许多有用的信息就这样从人间蒸发。即使丢失的内容是荒谬的废话或是过时的言论,那也是我们人类经历过的历史,不该这么轻易的丢掉。
HTTP趋于超中心化
为了避免数据被不断侵蚀的状况,人们开始依赖于使用管理更完善的大型中心服务器,通过制作大量冗余备份来获得可靠性。这一方案在短期内是十分有效的,然而却在长期运转中滋生了新的一系列问题。
90年代易拉爱,在John Perry Barlow的网络空间独立宣言倡导下,线上国度不断繁荣,用信息的手段影响并推动世界。然而与此同时,政府和公司等组织也开始通过HTTP的漏洞进行渗透,窥探和监控网民的生活,阻碍他们获取对自身不利的信息。
当初人们想要建立的是非中心化的Web,可是如今使用的Web却越来越集中于少数一些服务器中心。造成的后果是,类似美国国家安全局这样的机构只要截取这些服务器中心的通信信息,就可以得到大部分用户的数据。对于政府来说,只要在边境路由上设置内容审查,就可以阻断访问中心服务器的连接。同时网络通信遭遇DDoS攻击的风险也大大增加。
相反分布式的Web可以减少管理部门的干涉,恢复人们的网络自由,同时也会减少单点故障带来的风险。
HTTP的效率不高
截止到我写这句话的是时间为止,江南style的视频已经有超过2,344,327,696次观看,姑且认为视频的大小都是117MB,那么仅视频文件就产生了274.3PB的网络流量。假设每1GB的成本(包括网络带宽和服务器存储)是1美分,则总共的花费将是2,742,860美元。
实际情况下花费可能还要高,因为网络带宽的价格是0.12美元起,亚洲用户则是0.2美元左右。对于谷歌这样的大公司来说钱可能不是太大的问题,不过对于一些中小小公司这就是个天文数字。我在Neocities做的工作有相当一部分是针对昂贵的带宽,通过一些技术手段减少基础设施运作的成本。
虽然HTTP降低了发布信息的成本,但它仍然需要大量金钱来运转,而且花费越来越多。在没有达到一定规模的情况下,集中由数据中心向外传播信息是非常昂贵的。若是我们能把同一ISP网络下的个人电脑都变成CDN内容提供者,从而取代数据中心,像江南style这样很火的视频就可以在ISP网络内部传播,就不需要接入到internet主干网,从而可以降低大量成本。IPFS就具备这样的功能,后面还会说到。
HTTP造成了Internet主干网被过度依赖
由于Web内容是超中心化的,数据中心的运作十分依赖Internet主干网络。除了会受到政府的审查和屏蔽之外,可靠性问题也大量存在。尽管已经采用了冗余备份的手段,可是一旦主干网崩溃,或是路由表错乱,依然会造成严重的后果。
几个月我就有过一次亲身体验,一辆小汽车撞坏了我们使用的上行光纤,整个Neocities的网络都瞬间变慢了。此外我还听说过一些类似的事情,比如有猎人射穿了东俄勒冈数据中心的光纤,抢修的工程师不得不坐着履带雪地车踩着滑雪板前去维修。就在我写这篇文章的时候,旧金山湾刚刚发生了一起复杂的网络攻击。
我想说的是Internet主干网是不完全可靠的,一方面它很容易遭受攻击,另一方面一旦重要的线路瘫痪,大量的网络服务都会受到影响。
2、IPFS的解决方案
上面我们主要讨论了HTTP存在的问题(超中心化),下面我们说说IPFS如何解决这些问题。IPFS从根本上改变了查找的方式,这是它最重要的特征。使用HTTP我们查找的是位置,而使用IPFS我们查找的是内容。
举个例子:服务器上运行着一个文件https://neocities.org/img/neocitieslogo.svg,遵照HTTP协议浏览器首先会查找服务器的位置(IP地址),随后向服务器索要文件的路径。这种体系下文件的位置取决于服务器管理者,而用户只能寄希望于文件没有被移动,并且服务器没有关闭。
IPFS的做法则是不再关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中可能出现的内容。我把刚才的文件neocitieslogo.svg放到IPFS节点,它会得到一个新名字QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU,是一个由文件内容计算出的加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。
当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。虽然早期的分布式哈希表曾遭受过女巫攻击,但是已经有一些新的方案来实现,我相信这个问题可以解决。
IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络(CDM)的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有最重要的——静态网站。
IPFS文件还可以抽象成特殊的IPFS目录,从而标注一个可读的文件名(透明的映射到IPFS哈希),在访问的时候会像HTTP一样获取一个目录索引。在IPFS上建立网站的流程和过去一样,而且把网站加入到IPFS节点的指令只需要一条指令:ipfs add -r yoursitedirectory。网页间的连接不再需要人去维护,IPFS自带的查找可以解决。
关联数据到IPFS
IPFS不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据。这就像是书签一样,在备份了自己的网站之外,自愿的为其他的关注的内容提供服务,不同的是这个书签不会像以前一样最终变得失效。
IPFS节点间的拷贝、存储和网站支援都很容易,只需要使用一条指令以及网站的哈希,例如:ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8,剩下的IPFS会搞定。
如果IPFS得以普及,节点数达到一定规模,即使每个节点只存放一点点内容,所累计的空间、带宽和可靠性也远超HTTP能提供的。随之而来,分布式Web会变成地球上最快、最可靠、最大的数据仓库,人类知识也就再也不会湮灭,亚历山大图书馆永远不会倒塌。
IPFS哈希只能用来表示不可变数据,因为一旦数据改变,哈希值也会改变。从某种意义上来说,这是保持数据持续性的好的设计。但是我们也需要一种方法来标记最新更新网站的哈希,这个方法我们称作IPNS。
IPFS哈希是网站通过哈希公钥生成的,相对的IPNS使用私钥来标记IPFS哈希的引用。如果以前用过比特币你应该很熟悉这种模式,比特币地址就是一种公钥哈希。在Neocities的IPFS节点上,我标记了Penelope(我们网站的吉祥物)的镜像,可以使用IPNS公钥来加载:QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP。
由于IPNS功能还没有完成,如果上面的链接不能工作也请不要灰心。IPNS公钥指向的位置是可变的,公钥的值则是保持不变的。随着IPNS的引入,网站升级的问题可以顺利解决。
可读可变寻址
由于IPFS/IPNS的哈希值都是很长和难记的字符串,所以IPFS兼容了现存的域名系统(DNS),可以通过可读的链接访问IPFS/IPNS内容。使用方法是在nameserver上创建一个文本记录,插入网站的哈希值(如果手上有一个命令行终端,试一下这个:dig TXT ipfs.git.sexy)。访问http://ipfs.io/ipns/ipfs.git.sexy/可以观察到效果。
接下来IPFS还打算支持Namecoin。Namecoin从理论上完全实现了分布式Web的去中心化,整体的运行中不再需要中心化的授权。支持了Namecoin的IPFS不再需要ICANN、中心服务器,不受政治干涉,也无需授权证书。这听起来难以置信,但却是今天可以实现的技术。
IPFS-HTTP网关:新旧Web之间的桥梁
IPFS在实现上加装了HTTP网关,使得现有的浏览器也可以访问IPFS,我在上文中举过例子。所以无需等待,现在就可以开始使用IPFS作为存储、分布和搭建网站的设施。
如何使用IPFS
现有的IPFS实现是实验性的,Neocities会在网站更新的时候发布新的IPFS哈希,新的哈希会指向最新版本的网站,通过IPFS-HTTP网关可以直接访问。由于IPFS哈希是随着更新改变的,我们可以自动的获得旧版本网站的历史档案,这些内容也会被提供出来。
IPNS加入后如何使用
如果项目长期地进展顺利,我们会用IPFS支撑所有的网站,并且为每个站点制作IPNS哈希,用户可以独立的发布内容,不再需要联系我们。假如我们做到了设想的情景,即使Neocities不存在了,用户还是可以正常更新他们的网站,意味着用户对中心服务器的依赖永远解除,把世界上网站都笼络到旗下的计划完全打破。这听起来太棒了!真是太棒了!
不过现在说这些有点为时过早也毫无意义,在IPFS能取代HTTP之前还有很多的实际工作要做。目前最紧迫的任务不是畅想未来,而是要脚踏实地接受Internet Archive的挑战——实现分布式Web。
原文链接:
译者:赵可昭
发文时比特币标准价格 买价:¥2913.33
卖价:¥2907.51
您需要登录后才可以回复
请告诉我,投资什么,重点是这个!
听上去不错[doge]
互联网技术展望:
发表了一篇转载博文《[转载]老年病缠身或是甲减惹的祸》http://t.cn/RyQOOVn
理想是丰满的,现实是骨感的
[哆啦A梦微笑]
@我的印象笔记
哥, 早点睡, 别乱吹也别乱转.
@巴比特资讯
@我的印象笔记 m
[HTTP已过时,未来属于分布式永久有效的Web]这里提到了IPFS,那么什么是IPFS呢?IPFS(The InterPlanetary File System)是一种点到点的分布式文件系统,它连接的计算设备都拥有相同的文件管理模式。IPFS具备成为internet子系统的素质,通过合理配置可以完备甚至替代HTTP:http://t.cn/Ry06GZp
家里有本讲HTML4.0的书,感觉IT行业最保守的是底层,而变得最快的是那些逻辑化的计算过程。我曾经想象一个故事设定,未来的人类依赖于一个共享的知识库,这样就不用花时间记忆和学习基本知识 // HTTP已过时,未来属于分布式永久有效的Web
WEB服务比BT下载实时性要求高太多,不切实际
  又前进了一段时间,胖子突然回头问我:“你老实告诉我,你和那小哥有什么特殊的关系?” p:胖哥,你好搞笑!!
#HTTP已过时,未来属于分布式永久有效的Web#
内容不错,但里面的内容没有把主要问题体现出来,把世界上的上网装备替换,需要的钱是任何国家都没办法承受的。HTTP的缺陷以及给“挖”了无数次了,它依然不动,就有不动的理由!如果不替换设备想永久那也是没可能的。
HTTP已过时,未来属于分布式永久有效的Web将取代HTTP的新技术, IPFS是什么? 为什么说它能够取代HTTP?
发布时间: 09:30:58&&作者:技术改变世界&&来源:今日头条&&浏览次数:
2015年年初Internet Archive发布了对分布式Web方案的征集,新的Web将会变得速度更快,安全性更高,更可靠,并且更加持久。对此我们感到兴奋不已,同时也将立刻踏上探索Web未来的旅途。通过和Protocol Labs合作,Neocities成为了在生产中使用IPFS的最主要力量。目前Neocities的所有网站都可以通过世界上任意一个IPFS结点浏览和归档,即使Neocities关闭或撤下了某个站点,该站点也仍然可以被有效访问。支撑Neocities网站的IPFS结点越多,这些网站的可靠性越强(冗余度越高),对我们的集中依赖也就越少。那么什么是IPFS呢?让我们来看一下它的README的内容:IPFS(The InterPlanetary File System)是一种点到点的分布式文件系统,它连接的计算设备都拥有相同的文件管理模式。从某种意义上来说这个概念跟Web的最初理念很类似,但是实际上IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完备甚至替代HTTP。这听起来已经有些不可思议,但其实它可以做到更多。IPFS的开发目前处于alpha试验阶段,还没能替代现存的网站存储系统。就像其它复杂的新技术一样,我们有很多改进要做。但IPFS不是空想,它一直在实际运行着,你可以试着在自己的电脑上配置IPFS,为Neocities网站的访问用户提供服务,你的加入或许会延续某个网站的寿命。尽管IPFS的开发还不十分成熟,但我仍然要表达一个大胆的观点:IPFS会取代HTTP(和其他一些组件一起)。虽然取代HTTP听起来很荒谬,但是我们应当看到HTTP已经很破旧了,继续长期甚至永远地使用HTTP才是更荒谬的事。所以我们应当应用当今计算机技术,着力解决分布式带来的诸多问题,为Web服务设计更好的协议。1、HTTP的缺陷HTTP(超文本传输协议)是全世界统一的全局信息格式协议,它的制定为分发和显示信息提供了规范。HTTP将发布信息的成本降到了最低,扰乱了经济、政治、文化管理机构对信息(音乐、思想、视频、新闻、游戏等等)传播的控制。然而通过使获取信息的渠道更加平等、过程更为容易,HTTP实际上使我们的文化产业更加蓬勃有生机,很难想象没有了它生活将会变得怎样。HTTP堪称史上最伟大的发明之一,我永远爱它。但是由于在可分布性和可持久性方面的缺失,它多次在我们面前崩溃,因此难以成为人类知识总和的永久载体。HTTP分发内容的方式在根本上是有缺陷的,尽管经历了性能调优、CA证书SSL以及其它一些手段,也都没能改善。HTTP/2的改进在一定程度上缓解了缺陷,但是保守的升级并不能根本地解决问题,反而突显了HTTP的老旧。因此我们要采用一种新的基础协议代替HTTP来治理网络环境,提供更好的Web服务。我非常希望IPFS能成为那个替代者。HTTP是脆弱的上图是Tim Berners-Lee在CERN的NeXT电脑,是世界上第一台HTTP协议的Web服务器。主机箱上贴着一张醒目的纸条,上面写着“这是一台服务器,不要关机!”不能关机是因为其他几台Web服务器正和它保持着连接,依赖于它运转。一旦这台电脑关机或无响应,连接就会中断,站点间的联系会被打破,访问的内容也随之消失不见。这就是HTTP最大的问题所在,它的腐蚀性。Tim的NeXT电脑现存于一家博物馆,是最早被淘汰的Web服务器之一。下图是使用Web时常见的场景:即使没有读过HTTP协议的具体内容,大多数人也都了解404错误意味着什么。它是HTTP协议的错误码,表明网页不在服务器的指定位置。能够见到404错误说明你还有一定的运气,因为有些时候服务器连这样的信息也不会显示。更可怕的是除非Internet Archive做了备份,否则要访问的网页可能永远也找不到,就这样丢失了。通常一个网页诞生的时间越早,回应404错误的可能就越大。就像一个冷血的数字墓碑,埋葬了当时的认知、美感或者愚昧。90年代以后建立的网站中,我最喜欢的是Mosh to Yanni,不过今天的它只能作为一个反面的例子出现,告诉我们HTTP在维持网站间的连接方面是有多么的不足。Mosh to Yanni主页的静态内容仍然可以加载,浏览器的渲染也运行得很正常,但是站外的和动态服务的内容已经全都不可访问。出现这种状况的原因其实非常简单,就是集中管理的Web服务器不可避免的会关机。而关机的原因则有很多,或是域名的所有者变更,或是计算机崩溃却没有备份。若是取消集中管理,让网站的拥有者自己搭建HTTP服务器,情况也不会好转,甚至可能更糟。与Mosh to Yanni相似的例子多得数不清,许多有用的信息就这样从人间蒸发。即使丢失的内容是荒谬的废话或是过时的言论,那也是我们人类经历过的历史,不该这么轻易的丢掉。HTTP趋于超中心化为了避免数据被不断侵蚀的状况,人们开始依赖于使用管理更完善的大型中心服务器,通过制作大量冗余备份来获得可靠性。这一方案在短期内是十分有效的,然而却在长期运转中滋生了新的一系列问题。90年代易拉爱,在John Perry Barlow的网络空间独立宣言倡导下,线上国度不断繁荣,用信息的手段影响并推动世界。然而与此同时,政府和公司等组织也开始通过HTTP的漏洞进行渗透,窥探和监控网民的生活,阻碍他们获取对自身不利的信息。当初人们想要建立的是非中心化的Web,可是如今使用的Web却越来越集中于少数一些服务器中心。造成的后果是,类似美国国家安全局这样的机构只要截取这些服务器中心的通信信息,就可以得到大部分用户的数据。对于政府来说,只要在边境路由上设置内容审查,就可以阻断访问中心服务器的连接。同时网络通信遭遇DDoS攻击的风险也大大增加。相反分布式的Web可以减少管理部门的干涉,恢复人们的网络自由,同时也会减少单点故障带来的风险。HTTP的效率不高截止到我写这句话的是时间为止,江南style的视频已经有超过2,344,327,696次观看,姑且认为视频的大小都是117MB,那么仅视频文件就产生了274.3PB的网络流量。假设每1GB的成本(包括网络带宽和服务器存储)是1美分,则总共的花费将是2,742,860美元。实际情况下花费可能还要高,因为网络带宽的价格是0.12美元起,亚洲用户则是0.2美元左右。对于谷歌这样的大公司来说钱可能不是太大的问题,不过对于一些中小小公司这就是个天文数字。我在Neocities做的工作有相当一部分是针对昂贵的带宽,通过一些技术手段减少基础设施运作的成本。虽然HTTP降低了发布信息的成本,但它仍然需要大量金钱来运转,而且花费越来越多。在没有达到一定规模的情况下,集中由数据中心向外传播信息是非常昂贵的。若是我们能把同一ISP网络下的个人电脑都变成CDN内容提供者,从而取代数据中心,像江南style这样很火的视频就可以在ISP网络内部传播,就不需要接入到internet主干网,从而可以降低大量成本。IPFS就具备这样的功能,后面还会说到。HTTP造成了Internet主干网被过度依赖由于Web内容是超中心化的,数据中心的运作十分依赖Internet主干网络。除了会受到政府的审查和屏蔽之外,可靠性问题也大量存在。尽管已经采用了冗余备份的手段,可是一旦主干网崩溃,或是路由表错乱,依然会造成严重的后果。几个月我就有过一次亲身体验,一辆小撞坏了我们使用的上行光纤,整个Neocities的网络都瞬间变慢了。此外我还听说过一些类似的事情,比如有猎人射穿了东俄勒冈数据中心的光纤,抢修的工程师不得不坐着履带雪地车踩着滑雪板前去维修。就在我写这篇文章的时候,旧金山湾刚刚发生了一起复杂的网络攻击。我想说的是Internet主干网是不完全可靠的,一方面它很容易遭受攻击,另一方面一旦重要的线路瘫痪,大量的网络服务都会受到影响。2、IPFS的解决方案上面我们主要讨论了HTTP存在的问题(超中心化),下面我们说说IPFS如何解决这些问题。IPFS从根本上改变了查找的方式,这是它最重要的特征。使用HTTP我们查找的是位置,而使用IPFS我们查找的是内容。举个例子:服务器上运行着一个文件https://neocities.org/img/neocitieslogo.svg,遵照HTTP协议浏览器首先会查找服务器的位置(IP地址),随后向服务器索要文件的路径。这种体系下文件的位置取决于服务器管理者,而用户只能寄希望于文件没有被移动,并且服务器没有关闭。IPFS的做法则是不再关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中可能出现的内容。我把刚才的文件neocitieslogo.svg放到IPFS节点,它会得到一个新名字QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU,是一个由文件内容计算出的加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。虽然早期的分布式哈希表曾遭受过女巫攻击,但是已经有一些新的方案来实现,我相信这个问题可以解决。IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络(CDM)的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有最重要的——静态网站。IPFS文件还可以抽象成特殊的IPFS目录,从而标注一个可读的文件名(透明的映射到IPFS哈希),在访问的时候会像HTTP一样获取一个目录索引。在IPFS上建立网站的流程和过去一样,而且把网站加入到IPFS节点的指令只需要一条指令:ipfs add -r yoursitedirectory。网页间的连接不再需要人去维护,IPFS自带的查找可以解决。关联数据到IPFSIPFS不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据。这就像是书签一样,在备份了自己的网站之外,自愿的为其他的关注的内容提供服务,不同的是这个书签不会像以前一样最终变得失效。IPFS节点间的拷贝、存储和网站支援都很容易,只需要使用一条指令以及网站的哈希,例如:ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8,剩下的IPFS会搞定。如果IPFS得以普及,节点数达到一定规模,即使每个节点只存放一点点内容,所累计的空间、带宽和可靠性也远超HTTP能提供的。随之而来,分布式Web会变成地球上最快、最可靠、最大的数据仓库,人类知识也就再也不会湮灭,亚历山大图书馆永远不会倒塌。IPNSIPFS哈希只能用来表示不可变数据,因为一旦数据改变,哈希值也会改变。从某种意义上来说,这是保持数据持续性的好的设计。但是我们也需要一种方法来标记最新更新网站的哈希,这个方法我们称作IPNS。IPFS哈希是网站通过哈希公钥生成的,相对的IPNS使用私钥来标记IPFS哈希的引用。如果以前用过比特币你应该很熟悉这种模式,比特币地址就是一种公钥哈希。在Neocities的IPFS节点上,我标记了Penelope(我们网站的吉祥物)的镜像,可以使用IPNS公钥来加载:QmTodvhq9CUS9hH8rirt4YmihxJKZ5tYez8PtDmpWrVMKP。由于IPNS功能还没有完成,如果上面的链接不能工作也请不要灰心。IPNS公钥指向的位置是可变的,公钥的值则是保持不变的。随着IPNS的引入,网站升级的问题可以顺利解决。可读可变寻址由于IPFS/IPNS的哈希值都是很长和难记的字符串,所以IPFS兼容了现存的域名系统(DNS),可以通过可读的链接访问IPFS/IPNS内容。使用方法是在nameserver上创建一个文本记录,插入网站的哈希值(如果手上有一个命令行终端,试一下这个:dig TXT ipfs.git.sexy)。访问http://ipfs.io/ipns/ipfs.git.sexy/可以观察到效果。接下来IPFS还打算支持Namecoin。Namecoin从理论上完全实现了分布式Web的去中心化,整体的运行中不再需要中心化的授权。支持了Namecoin的IPFS不再需要ICANN、中心服务器,不受政治干涉,也无需授权证书。这听起来难以置信,但却是今天可以实现的技术。IPFS-HTTP网关:新旧Web之间的桥梁IPFS在实现上加装了HTTP网关,使得现有的浏览器也可以访问IPFS,我在上文中举过例子。所以无需等待,现在就可以开始使用IPFS作为存储、分布和搭建网站的设施。如何使用IPFS现有的IPFS实现是实验性的,Neocities会在网站更新的时候发布新的IPFS哈希,新的哈希会指向最新版本的网站,通过IPFS-HTTP网关可以直接访问。由于IPFS哈希是随着更新改变的,我们可以自动的获得旧版本网站的历史档案,这些内容也会被提供出来。IPNS加入后如何使用如果项目长期地进展顺利,我们会用IPFS支撑所有的网站,并且为每个站点制作IPNS哈希,用户可以独立的发布内容,不再需要联系我们。假如我们做到了设想的情景,即使Neocities不存在了,用户还是可以正常更新他们的网站,意味着用户对中心服务器的依赖永远解除,把世界上网站都笼络到旗下的计划完全打破。这听起来太棒了!真是太棒了!IPFS系统诞生的原因是:美国废除了网络中立法案,IPFS希望打造一个更开放的互联网。不过现在说这些有点为时过早也毫无意义,在IPFS能取代HTTP之前还有很多的实际工作要做。目前最紧迫的任务不是畅想未来,而是要脚踏实地接受Internet Archive的挑战——实现分布式Web。
注:文中图片来源于网络,如有侵权,请联系本网删除,谢谢!
文章内容纯属作者个人观点,不代表平台观点,关注业态网www.zuiyt.com,阅读趣味文章}

我要回帖

更多关于 技术合作协议范本 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信