欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Zig-BaaS助力IPFS逐步成为网络协议新方向

程序员文章站 2022-10-12 08:29:48
最近有个很火的项目叫IPFS,IPFS是倡导分布式网络的产品,是一个典型的开源代表。IPFS又叫星际文件系统,英文全称是:InterPlanetaryFileSystem。它是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将所有具...

最近有个很火的项目叫ipfs,ipfs是倡导分布式网络的产品,是一个典型的开源代表。ipfs又叫星际文件系统,英文全称是:interplanetary file system。它是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(http),将所有具有相同文件系统的计算设备连接在一起。原理用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。

互联网时代的基石—http:

上面的定义中我们发现ipfs是要替代http的,区块链时代和互联网时代最大的差别就是互联网时代是信息传播时代,而区块链时代是价值传播的时代。互联网时代代表就是http的传播方式,在区块链时代ipfs或将成为新的网络传输方式。

http是当今互联网的基石,犹如《圣经》创世的十诫,有了http才有后来的浏览器,网站,客户端,小程序等等应用的存在。互联网公司将内容放置服务器上,用户通过浏览网页或访问客户端等形式或许信息,这就形成信息传播的方式。在这个过程中所有数据传输都是遵照http下的标准协议运行,所以它成为了互联网存在的基石。但http是有缺陷的,它首先是一个中心化的结构,用户所访问的内容,是可以查到来自于哪个服务器,服务器又隶属于谁,当服务器出现宕机或数据丢失时,将给企业和用户带来致命性的打击。除此之外http还有一个问题时用户要访问同一内容就要去相同的服务器,当访问量超过服务器带宽时就会造成数据线路上的“拥堵”使得上网变得寸步难行。这也同样衍生出一种攻击手段,黑客可以通过控制肉鸡对服务器进行访问攻击,使得访问网站变得缓慢。这些命门的存在成为了http网络发展的阻碍。

价值互联网新的基石——ipfs:

随着区块链的兴起,ipfs网络替代http网络的呼声也高涨了起来。如同上面说了很多http的问题,ipfs要从根本上来解决http的问题,才能代替它。首先它和http最大的不同在于,http是为了查找位置而存在的,而ipfs是为了查找内容而存在的。举个例子,比如服务器上运行着一个网站:https://baas.zhigui.com/,按http协议浏览器首先会查找服务器的位置,随后向服务器索要路径,这种规则下网站取决于管理者,用户只能希望网站可以打开。

ipfs协议下用户不需要关心服务器位置,也不需要关心网站的名字和路径,只要关注需要的文件内容。这些内容将会被放到ipfs节点上,同时会被赋予一个新的名字qmauan7jbwcy9rb7xqjqjtvbnxgfug9vnsklfbkmfwqxtl,是一个由文件内容计算出的加密哈希值。哈希值直接反映出文件的内容,哪怕修改1比特,哈希值结果也会完全不同。当ipfs被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。ipfs上没有存储的限制,大文件会被分成多个小块,下载的时候可以多服务器同时获取。这样的涉及可以很好的共享各类数据,包括图像,视频,分布式数据库,操作系统,还有最重要的它可以做一个静态网站。ipfs文件可以抽象成一个特殊的ipfs目录,从而标注可读文件的文件名(透明的映射到ipfs哈希),在访问时可以像http一样获取目录索引。这样一来就可以使得ipfs上建站和http上建站的流程一样,且把网站加入到ipfs节点也仅是需要一条ipfs add -r yoursitedirectory的指令便可完成,网站也不需要有人再去维护,ipfs自带查找就可以解决问题。

ipfs本质是在打造一个点对点的网络拓扑,相当于在颠覆http所代表的网络分布关系。它具有内容可寻的特点,通过文件内生成的唯一哈希标识,进而节约了空间开销成本。http协议是域名寻址,最终映射到最底层,找到对应主机,进而从文件目录中得到文件。但http不关心文件是否相同,所以占用空间开销较大。而ipfs,会通过唯一的哈希标识去访问网络,提前检验标识是否被储存,如果被储存直接从其它节点进行读取,无需重复储存,所以最大程度的节约了储存空间。

一项新的技术之所以能够替代原有技术,原因就两点:其一是提高系统效率,其二是降低系统成本。而ipfs两点全做到了,所以它也必将替代http。

ipfs未来还能做些什么?

如果用ipfs网络搭建视频播放平台,用户上传的视频文件都经过ipfs协议进行存储,具有唯一标识。相较于传统视频网站,它可以降低同资源冗余程度,大大节约海量用户在播放视频时所产生的带宽成本。

