IPFS——它能取代HTTP协议?

作者: 苏江同学 | 来源:发表于2017-07-14 11:48 被阅读42248次

    互联网是人类历史上最重要、最具影响力的发明,在互联网诞生之前,谁也不知道它能给世界带来如此巨大的改变。足不出户,我们可以接受来自全世界的讯息,即使是在移动行走的状态,也可以用我们的掌上“器官”随时与其他人通讯。

    但你有没有想过,互联网是怎么运行的,使得互联网上信息自由流通呢?

    Tim Berners-Lee的NeXT电脑是世界上第一台Web服务器,但机器上有一个贴纸:“这台机器是服务器,不要关闭”。

    互联网就是由数以万计的服务器分布在全世界的各个角落,世界最大的芯片制造厂商 Intel 有大约10万台服务器,Facebook有3万台,美国最大的电话公司 AT&T 也有2万台,而 Google有超过100万台服务器!这个数字还是非常恐怖的。

    我们当前的互联网就是由这些巨头公司的服务器所构成的,这些服务器一直在机房运转着,如果关闭服务器,你将无法访问上面托管的内容。

    懂点计算机网络原理的人都知道,互联网的数据交互模式使用的是 B/S 和 C/S 模式,即 客户-服务器,以及 浏览器-服务器 模式。

    网络数据是存储在各大服务器上,即使这样的服务器全世界非常多,多达千万甚至上亿个,但对于文件数据仍然是非常中心化的,因为你建的网站也只会放在一家公司的服务器上,你所产生的用户数据,也都是存在中心化的公司服务器上的。

    一台服务器可能要每天应对百万次来自各个客户端和浏览器的访问,如果遭遇类似美国安全局这样的机构的审查,只需要控制这些服务器提供商,就可以轻易掌握用户数据。同样,黑客只需要发动对服务器的攻击,也有可能让普通用户无法访问服务器,DDOS攻击就是利用多台计算机对服务器进行大量的服务请求,占据服务器资源,导致正常用户也无法访问网站,出现我发经常看到502的情况。


    现有的web协议——HTTP协议实际上已经存在很多问题。我这里引用官网https://ipfs.io/的介绍:

    • HTTP效率低下,服务器成本昂贵

    使用HTTP协议从一台计算机服务器上一次只能下载一个文件,而不是同时从多台计算机中获取文件。通过P2P方式的视频传输可以节省带宽成本的60%。

    • 历史文件被删除

    网页的平均使用寿命为100天,大量的网站文件不能得以长期保存。有些重要的文件因操作不当,也有可能永远在互联网消失。

    • 中心化的网络限制了机会

    互联网一直是人类进步的催化器,但中心化的网络容易被控制,是对互联网良性发展的的威胁。

    • 网络应用太依赖骨干网

    为保证数据的可靠性,我们开发的应用程序太依赖大型的中心服务器,并通过大量的备份来保证数据的安全。

    HTTP协议已经用了20年的历史,从HTTP 1.0 到现在的HTTP5,网页的展示越来越美观丰富,但它背后的Browser/Server 模式是从来没变的。

    如果你关注区块链的话,也许听说过IPFS——星际文件系统。IPFS就是用来解决或者弥补HTTP的一系列弊端。

    星际文件系统(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs (协议实验室)在开源社区的帮助下发展。其最初由Juan Benet设计。

    IPFS是点对点的超媒体协议,可以让网络更快、更安全、更开放。它是一个面向全球的、点对点的分布式版本文件系统,试图将所有具有相同文件系统的计算设备连接在一起。

    IPFS可以从本质上改变网络数据的分发机制

    来看看IPFS的工作原理:

    • 每个文件及其中的所有块都被赋予一个称为加密散列的唯一指纹。

    • IPFS通过网络删除重复具有相同哈希值的文件,通过计算是可以判断哪些文件是冗余重复的。并跟踪每个文件的版本历史记录。

    • 每个网络节点只存储它感兴趣的内容,以及一些索引信息,有助于弄清楚谁在存储什么。

    • 查找文件时,你通过文件的哈希值就可以在网络查找到储存改文件的节点,找到想要的文件。

    • 使用称为IPNS(去中心化命名系统),每个文件都可以被协作命名为易读的名字。通过搜索,就能很容易地找到想要查看的文件。
      从IPFS的介绍可以看出, IPFS设想的是让所有的网络终端节点不仅仅只充当 Browser或Client的角色,其实人人都可以作为这个网络的运营者,人人都可以是服务器


    对比HTTP,IPFS具有这样的一些特性:

    • 基于内容寻址,而非基于域名寻址。文件(内容)具有存在的唯一性,一个文件加入了IPFS的网络,将基于计算对内容赋予一个唯一加密的哈希值。这将改变我们使用域名访问网络的习惯。

    • 提供文件的历史版本控制器(如git),并且让多节点使用保存不同版本的文件。

    • IPFS的网络上运行着一条区块链,即用来存储互联网文件的哈希值表,每次有网络访问,即要在链上查询该内容(文件)的地址。

    • 通过使用代币(FileCoin)的激励作用,让各节点有动力去存储数据。 Filecoin 是一个由加密货币驱动的存储网络。矿工通过为网络提供开放的硬盘空间获得Filecoin,而用户则用 Filecoin 来支付在去中心化网络中储存加密文件的费用。


    比如我想观看一部叫ABC的视频

    1, 加入IPFS网络,在网络中搜索叫ABC的文件,(通过IPNS——去中心化的文件命名系统)

    2, IPFS网络迅速索引区块链上的哈希值,反馈出搜索结果。

    3, 你支付一点FileCoin代币, 获取ABC文件缓存到本地,ABC文件不是从云或者服务器上下载下来的,而是由这个网络的参与者贡献的,它可能是离你最近的一个网络节点。这样的好处就是不仅不需要中间服务器,而且网络效率最快。

    4, 如果ABC文件恰好你周边好几个人都有,那IPFS网络会把这个文件拆成一小片一小片,节省了这些节点的储存成本,也让你用最具效率的方式下载到该视频。

    5, 这个视频文件缓存在自己电脑里,不仅自己观看,同时也为其他人提供资源。

    6, 另外也可以自己发布新内容到这个网络上,并且有机会获得FileCoin代币,因为你也为网络做了贡献。

    通过这样的方式,实现了整个网络的文件利用达到最优效率

    如果你对IPFS感兴趣,又懂点编程的话,可以亲自试一下,IPFS已经有了Alpha版。

    https://ipfs.io/docs/getting-started/


    那说到这里,IPFS跟SC(Sia Coin)有什么不同?这个问题应该比较好回答了。

    • SC是一条做去中心化的存储的公链,通过代币购买存储空间,将文件备份在互联网的多个节点上,提高文件的安全性。

    • IPFS是一个底层的互联网协议,跟HTTP一样做的是信息交换的事,实现的方法不同,IPFS实现的是互联网上各个节点的文件读取、分享、交换。

    是不是有满满的颠覆的感觉!

    IPFS 的设计思维非常有意思,它从互联网的最底层——数据,也就是文件,来思考问题,颠覆式创新经常是从第一性原理出发,找出事物的本质,从而重新设计该系统的架构。

    区块链技术的出现让分布式网络的设计成为了可能。区块链并不是万能的,反而区块链是一种低效且昂贵的存储数据的方式。IPFS的精妙之处是它把分布式账本可以被放置于IPFS之上,这个分布式账本只是记录了网络里各个文件的哈希值。

    “如果你把它(分布式账本)加到IPFS里,然后通过哈希算法把它录入区块里,那么你就可以通过IPFS直接在网上浏览交易以及文件。IPFS协议与区块链技术结合是个“完美的婚姻”。” ------Benet(IPFS创始人)

    IPFS协议让网络的自由和独立精神充分发挥,并且成本低廉。 无论如何,去中心化的网络与中心化的网络并存无疑会是一种趋势。

    至于IPFS能否替代HTTP,尚需时间。

    IPFS实际已经开发三年有余,也受到众多大佬的追捧,尤其近期将进行ICO,也获得不少的关注,我也会带几个人一起投资参与此想去。有兴趣也可以进小密圈我会更新一些这方面的消息。

    参考官网介绍: 链接:http://ipfs.io/
    参考老虎,大硕文章;https://mp.weixin.qq.com/s/gGW_E1QpwSYDX0d7G-jErQ
    参考大硕的知乎文章:https://zhuanlan.zhihu.com/p/27827410

    我是苏江,长期分享区块链思考,欢迎加我微信与我交流:su466120534

    相关文章

      网友评论

      • wj修行:我想借阅您的这份资料不知可否?
        苏江同学:@wj修行 你好,欢迎引用。加油~
        wj修行:@苏江同学 我是想借你这份资料做一下修改然后去演讲,您看同意吗
        苏江同学:@wj修行 什么意思呀,随便看呀
      • MrMikeco:需要IPFS矿机可以联系我!!联系我!!
        瞎闹腾_44c7:专业ipfs定制矿机,多盘位价格绝对比现出矿机便宜,厂家现已正式预售生产.
      • f23f4342ca1e:最近IPFS挺火的,想挖矿赚点钱,可刚开始投资让我有点头疼,毕竟矿机的价格不菲,据说星际比特是市面上最便宜的矿机,有没有了解星际比特价格的大佬,速求
        MrMikeco:@Mr床 IPFS现在算力价格很便宜呀,我都搞了九份算力,
        f23f4342ca1e:@苏江同学 想买台矿机玩玩,我查了一下,好像星际比特差不多是最便宜的了,而且东西还做的不错,感觉可以赚,你有别的推荐吗
        苏江同学:@Mr床 IPFS的挖矿方案都还没有,市面上的矿机要谨慎....
      • f23f4342ca1e:看来关于IPFS的一切都要火了,想入手一台便宜的矿机试试水,星际比特听便宜的,有知道的吗
        6cb4e0b52d85:@Mr床 自己家电脑也可以
      • 9185acb39dea:谁知道这个怎么挖矿?之前我看比特币和以太坊是拼算力,这个我们作为一般小白级别的拼不过呀,IPFS这个比较适合平民级别的?有没有类似成品矿机购买?我看网上最近星际比特蜂鸟H1预售呢,比较便宜,1999,另外,星际节点、玛雅矿机也都预售了,。星际节点4500,我看性价比也不高,懂的谁来讲讲怎么买矿机。。。
        瞎闹腾_44c7:专业ipfs定制机,多盘位,价格绝对便宜实惠,现厂家已开始预售.
        Fantasy饭特稀:@fml1998 我有。已经接好,只等ipfs主网上线
      • 64d2299fb245:据说IPFS主链在6月会开?等着第一批矿机呢,最近也都在看,类似星际比特、星际节点、玛雅矿机,我看IPFS群里讨论最多的是那个星际比特的矿机,用券之后1799左右,星际节点在也预售,价格就是有点贵,玛雅的就更贵了,谁知道该买什么????
      • 汇兄:苏老师,推荐一个适合区块链开发以太坊DApp电商的实战教程,帮忙提提意见:
        http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6?affid=20180329jianshu
      • db118788b504:我发现很多注定会成为"垃圾"的东西在开始时候一定会表现出对目标替代品的攻击倾向,重复表面文字去强调对方的缺点而不仔细论证. 就像linux桌面当年强烈攻击windows桌面,然后N年了直到windows桌面的确沦落了,也没轮到他们出场. 为什么会这样? 因为他们从来都仔细研究真正的优缺点,只是为了说而说,就像我们理解的人品不好的人走不远一样,在一开始就对竞争方报这种态度,蜜汁自信的东西肯定也是走不远的. 看看git如何替代svn的, git针对svn的缺点进行改良和设计,对svn的优点和git的缺点也一直承认和优化改善. 用git替换svn的人 基本没有倒退的. 因为git做的的确相当扎实,用心和优秀. 而这个ipfs呢?
      • DNjs_106c:有几点问题。第一,从http2开始,效率已经大幅度提高了。第二,网页跟其历史记录与http这个协议没有半点关系。第三,中心化也跟http也没有关系,因为http只是协议,不是一种形态。另外,如果你说的这个用来替代CDN等,我没什么问题。但是这个协议只是一个文件系统而已,所以不可以取代的了http协议的。很多时候依然依赖于服务器乃至分布式服务器的运算跟分析的。
        forever_ef9d:@DNjs_106c 参考 文章 VUE+IPFS+以太坊实现图片存储功能
        forever_ef9d:@DNjs_106c 也别说什么p2p 这特么 ipfs返回的下载地址就是 http的。。。。
        forever_ef9d:@DNjs_106c 刚测过 ipfs.io居然在 爱尔兰,这种速度。。。慢出屎。用oss+cdn 图片下载 基本 都在 几十毫秒以内。又快又省钱。
      • 班jiong:你好,我这方面的小白,所以有些地方想不明白。我想问一下假设我不是通过IPNS命名的名字去检索(如不是检索ABC)我直接按照想搜的内容进行检索,类似百度一样,它和http协议下的网络有什么不一样么?像百度的话,它会有索引表。而IPFS呢? 总结一下问题就是在ipfs下基于内容检索过程是怎样的?会有什么不同
        苏江同学:@班jiong 待它问世吧。
        班jiong:@苏江同学 额~ipfs下的网络是p2p形式的,那想下载别人节点共享的东西的时候,搜索是怎样的?一定得按照完整的名字搜索么?这方面应该有相关的功能吧?不知道作者有没有了解过?
        苏江同学:@班jiong 估计实现不了。看它应用出来是怎么样吧。
      • 翁支和:其实这种技术跟局域网内通过物理地址相互下载分享的内容差不多,也是通过P2P的实现方式,下载速度也很快,只不过加上了代币即积分功能。不过梳理的ipfs概念很清晰:+1:
      • 8a77ca3c6bd7:这个能代替http?这完全不是一回事啊,这应该是个类似dht的东西,是一个去中心化的文件分享机制。
        ACE韩:如果在矿机上面实现容器化,应用代码也在链上,那么,是代替http
        薛志清:不只是文档分享,可以用名称的方式访问及运行程序!@衔蝉_51df
      • 天朝冰冻型队长舰:http才到2,你写的5可能是html5
      • d388b22e99e2:文章第六段 b/s c/s 和后面的解释 没对准 bs 浏览器 -服务器 cs 客户端-服务器
        夜风来袭:感觉的快播的升级版,快播+分布式账本
        苏江同学:@树_a608 谢谢指出

      本文标题:IPFS——它能取代HTTP协议?

      本文链接:https://www.haomeiwen.com/subject/oxvnhxtx.html