星际文件系统(InterPlanetary File System,缩写IPFS)是个旨在创建持久且分布式存储和共享文件的络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,2014开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。

历史

在2014,IPFS协议利用比特币区块链协议和网络基础设施的优势来存 储不可更改的数据,移除网络上的重复文件,以及获取存储节点的地址信信息——用以搜索网络中的文件。

前的实现采用Go和JavaScript,并有Python的实现正在发展。Go实现被认为是开发正式规范时的“参考实现”。


描述

IPFS是一个对等的分布式文件系统,

它尝试为所有计算设备连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成一个广义的Merkle有向无环图 (DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的命名空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。

该文件系统可以通过多种方式访问,包括FUSE与HTTP。将本地文件添加到IPFS文件系统可使其面向全世界可用。文件表示基于其哈希,因此有利于缓存。文件的分发采一个基于BitTorrent的协议。其他查看内容的用户也有助于将内容提供给网络上的其他 。IPFS有一个称为IPNS的名称服务,它是一个基于PKI的全局命名空间,用于构筑信任链,这与其他NS兼容,并可以映射DNS、.onion、.bit等到IPNS。


Merkle数据格式

每个Merkle都是一个有向无环图,因为每个节点都通过其名称访问。每个Merkle分支都是其本地内容的哈希,它们的子节点使用它们的哈希而非完整内容来命名。因此,在创建后将不能编辑节点。这可以防 循环(假设没有哈希碰撞),因为无法将第一个创建的节点链接到最后 个节点从创建最后一个引用。

对任何Merkle来说,要创建一个新的分支或验证现有分支,通常需要在本地内容的某些组合体( 例如列表的子哈希和其他字节)上使一种哈希算法。IPFS中有多种散列算法可用。

星际文件系统(InterPlanetary File System,缩写IPFS)相关推荐

  1. adb 文件传输,解决只读文件系统Read-only file system问题

    操作代码: adb push C:\xxdir\project /sdcard/xxx 执行此行代码,有可能会报错:错误如下 failed to copy './xxx' to '/xxx/xxx': ...

  2. ipfs星际文件系统初体验

    ipfs是InterPlanetary File System的简称,即星际文件系统,他不同于一般的操作系统文件系统,也不同于分布式文件系统,因为分布式文件系统最终访问文件还是采用的http协议,而i ...

  3. 什么是星际文件系统(IPFS)

    星际文件系统(IPFS)会是将来一个非常重要的技术.IPFS的全称是Interplanetary File System,是一种p2p的文件分享系统,目的是要改变信息分发的方式.它在通信协议和分布式系 ...

  4. IPFS星际文件系统科普

    IPFS一般指星际文件系统. 星际文件系统是一个旨在创建持久且分布式存储和共享文件的网络传输协议. 它是一种内容可寻址的对等超媒体分发协议. 在IPFS网络中的节点将构成一个分布式文件系统. 它是一个 ...

  5. BSN IPFS(星际文件系统)专网简介、功能、架构及特性、接入说明

    当今,随着信息技术.互联网的日益发达,人类的交流与协作方式已发生了颠覆性的变革.无论是数字,还是文字.图片.音乐.视频,都能从网上获得,点点手指就能掌握这一切.信息技术.互联网极大便捷了我们的生产.生 ...

  6. Computer:IPFS(星际文件系统)的简介、安装、使用方法之详细攻略

    Computer:IPFS(星际文件系统)的简介.安装.使用方法之详细攻略 目录 IPFS的简介 1.IPFS的应用 IPFS的安装 IPFS的使用方法 1.下载文件 第一步,启动IPFS节点 第二步 ...

  7. 星际迷航(FILE)基于 IPFS 协议的去中心化游戏生态

    随着 5G 通信技术的快速发展及终端电子设备的更新迭代,网络游戏载体.类型不断丰富, 电子竞技行业的资本涌入和人才发展,游戏这项"第九艺术"的受众群体在以指数级增长的方式不断扩大, ...

  8. 【转】The Google File System 中文版

    原文链接 http://www.cnblogs.com/lijunjie/archive/2011/03/08/1976660.html#top 摘要 我们设计并实现了Google GFS文件系统,一 ...

  9. The Google File System

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性 ...

最新文章

  1. 如何在 TensorFlow 中用深度学习修复图像?(附论文)
  2. 【F#2.0系列】介绍String类型
  3. UISegmentedControl (待续)
  4. Kafka设计解析(三):Kafka High Availability (下)--转
  5. Linux优化不知如何下手?那你的看看这篇文章了
  6. python语言需要变量生明吗_python需要定义变量吗
  7. 关于项目管理的一些想法
  8. 7-42 整型关键字的散列映射 (25 分)(思路加详解)兄弟们 来呀 写题呀
  9. 设计模式学习笔记一——开篇
  10. 构建之法 第三版 第3章 部分草稿 (剪牦牛毛、老程序员去金融公司的故事)...
  11. VSCode自定义代码片段1——vue主模板
  12. 解决shiro和quartz2 版本冲突问题
  13. SAP Basis常用事务代码
  14. MySQL 6.子查询
  15. 黄聪:基于jQuery+JSON的省市区三级地区联动
  16. fatfs文件系统f_lseek追加文件
  17. 软件设计模式概念与意义
  18. php实现wav转mp3,求,用PHP实现MP3转WAV后生成波形图的方法
  19. RabbitMQ核心功能介绍
  20. [转]C语言图形编程(三) -绘图函数②

热门文章

  1. 阿里云发现后门webshell文件 该如何解决处理
  2. 粗糙集理解之二:属性约简
  3. php提交道不同,【后端开发】php引用和拷贝的区别
  4. 新手学习 python 的好工具:PyScripter
  5. 为什么⽤线程池?解释下线程池参数?
  6. 目前最值得入手的蓝牙耳机有哪些?四款高性价比蓝牙耳机推荐
  7. 弘辽科技:拼多多超时发货罚款规则是什么?具体介绍
  8. 植物大战僵尸——最强阵容
  9. java pdf与ofd文件相互转换
  10. 一步一步教你安装MySQL