当然如果脑洞再大一些,把ipfs技术用于火星殖民地,那么这种基于内容寻址的好处就更明显了。设想一个殖民者试图连接到地球上的服务器,单向延迟时间在4到24分钟之间,还得取决于行星的相对轨道位置。好的情况下每个往返请求需要8到48分钟,而差的情况下你可能需要48分钟。借助ipfs系统,可以在火星上缓存大部分互联网,当有人已经缓存了你要访问的页面,那么就可以从火星上的节点直接返回数据,使速度和地球上一样快。ipfs可以用来在多个行星上来分配部分互联网的访问,速度不再成为任何障碍。这也是ipfs名称—星际文件系统的由来。

除此之外,ipfs网络还可以为传统应用提供分布式缓存。我们将地理位置坐标数据通过hash算法转化成一维字符串,并将与之相关联的具有检索价值的数据存入ipfs网络,由ipfs网络标识唯一性,并分布在各个邻近节点上。当检索请求到来时,系统先通过字符串近似度范围比较,缩小检索范围,加快检索效率,通过附近节点拿到超媒体数据,达到类似分布式缓存的效果,就可提高整个检索动作的效率。

一键接入ipfs网络的神器:zig-baas

想要更深入了解或接入ipfs网络,不妨试试一键接入ipfs网络的操作平台。比如zig-baas——纸贵区块链云服务平台提供的ipfs接入功能。网络地址:https://baas.zhigui.com

Zig-BaaS助力IPFS逐步成为网络协议新方向

在纸贵科技区块链云服务平台上,点击产品服务下ipfs网络接入,就可以直接体验接入ipfs网络的效果。

Zig-BaaS助力IPFS逐步成为网络协议新方向

进入ipfs网络后,点击节点信息,可以看到id,地址等信息。

Zig-BaaS助力IPFS逐步成为网络协议新方向

进入网络连接可以看到地球上部分的ipfs网络节点,他们都是可视化的方式通过小旗子在地球上进行展现的。

Zig-BaaS助力IPFS逐步成为网络协议新方向
Zig-BaaS助力IPFS逐步成为网络协议新方向

文件上传点击文件上传按钮可以直接上传文件,文件检索可以直接搜索所需要的文件。最大程度简化了接入ipfs网络的难度。

其实这种做法与阿里云有异曲同工之妙。众所周知,在互联网初期如果要测试一个软件,就需要买一台机器,用户自己布一个测试环境,才能进行软件开发。而阿里云的出现,直接在云端已经打建好测试换进,用户无需自己再进行搭建,只要在云端直接租用就可以进行软件的开发,这样大大节省了搭建环境的时间与成本。现在纸贵区块链云服务平台也是如此,无需用户自己搭建ipfs网络接入的环境,只需在纸贵区块链云服务平台上简单操作便可完成ipfs的网络接入。如果用户自身想要搭建一个私有的ipfs网络,纸贵科技也有开发能力帮客户实现ipfs网络的搭建,完成客户对ipfs网络的各种需求。

不简单的区块链云服务平台:

纸贵区块链云服务平台的ipfs网络接入服务是最新的功能。

Zig-BaaS助力IPFS逐步成为网络协议新方向

除此之外,在纸贵区块链云服务平台上,用户可以自己创建一条区块链,可以是联盟链,也可以是公有链。网络地址:https://baas.zhigui.com/

Zig-BaaS助力IPFS逐步成为网络协议新方向

当区块链创建完成后,用户可通过区块链浏览器看到区块链的一些信息,有多少节点,有多少区块,拓扑图是什么样子,甚至可以看到每一个区块的详情。

Zig-BaaS助力IPFS逐步成为网络协议新方向
Zig-BaaS助力IPFS逐步成为网络协议新方向

而链码就是区块链上的智能合约,这些链码可以通过服务平台上传和安装,安装完成后就可以在区块链上调用该代码。平台会给用户分配一系列的api接口,通过api接口就可以直接调用整条区块链。

如果您对于纸贵科技的区块链技术还存有疑虑,也许做为中国互联网先驱者的金山集团可以帮您打消这些疑虑。2018年8月纸贵与金山集团旗下云计算企业(金山云)达成战略合作。此次合作中,纸贵科技为金山云提供了基于zig-ledger的底层链技术服务,以及针对游戏行业需求提供定制化baas产品及服务。帮助其搭建金山游戏云区块链云服务平台kbaas,为kbaas平台提供了源代码级别的技术支持,包括baas功能增强、易用性提升、共识优化、跨链交互等,保证了kbaas平台与整个国际开放社区的同步接轨。

zig-baas——纸贵区块链云服务平台就像一座桥梁,能够连接区块链行业与开发者及企业用户,为他们提供一系列的区块链基础与增值服务,包括整套区块链开发工具和底层链环境,进一步简化开发流程、降低部署成本,使用户可集中精力于区块链上层应用开发,从而让技术发挥更广阔的价值。