区块链:区块链数据如何归档?冷热分离方案了解一下

——Part1?现状——

区块链可以视作一个在分布式环境下众多可信节点共同维护的且不可篡改的账本。在区块链系统中,数据以区块作为基本单位,区块链系统利用levelDB基于Key-Value结构的数据库存取数据,通过多节点冗余存储实现账本可信,然而随着区块链运行时间的增长,区块链的存储容量将呈线性增长,且这种数据的增长速度甚至会超过存储介质容量增长的速度,因此,区块链数据存储将成为限制区块链技术发展的重要因素。

面对这一棘手的问题,数据归档技术应运而生,什么是数据归档呢?

——Part2?什么是数据归档——

数据备份的概念大家应该是比较了解的,随着数字化的推进,企业对数据的敏感度逐渐增强,数据备份系统已经成为各大中型企业的必备系统。然而正如我们对数据归档认知的不足,企业对于数据归档的使用也不如数据备份广泛。

备份的目的是为了恢复,保证在系统出现意外情况时业务的连续进展。对于企业来说,每天产生的大量数据,其实绝大部分的使用率很低,但是,出于一些特殊原因,这些数据却必须保留以备查询。简言之,归档的目的是为了服务品质和保证数据的可管理,使得运行、维护、投入整体的成本降低,如何最大化使用存储,保证数据的访问。数据归档,即数据的使用。然而如何规范的归档数据呢?我们就得具备相应的归档原则。

人大曹胜熙:《金融分布式账本技术安全规范》可规范区块链安全漏洞:针对此前出炉的《金融分布式账本技术安全规范》,中国人民大学国际货币研究所副研究员曹胜熙表示,与此前相比,发布于2020年的《规范》主要针对金融行业,对分布式账本的用户管理、监管支撑、隐私保护等方面提出了更高要求。在《规范》推出后,金融区块链在架构设计、模块功能、软件接口等各方面都有了参考基准,而这一基准是走在世界前列的。曹胜熙称,《规范》发布之前,国内金融区块链应用存在野蛮生长的情况,一些应用宣称基于区块链,但其实不然;还有一些应用虽然基于区块链,但在安全性能上并不保险。《规范》发布后,既可以排除前一类“假”的区块链项目,也可以规范应用了区块链技术但安全上存在漏洞的项目。”(经济参考报)[2020/3/12]

数据存储:无论是备份还是归档,数据的完整性必须得到保证,且需在规定时间内保证数据的安全存储。保证数据的完整性、时效性及存储的安全性。

数据易读取:虽然大部分数据重复读取可能性低,但归档系统依旧不是一个备份系统,必须保证在需要的时候能方便地读取数据。保证系统数据的可读性。

声音 | 潘光伟:以区块链为代表的新一轮技术变革正在兴起,金融与科技的融合乃大势所趋:据21世纪经济报报道,亚洲金融合作协会第一副理事长、中国银行业协会专职副会长潘光伟在主题发言中表示,当前,以人工智能、大数据、区块链为代表的新一轮技术变革正在兴起,作为高新技术运用的最佳场景,金融与科技的融合乃大势所趋,也将大有作为。目前在全球范围内尽管有11亿成年人已拥有手机,但仍有17亿成年人无法使用交易账户。交易账户作为信贷、储蓄和保险等其他金融服务的门户,这一金融服务“缺口”会阻碍金融的包容性。为此,需要做出三方面努力。一是积极推进金融机构智能化和数字化转型。二是提升金融产品创新能力。三是提高金融风控能力。[2019/10/31]

数据可扩展:由于存在不同种类的数据,且数据也是实时变化且增长迅猛,因此为满足企业需求,还应具备可扩展的要求。

数据合法:任何的企业系统运作都应该遵守各项规章制度,要遵守政府和行业指定的各项法律、法规及各种规章。

动态 | 毕马威:近半数高管认为区块链可能会在未来三年改变其业务方式:据cointelegraph报道,四大审计公司毕马威(KPMG)的一项调查显示,48%的高管认为区块链可能会在未来三年改变其业务方式,27%的受访者声称该技术根本不会影响他们,而其他24%的受访者保持中立。当被问及在其公司中实施区块链的可能性时,41%的受访者表示他们可能会使用该技术,31%的人没有给出直接答案,而28%的人表示不太可能实施区块链技术。[2019/2/27]

——Part3实现难点——

正如大家所知,区块链存在数据单向增长的特性,这样数据量的增多会导致系统磁盘空间占用率高,所以需要研发区块链专用数据归档技术,将数据进行“冷热分离”,保障系统的高效可靠运转;

另外,因为区块链是一个在分布式环境下众多可信节点共同维护的且不可篡改的账本,所以传统的数据归档技术无法解决多个节点数据归档某一范围数据而账本状态保持一致性的问题,在实际情况中还存在区块链上单一节点数据归档导致的多节点数据同步时账本状态一致性的问题。

声音 | 量子链基金会创始人:更看重区块链解决方案和公链基础设施建设:在由亚洲区块链风险投资公司Sora Ventures举办的区块链峰会上,量子链基金会创始人Patrick Dai表示STO监管要符合现行的证券法规,小型参与者很难入场STO。Patrick表示量子链基金会投资的重点在项目本身,看重真正能创造价值的项目,更喜欢投一些提供区块链解决方案和公链基础设施建设的项目。Patrick认为社区很重要,大部分社区成员对币价涨跌很敏感,作为持币者,社区成员最关注的是所持token可以为其带来的最大收益是什么。[2018/11/14]

总结:

