更多精彩 >

从“分布式”角度看IPFS对区块链的重要性

2018-09-20 21:41:19   来源:财链社  作者: 

摘要:IPFS(Inter Planetary File System,星际文件系统)协议解决的正是这样一个问题,它是分布式文件系统,可以实现数据的分布式存储。同时它也是一个去中心化网络的基础设施,包括公链在内的不同类型的应用都可以构建在它的基础之上。如果说公链是高速公路,IPFS则是高速公路路面之下的层层地基中重要的一层,它为不同的公链和应用提供数据的分布式存储这一支持。

区块链是一个分布式系统,但包括以太坊、EOS在内的诸多公链本身实现的都只是数据的分布式计算,而没有提供数据的分布式存储,这导致分布式的区块链系统无法真正彻底地做到分布式。


IPFS(Inter Planetary File System,星际文件系统)协议解决的正是这样一个问题,它是分布式文件系统,可以实现数据的分布式存储。同时它也是一个去中心化网络的基础设施,包括公链在内的不同类型的应用都可以构建在它的基础之上。


如果说公链是高速公路,IPFS则是高速公路路面之下的层层地基中重要的一层,它为不同的公链和应用提供数据的分布式存储这一支持。


IPFS并非全新发明,它是几十年来分布式系统探索的产物,综合了包括DHT(Distributed Hash Table),BitTorrent,Git和SFS(Self-Certified Filesystems)在内的优秀思想。IBFS对它们做出适合区块链系统的改进,并通过分层设计将它们组合成一个新的系统。


640.webp (1).jpg


本文将去繁从简,以数据的存取过程为线索,通过对IPFS最关键的三个系统技术的分析,看它是如何满足区块链数据的分布式存储需求的。


01


Merkle DAG


当把文件存储到IPFS系统中时,文件并不是以一个完整的个体被存储,文件数据以平均分割法的方式被切分成若干个256KB大小的块。这些块在经过哈希运算后,也并不是存储在单个中心化的服务器上,而是分开存储在网络中的各个分布式的节点之中,没有节点拥有特权。


这一分布式存储的难点不在于文件的切割或加密,而在于如何把这些被分割的和被分开存储的数据重新组合成一个文件,这正是IPFS协议的第一个关键技术——Merkle DAG(Merkle Directed Acyclic Graph,默克尔有向无环图)。


Merkle DAG从Git系统(林纳斯·托瓦兹创作的分布式版本控制系统)改造而来,是在Merkle Tree(如下图所示)的基础上构建,储存的是哈希值。IPFS上大部分数据对象都是以Merkle DAG的结构存在。


640.webp (2).jpg


当从网络中获取文件时,先从可信的节点获得文件的Merkle Tree树根哈希值。一旦获得了树根,就可以从其他不可信的节点获取Merkle Tree的各个节点的哈希值。通过可信的树根来检查接收到的Merkle Tree节点,如果Merkle Tree某节点是损坏的或者虚假的,就从其他存储节点获得另一个Merkle Tree节点,直到最终获得一个与可信树根匹配的Merkle Tree。


这样一来,从上至下,直到获得最底层的被切割成小块的数据的哈希,最终形成一个完整的正确的文件。


由于Merkle DAG是基于哈希值的,而哈希值取决于数据块的内容,因此IPFS协议拥有内容寻址的功能(HTTP是基于域名寻址),此外它还有防篡改和去重复的功能。防篡改是因为可以通过检查哈希值来确认数据是否被篡改;去重复是由于相同内容的数据块哈希是相同的,可以去掉重复的数据,节省存储空间。


02


DHT


依靠Merkle DAG,可以构建一个数据结构用于实现分布式的数据存储,但还缺最后一步,Merkle DAG存储的哈希值如何定位到具体存储数据的节点,也就是说,应该把数据分配到哪一个网络节点去存储,以及去从哪一个网络节点获得存储数据。DHT(Distributed Hash Table,分布式哈希表)便是用来解决这一问题的方法。


哈希表是一种存储“键值对( Key/Value Pairs)”的容器,它能方便快速地通过key值来获得 value值。在DHT中,key是被存储数据的哈希值,通过K/V可以实现数据块与目标节点的映射关系。


