首页 业界 正文

Cloudflare的IPFS网关,轻松构建基于IPFS应用

2018-09-19 10:20:08 来源:FileCoinAsia 公众号 阅读:9468 涉及币种: Filecoin
   
今天,我们很高兴推出Cloudflare的IPFS网关,这是一种从InterPlanetary文件系统(IPFS)访问内容的简便方法,它不需要在您的计算机上安装和运行任何特殊软件。我们希望在cloudflare-ipfs.com上托管的网关将作为许多新的高可靠性和安全性增强的Web应用程序的平台。IPFS网关是第一个作为我们分布式Web网关项目的一部分发布产品,它最终将包含我们支持新的分布式Web技术的所有努力。

Cloudflare,是一家美国的跨国科技企业,总部位于旧金山,在英国伦敦亦设有办事处。Cloudflare以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务。


Clouflare的IPFS网关



今天,我们很高兴推出Cloudflare的IPFS网关,这是一种从InterPlanetary文件系统(IPFS)访问内容的简便方法,它不需要在您的计算机上安装和运行任何特殊软件。我们希望在cloudflare-ipfs.com托管的网关将作为许多新的高可靠性和安全性增强的Web应用程序的平台。IPFS网关是第一个作为我们分布式Web网关项目的一部分发布产品,它最终将包含我们支持新的分布式Web技术的所有努力

本文将简要介绍IPFS。同时描述我们网关之上构建的内容,以及如何通过我们的网关使用您自己的自定义主机名提供自己内容的文档

IPFS快速入门

通常,当您从浏览器访问网站时,浏览器会跟踪原始服务器(或多个服务器),这些服务器是网站内容的最终集中存储库。然后,它会将您的计算机的请求发送到该源服务器,无论它在世界的哪个位置,该服务器都会将内容发送回您的计算机。这个系统几十年来一直服务于互联网,但是存在一个相当大的缺点:集中化使得无法将内容保持在线状态,比托管它的原始服务器更长。如果该原始服务器被自然灾害黑客入侵或取出,则该内容不可用。如果网站所有者决定将其删除,则内容将会消失。简而言之,镜像在大多数平台上都不是一流的概念(Cloudflare的Always Online是一个值得注意的例外)。

InterPlanetary文件系统旨在改变这种状况。IPFS是一种点对点文件系统,由世界各地的数千台计算机组成,每台计算机代表网络存储文件。这些文件可以是任何东西:图片,3D模型,甚至整个网站。已经有超过5,000,000,000个文件上传到IPFS

IPFS与传统Web

正如我们今天所想到的,IPFS与网络之间存在两个主要差异。

首先,对于IPFS,任何人都可以免费缓存和提供任何内容。目前,对于传统的网络最常见的是,依靠远程位置的大型托管服务提供商来存储内容,并将其提供给网络的其余部分。如果您想建立一个网站,您必须支付这些主要服务之一,为您执行此操作。使用IPFS,任何人都可以将其计算机注册为系统中的节点,并开始提供数据。如果您正在使用Raspberry Pi或运行世界上最大的服务器并不重要。您仍然可以成为系统中的高效节点。

第二个关键区别是数据是内容寻址的,而不是位置寻址的。这是一个微妙的差异,但影响是巨大的,所以它值得打破。

目前,当您打开浏览器并导航到example.com时,您告诉浏览器“获取存储在example.com的IP地址中的数据”(这恰好是93.184.216.34)。该IP地址标记了您想要的内容存储在网络中的位置。然后,您在该IP地址向服务器发送“example.com”内容的请求,服务器发回相关信息。因此,在最基本的层面上,您可以告诉网络在哪里查看,网络会发回它找到的内容。

IPFS将其转变为头脑。

使用IPFS,系统中存储的每个数据块都通过其内容的加密哈希来寻址,即,该块的唯一字母和数字串。当您想要IPFS中的一段数据时,可以通过其哈希来请求它。因此,不要问网络“让我得到存储在93.184.216.34的内容”,你问“给我一个哈希值为QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy的内容。”QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy恰好是包含字符串“I”的.txt文件的哈希值。m尝试IPFS“)。

这有什么不同?

请记住,使用IPFS,您可以告诉网络要查找的内容,并且网络会指出要查找的位置。

为什么这很重要?

首先,它使网络更具弹性。具有散列的内容QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy可以存储在几十个节点上,因此如果缓存该内容的一个节点发生故障,则网络将仅查找另一节点上的内容。

其次,它引入了自动安全级别。假设您知道所需文件的哈希值。所以你问网络,“给我带有哈希的文件QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy”(上面的example.txt文件)。网络响应并发送数据。当您收到所有数据时,您可以重新发送它。如果数据在传输过程中完全更改,则您获得的哈希值将与您要求的哈希值不同。您可以将散列视为文件的唯一指纹。如果您发回的文件不同于您预期收到的文件,则会有不同的指纹。这意味着系统具有内置的方式来了解内容是否已被篡改。


关于IPFS地址和加密哈希的注记

