IPFS概述
编辑星际文件系统(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。该技术是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。
公司简介
编辑IPFS是一个对等的分布式文件系统,它尝试为所有计算设备(ipfs矿机)连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的命名空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。
该文件系统可以通过多种方式访问,包括FUSE与HTTP。将本地文件添加到IPFS文件系统可使其面向全世界可用。文件表示基于其哈希,因此有利于缓存。文件的分发采用一个基于BitTorrent的协议。其他查看内容的用户也有助于将内容提供给网络上的其他人。IPFS有一个称为IPNS的名称服务,它是一个基于PKI的全局命名空间,用于构筑信任链,这与其他NS兼容,并可以映射DNS、.onion、.bit等到IPNS。
Ipfs运行
编辑先说p2p传输协议相比http的优势:
- 使用P2P传输协议,我们几乎不会遇到404,502等尴尬情况。同时我们存储在网络上的文件将被永远的储存,无法抹去(除非刻意删除);
使用ipfs可以帮助我们节约大量的带宽和存储等,不再需要浪费大量的设备来进行维护。以及将极大的降低数据传输的成本,同时数据可以更加安全便捷的进行传输。
关于存储:
- 我们现在使用的云储存方式是,我们把数据交给BAT,需要数据的时候找BAT拿回来。
这个过程看上去没什么毛病,可一旦BAT的服务器停机,或者是BAT偷看你的***呢?你懂的,这可都保不准。
ipfs的工作机制是将整个文件进行拆散,然后储存在全球的不同节点。需要数据的时候,通过文件的索引,从原来存储的位置找回来。
ipfs过程看上去很复杂,但最终落地使用,会和我们现在将文件云储存是一样的操作方式,只是ipfs背后的机制更加的完善!
在ipfs上传文件的时候,系统会将文件进行哈希计算,得到一个代码,作为这个文件的索引。然后文件将被分割,复制,然后存到区块里面。比如“IPFS”这是个字母,分别将他们储存在若干个区块当中。当需要下载时,我们只需要提供文件的哈希值,系统会从离我们距离最近的节点来传输到我们的设备上。如果最近的节点不存在,我们就可以从另外的节点进行索取文件碎片。
发展历程
编辑在2014年,IPFS协议利用比特币区块链协议和网络基础设施的优势来存储不可更改的数据,移除网络上的重复文件,以及获取存储节点的地址信息——用以搜索网络中的文件。
目前的实现采用Go和JavaScript,并有Python的实现正在发展。Go实现被认为是开发正式规范时的“参考实现”。
内容由霍尔果斯星通比特科技有限公司提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://ispeak.vibaike.com/ipfs