哈希表被分割成不连续的块,每个节点被分配一个属于自己的哈希块,也称做区间表,并成为这个哈希块的管理者,当用户存储数据时,系统对数据进行哈希运算,根据哈希运算的结果决定此数据由哪个节点负责储存,并生成哈希表。


当用户提取数据的时候,用同样的算法计算数据的哈希,然后从哈希表获得对应的数据存储位置(如下图所示)。


微信图片_20180920214745.png


DHT是分布式系统的关键技术,实现它的方法有很多种,IPFS采用的是基于S / Kademlia和Coral的算法。


03


BitSwap


仅仅实现数据的分布式存储还远远不够,数据还需要在节点之前有效的交换,从而使得整个系统能够高效运转。IPFS协议 受BitTorrent 的启发,通过对等节点间交换数据块来分发数据。


BitTorrent 是一种点对点传输的网络协议,它可以在存有不信任对等节点的网络中分发数据,对于一个文件,下载的用户数越多,下载的速度就越快,部分的网络拥堵或服务器宕机也不会对整个系统造成大的影响。不过BitTorrent有一个致命的缺点,就是节点往往更多的是索取而不是贡献。


如何激励节点分享数据?IPFS在BitTorrent的基础上进行了创新,增加了包括信用、策略、帐单在内的体系,这一体系之上的新的数据交换协议被称做BitSwap。


在BitSwap协议下,发送数据给其他节点可以增加节点信用值,而从其他节点接受数据则会降低节点信用值。


也就是说,如果一个节点持续分享数据,其他节点给它发送数据的概率就会越来越大;而如果一个节点只接收数据而不分享数据,其他节点给它发送数据的概率就会越来越低,直到低到被其他节点忽略(如下图所示)。


1.webp.jpg


此外,BitSwap获取数据块的时候不限于从同一组对等节点中,在该协议里存在一个对等节点形成的大集群,它包括所有的数据块,这使得BitSwap的效率相比于BitTorrent更高。


04


结语


Juan Benet在2014年5月成立了Protocol Labs协议实验室,并在2015年1月发布了IPFS。IPFS在本质上是一个内容寻址的分布式存储和传输协议。


IPFS被寄予厚望,它是目前阶段最好的分布式存储解决方案之一,人们甚至认为它可能取代超文本传输协议(HTTP,HyperText Transfer Protocol)。但另一方面,它在目前阶段还不够成熟,仍面临着包括安全性、可用性在内的诸多问题。


最后,简单介绍一下Filecoin和Filenet。


Filecoin和Filenet都是运行在IPFS上的激励层,通过Token激励让节点有动力为网络提供存储空间,从而在IPFS协议的基础上构建一个分布式的存储网络。但Filecoin和Filenet彼此独立,是两个不同的项目,采用的也是不同的Token分发模式。从某种角度而言,任何组织都可以在IPFS上搭建自己的激励层。

猜你喜欢

FISCO BCOS 凭什么从联盟链脱颖而出?

资讯区块链FISCO BCOS

区块链技术的分类是随着各方面的应用而越来越清晰,按照准入机制,区块链目前分为三类:公有链、联盟链和私...

2018-11-09

Hyperledger技术专家首谈FISCO BCOS

资讯区块链FISCO BCOS

