Web3.0时代,IPFS作为未来互联网基石为分布式永久网络铺平道路
过去的几十年里,我们很多人都受益于互联网给我们生活带来的巨大便利。现在我们已经习惯于通过网络便利地获取信息,社交媒体使线上社区建设成为可能,电子商务网站使购物更便捷。所有这些都是由超文本传输协议(HTTP)实现的,该协议早在1989年推出,出现的目的是促进CERN研究人员之间的信息共享。
但是,从早期的Web1.0时代至今,在线内容已经有了很大的变化,当时网页大多是静态的,几乎没有用户生成的内容或互动。但随着Web2.0的成熟,线上格局转变为强调互性和参与式文化,这可以从维基百科、博客、视频和图像共享网站、社交媒体平台以及迎合流媒体服务需求的大量用户生成的内容中看到。但是,这些高带宽的超媒体的出现加上物联网潜在的巨大数据涌入,开始给互联网带来压力,促使一些人寻找替代品。
IPFS:更快、更安全、更开放
构建下一代Web3.0的一个有希望的候选者是星际文件系统(IPFS),这是一个相对较新的超媒体协议和分散的数据存储系统,利用了点对点网络架构。
IPFS具有科幻色彩的名称是对美国计算机科学家J.C.R.Licklider在20世纪60年代对“星际计算机网络”的思考的一种认可。IPFS是由美国计算机科学家和协议实验室的创始人Juan Benet在2014年首次开发的,目的是解决HTTP的一些问题。Juan的目的是创造一些最终可以成为“互联网新的主要子系统”的东西,同时也考虑到较新的发展,如支撑区块链的分布式账本技术。
协议实验室的工程经理Mikeal Rogers解释说:“IPFS是一个去中心化的数据网络,世界上任何一个人都可以在网络中提供数据,世界上任何一个人都可以安全地从他们或其他任何人那里接收这些数据。IPFS过去、现在都是作为Web3.0的数据传输协议而开发的。由于该协议是完全去中心化的,所有的数据都是通过哈希来解决的,所以它非常适合那些需要处理他们无法放入链本身的大量数据的区块链应用。”
作为IPFS基础的去中心化模式与HTTP运行的客户——服务器模式形成鲜明对比。HTTP最初是为在网络浏览器和网络服务器之间传输信息而设计的,它使用基于位置的寻址,允许用户访问存储在集中式服务器上的数据。虽然这简化了数据的管理和分配,但它的效率并不高。这是因为当你点击一个网站时,你的网络浏览器必须直接连接到托管该网站的服务器。对于较大的音频和视频文件,它可能会占用大量的带宽,甚至相当昂贵,特别是在源服务器位于遥远的地方。浏览或下载热门内容也会导致网络拥堵。HTTP还存在潜在的隐私和安全问题:数据可以被控制服务器的人访问或改变,或者被黑客的DDoS攻击而变成无法访问状态。
相比之下,IPFS使用基于内容的寻址,使内容可以被验证,让数据存储源离用户更近。它通过使用内容标识符(CID)来做到这一点,这些标签用于指向IPFS中的材料。CID是根据内容的加密哈希值生成的,或者说是一个使用数学算法来获取一些任意的输入并返回一个固定长度的值的函数。
Rogers说:“当你把数据放在IPFS中时,它可以通过其哈希地址或CID获得。世界上任何一个人都可以拿着这个地址,把它放在他们的电脑里,然后检索数据。就像世界上任何人都可以把一个URL放到他们的浏览器中并检索它一样,任何拥有CID的人都可以检索IPFS网络中的数据。”
内容中的任何差异都会导致不同的CID,同样的内容添加到不同的IPFS节点上仍会产生相同的CID,这意味着用户可以很容易地验证数据的完整性。
除了提供分布式的内容存储和验证,IPFS还可用于构建和托管分布式应用程序(DApp),即后端代码运行在对等网络上的开源计算机应用程序。
“有了CID,你要找的数据的哈希值就在地址里,所以你可以从任何地方获得这些数据,因为你可以通过比较哈希值来验证数据是否正确。”Rogers补充说:“这就是让你拥有一个去中心化网络的原因,因为你可以从任何地方和任何人那里检索数据,而且你可以通过加密验证数据是否正确。”
此外,IPFS的内容寻址比HTTP的基于位置的寻址更有效,因为数据可以从网络中最近的节点检索,而不是从远程服务器检索。这种配置还意味着,即使一个节点发生故障,其全部内容仍可从其他节点检索到。即使部分网络瘫痪,数据也会持续存在,因为在大规模停电或审查活动中可能会出现这种情况。
“IPFS的主要区别在于,CID可以从世界上任何希望提供该数据的人那里检索到,而对于HTTP,网站必须生活在URL编码的特定位置上。”Rogers指出。
要访问或存储IPFS网络上的内容,人们必须安装软件并运行一个IPFS节点。要在不安装软件的情况下通过HTTP访问IPFS,人们可以使用网关,如IPFS公共网关,或由Cloudflare管理的分布式网络网关。这些网关中的任何一个都可以让用户从网络中的任何人那里检索到内容。
DApp
除了提供去中心化的内容存储和验证,IPFS还可用于构建和托管去中心化的应用程序(DApps),这是一种开源的计算机应用程序,其后端代码在对等网络上运行。一些DApp有自己的区块链,如比特币,而另一些则在现有的区块链上运行,并产生自己的代币。DApp的范围包括交易所、游戏和社交媒体平台。
“这些都是利用链外数据的DApps的例子,而这正是IPFS的伟大之处。”Rogers指出:“任何时候你想在一个去中心化的系统中引用数据,如DApp,你应该使用IPFS。你可能应该在网络浏览器中使用网关来读取这些数据,因为p2p协议仍然在浏览器中发挥作用。但是你放入区块链交易中的数据引用应该始终使用IPFS地址,这样你就可以在任何内容地址网络的任何地方查找数据,无论是IPFS还是未来的网络,因为地址不会将你锁定在IPFS或任何特定协议中。”
另一个备受瞩目的DApp使用案例是创建、分发和存储NFT,这基本上是存储在区块链上的唯一加密资产。就像现实生活中无价的收藏品一样,与法币不同,NFT的价值来自于它们不能以等价交换或交易的事实,而且由于区块链技术,它们的真实性和所有权历史(或出处)很容易被验证。NFT的范围可以是数字艺术品、推文,甚至是可收藏的人物。所有这些数字收藏品都需要被储存在某个地方,这就是像IPFS这样的去中心化系统的作用。
Rogers补充说:“特别是对于NFT,我们甚至走得更远,在nft.storage建立了一个无限期免费存储NFT数据的服务。”
新网络
那么,IPFS能否在未来补充甚至取代HTTP?也许吧,但可以肯定的是,网络的发展轨迹将很快超越目前的协议,如果它还没有改进的话。同时,随着越来越多的用户、开发者和公司的采用,IPFS仍在不断完善。
Neocities的创始人Kyle Drake在宣布他的公司决定成为第一个实施IPFS的主要网站的博文中写道:“IPFS是通用的,在存储方面没有什么限制。它可以提供或大或小的文件。它可以自动将较大的文件分解成较小的块状,允许IPFS节点不仅从一个服务器(如HTTP)下载(或流式)文件,而且可以从数百个服务器同时下载。IPFS网络成为一个细粒度的、无信任的、分布式的、容易联合的内容交付网络(CDN)。这对几乎所有涉及数据的东西都很有用:图像、视频流、分布式数据库、整个操作系统、区块链、8英寸软盘的备份,以及对我们最重要的静态网站。”
最终,IPFS背后的这些核心概念可能是建立一个分布式永久网络的一个解决方案。这是对我们现在用过时的协议(如HTTP)达成的脆弱和过度集中的系统的一种可能的替代——而且可能是对不确定的未来的一种有用的对冲。
Rogers说:“我们在协议实验室的部分使命是建立有利于人类长期发展的技术。人类文化的很大一部分已经发生在网上,但在像Instagram这样的封闭平台上却并非如此。用于去中心化媒体共享的数据基元,如NFT最终可以取代Instagram这样的封闭平台。我们认为这些数据需要无限期地保存:这是我们作为一个物种的历史记录的一部分,我们很高兴能够为人类文化提供长期保证的持久性。”