广告

IPFS

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

特点简介


IPFS(InterPlanetary File System,星际文件系统)是一个将现有的成功系统分布式哈希表(Distributed Hash Tables (DHTs))、BitTorrent、版本控制系统Git、自认证文件系统(Self-Certified Filesystems - SFS)与区块链相结合的文件存储和内容分发网络协议。这些系统的综合优势给它带来的显著特性:

1.永久的、去中心化保存和共享文件 (区块链模式下的存储DHTs)

2.点对点超媒体:P2P 保存各种各样类型的数据(BitTorrent)

3.版本化:可追溯文件修改历史(Git - Merkle DAG默克尔有向无环图))

4.内容可寻址:通过文件内容生成独立哈希值来标识文件,而不是通过文件保存位置来标识。相同内容的文件在系统中只会存在一份,节约存储空间




历史


在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中有多种散列算法可用。

实现过程


IPFS是8个元素的组合:(每个对等节点的)身份+(管理与其他对等点的连接的)网络+(定位对等点和存储对象需要的信息的)路由(分布式哈希表)+数据交换(BitTorrent)+(可寻址又不可篡改)Merkle-DAG + (版本控制)GIT+命名(自我认证文件系统)+ 应用程序(Web)。

每个节点采用nodeID作为身份识别,节点存储着公钥和加密过的私钥,技术上使用基于S/Kademlia和Coral的分布式松散哈希表DSHT来寻找匹配的节点和特定节点的地址信息,小值(等于或小于1KB)直接存储在DHT上生成一个NodeID,对于更大的值,IPFS会拆成小块,DHT存储拥有这些块的节点NodeIds。

数据交换使用基于BitTorrent的BitSwap协议来发送和接收分布式数据区块。BitSwap 维持着两个列表,想要获得的块和已保存的块。但与 BitTorrent 不同的是,BitSwap 不限于一个torrent中的块。BitSwap 节点可以从整个IPFS网络获取所需的块,而不管这些块属于哪些文件,这大大提高了下载效率。同时,网络中存在一些激励节点会主动缓存和传播稀有的文件片段。

DHT 和 BitSwap 技术让 IPFS形成一个用于快速而强大的存储和分发块的 P2P 系统。在此之上,IPFS还构建了一种有向无环图 Merkle DAG,使用嵌入数据源中的目标哈希散列构建对象之间的链接。Merkle DAGs 为IPFS提供了许多有用的属性,包括:

1.内容寻址:所有内容(包括链接)都由其多哈希校验和进行独立标识

2. 防篡改:所有内容都使用其校验和进行验证。如果数据被篡改或损坏,则IPFS会检测到该数据。

3. 去冗余:所有内容完全相同的对象,只存储一次。

IPFS并不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据,在备份了自己的数据之外,自愿的为其他的关注的内容提供服务。(数据的保存是Pinning,是将文件长期保留在本地)

如果IPFS得以普及,节点数达到一定规模,即使每个节点只存放一点点内容,所累计的空间、带宽和可靠性(共享模式)将超过HTTP以中心服务器传输的模式。

显然,整个系统要正常运行起来,除了需要有大量人参与外,还得避免出现BT中很多人不愿意做种的问题,代币Filecoin(FIL)就是为了奖励“矿工”,矿工负责贡献存储和数据检索服务,让IPFS网络真是的变得实用起来,而需要储存服务的用户需要为服务购买和支付代币。(FIL的作用类似玩客币WKC或流量矿石LLT)

24小时热点

比特币总市值是否突破万亿

自比特币上市之后,受到投资者们的广泛关注,不断的进行上涨,期 ...

1071

波场区块链浏览器

币圈公认最安全的加密货币冷钱包排名

币圈最安全的加密货币冷钱包有imToken、HyperPay ...

1010

波场区块链浏览器

区块链技术详解:定义、原理、应用与未来发展!

区块链技术是一种去中心化的分布式账本技术,它具有不可篡改和去 ...

1977

波场区块链浏览器

区块链手机挖矿项目年入百万,手机挖矿最全教程!

区块链手机挖矿项目一直是一个受人关注的行业,这个行业的利润向 ...

777

波场区块链浏览器

夜之仪式中比特币的获取途径

在《夜之仪式》这款引人入胜的游戏中,比特币不仅是数字货币的一 ...

1325

波场区块链浏览器

显卡挖矿是什么意思?

显卡挖矿是什么意思?必掌握的显卡挖矿注意事项 显卡挖矿的意 ...

1379

波场区块链浏览器

MCDEX交易所介绍

MCDEX交易所介绍 MCDEX是基于Mai协议的一个去中 ...

4391

凤凰 区块链频道

BTC123

BTC123(www.btc123.com)成立于2011年 ...

714342

Kusama 测试网

“RWA”概念是什么?

RWA 链上化也就相当于资本证券化。RWA (Real Wo ...

256044

Bitfinex交易所

fil币挖矿机制详解,fil币挖矿操作教程!

fil币挖矿机制详解,fil币挖矿操作教程! fil币挖矿 ...

1935

波场区块链浏览器
广告

热点专题

区块链网是什么

中国区块链价值评价中心 中国区块链价值评价中心于2 ...

5255200

知信链

元界(Metaverse)

元界(Metaverse)是一个去中心化的公有区块链项目,元 ...

946149

WEEX数字货币

BTC123

BTC123(www.btc123.com)成立于2011年 ...

714342

Kusama 测试网

DAC币——达芬奇Davinci Coin

达芬奇项目的平台是通过叫作"Dchain"的自身区块链把可以 ...

683474

Mechanism Capital

Bitfinex(香港B网)

Bitfinex交易平台目前仍处于试运营阶段,该平台由iFi ...

647497

Hi元宇宙

MCO币

MCO,前为Monaco,朝着让每个钱包都载有加密货币的愿景 ...

645626

第九空间

熊猫矿机(PandaMiner)

熊猫矿机(PandaMiner),企业文化背景为:其一,熊猫 ...

619843

金融界区块链频道

陈景润证明哥德巴赫猜想1+2的论文

大偶数表为一个素数及一个不超过二个素数的乘积之和 。 本 ...

583102

鲸探

中币网zb——中币交易所

ZB.com是一个全球化的数字货币交易所,目前已获得泰国和迪 ...

518761

中币交易所

五大区块链骗局揭露

从古至今,骗子这个行当一直都是经久不衰,上至皇宫贵族,下至农 ...

512034

DeRace