这次让我们来谈谈去中心化储存的方式,IPFS代表星际文件系统,它是一种开源的,对等分布式超媒体协议,旨在充当所有计算设备的普遍存在的文件系统。让我们来看看这种方式有什么特点。
在讲解IPFS 之前,让我们先来复习一下几个现有的文件传输协定,第一个是hyper text 也就是http 协议,这个协议本身是一个让你可以去读取网路上文件的协议,而读出来你再用特定的方式来显示他,这就是我们现在使用的web ,他依靠的是单一伺服器的内容,所以当伺服器挂了,你就无法读取该网站的内容,还有因为伺服器的地缘关系,很多时候你在很远的地方他读取的速度是相对很慢的。
另外一个是所谓的BT ,这个协议就有点像我们现在讲的IPFS ,他是一个共享的协议,当你发出一个文件的请求,有很多文件的节点就会去贡献他的文件,所以如果文件分享源离你很近的话,相对你拿到文件的速度是快的,而且当越多人在分享一个文件,你能够拿到文件的速度也会变快。
IPFS是一个分散式的文件储存系统,他将每一台参与的电脑当成一个节点,储存在这上面的文件会使用杂凑技术变成content identifier — CID来代表这个文件,然后将这些文件拆成一个个小的文件,储藏在这个网路上的节点之上,当用户需要调阅这个文件的内容时,在使用P2P的方式去找到储藏有这个部分文件的节点,取出来进行读取。
基本上,IPFS与我们今天所知的万维网类似,但是更像是单个BitTorrent群,它们在单个Git存储库中交换对象。
通过基于BitTorrent的协议分发文件。重要的是,IPFS是Kodemila,BitTorrent和Git的一种组合,可以创建Internet的分布式子系统。
协议的设计提供了与Git一样的Internet历史版本。每个文件及其中的所有块均具有唯一的标识符,该标识符是加密哈希。跨网络删除重复项,并跟踪每个文件的版本历史记录。
这将导致永久可用的内容,其中网页不会由于服务器故障或Web主机损坏而消失。
此外,通过此机制可以保证内容的真实性,并且在查找文件时,您实际上是在要求网络查找在与该内容关联的唯一标识哈希后面存储该内容的节点。IPFS中节点之间的链接采用加密哈希的形式,由于其Merkle DAG数据架构,这是可能的。Merkle DAG对IPFS的好处包括:
内容寻址–内容具有唯一的标识符,该标识符是文件的加密哈希。
无重复-内容相同的文件不能复制,只能存储一次。
防篡改–使用校验和来验证数据,因此,如果哈希发生变化,则IPFS将知道数据已被篡改。
IPFS使用Merkle链接将文件结构彼此链接,并且每个文件都可以使用称为IPNS的分散式命名系统通过人类可读的名称找到。Merkle有向无环图(DAGS)的实现对于协议的基础功能很重要,但是比本文的范围更具技术性。
在这网路上,每一个文件都有一个独特的Content Identification,这个数字可以代表这个文件,让我们在寻找文件的时候不是因为这个文件在哪里,而是这个文件是什么。让整个查找的逻辑相对会比较直接,然后这个主文件又可以拆成很多小文件,而这些小文件储存在不同电脑里面,理论上,因为每个相同文件会有一样的号码,所以如果你的文件跟其他人是同一份,你们就可以共享这个内容,也不会有冗余文件的问题。
在软体架构上,跟其他的分散式储存一样,将整个文件分散成很多个部分,分散在不同部分去做储存,是很常见的。因为当我们在处理大型的文件的时候,如果你不把它分散出来,你可能会花很长一段时间再将这个文件从硬碟读出来,而读取硬碟其实是相当慢的。首先,你必须将文件读出来写入在记忆体里面,才可以由记忆体去显示出来。
反之,如果你将文件切割成很多的部分的时候,理论上你就可以平行的从不同电脑里面去读取这个文件,此时就像是在一个车站一样,当旅客可以从不同出口进出的时候,你就可以更快的将旅客疏散出来。例如,我们在跨年的时候,我们可以看到,捷运局会希望你可以从象山站,甚至永春站来进出捷运,这都是一样的道理,但如果大家都挤在市政府站,那么大家就要等很长一段时间才能够从101 疏散出来。
因为分散的关系,你可能会采用离你比较近的节点,这个节点可以更快的去存取你要的资料,在传统的中心化架构里面,如果你是在美国的机房,因为距离的关系,当你必须要存取这个网页的时候,你可能必须要花比较长的时间来存取这个文件,所以我们有CDN 这个技术,他就是希望你能够针对内容在比较近的机房,进行内容的存取,但现在这个分散的技术,理想的状况,假设很多人进行分享的话,你可能可以从就近的电脑来存取别人分享的文件,这不就是最天然的CDN 吗?
当然,这只是一种假设,实际上传输的速度还会跟你邻近的电脑他的网路频宽,以及电脑的设备,然后还有演算法的执行效率有关,毕竟CDN 是专门用来存取内容的, P2P 网路要在这方面占有优势其实还是挺难的,但如果cdn 也参与这部分的工作呢?毕竟,以往的经验指出,大公司来染指这种open source的开发也是蛮常见的。
当我们的文件散布在其他人的电脑的时候,我们会遇到一个问题:那就是我们不想让别人知道我们的文件内容是什么?
现代人很注重隐私这件事情,那我们要如何把文件放在其他人的电脑里面,但又同时间不被对方所知道我们的资料呢?毕竟,我们是把我们的资料放在一个公开的网路上。
我们可以透过加密的机制,他把你不想让别人知道的讯息,使用私钥去进行加密,当你有了这把私密的人,才能够将这个内容解锁,也就能知道这个讯息里面的内容。
储存是一门相当重要的工作,以现代的网路来说,几乎你所用到的每一个网页都需要储存,包含文件、声音、影片等。也就是说,你在使用网路的时候,你无时无刻都在跟储存的伺服器打交道, IPFS 所希望能做的就是打造一个更好去取得这些文件的方式,他希望能够让这些文件少一些控制,多一些分享,但历史上这样的专案很多都无疾而终,毕竟太理想化了,但是这次区块链的产业,在这个以自愿分享的土壤中,加上了代币的肥料,是不是能长出不一样的结果,让我们继续观察下去。
上述就是ipfs是什么?IPFS星际文件系统指南的详细内容,更多关于ipfs百科知识分享的资料请关注(www.dadaqq.coM)Dadaqq.Com其它相关文章!
本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。
Tag:IPFS 星际文件系统 区块链