当前位置: 首页 > 专利查询>东北大学专利>正文

一种面向存储可扩展的联盟链分片方法技术

技术编号:38391690 阅读:17 留言:0更新日期:2023-08-05 17:44
本发明专利技术提供一种面向存储可扩展的联盟链分片方法,首先在区块生成时对Merkle树叶子节点进行分类标识,然后对分类标识后的生成树进行分片,最后利用纠错码进行加密存储结构。本发明专利技术方法提高了存储可扩展性,降低了分片对吞吐量的影响,而且提高了存储效率和吞吐量,减少了分片过程中的存储硬件资源紧张。同时细粒化分片后进行单独地址保存,可以实现独立验证,提高验证效率。再者,本发明专利技术基于Merkle树分片之中的纠错码标记去维护数据,通过解码矩阵来判断数据是否被劫持,减少为了安全性对副本复制的冗余,提高了块内分片的安全性。提高了块内分片的安全性。

【技术实现步骤摘要】
一种面向存储可扩展的联盟链分片方法


[0001]本专利技术涉及计算机区块链查询
,特别是涉及一种面向存储可扩展的联盟链分片方法。

技术介绍

[0002]随着国际数据的实际应用场景越来越频繁,区块链这一名词逐渐应用到了企业和个人用户上。区块链的去中心化、抗修改、数据透明化和非对称加密等特点使他被大型企业在数据管理等方面上逐步应用。区块链本质上是一个去中心化数据库,是一种混合多种分布式加密方法等计算机技术的新型应用模式。
[0003]伴随着越来越多的信息上传到区块链,近些年尤其是在以太坊和Hyperledger等联盟链平台上,也出现了对于存储可扩展的需求。但是目前在区块链领域的存储扩展技术正处于起步阶段,传统的数据库的分片系统移植到区块链系统来会带来安全性问题或者无法继续满足去中心化,这也称之为区块链的“不可能三角”。一些比较优秀的存储扩展算法开始在公有链应用,他们凭借良好的对恶劣交易环境的抗性,以及通过完整系统架构满足的高安全性在公有链广为应用。但是,随着数据累计,联盟链对存储扩展的需求也逐渐增大,与公有链不同,联盟链不需要牺牲过多的算力来实现存储扩展和安全性维护,所以需要一种相比较公有链上的分片方式更轻量化的方法设计。

技术实现思路

[0004]针对现有技术存在的问题,本专利技术提供一种面向存储可扩展的联盟链分片方法,包括:
[0005]步骤1:在区块生成时对Merkle树叶子节点进行分类标识;具体表述为:
[0006]步骤1.1:对用户写入数据进行摘要提取;包括:/>[0007]步骤1.1.1:用户写入数据至局部区块链,对正在生成录入的哈希块进行键值的筛选,数据为Sdata={data1,data2,

,datai,

,datam},其中m表示数据总量大小;
[0008]步骤1.1.2:对于每个数据块,计算其摘要值dig=H(datai),其中H()是哈希函数,将所有的摘要值按字符顺序排序得到一个字符串S0;
[0009]步骤1.1.3:将字符串S0分成n个长度相等的子串,每个子串表示为Si,对于每个子串Si,找到摘要值中第一个大于等于Si的元素digj,将datai加入到以digj为键的数据集Sdig={dig1,dig2,

,digj

,dign}中;
[0010]步骤1.1.4:重复步骤1.1.2

