首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Cloudflare-IPFS网关发布!在挖矿中探索未来的可能性…

这是玛雅矿机的第178篇文章

昨天,IPFS Twitter推出Cloudflare的IPFS网关,这是一种从IPFS访问内容简单便捷的方法,它不用在我们计算机上安装或运行任何特殊软件。开发人员希望使用者能够在cloudflare-ipfs.com上所托管的网关,将作为多数新的高可靠性与安全性全面增强的网络应用程序平台。这个网关是首个作为分布式网络网关项目的部分发布产品,最后将含有大家所支持新分布式Web技术的所有汗水。

本文我们将简单回顾下IPFS、描述基于网关之上所构建的内容,以及怎样通过这个网关使用自己的自定义主机名可以提供自己内容的文档。

IPFS VS WEB

一般情况下,当我们从浏览器访问某网站时,浏览器会跟踪原始/多个服务器,服务器是网站内容,最后将会集中在存储库。之后,它会将我们计算机的请求发送到这个源服务器,不管身处世界的哪个角落,此服务器都会将内容发送回我们的计算机上。

该系统多年来服务于WEB,但却存在一个不容忽视的缺陷:集中化导致无法将内容保持在线状态比托管它的原始服务器更长。若该原始服务器遭受自然灾害、黑客的入侵或取出,则此内容将不可用。假如网站所有者决定将其删除,则内容将会消失。简言之,镜像在大多数平台上都不是一流的概念(Cloudflare中的Always Online是一个需要注意的例外)。

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

IPFS与WEB之间存在两个主要差异。首先,对于IPFS,任何人都可以免费缓存和提供任何内容,目前,传统网络最常见的是依靠远程位置的大型托管服务提供商来存储内容并将其提供给网络的其余部分。若欲建立一个网站,就必须支付这些主要服务之一来执行此操作。使用IPFS,任何人都可以将其计算机注册为系统中的节点并开始提供数据。即使正在使用Raspberry Pi/运行着全球最大的服务器,还是能够成为系统中的高效节点。

另一个区别在于,IPFS的数据是内容寻址的,而非位置寻址,这个差异极其微妙,但却有着巨大的影响。

现在,当我们打开浏览器并导航到某个网址时,比如xx.com,告知浏览器“获取存储在这个网址的IP地址中的数据”(假设是:91.183.216.34),该IP地址标记了,我们所需的内容存储在web中的位置。之后,在该IP地址向服务器发送“xx.com”内容的请求,服务器会发回相关信息。因此,在最基本的层面上,我们可以告诉web在哪里查看,web会发回它找到的内容。

IPFS可将其转化为头脑,IPFS系统中所存的数据块都通过其内容的加密Hash来寻址,即该块的唯一字母与数字串。当我们需要IPFS中的一段数据时,能够通过其Hash来进行请求。因此,别告诉网络“让我获取存储在91.183.216.34的内容”,可以跟它说“给我一个Hash Function为

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

的内容。”

「QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy中正好是包含字符串“I”的xx.txt文件的Hash Function,m试图IPFS」

这样操作的不同在于,使用IPFS的话,可以告诉网络要查找的内容,并且web会指出要查找的位置。

为什么说这很重要呢?首先,它能使web更具弹性。具有散列的内容

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy

能存储于几十个节点上,因此若缓存该内容的一个节点发生故障,则网络将仅查找另一节点上的内容。

其次,它引入了自动安全级别。假设你知道所需文件的Hash Function,即可问web,“给我带有Hash的文件QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy”「上面的xx.txt文件」。Network将会响应并发送数据。当收到一切数据时,就能重新发送它,若数据在传输过程中彻底更改,则获得的Hash Function将与要求的Hash Function不同。我们可以将散列视为文件的唯一指纹,若发回的文件不同于所预期收到的文件,则会产生不一样的指纹。这意味着系统中具备内置的方式,可以用来检测内容已被篡改与否。

IPFS地址与加密Hash的注记

基于我们花了不少时间来讨论这个内容寻址系统为什么这么与众不同,如何构建IPFS地址也就值得探讨一番。IPFS中的每个地址都是一个multihash,也就是说该地址将有关所使用的散列算法和散列输出的信息组合成一个字符串。

IPFS多重散列包括3个不同部分:mulithash的首字节代表已经使用哪种散列算法来生成; 第二字节代表散列的长度; 余下则是散列函数所输出的值。在默认状态下,IPFS使用SHA-256算法,该算法产生32字节的Hash Function,由Base58中的字符串“Qm”表示「IPFS地址的默认编码」,这也是我们在文章中的举例都用IPFS地址都是“Qm ...”形式的缘由。

