IPFS采用的索引结构是DHT(分布式哈希表),数据结构是MerkleDAG

1内容寻址:使用多重哈希来唯一识别一个数据块的内容

2防篡改:可以方便的检查哈希值来确认数据是否被篡改,如果数据被篡改或损坏,IPFS会检测到

3去重:由于内容相同的数据块哈希是相同的,可以很容去掉重复的数据,节省存储空间

小文件(小于1KB)的文件,IPFS会把数据内容直接和Hash(索引)放在一起上传给IPFS节点,不会再额外的占用一个block的大小,IPFS在储存数据的时候,同一份数据只存储一次,文件是分块(block)存储的,hash相同的block,只会存储一次,也就说,前面1G的内容没有发生改变,其实IPFS并不会为这些数据分配新的空间,只会为最后1K的数据分配一个新的block,再重新上传hash,实际占用的空间是:1G+1K。

即使是不同文件的相同部分也仅仅会存储一份,比如电影资源的影音部分相同,但是只有字幕部分不一样,那么不同的字幕会和音影资源拼接,形成新的文件资源。这样一来就可能会有很多文件的索引指向同一个block,就构成了前面提到的一个数据结构——MerkleDAG。

什么是 Merkle DAG?

Merkle DAG是IPFS系统的核心概念之一,当然Merkle DAG并不是IPFS团队发明的,它来来自于Git数据结构,ipfs团队进行了改造(这一点ipfs团队一直是一个很努力的团队,并不是直接拿来使用,而是在此基础上修改更适合项目的使用)。

Merkle DAG的全称是 Merkle directed acyclic graph(默克有向无环图)。它是在Merkle tree基础上构建的,Merkle tree是由美国计算机学家merkle于1979年申请的专利。Merkle DAG跟Merkle tree很相似,但不完全一样,比如:Merkle DAG不需要进行树的平衡操作,非叶子节点允许包含数据等。

IPFS中以Merkle树为基础的MerkleDAG

正如您将看到的,Merkle树允许通过Merkle校样轻松解决数据完整性以及将数据映射到整个树。

Merkle树和Merkle证明

以1979年获得专利的Ralph Merkle命名,Merkle树基本上是数据结构树,其中每个非叶节点是其各自子节点的散列。叶节点是树中节点的最低层。首先,它可能听起来很难理解,但如果你看一下下面常用的数字,它将变得更容易理解。

Merkle树是分布式版本控制系统(如Git和IPFS)的重要组成部分。它们能够轻松确保和验证P2P格式的计算机之间共享数据的完整性,这使得它们对这些系统非常有用。

更多相关资讯请关注微信公众号:链动精灵科技

举报/反馈

