试想这样一个世界:4k视频流无需缓冲、用户离线不会影响线上工作、商家可以零成本开展电子商务活动、政府无法控制互联网接入。
\\有哪些因素驱动企业投资相关技术来实现这一愿景?今天我们又能从这一趋势中获得哪些好处?在回答这些问题之前,我们先来看看现在的Web 2.0面临哪些问题。
\\2005年,人类创造了大约130EB的数据。要将这些信息保存在纸上,需要整个地球都要种满树木来为纸张提供原料。 2015年这个数字是7900EB,2020年这个数字将增长到40900。这些以指数级规模增长的数据量的消费者是同样在飞速增长的互联网用户。
\\ \\图源:https://unsplash.com/@hannynaibaho
\\仅在印度尼西亚,预计未来4年内,互联网用户将从现有的1.05亿增长到1.25亿。也就是说,在接下来的4年里,仅仅一个国家就会多出2000万网民。
\\让情况更为复杂的是,存储成本的下降速度(每年40%)与带宽成本的下降速度(每年26%)有着近一倍的差距。
\\所有这些意味着,未来的网民越来越多,传输的数据量越来越庞大,而传输管道拓宽的速度却跟不上数据增长的趋势。于是数据拥堵现象会愈加严重,直到有一天,单纯扩张硬件设施再也无法解决拥堵问题。
\\拥堵只是我们面临的问题之一。今天的互联网是一个中心化的系统,自然存在单点故障问题。这类单点故障可能被恶意利用,中断整个国家的互联网访问。2011年1月,埃及革命期间发生的事情就是这样。当时总统不想下台,于是他关闭了抗议者所依赖的互联网。虽然这个办法最终没能奏效,但后果已经发生了:四家主要的ISP供应商断开了网络连接后,这个国家与世隔绝了。这里的单点故障在于,抗议者之间的所有通信都需要出入埃及国境,而不是直接在用户之间传递,当通向境外的网络大门被关闭,一切都沉默了。
\\问题显然是存在的,现在我们来看看企业怎样投资能够带来解决方案的技术,并从中获益。于是IPFS和区块链开始崭露头角。
\\IPFS,或称为星际文件系统(Interplanetary File System),是最初由Juan Benet在2014年设计的互联网新协议,其设计目标是实现数据的永久存储、清除网络上的重复数据,并获取存储在网络中节点上的数据地址。它现在是一个开源项目。与HTTP不同,IPFS是资源导向而非位置导向。 IPFS通信时指向资源本身,而不是指向位置。之后,它从拥有完整或部分数据的节点获取数据资源,从而创建一个去中心化的网络。
\\ \\美国宇航局拍摄的照片(https://unsplash.com/)
\\那么你为什么要关心你使用的互联网协议是不是基于位置的?先让我们来比较这两种方法。
\\HTTP运行时使用基于位置的IP地址映射资源,并由此指向存储着客户端所需资源的节点所在的具体位置。
\\例如,如果你想观看Youtube上的一段4k视频,你的浏览器需要在遥远的谷歌数据中心服务器上找到该视频,然后把视频流千里迢迢传到你的设备。现实中,有一种称为内容分发网络(CDN)的设施可以把服务器“带到”你身边,但这些服务器可能仍然离你数百公里之遥,而且在很多发展中国家这种技术也没什么实用性。
\\想象一下,你和100个人一起参加了一个课程,你们都看了同样一段视频。结果实际操作中,该视频必须从距离最近的谷歌服务器节点上提取,传输到每个学生的笔记本电脑上,然后重复这个过程100次。这些学生不是获取一份副本并在同学间互相分享,而是从遥远的位置重复下载规模庞大的数据。这样的方式效率极为低下,但这就是HTTP的工作原理,它在互联网主干线路上造成了大量的拥堵问题。
\\IPFS不是指向位置,而是直接指向资源本身,并确保数据来自最近的源。这意味着,如果一个教室坐满了学生,他们要观看同一个视频,他们会从彼此那里获取资源,而不用都从某个遥远的中心节点下载数据流。这样一来,即使是观看4k视频也不需要缓冲。
\\现在你可能会问,这与众所周知的Bitorrent协议有何不同,它又将如何改变网络世界?
\\虽然IPFS大量借鉴了Git和BitTorrent等久经考验的技术,但它提供的是一个全新的解决方案。 BitTorrent的工作原理是,每个种子后面都是一组独立的用户;如果两个视频使用不同的语言包,那么它们就会生成两个种子,互相之间无法交叉共享任何内容,就算两个种子内的文件内容大致相同也不行,在这个例子中相同的部分高达99%,却依旧不能共享。
\\此外,BitTorrent不支持所有的数据类型,使用起来更麻烦。它也不关心重复数据,意味着两个相同的视频可以共存并同时在网络上共享,从而加剧数据拥堵的问题。
\\使用IPFS,整个万维网可以被视为所有人共享的一个torrent文件。任何文档、视频、音频文件或整个应用程序,或这些文档的一部分将存储在某台用户设备的本地存储空间内,并共享给全网用户。当你需要某些数据时,IPFS协议则负责寻找离你最近的数据所有者。
\\IPFS网络会自动删除重复数据并追踪数据的历史版本记录。为实现这个目标,向IPFS提交的每个文件都会获得一个同内容关联的唯一加密哈希值。历史版本记录可以避免数据被误删除。IPFS与区块链相结合,让这些唯一地址可以存储到不可篡改的链中,从而可能创建出有趣的产品。 IPFS不是区块链,但它的设计宗旨是同区块链协同运作。接下来让我们看一看人们对IPFS的一些误解,然后再回来探讨这一组合能够创建哪些应用以及有哪些应用已经面世。
\\永久和持久是两个意思。 IPFS承诺的是永久存储,他们认为非永久存储就和焚书一样是严重的问题。但需要注意的是,IPFS不保证持久性,网络上的节点会自己判断是否值得在IPFS上保留某些数据。在IPFS上,你可以创建内容、将其添加到网络中然后撒手不管,过程中不需要任何基础设施。IPFS使用加密技术存储你的内容,只要网络认为这些内容有价值就会一直保存下去。指向特定内容的链接将始终保持不变,但网络是否存储这些内容则由用户决定。 IPFS使用加密货币来激励数据存储行为,稍后会介绍这方面的更多内容。
\\尽管IPFS使用像默克尔树之类与区块链相似的架构元素,但它并非基于区块链,而是被设计为与现有的区块链协议协同工作。如上所述,上传到IPFS的每个文件都将获得一个永久地址。与IPFS不同,区块链并不适合存储大量数据。将这两项技术结合在一起,你可以在IPFS网络中存储大量信息,并将不可变的永久IPFS地址放在区块链事务中。IPFS将提供可公开访问的数据库,而区块链提供公开验证机制。
\\IPFS是一种分布式的文件系统,可实现高性能和去中心化的数据归档。
\\ \\图源:https://blog.neocities.org/blog/2015/09/08/its-time-for-the-distributed-web.html
\\分布式意味着所有数据处理/归档操作都不在同一个位置完成。分布式服务仍然可以被单个实体控制。
\\去中心化意味着没有一个实体可以控制所有事务。
\\因为IPFS的数据是在全网分散存储的,所以它是分布式的。是去中心化还是要归属权,这取决于数据和管理数据的应用。
\\IPFS用于存储可公开访问的数据,而区块链用来验证它们的地址。这意味着两件事:首先,你可以确保引用特定文件的链接确实是你应该使用的链接;其次,链接将始终返回相同的对象。基于这两点可以发展出很多平台,解决当下互联网难以解决的很多问题。
\\ \\图源:http://www.themerkle.com/
\\在线知识产权问题跨越了艺术和音乐、源代码和程序等诸多领域。像Embermine(http://embermine.com/)这样的平台使用IPFS和区块链为内容创建者提供了一个完整的生态系统。它提供了由智能合约(在区块链上运行的应用程序)、基于信誉的协作网络、身份保护等驱动的营收渠道。
\\像Akasha(http://akasha.world/)和Steemit(http://steemit.com/)这样的网络基于区块链和IPFS构建,提供真正的去中心化社交网络体验。他们通过奖励加密货币来激励内容创作,并通过将数据分散在IPFS网络上来对抗控制和监管,这类监管行为可能来自任何数据监管中心部门。
\\\\\“在今天的区块链领域,AKASHA是一项社会和技术实验,使我们的集体记忆、感受和想法在整个人类的存在中自由回响。通过融合以太坊与星际文件系统,我们探索永久网络在言论自由、持续创作和隐私保护背景下的意义和应用,为心灵寻找更好的归宿。“
\\——Akasha.world
\
OpenBazaar(http://openbazaar.com/)创建了一个市场,由于它不受中心化机构控制,因此不会对商家收取任何费用。与eBay或亚马逊等传统电子商务网站不同,在OpenBazaar上展示或销售商品无需缴纳任何费用。由于交易是点对点的,并且直接在买卖双方之间发生,因此没有中间人可以从销售中扣费。这是为商家提供的免费电子商务平台。
\\FileCoin(http://filecoin.io/)鼓励数据存储。你可以在IPFS网络上存储数据来促进网络运行,并因此在FileCoin中获得报酬。他们的理念是,由于全球数据中心和众多硬盘中有大量空闲存储空间,因此可以利用这些空闲空间并赚取FileCoin,然后将其转换为其他加密货币或法币。
\\zCash(http://z.cash/)承诺保护交易隐私。其支付操作会发布在区块链公链上,但不公开交易的付款人、收款人和金额。
\\如你所见,所有这些应用的使用体验都与正常的HTTP浏览行为相似。这就是这一技术的亮点所在。它与HTTP协同工作,并提供更出色的工具来解决传统系统无法解决的诸多问题。
\\所有这些都为使用IPFS和区块链的新兴平台提供与当今互联网巨头竞争的能力。
\\当下的应用程序都运行在Web 2.0之上,它们向基础设施投入大量资金以缓解我们之前提到的问题。构成Web 3.0的去中心化技术(如IPFS和以太坊协议)需要与它们展开竞争,并取得胜利才能实现大规模应用。
\\他们需要表现出类似的能力水平,或者至少证明自己有这个潜力,同时还要带来更多好处。
\\无信任多方计算意味着你可以在自己不信任的设备上执行计算,这同样适用于数据存储。
\\可信帐本、时间戳和可验证的应用程序意味着可以从数学角度确定地证明正在运行的操作。
\\去中心化应用程序意味着,就算在网络上发布应用的公司消失,应用程序也将继续存在,而无需公司的基础架构或支持。
\\内置端到端加密。现在的服务商之所以无法提供这种功能,是因为他们依赖用户数据和广告。但这是Web 3.0的默认功能。
\\Web3.0世界中有更多的玩家,他们都为我们提供了一种基础、一个让应用程序和业务开发人员与当今的巨头展开竞争的杠杆。无论IPFS是否能实现大规模应用,它都向我们展示了一种可行性。
\\最后,如果你想深入研究IPFS,可以参考以下链接:
\\查看英文原文:https://blog.rubiksdigital.com/how-ipfs-is-disrupting-the-web-e10857397822
\\感谢无明对本文的审校。