SHA-256虽然是当前所用的标准算法,但这种多哈格式允许IPFS协议支持其他散列算法生成的地址。若世界在未来的哪个时刻察觉SHA-256的短板,将准许IPFS网络转移到不同的算法。假如有人用别的算法散列文件,该文件的地址将启动除去“Qm”外的一些字符。

不过至少目前看来,SHA-256被认为具备许多特性,使其能够成为一种强大的加密散列算法。SHA-256的抗冲击性是这中间至关重要的一个特点,当存在2个不同的文件在通过SHA-256算法运行时产生一样的Hash时发生冲突。想清楚防止冲突的重要性,这个情况也得考虑一下。可以猜想,IPFS用户1上传了一个带有某Hash Function的文件,另一用户2也上传一个正好产生完全一样Hash哈希的不同文件,若发生该情况,network中将有两个不同的文件,但它们具有完全一样的地址。因此,若用户3在该地址上发出IPFS请求内容,即3不一定知道自己是否会收到2/1的文件。

SHA-256使碰撞可能性极低,由于SHA-256计算256位散列,所以算法可以生成2^256个可能的IPFS地址。也就是说,IPFS中存在2个产生冲突的文件的可能性是极低的。

怎样访问IPFS内容?

经过上文所述内容,对于IPFS也有了全面的了解,但具体该怎样使用呢?有不少方法能访问存储在IPFS网络中的内容,但在此,我们只讨论两种主流的。方法一是将IPFS下载到个人计算机上,这将让我们的计算机变为IPFS网络的节点,这是与网络交互的较好方式。

若想要访问存储在IPFS上的内容却不想在计算机上本地操作节点,该怎么办?这时候IPFS网关就能发挥作用了。IPFS网关是一个第三方节点,它从IPFS网络获取内容并通过HTTPS为提供服务。用网关即可无需下载任何软件和键入代码,仅打开浏览器并输入网关名称与想查找内容的Hash Function,网关将在浏览器中为你提供内容。

举个例子,假设知道要从之前访问xx.txt文件,此文件含Hash Function

QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy,

同时,有一个可访问下面位置的公共网关

https://xx-gateway.com

想访问这个内容,只需打开浏览器且输入就行

https://xx-gateway.com/ipfs/QmXnnyufdzAWL5CqZ2RnSNgPbvCc1ALT73s6epPrRnZ1Xy还将获取存储于本Hash Function里的数据。

/ipfs/前缀与散列的组合称为文件路径,我们始终想要提供完备的文件路径来访问存储在IPFS中的内容。

Cloudflare网关能做什么?

从最基本的说起,它能从浏览器访问存储于IPFS上的所有数十亿个文件。更厉害的是,还能构建一个彻底托管于IPFS上的网站,却还是能通过自定义域名向用户提供。另外,ipfs将推出连接到网关的一切网站的免费SSL证书,保证连接到该网关的所有网站全不受隐私威胁。

分布式未来的蓝图

IPFS是采用新的、分散的网络愿景的一种技术。对于这些新技术的可能性令人惊喜,我们将网关视为一类工具,利于弥合传统web与IPFS标题下的新生代分布式网络技术间的差异。

经过让用户在浏览器中探索IPFS内容,能让生态系统更加强大,并且支持它增长。如Cloudflare 2010年发布且通过提供之前仅供互联网巨头使用的安全性,性能和可用性来更改网络媒体资产的game,IPFS网关可能将会为分布式网络上的内容提供一样的推动力。

IPFS网关的发布是一个新起点,还有其他不少富有趣味的分布式网络技术能从Cloudflare庞大的全球web中获益,在挖矿的过程中,我们也能探索这些可能性。

玛雅云算力已经重磅上线!玛雅云算力采用玛雅矿机D1、玛雅1号比特云算力、玛雅2号比特云算力等市场领先的矿机与超强算力,同时使用自建专业的托管矿场,每笔订单清晰可见,绝对透明放心的用户承诺和最佳的性价比,让用户没有后顾之忧的享受更低的投入、更便捷的操作和更高的收益回报!

玛雅云算力在公众号的首页菜单就可一键进入官网哦,感兴趣的朋友请持续关注“玛雅矿机”公众号,更多相关资讯尽在其中!

扫描二维码,进入公众号咨询

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180918A1ZTUV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券