星际文件系统

✍ dations ◷ 2025-09-13 15:16:31 #2015年面世,应用层协议,分散式档案系统,文件传输协议,网际协议,网络协议,万维网,对等计算

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

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

目前的实现采用Go和JavaScript,并有Python的实现正在发展。Go实现被认为是开发正式规范(英语:Specification (technical standard))时的“参考实现”。

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

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

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

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

输入到散列算法中的数据的描述见 https://github.com/ipfs/go-ipfs/tree/master/merkledag。

相关

  • 爱留根纳裘安纳·斯哥德·艾儒吉纳(英语:Johannes Scotus Eriugena, c. 815 – c. 877),又称爱留根纳(Eriugena)是爱尔兰的新柏拉图主义哲学家与诗人。他因为译注亚略巴古的伪丢尼修(Pseudo-
  • 波尼族波尼族(英语:Pawnee)是一个平原印第安部落,首府设于奥克拉荷马州波尼。波尼族人获加入联邦承认的俄克拉荷马州波尼国。历史上,他们住在内布拉斯加州和堪萨斯州。在波尼语中,波尼族
  • 法捷耶夫-波波夫鬼粒子在物理学中,法捷耶夫-波波夫鬼粒子(Faddeev–Popov ghost),是一种为了保持路径积分表述的一致性而引入规范量子场论的附加场,以路德维希·法捷耶夫和维克多·波波夫(英语:维克多·
  • 李昞 (北周)李昞(?-?),南北朝时期北周官员,祖籍陇西,是唐朝开国君主李渊之父,妻独孤氏。李昞家族世代都仕于北朝,其父李虎为西魏八大柱国之一,称陇西郡公。554年,李昞承袭为陇西郡公,564年九月,加封唐
  • 哈伦·菲斯克·斯通哈伦·菲斯克·斯通(Harlan Fiske Stone,1872年10月11日-1946年4月22日),于美国新罕布夏州切斯特菲尔德出生,1946年4月22日逝世于华盛顿,享年74岁,美国律师、政治家,曾任美国司法部长
  • 金仓湖金仓湖(英语:Jincang Lake)是一个位于江苏太仓市的人工湖泊。2008年建成,位于江苏太仓市城厢镇,面积5.6平方公里。是太仓市最大的湖泊。建有金仓湖公园。
  • 纳加尔库尔诺奥尔坐标:16°29′38″N 78°18′37″E / 16.4939417°N 78.31024889999999°E / 16.4939417; 78.31024889999999纳加尔库尔诺奥尔(Nagarkurnool),是印度安得拉邦马布那加尔县的一个
  • 一亩泉坐标:38°56′38″N 115°21′57″E / 38.94389°N 115.36583°E / 38.94389; 115.36583一亩泉,位于中华人民共和国河北省保定市竞秀区南奇乡一亩泉村(原属满城县),是府河的源头
  • 阿塔卡索火山阿塔卡索火山是厄瓜多尔的火山,位于首都基多西南约25公里,属于皮钦查省,是安第斯山脉的一部分,海拔高度4,463米,最近一次火山喷发发生于公元前320年。
  • 福江岛分屯基地福江岛分屯基地(ふくえじまぶんとんきち、JASDF Fukuejima Sub Base)是日本航空自卫队春日基地的分屯基地,位于长崎県五岛市三井乐町岳770-1、标高183m的京之岳山顶部,驻有第15