ipfs是什么?ipfs分布式存储的技术原理是什么?

举报
云看IPFS 发表于 2021/07/02 15:28:52 2021/07/02
【摘要】 (1)DHT,全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。DHT的原理是在不需要服务器的情况下,每一个客户端存储一小部分数据,并负责一定区域的检索,进而实现整个DHT网络的寻址和检索。同时所有信息均以哈希表条目的形式加以存储在Kademlia 网络(点对点协议中的一种算法,当我们在网络中搜索某些值,即通常搜索存储文件散列或关键词的节点的时候,Kadem

IPFS,全称 Inter Planetary File System,中文名为星际文件系统,IPFS 希望通过点对点传输网络构建一个完全分布式的互联网,类似于 BitTorrent,但是又有所发展和不同。

在目前的互联中,如果你想从网上下载一张照片,你需要告诉电脑去哪里找这张照片,也就是照片所在的 IP 地址或域名——这就叫 " 地址寻址 "。但如果这个地址不存在了,也就是说服务器关闭了,你就无法获取那张照片了。不过很可能有人之前已经下载过那张照片,并且在他的电脑中仍然保存着备份,可你的电脑却无法从那个人那里获得该备份。为了解决这个问题,IPFS 把“地址寻址”改为“内容寻址”。

这样一来,你不用再告诉电脑去哪里寻找资源,而只需告诉它你想要什么资源。从“地址寻址”到“内容寻址”是 IPFS 与现有存储技术与互联网协议最重要的区别。除此之外,IPFS 也是一种复合的技术,其中比较重要的有4种:BitTorrent、DHT、Git 和 SFS。----

(1)DHT,全称为分布式哈希表(Distributed Hash Table),是一种分布式存储方法。DHT的原理是在不需要服务器的情况下,每一个客户端存储一小部分数据,并负责一定区域的检索,进而实现整个DHT网络的寻址和检索。同时所有信息均以哈希表条目的形式加以存储在Kademlia 网络(点对点协议中的一种算法,当我们在网络中搜索某些值,即通常搜索存储文件散列或关键词的节点的时候,Kademlia算法需要知道与这些值相关的键,然后分步在网络中开始搜索。)这些信息被分散地存储在各个节点上,从而以全网构成一张巨大的分布式哈希表。可以形象地把这张哈希大表看成一本字典:只要知道了信息索引的key,便可以通过 Kademlia 协议来查询与其对应的 value 信息,而不管这个 value 信息究竟是存储在哪一个节点之上。正是这一特性确保了IPFS成为没有中心调度节点的分布式系统。

(2)BitTorrent, ipfs借鉴的首先是消极上传者的惩罚措施,在 BitTorrent 的客户端上传数据会奖励积分,而长期不上传的消极节点会被扣分,如果分数低于一定限度,那么网络会拒绝再为他们提供服务;其次是文件可用性检查,BitTorrent优先把稀缺的文件分享出去,各个客户端之间相互补充,这样种子不容易失效,传输效率也提高了。

(3)Git,在进行大文件传输或修改的时候总会遇到存储或传输压力大的问题,而Git在版本迭代方面非常出色。Git存储时会把文件拆成若干个部分,并计算各个部分的哈希值,利用这些构建起与文件对应的有向无环图(DAG),DAG的根节点也就是该文件的哈希值。这样的好处十分明显:如果需要修改文件,那么只需要修改少数图中节点即可;需要分享文件,等价于分享这个图;需要传输全部的文件,按照图中的哈希值下载合并即可。

(4)Self-certifying FileSystem(SFS),它将所有的文件保存在同一个目录下,所有的文件都可以在相对路径中找到,其SFS路径名是其原路径与公钥的哈希。这样的设计包含身份的隐式验证功能,因此SFS被称为自验证文件系统。 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。