步骤1.1.3直到所有数据块都被分类;
[0011]步骤1.2:根据提取到的摘要构建Merkle树;包括:
[0012]步骤1.2.1:对提取的数据摘要Sdig={dig1,dig2,

,dign}进行质数序列取余,将具有相同余数的摘要值dig按照自底向上构建树,根据余数确定从叶子节点到父母节点的分支,生成索引树;
[0013]步骤1.2.2:重复步骤1.2.1,直到将整个Sdig={dig1,dig2,

,dign}全部构建成
为一棵带有分类标识的Merkle树,表示为MT={mt1,mt2,

,mtf},其中f表示依据数据构建树的个数;
[0014]步骤2:对分类标识后的生成树进行分片,具体表述为:
[0015]步骤2.1:已生成的块是不可变的,对于正在生成的数据块中,伴随Merkle树MTree={mt1,mt2,

,mtf}的生成,对其中的一棵Merkle树按树的层数进行判断,超过阈值则在当前层数将左子树单独分片;
[0016]步骤2.2:在正在生成的MTree={mt1,mt2,

,mtf}中,对左子树进行剪枝分片保存,并把右子树和根节点的验证信息一并保存到左子树,右子树也同样保存左子树和根节点验证信息,如图3所示分别保存左右两部分;
[0017]步骤2.3:左右子树分片后保存成数据块,根据保存数据分为块C={C0,...,Cg},其中,g表示数据块的个数,如图4所示,将C={C0,...,Cg}编码复制保存到不同的物理地址;
[0018]步骤3:利用纠错码进行加密存储结构;具体表述为:
[0019]步骤3.1:对保存的数据块进行RS编码;具体表述为:对已经保存的数据块C={C0,...,Cg}进行RS编码,利用RS编码校验矩阵和生成矩阵对每个块编码为两个校验块v=(v1,v2,...,vs),u=(u1,u2,...,us),并保存到各分片所在的物理地址上;
[0020]步骤3.2:对已生成的编码进行还原,在发送端为将校验块v=(v1,v2,...,vs),u=(u1,u2,...,us)发送到编码器,通过对2的幂次进行还原生成C={C0,...,Cg};
[0021]步骤3.3:对于保存的数据C={C0,...,Cg},从中通过保存的验证信息Sdig={dig1,dig2,

,dign}进行哈希树验证;具体表述为:
[0022]步骤3.3.1:首先计算出每个叶子节点C={C0,...,Cg}的散列值hi=H(C),然后将所有的hi按顺序连接起来得到一个字符串H0;
[0023]步骤3.3.2:对于每个非叶子节点,将其左右子节点的标签连接起来得到一个字符串H1;对于每个非叶子节点,计算其标签hi=H(H1);
[0024]步骤3.3.3:重复步骤3.3.1和步骤3.3.2直到得到根节点hr,最后将hr与Sdig中的第一个元素dig1进行比较,如果相等,则验证成功;否则验证失败。
[0025]本专利技术的有益效果是:
[0026]本专利技术是一种基于联盟链的特性的Merkle树块内分片方法,提高了存储可扩展性,降低了分片对吞吐量的影响,而且提高了存储效率和吞吐量,减少了分片过程中的存储硬件资源紧张。同时细粒化分片后进行单独地址保存,可以实现独立验证,提高验证效率。再者本专利技术基于Merkle树分片之中的纠错码标记去维护数据,通过解码矩阵来判断数据是否被劫持,减少为了安全性对副本复制的冗余,提高了块内分片的安全性。
附图说明
[0027]图1为本专利技术的面向平台并行运行结构示意图;
[0028]图2为本专利技术的面向存储可扩展的联盟链分片索引树示意图;
[0029]图3为本专利技术的面向存储可扩展的联盟链分片方法模型示意图;
[0030]图4为本专利技术的基于纠错码安全分片结构示意图;
[0031]图5为本专利技术的面向存储可扩展的联盟链分片方法流程图。
具体实施方式
[0032]下面结合附图和具体实施实例对专利技术做进一步说明。
[0033]分片系统理论上可以改善整个系统的存储性能,但是会因为分片导致通信代价变大,使得验证效率低。而在在分片过程中当多个交易同时集中到一个节点中,如果节点再进行分片操作,就可能出现堵塞现象,所以需要优化分片带来的损耗。由于Mp

tr本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向存储可扩展的联盟链分片方法,其特征在于,包括:步骤1:在区块生成时对Merkle树叶子节点进行分类标识;步骤2:对分类标识后的生成树进行分片;步骤3:利用纠错码进行加密存储结构。2.根据权利要求1所述的一种面向存储可扩展的联盟链分片方法,其特征在于,所述步骤1包括:步骤1.1:对用户写入数据进行摘要提取;步骤1.2:根据提取到的摘要构建Merkle树。3.根据权利要求2所述的一种面向存储可扩展的联盟链分片方法,其特征在于,所述步骤1.1包括:步骤1.1.1:用户写入数据至局部区块链,对正在生成录入的哈希块进行键值的筛选,数据为Sdata={data1,data2,

,datai,

,datam},其中m表示数据总量大小;步骤1.1.2:对于每个数据块,计算其摘要值dig=H(datai),其中H()是哈希函数,将所有的摘要值按字符顺序排序得到一个字符串S0;步骤1.1.3:将字符串S0分成n个长度相等的子串,每个子串表示为Si,对于每个子串Si,找到摘要值中第一个大于等于Si的元素digj,将datai加入到以digj为键的数据集Sdig={dig1,dig2,

,digj

,dign}中;步骤1.1.4:重复步骤1.1.2

步骤1.1.3直到所有数据块都被分类。4.根据权利要求2所述的一种面向存储可扩展的联盟链分片方法,其特征在于,所述步骤1.2包括:步骤1.2.1:对提取的数据摘要Sdig={dig1,dig2,

,dign}进行质数序列取余,将具有相同余数的摘要值dig按照自底向上构建树,根据余数确定从叶子节点到父母节点的分支,生成索引树;步骤1.2.2:重复步骤1.2.1,直到将整个Sdig={dig1,dig2,

,dign}全部构建成为一棵带有分类标识的Merkle树,表示为MT={mt1,mt2,

,mtf},其中f表示依据数据构建树的个数。5.根据权利要求1所述的一种面向存储可扩展的联盟链分片方法,其特征在于,所述步骤2包括:步骤2.1:已生成的块是不可变的,对于...

【专利技术属性】
技术研发人员:信俊昌闻亮郝琨姚钟铭崔婷钰王之琼
申请(专利权)人:东北大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1