关注区块链的朋友最近应该注意到一个活动,那就是基于底层开源平台FISCO BCOS(以下简称“BCO...

2018-11-09

P2P,有序退出“四大”基础和细节要点

资讯区块链P2P

说实话,对于P2P大规模合规备案,飒姐并不乐观。从目前形势看,过半甚至更高比例的网贷平台不会走上最终...

2018-11-07

印度官员认为在最高法院裁决之前应该禁止“私人加密”

监管资讯区块链印度官员

印度政府新闻中心10月31日报,印度经济事务的部长已建议该国财政部禁止“私人加密货币”。由印度财政部...

2018-11-06

美国比特币交易员因无牌转账业务而面临五年监禁

资讯美国区块链避税

比特币交易员Jacob Burrell-Campos本周在美国联邦法院认罪,经营无牌转账业务。这位2...

2018-11-06

Penta公链(PNT)联手伦敦足球交易所开发全球最大区块链足球项目

资讯区块链伦敦足球交易

无法决定喜欢的球员、教练的去留,比赛开始充满欺骗性数据且竞争渐缺,面对黄牛的天价球票望而兴叹,与世界...

2018-07-12

马太效应动摇加密货币根基?POW共识上演“攻守之战”

资讯区块链马太效应

作为共识界的“一哥”,POW这次“又摊上事儿了”。以太坊创始人Vitalik近日在社群质疑POW机制...

2018-07-12

2018全球数字资产衍生品研究报告 | 链塔智库

资讯区块链

随着数字资产交易所竞争的日益激烈,许多新兴交易平台为寻求新的优势逐渐向数字资产衍生品交易平台靠拢。链...

2018-07-12

“对不起,我没时间!”— 从EOS“反人性”设计说起

区块链ICO币圈EOS

在过去的6月份,EOS赚足了眼球,本该于6月8日主网上线,但各大节点“趣味”竞选导致“上线”难产。

2018-07-12

法治周末:承诺“只涨不跌”的地下ICO乱象仍在持续

资讯区块链ICO炒币

近日,一段疑似“币圈大佬”李笑来在私下场合的谈话录音在网络上刷屏,录音中“只有投机才能成功”“价值投...

2018-07-12

揭秘“区块链+诈骗”究竟是怎么引诱投资者入局的

资讯区块链骗局加密货币

从去年的“人人谈币”,到今年的“人人谈链”,就如虚拟货币一样,区块链也正在被热炒,但伴随而来的是同样...

2018-07-12

美国企业研究所提倡对加密货币交易所实行自由放任政策

资讯比特币区块链虚拟货币

据消息,美国企业研究所提倡对加密货币交易所实行自由放任政策。

2018-07-12

浅析区块链网络上的替代能源

区块链技术变革区块链技术

区块链技术为智能城市开辟了新天地,区块链也有可能对一个城市的能源部门产生积极的影响。

2018-07-12

以太坊和区块链的关系到底是什么?

资讯比特币区块链数据安全

现在区块链这个概念很多人都理解,并且对于以太坊这个数字货币也有不少人是知道的,那么这两者之间到底存在...

2018-07-12

财链社(www.bcpress.com)专业的全球区块链财经媒体与社群,链接区块链、物联网、大数据、人工智能,致力于成为最有深度的区块链全产业链分析家,为区块链创业者及投资者提供最好的产品和服务。

肖风:科技将如何改变资产管理

11月3日,中国机构投资者峰会--2019年资本市场高质量发展论坛在北京举行,中国万向控股副董事长、...

“好人徐明星”

OK和火币一向死对头,李书沸这么急切地向“仁君”表忠心,大概是对“前雇主”憋了一肚子窝囊气。

唯链(VeChain)CEO 陆扬:去不掉的中心化,走不完的江湖路

陆扬的身上有许多光环,名校毕业,曾是高端洋酒品牌Bacardi中国区IT负责人,还担任过Louis ...

腾讯区块链业务总经理蔡弋戈:区块链具备四大潜力

9月21日,在2018国际数字经济博览会期间举办的国际区块链产业融合峰会上,腾讯区块链业务总经理蔡弋...

聚焦增长战略, 第二届中国营销领袖峰会即将开幕

聚焦增长战略, 第二届中国营销领袖峰会即将开幕

12月14-15日,第二届“中国营销领袖峰会”将在上海举行。本次峰会由中欧校友市场营销协会、中欧校友...

一起寻找“全球链改优秀项目”!

一起寻找“全球链改优秀项目”!

2018年9月10日,由中国通信工业协会区块链专业委员会、区块链改革全国联席会议作为指导,全球链改节...

HelloEOS 区块链全国行活动“EOS 和他的朋友们”正在进行

HelloEOS 区块链全国行活动“EOS 和他的朋友们”正在进行

HelloEOS 区块链全国行活动“EOS 和他的朋友们”正在进行,第六站厦门将在本周六(9月8日)...

区动智慧,链接未来-区块链如何赋能实体经济

区动智慧,链接未来-区块链如何赋能实体经济

自区块链概念流入国内,吸引大量人才进入到这个行业,随着区块链掀起的火热风潮,它被视为本世纪最大的风口...

区块链峰会受监管政策屡屡叫停,920这场峰会却办得热火朝天

区块链峰会受监管政策屡屡叫停,920这场峰会却办得热火朝天

“2018国际数字经济博览会”将于9月20日-22日在石家庄国际会展中心隆重举办。本次峰会邀请到了诸...