常汉杰 付赛红 石志明
摘 要: 文件存储从早期的单机存储、移动盘存储、NAS存储,发展到目前的云存储。随着云中心因经营问题导致的系统关闭及不断暴露的安全问题,使用户对数据存储的性能、安全性、隐私保护等要求越来越高。区块链具有去中心化、集体维护、数据防篡改和分布式运行等特点。区块链与文件系统相结合后,数据的存储管理由系统自维护,无需任何中心化机构参与。文章针对目前云存储的缺点,以IPFS文件系统为例做了探讨。
关键词: 区块链; 云存储; 数据安全; IPFS
中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2019)03-101-04
Discussion on the changes to file storage system by block chain
Chang Hanjie, Fu Saihong, Shi Zhiming
(Haining College of Zhejiang Radio and Television University, Haining, Zhejiang 314400, China)
Abstract: File storage has evolved from early single storage, mobile disk storage, and NAS storage to the current cloud storage. However, with the closure of the cloud center system caused by business problems, and security problems constantly exposed recently, people are increasingly demanding for the storage performance of file storage, data security, and privacy protection and so on. Block chain has the characteristics of decentralization, collective maintenance, data tamper-proof, and distributed operation. When block chain is combined with file system, the system maintains the management of data storage by itself, without any centralized organization involved. Aiming at the shortcomings of cloud storage, this paper takes IPFS file system as an example to make a discussion.
Key words: block chain; cloud storage; data security; IPFS
0 引言
随着计算机技术、互联网技术和物联网技术应用的不断发展,存储数据正以几何级数的方式不断上升,数据存储的容量问题及数据存储的有效性和安全性一直是人们所关注的問题。
在IDC的一份报告中指出,到2020年全球数据量将达到44ZB(1ZB=10亿TB=1万亿GB),并且还会不断的快速增长[1]。数据的快速增长主要来自于互联网数据、社交媒体数据、视频和照片、服务数据和物联网数据等。如此庞大的增量数据的存储目前主要靠各类云数据中心来解决,数据的安全性全依赖于各中心的技术能力的职业操守。媒体不断曝光的用户数据丢失、隐私被曝光和机密数据被盗等客观上也反映出云数据中心存在的问题和缺陷,从而影响着大众对该技术的信任,阻碍了如物联网等具有高度私密性的其他相关技术的推广和应用。
目前正在研究和推广的区块链技术理论上可以解决上述问题。关于区块链技术的定义目前还没有完全统一,百度百科有二条对于区块链定义:1、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式;2、区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中介化的数据库,同时,作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块[2]。
本文主要介绍如何通过区块链技术从容量的扩容上和数据的安全性上作探讨和介绍。
1 数据存储方式的变迁
技术的进步使单个存储设备的容量不断攀升,但任何单个存储设备存储容量都会有一个的极限值,且安全性难以得到保证,因此新的存储模式也应运而生。
1.1 提高单个存储设备的容量及局限性
外存储器从当初的穿孔卡纸,磁盘,磁带,再到后来采用的温彻斯特技术的硬盘,存储容量也从bit,Kbit,Mbit,Gbit,发展到现在用T来衡量存储容量了。以目前的普通硬盘来说,能达到10T容量已经是相当高了,但以一部4K高清电影,容量大概为100G左右,也仅能存放100部电影而已,接下来5G的传输速度将达到每秒10G,写满一个硬盘也仅输几秒钟的时间而已[3]。所以目前的单个存储设备将越来越难于满足人们对于数据存储的需求。
1.2 云存储的应用和不足
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量的各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统[4]。
1.2.1 云存储的优势
通过云存储系统用户可以将自己的需要保存的文件全部放入“云”即可,需要时再从“云”上搬下来。目前应用比较成熟的云存储有亚马逊的S3,微软Azure,谷歌云,苹果iClound,阿里云OSS等产品。云存储总量理论上可以无限扩大,用户使用云产品只需按需购买存储容量,不用再担心云存储容量问题。
1.2.2 云存储的私密性问题
一份来自于Twinstrata公司的云存储的使用调查情况来看,只有20%左右的人愿意将私人数据存放“云”中。看似强大的云中心也会因为各种问题而出现运行故障或数据丢失泄露等情况。近年来比较大的云安全事故有:著名网络服务商CloudFlare云在2017年出现了泄露海量用户数据长达数月;2016年Uber泄露了700万名司机的个人资料;2018年Facebook竟出现了5000万用户的数据泄露,账户可能被盗用等安全事故;2018年6月圆通快递10亿条快递信息被泄露[5]。
大型机构信息泄露事故的发生,让用户很难对云中心产生百分之百的信任,隐私数据不愿意交给“云”中心保管。因此,数据的安全问题是云存储推广的重大障碍之一[6]。
1.2.3 云存储的中心化运作
目前各大云存储机构都是由各大公司或机构管理和运营,虽然便于维护,但用户数据的可靠性和安全性完全依赖该公司的实力和信誉。如何保证用户数据不被公司有失职业道德的内部员工偷窥,公司能否长久运行和生存下去,云存储运营商难以保证,用户质疑。国内著名的软件公司金山软件和奇虎360科技有限公司先后推出过“金山快盘”和“360个人云盘”业务,但都由于各类问题而先后关闭了。因此,当数据存储到某个中心的时候,其实也就等于将这些数据的“命运”和该中心的命运绑在了一起。
2 区块链的出现
区块链技术起源于2008年化名为“中本聪”(Satoshinakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》[7]。本质上区块链就是一个分布式的账本技术,一个区块就相当于账本中的一页,需要记录的交易等信息就是这一页上的内容。如用数学函数类比,分布式网络、去中心化、加密算法、智能合约、价值和资产、权限许可等要素组成了整个分布式账本的各个技术函数[8]。区块链技术有以下几个特点。
2.1 分布式运行
整个系统的节点之间的权利和义务都是平等的,任何一个节点遭到破坏和失效也不会影响到整个区块链系统的动作。
2.2 去中心化
为了能不依赖于任何中心点而运行,区块链技术引入了“竞争记账模式”,“竞争记账模式”是区块链技术中的关键技术。
所谓竞争记账是指每个节点依据自己算力大小来进行竞争记账的一种方式。通过一次算力竞赛,获胜者可以得到一次记账的权力,也就是这个节点具有写入一个新区块的能力,并向其它节点广播其新增的账本信息,获胜节点同时也将获得区块奖励,这样就保证了整个区块链网络的运行。
2.3 数据的不可篡改
通过向全网广播区块的方式,让每一个参与区块链运行的节点都可以复制一份完整的数据拷贝。除非有人能够同时控制住整个区块链中的51%以上的节点,否则单个节点的数据篡改系统不会承认,这就确保了数据的不可篡改。
3 使用区块链技术的文件系统
目前使用区块链技术的存储系统主要是指采用点对点的分布式文件系统,在激励层中采用了相关区块链技术,并能为用户提供类似云盘的存储系统,但它是基于去中心化的,通过分块技术和密码学等技术保证了数据的安全性和防篡改性。
目前已正式使用或正在开发的使用区块链技术的存储系统主要包括Storj、Sia、IPFS和Maidsafe等。IPFS(Inter Planetary File System)[9]即星际文件系统,其技术特点如下:
3.1 分布式的存储
IPFS存储系统的各节点组成的方式本质上就是一个P2P网络,各个节点间的等级也是一样的,彼此负责存储内容和检索内容。当一个文件需要被存储到网络上时,会被分割成不同的块(Block),这类似NTFS文件系统中的扇区概念。系统把每个块分割为相同大小,并对这些块进行哈希计算后形成一个哈希数组对象以方便索引查找。最后将这些块文件和索引结构以分布式的形式全部上传至网络,这些块文件将存放在全世界不同的地方,这样文件便同步到了区块链存储系统中了。
3.2 数据的防篡改性
区块链的最大特点就是防篡改,当用户新建或修改文件后,此文件就会生成新的哈希值,系统再加时间戳及签名后再发布至链路上,这个文件无论是谁也无法对它再做修改,因为一旦有修改便是一个新的文件,这对于一些保密数据的存储尤为重要。
3.3 数据的安全性
计算机的发展过程中,开放和安全一直是一个悖论,黑客的出现以及系统性的漏洞也一直威胁着数据的安全性,导致一些重要机构的数据不能接入到互联网中。区块链中的一项基本技术便是不对称加密,各个区块链使用的加密算法也会有所区别,目前已能达到抗量子计算机破译的加密算法。
IPFS存储将文件分成N个字节,然后将这些碎片存储在世界的各个角落里,所以数据的安全性无论从逻辑还是物理存储上都是非常安全的。
3.4 数据的匿名性
在数字世界里每一个物体都只是对应了一个长长的字符串而已,个人隐私数据也是如此,如果这些数据存在一个中心网络点上,管理者是完全有可能随意浏览的,而在区块链技术中如果需要解开这些文件则需要凭用户自己的私钥,这就确保了數据的私密性。
4 区块链技术对于文件存储系统的变革
目前各大科技巨头、银行、政府和机构都对区块链接技术非常重视,加速调配资源,积极研究和创新。据麦肯锡的一份研究报告指出:区块链技术,是继蒸汽机、电力、信息和互联网科技之后,目前最具潜力触发第五轮颠覆性革命浪潮的核心技术[10]。
区块链技术应用到现有的各行业、各领域将带来颠覆性的发展。采用了区块链技术的IPFS等文件系统对于计算机存储系统带来的变革主要有以下几点。
4.1 实现共享经济模式
使用云存储时数据都存放在云中心的数据中心内,那么去中心化后的数据存放在哪里呢?全世界接入互联网的电脑已不计其数,但大部分用户(或机构)的电脑硬盘存储空间是有多余的,平时是闲置的,通过采用区块链技术的文件系统,硬盘空间多余的用户可以出租自己的硬盘,系统会通过“复制证明(Proof-of-Replication)”[11]来计算该用户的工作量,按其工作量大小进行区块奖励。整个过程类似于比特币的“挖矿”,只是竞争的算力是通过用户的硬盘可用空间等因素组成。用户为了获得更多的奖励,也会出租更多的硬盘空间。这种将整个计算机世界中无数的闲散硬盘空间有机有组织并使用起来,正是共享经济的本质。
4.2 基于内容的寻址
HTTP是目前使用最广泛的互联网文本传输协议。但其工作方式是基于域名寻址,通过域名解析将其转换为IP地址,再按IP地址找到这台主机,最后通过相关路径找到其文件。见图1,使用http时它不关心文件是否存在,只是按照路径去打开文件而已。
IPFS文件系统中它将每一个文件都转换成了一个哈希值,需要打开某个文件时只需要通过类似“ipfs://文件哈希埴”的方式,而不用去关心文件存放位置,IPFS系统会根据自己内部的路由表搜索到该文件的所有块并重新组装后传给用户。
4.3 适应大数据时代下的传输要求
大数据时代下的数据量将是非常巨大的,原有的HTTP模式下的数据分发速度将不适应大数据时代的要求。IPFS文件系统的数据分发速度可达PB字节数量级的;分布在不同组织不同地域的计算机协同参与大数据的计算,可极大地的提高数据运算能力;可实现大量数据集的不同版本的控制;高容量的媒体数据流及防止重要文件意外损坏等,IPFS文件系统这些卓越性能可较好满足大数据时代的要求。
5 结束语
区块链技术因其去中心化,解决了信用和隐私保护的问题,分布式存储也使数据更加安全可靠。随着区块链技术的不断成熟完善,各个行业与区块链技术结合后将会不断产生新的创新点,迸发出强劲活力。基于区块链的文件存储是最基本的应用之一。虽然目前云中心的发展已经解决了文件存储的大部分的网络化应用,但随着人们对隐私保护、数据安全等意识的提高,基于区块链技术的文件系将会得到越来越广泛的应用。
参考文献(References):
[1] Cctime [EB/OL],http://www.cctime.com,2018.
[2] Baidu [EB/OL],http://baike.baidu.com,2018.
[3] 赵国锋,陈婧.5G移动通信网络关键技术综述[J].重庆邮电大
学学报(自然科学版),2015.27(4):441-452
[4] 李逦.浅析云计算背景下云存储的优势与劣势[J].计算机光
盘软件与应用,2013.23:18-19
[5] Sohu[EB/OL].[2018-09-03],http://www.sohu.com.
[6] 傅颖勋,罗圣美,安全云存储系统与关键技术综述[J].计算机
研究与发展,2013.50(1):136-145
[7] Bitcon[EB/OL] Nakamoto S. Bitcoin: a peer-to-peer
electronic cash system [Online],available: https://bitcon.org/bitcon.pdf,2009.
[8] 唐文剑,吕雯.区块链将如何重新定义世界[M].机械工业出版
社,2017.
[9] IPFS [EB/OL].https://ipfs.io/,2018.
[10] 何薄,于戈等.區块链技术与应用前瞻综述[J].计算机科学,
2017.44(4):1-7
[11] IPFSER[EB/OL].http://ipfser.org,2018.