1.区块链存在数据单向增长,需要进行冷热分离存储;

2.分布式环境下,难以保证所有节点实时进行数据归档且保证数据状态的一致性;

3.单一节点数据归档导致多节点数据同步时状态一致性难以保证。

——Part4?数据归档的架构解读——

金色相对论 | 相里朋:区块链被违法使用会给实体经济造成风险:在本期金色相对论上,工信部5所高级工程师相里朋表示,区块链当前仍处于发展初期,但相比去年,已在在各行各业应用探索,有了有较大的发展,也暴露出诸多问题与风险。其中,既有内在技术不成熟引发的风险;也有外在不当使用和违法使用导致的风险。技术的不完善虽有较大风险,但总有解决的途径,因此后者更应引起我们的关注。技术层面的问题有:系统存在安全风险、效率低难以满足应用需求、数据泄露风险、智能合约漏洞、生产系统漏洞和记账系统漏洞等。非技术层面的问题有:ICO(代币发行融资)、不当使用和违法使用等。比如,相比无通证(Token)的区块链,自带通证(Token)的区块链能构建起通证经济生态,有利于数据协同实现数据增值。然而,其违背金融规律,触犯监管法规,有可能引起局部性、甚至系统性风险。这将给这个新事物造成严重影响,阻碍其发挥服务实体经济的作用。[2018/8/31]

了解了数据归档的基本概念,那么,在区块链中它是如何运作的呢?数据归档功能的主要职责是将一部分旧的线上数据移到线下转存。对此,趣链科技提出了区块链数据归档的方法,使得整个区块链系统能在不停机情况下,将区块链数据划分为链上、链下两部分,热数据仍保留在链上,但冷数据可以存储在低成本的硬件设备上,进行动态的数据归档。而且,通过数据调度层,可以很好地实现热数据和冷数据的灵活访问,热数据直接通过平台访问,冷数据则通过归档数据浏览技术浏览。另外,每个节点可以自主、多次地对数据进行归档,从而使得系统的链上数据量维持在一个稳定水平,有效释放磁盘空间。

为更形象地讲解数据归档技术,我们以趣链数据归档为讲解内容进行:

区块链的数据归档方式是一种基于状态备份的归档方法。

简单来说,用户想要对某一个区块链节点做数据归档,必须在过去某一时刻对区块链制作一个状态快照;

进行数据归档时,可以将快照点之前所有的区块链数据进行归档转储,以实现区块链节点存储压力的减负。后续未归档第一个区块的节点成为新链的1号区块。

▲?数据归档流程

制作快照:

1.系统获取最近距离的快照,即比当前要做快照的区块号小的最大的高度,返回该快照的信息。若没有任何快照,则以0号区块数据为基础新建快照并作为start,其制作的高度为end。

2.快照拷贝以单纯的磁盘io拷贝一份第一步获得的账本到新文件夹,并作为后续账本操作的基础。

3.根据日志数据,遍历线上,制作到账本,且同时遍历区块的merkleRoot,保证账本的正确性。

检查快照:

遍历snashot数据库中的状态数据,重新计算出bucketTree的根哈希,与最新的区块哈希对比,以保证制作的快照与实际的账本是否一致。

数据归档:

如图,用户发起数据归档请求,要求将快照点前所有的区块链数据进行转储归档。该节点将所需转储的区块数据以及相应的交易回执等数据转储,且将本地的创世状态内容更新为之前备份得到的快照状态。

如果说区块链正常的状态变迁是状态终点不停向前更新的过程,那么数据归档就是一个区块链状态起点向终点更新的过程。下面是一个比较典型的相关数据平台应用案例:

数百家中心数据,存量数据4T,日均10GB,年均3.6T数据上链,由于链上存储通常采用SSD硬盘,导致存储成本高昂。针对此问题,我们采用定期归档的方式对链上数据进行归档,由图可见,我们采用了分段存储的方式,平台可对任意的某段数据进行归档操作并保证各节点数据状态的一致性。保证链上数据稳定在1T左右,有效地释放磁盘空间的同时,极大地降低了成本,增加了系统性能。

上述的数据归档主要是针对区块链数据,而部署在区块链上的智能合约,同样有较大的存储需求用来记录庞大的业务数据。针对于这部分数据,趣链提供了另外一种归档机制,用户仅需发起一笔带有特殊标记的交易,调用智能合约中自定义的归档函数,即可实现合约数据的转储。合约编码者可以在合约中实现任意逻辑的归档函数,以满足不同的业务需求。

——?Part5总结?——

在本片中较为详细地讲解了数据归档技术在区块链中的使用,不仅实现了数据的冷热分离存储,保证了单一节点的数据归档而保持整个区块链所有节点的账本状态的一致性,而且实现了分段存储的模式,使得数据在任意范围内被归档。

从设计角度来看,数据归档后不影响原先链上数据的正确性与连续性,而且支持不同节点、不同分区自定义归档序列的范围。

从功能角度来看,数据归档主要解决区块链链上数据的冗余问题。减少链上数据存储压力,将过期数据和历史数据进行线下的存储,突破链上存储的限制。并且,并发执行数据归档过程中的各种操作,提升了归档的效率。

从应用场景来看,数据归档适用于数据冗余存储、链式递增、时效有限等情况导致的存储资源被大量过期数据占用的痛点。对于数据归档或者区块链技术有兴趣的小伙伴,添加小助加入技术交流群,欢迎您和我们共享观点,共论区块链的无限未来~

作者简介

陈少蔚

趣链科技基础平台部文档工程师

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-4:63ms