内容目录1核心观点 (3)1.1核心推荐逻辑 (3)1.2我们区别于市场的观点 (3)2分布式存储将成为下一代互联网基础设施 (3)2.1以IPFS 协议为代表的分布式存储带来新思路 (3)2.2分布式存储将带来互联网基础架构变革 (7)3分布式存储开辟互联网基础设施产业新格局 (9)3.1分布式存储开发新的存储市场 (9)3.2分布式存储已和传统存储不断融合应用 (10)4分布式存储面临的技术瓶颈与发展机遇 (12)4.1数据价值分层是分布式存储经济激励的关键 (12)4.2I/O 性能瓶颈需要底层和应用层联合优化解决 (13)4.3服务质量保障 (15)4.4在应用、运营层面中心化组织与分布式存储将进一步融合 (15)图表目录图表1:IPFS 协议的分布式系统 (4)图表2:IPFS 协议构架 (4)图表3:集中化的版本控制系统 (5)图表4:分布式版本控制系统 (5)图表5:Merkle DAG 数据结构及功能特点 (6)图表6:DHT 网络工作原理 (6)图表7:全球数据圈每年规模 (7)图表8:IPFS 协议关注的基础问题 (7)图表9:IPFS 与HTTP 协议的对比 (8)图表10:IPFS 与HTTP 寻址方式对比 (8)图表11:全球数据量增长状况 (9)图表12:中国云存储市场规模及增速 (9)图表13:中国公有云市场规模及增速 (9)图表14:个人云盘行业用户渗透率及MAU (10)图表15:储迅部分合作伙伴 (11)图表16:高性能分布式文件系统 (11)图表17:CRUST 技术架构:工作量证明层MPoW、区块链共识层GPoW 及分布式云存储/计算层 (12)图表18:CRUST 部分合作伙伴 (12)图表19:数据价值分层是分布式存储经济激励的关键 (13)图表20:IPFS 与HTTP 性能对比:远程读取操作的平均延迟 (14)图表21:IPFS 与HTTP 性能对比:远程读取操作的延迟范围 (14)图表22:IPFS 与HTTP 性能对比:远程读取操作的吞吐量 (14)图表23:分布式存储面临的技术瓶颈与发展机遇 (15)1核心观点1.1核心推荐逻辑基于分布式存储,将开辟新的存储应用市场。
分布式存储采用不同于传统中心化存储的资源和市场激励方式,不仅仅是充分利用分布式节点资源,而是为个人节点贡献的内容投入市场交换创造了基础,从而深度挖掘数据内容价值、开辟全新的应用市场,这在传统的互联网公司控制中心云平台数据的情况下是无法实现的。
同时,分布式存储与中心化存储将不断融合,改变现有的互联网构架和商业模式。
1.2我们区别于市场的观点市场低估了分布式存储为互联网基础构架和商业模式带来的变革与创新空间。
市场通常将分布式存储视为一种新的技术,而忽略了分布式存储带来的个人存储资源、用户内容贡献价值挖掘和市场交换的潜力。
在分布式文件系统的互联网上,个人存储资源可以投入到市场进行资源交换,为用户贡献的内容在数据确权、安全的基础上进行内容价值提供市场交换的平台。
因此,分布式文件系统将会催生更多的全新的互联网应用,而非传统互联网的技术迭代。
2分布式存储将成为下一代互联网基础设施目前,互联网将海量计算机(智能移动)终端连接在一起,使得用户能够访问存储其他计算机终端上的海量数据。
数据的传输与访问,是基于HTTP(超文本传输协议)为代表的互联网协议实现的,数据是以计算机(服务器)终端IP(或者说域名)为地址进行中心化存储的,具体存储数据的服务器节点就像一个集中式的仓库,要承担巨大流量访问、数据传输压力。
能否将数据文件分散存在网络不同服务器节点上,革新互联网基础构架?类似IPFS 这种分布式存储协议逐渐兴起,作为HTTP 的补充,打造面向全球、点对点的分布式版本文件系统,能将所有具有相同文件系统的计算设备连接在一起。
就IPFS 而言,用户寻找的是存储在某地方的内容(这些内容分散在不同的服务器节点),而不是某地址,就只需确认验证内容的哈希,这样就能过获得速度更快、安全、健壮、持久的网页。
我们将探讨分布式存储将如何带来互联网基础构架的变革,将创造怎样的新的应用场景和市场。
2.1以IPFS 协议为代表的分布式存储带来新思路IPFS 协议是一个将多种成功的分布式系统思路与区块链相结合的文件存储和内容分发网络协议,为用户提供统一的可寻址数据存储。
IPFS(Inter-Planetary File System)由Protocol Lab 提出,字面意义是星际文件系统。
其本质是一个P2P 的分布式存储系统,将所有具有相同文件系统的计算设备连接在一起,目标是补充甚至替代超文本传输协议HTTP。
与现有Web 协议不同的是,对于一个存放在IPFS 网络的文件资源,不是用基于域名的地址去访问,而是通过基于文件内容生成的唯一编码去访问,不需要验证发送者的身份,只需要验证内容的哈希,可以让网页的速度更快、更安全。
IPFS 的网络上运行着一条区块链,即用来存储互联网文件的哈希值表,每次有网络访问,即要在链上查询该内容(文件)的地址。
IPFS 协议最大的特色是系统的耦合及设计的综合性,其整合的分布式技术包括BitTorrent 协议、版本控制系统Git、MerkelDAG、分布式哈希表DHT 和自认证文件系统SFS。
因此在IPFS 系统中,人人都可以作为存储文件的服务器。
图表1:IPFS 协议的分布式系统IPFS 协议借鉴了BitTorrent 协议诸多优点,并进行了创新,打造持久且分布式存储和共享文件的网络传输协议。
BitTorrent(简称BT)是一种广泛应用的内容分发协议,特点是充分利用用户的上载带宽,使得下载用户越多,下载速度越快。
在中心化存储的FTP、HTTP 协议中,每个用户下载所需文件,各个用户之间没有交互。
如HTTP,每次当同时访问和下载文件的用户过多时,由于服务器处理能力和带宽的限制,下载速度会急剧下降,部分用户甚至会无法访问服务器。
而BT 协议下,分配器或文件持有者将文件发送给一名用户,再由这名用户转发给其它用户,用户之间相互转发自己所拥有的文件部分,直到每个用户的下载全部完成。
这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量带宽,因此常用于大型文档和自由软件的发布以降低服务器负担。
IPFS 团队对BitTorrent 进行了创新,增加了信用和帐单体系来激励每个节点分享数据,称为BitSwap 协议。
用户在BitSwap 里分享数据会增加信用分,从其他节点接受数据则会降低信用分。
如果用户只去检索数据而不分享数据,信用分就会越来越低,而被其它节点忽略。
图表2:IPFS 协议构架类似于于互联网的七层协议模型,IPFS 构架分为八层子协议栈。
IPFS 作为分布式存储协议,核心功能包括:文件内容多人协调和版本可回溯、不可篡改,DHT 管理带来的离散性、伸缩性和良好的容错性,以及基于IPNS 的文件域名系统。
内容版本方面,IPFS 使用分布式版本控制系统Git,支持多人协同工作,记录每次更新并标记不同的版本号,一旦发生问题,可以将文件回溯到之前的任何一个版本。
本地版本控制系统和集中化的版本控制系统都是由单一服务器保存所有文件的修订版本,一旦服务器发生故障,则面临丢失所有数据的风险。
Git 是分布式版本控制系统(DVCS)的一种,客户端除了保存最新版本的文件,还把代码仓库和历史记录都完整地镜像下来。
这样,任何一处协同工作的服务器发生故障,都可以用任何一个本地仓库进行恢复。
Git 还可以比较文件变化细节,查出谁进行了什么修改,从而可以在发生问题时快速准确的找出原因。
更进一步,许多DVCS 系统都可以指定和若干不同的远端代码仓库进行交互,用户可以在同一个项目中和不同工作小组的人相互协作,根据需要设定不同的协作流程,而这在以前的系统中是无法实现的。
图表3:集中化的版本控制系统图表4:分布式版本控制系统IPFS 团队对Git 数据结构进行改造,在Merkle Tree 的基础上得到了Merkel DAG,拥有内容寻址、防篡改、去重三大功能。
IPFS 将文件划分成单个大小不超过256kB 的数据块,每个数据块拥有唯一的哈希值,并构造一个Merkel DAG 将所有文件碎片组织起来。
Merkel DAG 是实现版本化文件系统的一种核心数据结构,比Merkle Tree 的限制更少,但是保留了其两点精髓:1)父节点哈希由子节点哈希决定,即父节点哈希由子节点哈希拼接的字符串再次哈希而成;2)父节点中包含指向子节点的信息。
任何一个下层节点的改动都将导致上层节点哈希值的变动,最终根节点的哈希值也将变动,因此MerkleDAG 的三大功能得以实现:1)内容寻址:使用多重哈希来唯一识别一个数据块的内容;2)防篡改:数据接受方只需一段Merkle 路径上的哈希值,就可以检查数据是否被篡改;3)去重:内容相同的数据块的哈希是相同的,可据此删除重复数据,节省存储空间。
图表5:Merkle DAG 数据结构及功能特点IPFS 的路由功能采用分布式哈希列表DHT,帮助客户节点快速找到所需数据所在的节点,具有离散性、伸缩性和良好的容错性。
DHT 是一种分布式哈希表,通过存储的键值对提供查询服务:键值对存储在DHT 中,节点可以检索给定键对应的值,键值对的映射由网络中所有的节点维护。
在不需要服务器的情况下,每个节点负责一小部分路由和数据存储,从而实现整个DHT 网络的寻址和存储。
即使有节点加入或离开,对整个网络的影响也很小,因此DHT 可以扩展到非常庞大的节点(上千万)。
DHT 具有以下性质:1)离散型:构成系统的节点之间都是对等的,没有中央控制机制进行协调;2)伸缩性:不论系统有多少节点,都要求高效工作;3)容错性:不断有节点加入和离开,不影响整个系统的工作。
图表6:DHT 网络工作原理IPNS 是IPFS 的文件域名系统,像HTTP 系统的域名(网址)一样,使用户搜索文件时只需查询文件名,而不受文件内容变更的影响。
IPFS 中文件的哈希值完全取决于文件内容,不仅难以记忆,一旦修改文件内容其哈希值也会发生改变,每次更新文件后都需更新引用的哈希值,十分不便。
为了能够在不破坏其链接的情况下更改文件内容,IPFS 团队使用了一种标记更新网址哈希的域名系统,即星际名称系统IPNS。
IPNS 是一个去中心化的命名系统,使用类似哈希的地址安全地指向可变内容,每个文件都可以被协作命名为易读的名字,通过搜索就可以找到文件。
自认证文件系统SFS 对文件进行命名,同时提供了IPNS 以解决传播问题,很好地解决了当前用户不习惯输入哈希值访问文件的问题,在现有的互联网系统和IPFS 系统间搭建了一个桥梁。