IPFS计算机存储器,IPFS节点储存相关推荐

  1. ipfs 云服务器_吴川ipfs存储营销,IPFS

    点击允许应用或功能通过Windows访问防火墙,允许其他应用,添加svchost.exe文案后即可在局域网访问到该目录.FTP的全称是FileTransferProtocol(文案传输协议),就是专门 ...

  2. frpfile官方最新绕id工具_【IPFS动态】IPFS官方周报第104期:Chromium增加了对IPFS的支持!...

     求关注!加入我们,带你见证参与互联网发展新未来 IPFS生态社区IPFS&FIL一手资讯发布官方动态追踪.趋势解读 欢迎关注IPFS官方周报! 星际文件系统 (IPFS) ( https:/ ...

  3. 文件是存储在计算机外存上的,计算机存储器——内存和外存.doc

    计算机存储器--内存和外存 计算机存储器--内存和外存 计算机存储器--内存和外存 引言:存储器是计算机的第二个子系统.它有一个重要的特性--无限可复制性,即其存放的数据被取出后,原来存放的数据依然存 ...

  4. 计算机存储器的有关术语,关于计算机存储器,不正确的描述是()。

    答案 查看答案 解析: [解析题]没有操作系统,用户就不能使用计算机. [解析题]微型计算机中的内存容量主要指( )的容量 [解析题]计算机中使用二进制,下面叙述中不正确的是(). [解析题]截至20 ...

  5. 计算机存储器的种类有哪些,计算机存储器的种类和特点

    介绍计算机上使用的RAM和ROM的种类和特点 计算机存储器的种类和特点 一.RAM(Random Access Memory,随机存取存储器) RAM的特点是:电脑开机时,操作系统和应用程序的所有正在 ...

  6. 计算机语言中daly什么意思,计算机存储器 - dalyHu的个人空间 - OSCHINA - 中文开源技术交流社区...

    层次化存储结构 cpu -->  Cache -->  内存(主存) --> 外存(辅助) :处理速度由快至慢,制造成本由贵至便宜. Cache-概念 1.Cache的功能,提高CP ...

  7. 计算机存储单元ASCI,在计算机存储器中,存储英文字母\quot;A\quot;时,存储的是它的( ) A.输入码B.ASCII码C - 作业在线问答...

    相关题目与解析 在计算机存储器中,存储英文字母"A"时,存储的是它的().A.输入码B.ASCII码C. 在计算机系统中,存储英文字母"A"时,实际存储的是它的 ...

  8. 计算机存储器四上,第一课计算机的存储器四上.docx

    第一课计算机的存储器(四上) 攀枝花市东区教育信息技术中心龙慧琼 一.教学内容剖析 本课是四川省义务教育课程改革实验教科书小学<信息技术>四年级上册的<第 一课计算机的存储器> ...

  9. 计算机存储器四上,第一课 计算机的存储器(四上).doc

    第一课 计算机的存储器(四上) 攀枝花市东区教育信息技术中心 龙慧琼 一.教学内容分析 本课是四川省义务教育课程改革实验教科书小学<信息技术>四年级上册的<第一课 计算机的存储器&g ...

最新文章

  1. pyqt5多线程更新ui
  2. 安卓模拟器_exagear模拟器安卓模拟器
  3. CF718E Matvey‘s Birthday(状压、bfs、暴力、分类讨论)
  4. java如何给顺序表赋值_JAVA模拟新增顺序表及单链表
  5. Android填坑系列:Android JSONObject 中对key-value为null的特殊处理
  6. 并行编译 Xoreax IncrediBuild
  7. JavaScript中的面向对象--对象创建
  8. GPRS,GSM,WAP三者有什么区别(ZT)
  9. vue-cli搭建项目引入jquery和jquery-weui步骤详解
  10. 一名赣州车主处理“碰瓷”过程,值得认真学习(转帖)
  11. windows10 wifi热点手机连接显示无网络连接问题解决
  12. qq飞车鸿蒙车队,qq飞车手游鸿蒙版
  13. 直播带货app源码,实现直播的秒开和优化
  14. 嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介
  15. linux获取p12证书信息,微信公众号现金红包——.p12证书linux部署如何使用
  16. 安卓手机如何直接跟Mac电脑互传文件
  17. Ruby 函数式编程
  18. EXCEL2016下将身份证号这列重复项用背景颜色突显
  19. HTML进阶- 4.6 补充一些不常用的元素
  20. 小程序加入阿拉丁统计

热门文章

  1. python按格式写文件_Python按特定格式对文件进行读写
  2. Vue的全局事件总线实现任意组件间通信
  3. robotframework关键字常用
  4. docker学习整理
  5. 首届“全国人工智能大赛”正式启动,作为大赛支撑平台,和鲸科技助力年度顶级AI赛事
  6. FMD辉芒微FT61F133A-RB SOP16 ADC/PWM型单片机MCU
  7. IDEA统计代码总行数———————插件管理
  8. 对手机号与身份证号加密显示
  9. VSCode上的Git使用手记(持续更新ing...)
  10. 【C语言】输出1-100,再从100-1的数字,