由于我们花了一些时间来讨论为什么这个内容寻址系统如此特殊,所以值得一谈如何构建IPFS地址。IPFS中的每个地址都是一个multihash,这意味着该地址将有关所使用的散列算法和散列输出的信息组合成一个字符串。IPFS多重散列有三个不同的部分:mulithash的第一个字节表示已使用哪个散列算法来生成散列; 第二个字节表示散列的长度; 其余字节是散列函数输出的值。默认情况下,IPFS使用SHA-256算法,该算法产生32字节的哈希值。这由Base58中的字符串“Qm”表示(IPFS地址的默认编码),这就是为什么这篇文章中的所有示例IPFS地址都是“Qm ...”形式的原因。

虽然SHA-256是目前使用的标准算法,但这种多哈格式允许IPFS协议支持其他散列算法生成的地址。如果世界在未来的某个时间发现SHA-256的缺陷,这允许IPFS网络转移到不同的算法。如果有人用另一种算法散列文件,该文件的地址将启动“Qm”以外的某些字符。

好消息是,至少目前,SHA-256被认为具有许多特性,使其成为一种强大的加密散列算法。其中最重要的是SHA-256具有抗冲击性。当有两个不同的文件在通过SHA-256算法运行时产生相同的哈希时发生冲突。要了解防止冲突的重要性,请考虑这个简短的情况。想象一下,一些IPFS用户Alice上传了一个带有一些哈希的文件,另一个用户Bob上传了一个恰好产生完全相同哈希的不同文件。如果发生这种情况,网络中将有两个不同的文件具有完全相同的地址。因此,如果某个第三人Carol在该地址发出IPFS请求内容,她不一定知道她是否会收到Bob的文件或Alice的文件。

SHA-256使碰撞极不可能。因为SHA-256计算256位散列,所以算法可以生成2 ^ 256个可能的IPFS地址。因此,IPFS中存在两个产生冲突的文件的可能性很低。非常低。如果你对更多的细节感兴趣,生日攻击维基百科页面有一个很酷的表格,显示了具有足够强大的哈希算法的冲突的可能性。

您如何访问IPFS上的内容?

现在我们已经了解了IPFS的所有细节,您可能想知道如何使用它。有许多方法可以访问存储在IPFS网络中的内容,但我们将在此处讨论两种流行的内容。第一种方法是将IPFS下载到您的计算机上。这会将您的计算机变为IPFS网络的节点,如果您想要使用它,这是与网络交互的最佳方式。

但是,如果您想要访问存储在IPFS上的内容,而不必在您的计算机上本地操作节点的麻烦,该怎么办?这就是IPFS网关发挥作用的地方。IPFS网关是第三方节点,它从IPFS网络获取内容并通过HTTPS为您提供服务。要使用网关,您无需下载任何软件或键入任何代码。您只需打开浏览器并输入网关的名称和您要查找的内容的哈希值,网关将在您的浏览器中提供内容。

假设您知道要从之前访问example.txt文件,该文件具有哈希值QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy,并且有一个可在以下位置访问的公共网关https://example-gateway.com

要访问该内容,您只需打开浏览器并输入即可

https://example-gateway.com/ipfs/QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

并且你将获得存储在该哈希中的数据。/ ipfs /前缀和散列的组合称为文件路径。您始终需要提供完整的文件路径来访问存储在IPFS中的内容。

您可以使用Cloudflare的网关做什么?

在最基本的层面,您可以从浏览器访问存储在IPFS上的任何数十亿个文件。但这不是你能做的唯一很酷的事情。使用Cloudflare的网关,您还可以构建一个完全托管在IPFS上的网站,但仍可通过自定义域名向您的用户提供。此外,我们将发布连接到我们网关的任何网站免费SSL证书,确保连接到Cloudflare网关的每个网站都不会受到窥探和操纵。

处理滥用问题

IPFS是一个点对点网络,因此用户可能共享滥用内容。这不是我们支持或纵容的事情。然而,就像Cloudflare如何与更传统的客户合作一样,Cloudflare的IPFS网关只是IPFS前面的缓存。Cloudflare无法修改或删除IPFS网络中的内容。如果发现Cloudflare IPFS网关提供的任何滥用内容,您可以使用标准滥用报告机制。

拥抱分布式的未来

IPFS只是采用新的,分散的网络愿景的一系列技术之一。Cloudflare对这些新技术带来的可能性感到兴奋,我们将网关视为一种工具,有助于弥合传统网络与IPFS标题下的新一代分布式网络技术之间的差距。通过让日常人员在浏览器中探索IPFS内容,我们使生态系统更加强大并支持其增长。就像Cloudflare在2010年推出并通过提供之前仅供互联网巨头使用的安全性,性能和可用性来改变网络媒体资产的游戏一样,我们认为IPFS网关将为分布式网络上的内容提供相同的推动力。

Dapper Labs首席技术官和CryptoKitties联合创始人Dieter Shirley说:

自从我们推出以来,我们就想在IPFS上存储CryptoKitty艺术,但技术还没有准备好。Cloudflare的声明将IPFS从一个充满希望的实验转变为一个强大的商业部署工具。好东西!

IPFS网关令人兴奋,但它并不是结束。还有其他同样有趣的分布式Web技术可以从Cloudflare庞大的全球网络中受益,我们目前正在探索这些可能性。


声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。