星鉴网>IPFS热点>IPFS技术丨Cloudflare的IPFS网关

IPFS技术丨Cloudflare的IPFS网关

2018/9/26 15:49:11 1291人阅读

【导读】 Cloudflare的IPFS网关,这是一种不需要在计算机上安装和运行任何特殊软件,就可以直接访问星际文件系统(IPFS)中内容的简单方法。

我们很高兴地介绍Cloudflare的IPFS网关,这是一种不需要在计算机上安装和运行任何特殊软件,就可以直接访问星际文件系统(IPFS)中内容的简单方法。


希望我们的网关(位于cloudflar -ipfs.com)将成为高度可靠和安全强的web应用程序平台。IPFS网关是作为我们的分布式Web网关项目的第一个产品,该项目将包括我们开发新的分布式Web技术的所有努力。


这篇文章将简要介绍IPFS。



IPFS快速入门

 

通常,当您从浏览器访问网站时,浏览器会跟踪到网站内容集中存储的源服务器(或服务器)。然后它从您的计算机向源服务器发送一个请求,无论它在世界的什么地方,该服务器都会将内容发送回您的计算机。


这个系统已经为互联网服务了几十年,但是有一个非常大的缺点:如果源服务器被黑客攻击或被自然灾害删除,则内容不可用。如果网站所有者决定将其删除,内容就会消失。

 

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



IPFS与传统Web


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


首先,对于IPFS,任何人都可以免费缓存和提供任何内容。现在,在传统的web中,最典型的是依赖远程位置的大型主机提供商来存储内容并将其提供给web的其他部分。如果你想建立一个网站,你必须支付其中一个服务为你这样做


使用IPFS,任何人都可以将自己的计算机注册为系统中的节点并开始提供数据。不管你是在制作Raspberry Pi,还是运行世界上最大的服务器。您仍然可以成为系统中的生产节点。

    

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


目前,当您打开浏览器并导航到example.com时,您告诉浏览器“为我取回存储在example.com IP地址上的数据”(这恰好是93.184.216.34)。该IP地址标记您想要的内容存储在网络中的位置。然后,您以“example.com”内容的IP地址向服务器发送请求,服务器将发回相关信息。


所以在最基本的层面上,你告诉网络去哪里看,网络会发回它发现的东西。

 

IPFS完全颠倒过来了。


使用IPFS,系统中存储的每个数据块都由其内容的加密哈希处理,即,这是一长串的字母和数字,在那个块中是唯一的。当您想要IPFS中的数据片段时,您可以通过它的哈希请求它。


因此,与其请求网络“获取存储在93.184.216.34的内容”,不如请求“获取散列值为qmxnnyufdzawl5cqz2rngpbvcc1alt73s6epprrnz1xy的内容”。(QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy碰巧是一个.txt文件的哈希,其中包含字符串“我正在尝试IPFS”)。

 


这有什么不同?


请记住,使用IPFS时,您告诉网络要查找什么,网络会指出应该查找什么。



为什么这很重要?


首先,它使网络更具弹性。


带有

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy哈希的内容可以存储在几十个节点上,所以如果一个正在缓存内容的节点出现故障,网络就会在另一个节点上查找内容。

 

其次,它引入了自动安全级别。假设你知道你想要的文件的哈希值。


所以你问网络,“给我一个带

hash QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

的文件”(上面的example.txt文件)。网络响应并发送数据。当您接收到所有数据时,您可以重新对其进行哈希。如果数据在传输过程中发生了任何更改,那么您得到的哈希值将与您请求的哈希值不同。


您可以将哈希值看作是文件的惟一指纹。如果你收到的文件和你预期的不一样,它就会有不同的指纹。这意味着系统有一个内置的方法来知道内容是否被篡改。



关于IPFS地址和加密哈希


由于我们花了一些时间来解释为什么这个内容地址系统如此特别,所以有必要稍微讨论一下IPFS地址是如何构建的。


IPFS中的每个地址都是一个multihash,这意味着该地址将使用的散列算法和散列输出的信息组合成一个字符串。IPFS多重哈希有三个不同的部分:mulithash的第一个字节表示使用哪个哈希算法产生哈希;第二个字节表示散列的长度;剩下的字节是哈希函数输出的值。


默认情况下,IPFS使用SHA-256算法,生成32字节的散列。这是由Base58 (IPFS地址的默认编码)中的字符串“Qm”表示的,这就是为什么本文中的所有示例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 ipf算法可能产生的地址。因此,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的网关的网站不受窥探和操纵的影响。

 

一个有趣的例子,我们使用了所有不同StackExchange网站的Kiwix存档,并在此基础上仅使用IPFS构建了一个分布式搜索引擎。看看这里(https://ipfs-sec.stackexchange.cloudflare-ipfs.com/)。

 


处理滥用问题


IPFS是一个点对点网络,所以用户有可能共享滥用内容。这不是我们支持或宽恕的事情。然而,就像Cloudflare如何与更传统的客户合作一样,Cloudflare的IPFS网关只是IPFS前面的一个缓存。Cloudflare不具备从IPFS网络中修改或删除内容的能力。


如果发现Cloudflare IPFS网关提供的任何虐待内容,您可以使用标准虐待报告机制(https://www.cloudflare.com/abuse/)。



拥抱分布式的未来


IPFS只是一系列技术中的一个,这些技术正在拥抱一种新的、分散的网络愿景。Cloudflare对这些新技术带来的可能性感到兴奋,我们将我们的网关视为一个工具,帮助弥合传统web与以IPFS为标题的新一代分布式web技术之间的差距。


通过让日常用户在浏览器中探索IPFS内容,我们使生态系统更加强大,并支持其增长。就像Cloudflare在2010年推出并通过提供以前只对互联网巨头开放的安全性、性能和可用性来改变web属性游戏一样,我们认为IPFS网关将对分布式web上的内容提供同样的提升。

 

Dapper Labs的首席技术官兼CryptoKitties说:

 

自发布以来,我们一直想在IPFS上存储CryptoKitty艺术品,但这项技术还没有准备好。Cloudflare的声明将IPFS从一个有前途的实验变成了一个强大的商业部署工具!

 

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

56

参与讨论

登录后参加评论......

全部评论 0

作者

返回顶部