IPFS的使命征程:为分布式网络铺平道路
几十年来,我们很多人从互联网给生活带来的巨大变化中获益。如今,人们习惯了对信息的持续获取,社交媒体使得建立虚拟社区成为可能,以及电子商务网站提供的方便和方便。这一切都是由超文本传输协议(1989年)推出的,旨在促进 CERN研究者之间的信息共享。
但从 Web1.0诞生之初起,在线内容就发生了很大的变化,我们现在可以对其进行定义:那时,网页基本上是静态的,几乎没有用户生成的内容和交互。
伴随着 Web2.0的成熟,模式转变成了强调互操作性和参与式文化,这种文化可以在 wiki、 blog、视频和图片分享网站、社交媒体平台上大量用户生成内容,并满足流媒体服务的需要。但这种占用大量带宽的超媒体的出现,以及可能来自物联网的大量数据,已经开始对互联网造成压力,促使一些人去寻找其他的替代品。
“星际文件系统”(IPFS)是构建下一代 Web 3. o的候选对象,它是一种相对新的超媒体协议和使用点对点(p2p)网络结构的分散数据存储系统。
IPFS具有科幻价值的绰号是对美国计算机科学家JCR Licklider在 1960 年代对“星际计算机网络”思想的一种致敬。IPFS最初是由美国计算机科学家、 Protocol实验室创立者 JuanBenet (HuanBenet)于2014年开发的,目的是解决 HTTP的一些缺陷。
Bennett的目标是创造出一些有可能最终成为“新的互联网主要子系统”的产品,并考虑诸如支持区块链的分布式帐簿技术等新进展。
Protocol Labs的工程经理 Mikeal Rogers (Mikeal Rogers)解释道:“IPFS是一个去中心化数据网络。他说:“世界上任何人都可以在网络中获取数据,世界上的任何人都可以安全地从他们或者任何其他人那里获得数据。
IPFS是作为 Web 3.0 的数据传输协议而开发的,因为这个协议是完全去中心化的,而且所有数据都通过哈希处理,所以它非常适合那些需要处理大容量数据的区块链应用。
作为IPFS基础的去中心化模型与客户端服务器形成明星对比HTTP运行的模型。HTTP最初是用来在 Web浏览器和 Web服务器之间传输信息的,它使用基于位置的地址,允许用户访问中央服务器上存储的数据。
尽管这样可以简化数据的管理和分发,但效率不高。因为当你点击一个站点时,你的 Web浏览器必须直接连接到这个站点所在的服务器,在大型音频和视频文件中,它将占用大量的带宽,甚至是昂贵的成本,尤其是源服务器距离很远时,搜索或者下载流行的内容也会造成网络拥挤,HTTP还有一个潜在的隐私和安全问题:任何控制服务器的人都可以访问或改变数据,或者通过黑客发起的分布式拒绝服务(DDoS)攻击。
与此相反,IPFS使用基于内容的地址处理,因此内容可以通过远程服务器验证和分离,并且存储在更靠近用户的地方。在IPFS中,它使用内容标识符(CID)或者“标签”来实现这个功能。CID是以内容为基础的加密哈希,或用数学算法获得任意输入并返回固定长度值的函数。
Rogers说:“当你把数据放到 IPFS时,它可以通过它的哈希地址或者 CID获得。在全世界,任何人都可以获得这个地址,把它放到计算机中,然后检索数据。正如世界上任何人都可以在浏览器中放置一个 URL并检索它一样,任何拥有 CID的人都可以在 IPFS网络中检索可用数据。”
任何内容的差异都会导致不同的 CID,同样的内容添加到不同的IPFS节点仍然会产生相同的CID,意味着用户可以很容易地验证数据的完整性。
除提供去中心化的内容存储和验证之外, IPFS还可以用来构建和托管去中心化应用程序(DApp),这是一个后端代码运行在对等网络上的计算机应用程序。
“有了CID,您要查找的数据的散列值在地址中,这样您就可以从任何地方获取该数据,因为您可以通过比较 hash值来验证它是否正确。”罗杰斯补充道:“这使你有了一个去中心化的无信任网络,因为你可以从任何地方、任何人检索数据,而且你可以对它进行加密以验证它是否正确。”
而且, IPFS的内容寻址比 HTTP的位置寻址更加高效,因为数据可以从网络中最近的节点而非远程服务器检索。这样的配置还意味着即使某个节点出现问题,仍然可以从其他节点获取全部内容。尽管部分网络失效,但数据依然存在,这与大规模的中断或审查活动相同。
“与IPFS的主要区别在于,可以从世界上任何希望提供该数据的人那里检索 CID,而使用HTTP,网站必须位于 URL 中编码的特定位置。”罗杰斯说。
因为要在IPFS网络上访问或存储内容,所以必须安装软件并运行 IPFS节点。要通过 HTTP访问,要在不安装软件的情况下通过 HTTP 访问 IPFS,可以使用网关,如 IPFS公共网关或 Cloudflare管理的分布式 Web网关。这两个网关中的任何一个都可以让用户从网络中的任何人获取内容。
除提供去中心化的内容存储和验证之外, IPFS还可以用来构建和托管一个开放源码的计算机应用程序(DApp),即运行在对等网络上的开源计算机应用程序。有些 DApp有自己的区块链,比如比特币,而另一些 DApp在现有区块链上运行,并产生自己的代币。DApps包括数字资产交换、游戏和社会媒体平台。
Rogers指出:“这些都是 DApp使用链接下数据的例子,而这正是 IPFS的优势。\”无论何时,如果要引用去中心化系统中的数据,例如 DApp,应该使用 IPFS。由于p2p协议还在浏览器中,您可能应该使用网关来读取Web浏览器中的数据。
不过,放入区块链交易中的数据的引用应该始终使用IPFS地址,这样就可以从网络中的任何地方找到该数据,不管是IPFS还是未来的网络,因为该地址不会锁定在IPFS中或任何特定协议。”
Dapp另一个引人注目的用例是,创建、分发和存储不可替代的代币或NFT,本质上是存储在区块链上的唯一加密资产。正如现实生活中的珍贵收藏, NFT不同于法定货币, NFT的价值来自于它们无法进行等价交换或交易的事实,而且由于区块链技术,其真实性和所有权。
归根结底, IPFS背后的这些核心概念可能是一种构建永久分布式网络的解决方案。目前,我们使用 HTTP这样的过时协议,已经建立了脆弱的超中心系统,这可能是对未来不确定性的有效对冲。
Rogers说:“我们在ProtocolLabs实验室的一部分任务是为人类的长远利益建设技术。很大一部分人类文化已经在网上发生了——但是像Instagram这样的封闭平台,原始数据(如 NFT)用于去中心化媒体共享最终可能取代像 Instagram这样的封闭平台。我们认为数据需要无限期地保存这是我们作为一个物种记录历史的一部分,我们很高兴能够为人类文化提供长久的可持续发展。”