HTTP存在超中心化的问题,分析一下IPFS如何解决这些问题

来源:IPFS第一社区  作者:社区Ed  时间:2018-05-04

  IPFS(The InterPlanetary File System)星际文件系统是一种点到点的分布式文件系统,它连接的计算设备都拥有相同的文件管理模式。从某种意义上来说这个概念跟Web的最初理念很类似,但是实际上IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完备甚至替代HTTP。

 

  技术特征

 

  HTTP存在超中心化的问题,下面分析一下IPFS如何解决这些问题。

  IPFS从根本上改变了查找的方式,这是它最重要的特征。使用HTTP查找的是位置,而使用IPFS查找的是内容。

  举个例子:服务器上运行着一个文件http://www.chainstack.io/code/helloworld.js,遵照HTTP协议浏览器首先会查找服务器的位置(IP地址),随后向服务器索要文件的路径。这种体系下文件的位置取决于服务器管理者,而用户只能寄希望于文件没有被移动,并且服务器没有关闭。

  IPFS则是不再关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中可能出现的内容。我把刚才的文件helloworld.js放到IPFS节点,它会得到一个新名字。QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU(看到这个是不是有点熟悉?对的,就像是比特币或以太坊的哈希地址),是一个由文件内容计算出的加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。

  IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的,可以很好的适应内容分发网络(CDN)的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有最重要的——静态网站。

  IPFS文件还可以抽象成特殊的IPFS目录,从而标注一个可读的文件名(透明的映射到IPFS哈希),在访问的时候会像HTTP一样获取一个目录索引。在IPFS上建立网站的流程和过去一样,而且把网站加入到IPFS节点的指令只需要一条指令:ipfs add -r yoursitedirectory。网页间的连接不再需要人去维护,IPFS自带的查找可以解决。

  IPFS不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据。这就像是书签一样,在备份了自己的网站之外,自愿的为其他的关注的内容提供服务,不同的是这个书签不会像以前一样最终变得失效。

  IPFS节点间的拷贝、存储和网站支援都很容易,只需要使用一条指令以及网站的哈希,例如:ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8,剩下的IPFS会搞定。

  如果IPFS得以普及,节点数达到一定规模,即使每个节点只存放一点点内容,所累计的空间、带宽和可靠性也远超HTTP能提供的。随之而来,分布式Web会变成地球上最快、最可靠、最大的数据仓库,人类知识也就再也不会湮灭,亚历山大图书馆永远不会倒塌。

  由于IPFS/IPNS的哈希值都是很长和难记的字符串,所以IPFS兼容了现存的域名系统(DNS),可以通过可读的链接访问IPFS/IPNS内容。使用方法是在nameserver上创建一个文本记录,插入网站的哈希值。

  接下来IPFS还打算支持Namecoin。Namecoin从理论上完全实现了分布式Web的去中心化,整体的运行中不再需要中心化的授权。支持了Namecoin的IPFS不再需要ICANN、中心服务器,不受政治干涉,也无需授权证书。这听起来难以置信,但却是今天可以实现的技术。

 

  技术改进

 

  早期的分布式哈希表曾遭受过女巫攻击,但是已经有一些新的方案来实现,这就是基于区块链的改进技术;

  IPFS哈希只能用来表示不可变数据,因为一旦数据改变,哈希值也会改变。从某种意义上来说,这是保持数据持续性的好的设计。但是我们也需要一种方法来标记最新更新网站的哈希,这个方法我们称作IPNS。

  IPFS哈希是网站通过哈希公钥生成的,相对的IPNS使用私钥来标记IPFS哈希的引用。如果以前用过比特币你应该很熟悉这种模式,比特币地址就是一种公钥哈希。

  文章转自ChainStack的博客,版权归原作者所有。

  

  微信群

相关信息:
您可能喜欢
Copyright © 2017 iIPFS.com IPFS/FileCoin资讯站