中国领先的IT技术网站
|
|

2.4 IPFS:星际文件系统

《白话区块链》第2章区块链应用发展,在本章中,由于限于篇幅,我们不能一一介绍所有的应用场景。作为一名技术人员,真切地期望一种好的技术思想能够对社会的生产发展以及人们的生活带来促进作用。本节为大家介绍IPFS:星际文件系统。

作者:蒋勇/文延/嘉文来源:机械工业出版社|2017-11-24 14:06

开发者大赛路演 | 12月16日,技术创新,北京不见不散


2.4 IPFS:星际文件系统

IPFS,英文全称是InterPlanetary File System,名字确实很酷,这是一种点对点的分布式文件系统,它的对标物是现有的HTTP体系,那么我们先来看一看现有的HTTP体系都有哪些问题,如下。

1)中心化的服务器很容易成为性能和流量瓶颈,比如下载文件、观看视频等,当连接数多了以后,很容易速度变慢乃至服务瘫痪。这些我们都有过体会,目前任何一个使用HTTP访问的站点基本都是这样,最好的方式也无非就是增加更多的服务器实现负载均衡,不过这样的话,成本也就更加昂贵了。

2)站点数据不能长期保存,这是很显然的,尤其是对于长时间没什么访问量的内容,一般不是删除就是单独打包备份了,总之是不能再访问了,传统的HTTP服务器通常不会对站点数据做版本历史管理。

3)文件地址定位不够平滑,这个概念需要解释一下。我们知道,在通过浏览器访问站点的时候,一般都要一级域名、二级域名,然后还有文件的锚点定位,也就是说HTTP支持的是一个层次目录结构,这种设计一方面要求站点服务者要将自己的内容在设计开发的时候就安排好目录层次,除了实际的目录层次外,还需要设置虚拟路径等,对于一个大型站点,其目录层次是很复杂的。然而,实际上用户并不关心这个结构层次,是不是?我们访问一个站点的目的仅仅是希望快速查看内容,而不是去记住那些层次复杂的路径。

好了,我们暂且总结关于HTTP的这些问题点,现在来看一看IPFS的特点,以及通过什么样的方式能解决这些问题。

IPFS基于内容寻址而不是HTTP基于域名的级联寻址,也就避免了要记住文件存储的服务器名称、路径等。IPFS系统对每一个加入到节点的文件都计算出一个哈希值,这个哈希值可以唯一地表示某一个文件,当使用这个哈希值向IPFS发送文件请求时,会使用一个分布式的哈希表找到文件所在的节点,从而可以直接获得文件,这种方式最大的好处就是扁平化文件的路径层次,或者说就没有层次了,只要拿着文件的哈希值就可以,这种检索方式其实更符合人们的思维习惯。

在分布式存储结构中,文件可以切分成小的分块到不同的节点上分别存储,需要获取的时候也可以分别从不同的节点获取,这样可以大大提高文件存取的性能,实际上这也是P2P系统之间进行文件访问常用的一种方式。与比特币这样的区块链系统不同,文件存储节点并不需要共同维护完全一样的文件数据。

结合区块链系统的设计,拥有了数据不可篡改以及时间戳关联等特性,这样的特点非常适合应用于文件的版权保护、来源证明等场景,还可以使用基于区块链的代币来激励IPFS节点,这样使得IPFS系统带进了金融属性,使用IPFS的人越多,代币就会越有用武之地,而反过来就会激励更多的人去使用IPFS。

IPFS并不只是一个概念,实际上目前已经有很多应用了,比如AKASHA,这是一个基于以太坊和IPFS的社交网络;还有Neocities,这是一个免费的、基于IPFS的网页主机服务,即便Neocities关闭,人们也依然可以通过IPFS浏览到内容,这个听起来是不是有些激动。分布式文件系统与区块链技术的结合,可以产生如此多的创意应用,以至于很多人都认为,IPFS将最终取代HTTP体系,我们就拭目以待吧。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

SQL实用简明教程(第2版)

SQL(结构化查询语言)是数据库系统的通用语言,利用它可以用几乎同样的语句在不同的数据库系统上执行同样的操作,在数据库系统的开发中有着...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 51CTO学院双十二活动