IPFS快速入门 | 通过Cloudflare直接从浏览器访问IPFS文件

2018年9月17日,世界知名的网络公司Cloudflare推出了自己的IPFS网关,它不需要在本地计算机上安装和运行任何特殊软件,就可以简便地从星际文件系统(IPFS)访问内容。Cloudflare希望他们在cloudflare-ipfs.com上托管的网关将作为许多新的高可靠性和安全性增强的Web应用程序的平台。IPFS网关是Cloudflare的第一个分布式Web网关项目的一部分发布的产品,它最终将包含Cloudflare的所有新的分布式Web技术。

2018年9月17日,世界知名的网络公司Cloudflare推出了自己的IPFS网关,它不需要在本地计算机上安装和运行任何特殊软件,就可以简便地从星际文件系统(IPFS)访问内容。Cloudflare希望他们在cloudflare-ipfs.com上托管的网关将作为许多新的高可靠性和安全性增强的Web应用程序的平台。IPFS网关是Cloudflare的第一个分布式Web网关项目的一部分发布的产品,它最终将包含Cloudflare的所有新的分布式Web技术。

本文是Cloudflare对IPFS的简要介绍,此外还有两篇关于Cloudflare网关之上构建的内容,以及如何通过Cloudflare的网关使用您自己的自定义主机上传自己的内容的文档

IPFS快速入门

IPFS快速入门 | 通过Cloudflare直接从浏览器访问IPFS文件

通常,当您从浏览器访问网站时,浏览器会跟踪原始服务器(或多个服务器),这些服务器是网站内容的最终集中存储库。然后,它会将您的计算机的请求发送到该源服务器,无论它在世界的哪个位置,该服务器都会将内容发送回您的计算机。这个系统几十年来一直服务于互联网,但是存在一个相当大的缺点:中心化的存储只有在原始服务器在线时才能让内容能被正常访问。如果该原始服务器被自然灾害攻击或黑客入侵了,内容就无法被访问了。如果网站的所有者决定将这份内容删除,那么内容就会消失在网络上。简而言之,镜像在大多数平台上都不是一流的概念(Cloudflare的Always Online是例外)。

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

IPFS与传统Web

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

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

IPFS快速入门 | 通过Cloudflare直接从浏览器访问IPFS文件

第二个关键区别是数据是内容寻址的,而不是位置寻址的。这是一个微妙的差异,但影响是巨大的,是一个很有价值的突破。

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

IPFS从头到尾转变了这个模式。

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

这有什么不同?

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

为什么这很重要?

首先,它使网络更具弹性。哈希为QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy的内容可以存储在几十个节点上,因此如果缓存该内容的一个节点发生故障,则网络只需要查找另一节点上的内容。

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

IPFS快速入门 | 通过Cloudflare直接从浏览器访问IPFS文件 IPFS快速入门 | 通过Cloudflare直接从浏览器访问IPFS文件

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

由于我们花了一些时间来讨论为什么这个内容寻址系统如此特殊,所以值得一谈如何构建IPFS地址。IPFS中的每个地址都是一个多重哈希,这意味着该地址将有关所使用的哈希算法和哈希输出的信息组合成一个字符串。IPFS多重哈希有三个不同的部分:多重哈希的第一个字节表示已使用哪个哈希算法来生成哈希; 第二个字节表示哈希的长度; 其余字节是哈希函数输出的值。默认情况下,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上的内容,但不想在计算机上安装软件或者操作节点,该怎么办?这就是IPFS网关发挥作用的地方。IPFS网关是第三方节点,它从IPFS网络获取内容并通过HTTPS为您提供服务。要使用网关,您无需下载任何软件或键入任何代码。您只需打开浏览器并输入网关的名称和您要查找的内容的哈希值,网关将在您的浏览器中提供内容。

假设您知道要从之前访问example.txt文件,该文件具有哈希值QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy,并且有一个可在以下位置访问的公共网关https://example-gateway.com。要访问该内容,您只需打开浏览器并输入https://example-gateway.com/ipfs/QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy即可,然后你就可以获取到存储在该哈希中的数据。/ipfs/前缀和哈希的组合称为文件路径。你需要提供完整的文件路径才能来访问存储在IPFS中的内容。

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

在最基本的层面上,您可以直接从浏览器访问存储在IPFS上的任何数十亿个文件。并且,不止如此。使用Cloudflare的网关,你还可以构建一个完全托管在IPFS上的网站,但仍可通过自定义域名向你的用户提供。此外,Cloudflare还将发布连接到网关的任何网站的免费SSL证书,确保连接到Cloudflare网关的每个网站都不会受到窥探和操纵。有关更多信息,请查看Distributed Web Gateway开发人员文档

这是一个仅使用IPFS构建分布式搜索引擎示例——StackExchange网站的Kiwix存档

处理滥用问题

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

拥抱分布式的未来

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

Dapper Labs首席技术官和以太猫(CryptoKitties)联合创始人Dieter Shirley说:

自从推出以来,我们就想在IPFS上存储以太猫(CryptoKitties),但可惜技术还没有准备好。Cloudflare的声明将IPFS从一个充满希望的实验转变为一个强大的商业部署工具。真的很不错!

IPFS网关令人兴奋,但它并不是结束。还有其他同样有趣的分布式Web技术可以从Cloudflare庞大的全球网络中受益,我们目前正在探索这些可能性。如果您有兴趣通过Cloudflare帮助建立更好的互联网,或者对IPFS的技术未来十分感兴趣,欢迎关注IPFS点滴资讯,加入我们,成为社区的一员。

原创文章,作者:Redwinam,如若转载,请注明出处:https://ipfsdrop.com/practice/cloudflare-goes-interplanetary-introducing-cloudflares-ipfs-gateway/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

(+86)18301922335

在线咨询:点击这里给我发消息

邮件:haskell@freechains.cn

工作时间:7×24小时

QR code