更多精彩 >

从“分布式”角度看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上搭建自己的激励层。

猜你喜欢

李笑来:可能不会从区块链行业离开,正在参与无币区块链项目

资讯区块链李笑来

还记得九月末李笑来曾发布微博称,“从今往后,李笑来个人不会做任何项目投资”,引起社区热议,也曾被众多...

5小时前

程序员说“代码即法律”,法律人说“蛤?”

资讯区块链代码

代码的本质是一系列的指令集合, 它实际上只是在描述某一套“规则”而已。

5小时前

我是如何错过了比特币

资讯比特币区块链

柳先生赚了上千万,却从此失眠;老于曾经的惨痛失败,继而不敢再做投资;阿诚由于认知不足,透支消费,而错...

5小时前

资管新规对商业银行通道业务有何影响?

资讯区块链商业银行

《资管新规》对通道业务采取了禁止规避监管型通道,允许开展有一定正当理由的通道业务的监管模式,有利于金...

5小时前

用比特币结算工资会让更多商家支持BTC支付吗?

资讯比特币区块链

加拿大比特币支付公司Bylls首席执行官FrancisPouliot最近发布推文,讨论了如果更多的人...

5小时前

委内瑞拉的“百万富翁”:不死的加密货币梦想

资讯比特币区块链委内瑞拉通胀

现在的委内瑞拉,遍地都是“百万富翁”,但他们都是一贫如洗的穷光蛋。

2018-08-20

美国政府将突破国界限制 开展数字货币行业管制

区块链以太坊

据bitcoin报道,美国金融犯罪执法网络(FinCEN)主任kenneth a . Blanco在...

2018-08-20

比特币价格跌跌不休,矿商仍在大规模扩张?

比特币区块链

比特币价格在不断下跌,但是挖矿活动并没有减少。

2018-08-20

使用数字货币和区块链技术重新定义资本主义

区块链区块链技术数字货币

我曾经开了一家公司,申请了一个企业账户。在办理企业账户时,我应约好下午两点到招行办理。我在银行整整办...

2018-08-20

赌徒的幻觉

资讯区块链炒币投机思想

前文《错误的投机思路》中拿了一个输冲赢退的资金策略跟大家分析了一下。任

2018-08-19

IOTA技术,你是不是这样理解的?

资讯区块链XDAGDAG技术

绝大多数人在理解区块链的概念需要花很久时间,其实这很正常,理解区块链技术本身需要改变原有的中心化思维...

2018-08-19

为什么比特币的春天还会来?

资讯比特币区块链ETF

2018年的加密货币市场未能延续2017年末的“疯狂之旅”,比特币价格自1月份以来已经跌去70%,加...

2018-08-19

区块链资产多币种钱包系统开发的功能

资讯区块链区块链资产多币种钱包

对于区块链资产投资的用户都知道,投资区块链资产首要就是创建属于自己的钱包,因为只有有了钱包才能够存储...

2018-08-19

证监会发火,Fcoin及币改前景不妙,小心殃及池鱼

资讯区块链FCOINbtc

昨天中国证券发了一篇名为《QOS代币涉嫌非法融资,奥马电器疑点难撇清》的文章。

2018-08-19

半年损失20亿美元,数字资产交易所行业如何才能更安全

资讯区块链安全数字资产交易所

半年损失20亿美元,这个惊悚的数字,来自数字资产。

2018-08-19

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

链马思享会第四期:公信宝黄敏强,如何应对数据经济困局?

在信息安全问题日益严峻的今天,作为普通互联网用户,该如何保护自己的隐私?

INE智联生态COO白眉独家|区块链4321黄金投资法则

不是所有的区块链项目都在落地,INE智联生态一直在落地!——IntelliShare does ...

INE智联生态COO白眉独家|区块链4321黄金投资法则

不是所有的区块链项目都在落地,INE智联生态一直在落地!——IntelliShare does ...

马云:并不是数字化就会变得冷淡 技术让城市变得更暖

10月11日,杭州市打造全国数字经济第一城动员大会在浙江杭州云栖小镇国际会展中心举行。

央行姚前&孙浩:数字稳定代币的试验与启示

虚拟货币无法有效履行计价单位、交易媒介和价值储藏三大货币基本职能,客观上阻碍了其自身的应用进程。因此...

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

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

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

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

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

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

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

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

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

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

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

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

嘉楠耘智推出7nm矿机新品,算力翻倍

嘉楠耘智推出7nm矿机新品,算力翻倍

据中关村在线消息,目前首批由台积电代工生产的7nm芯片已完成交货。