一种双层多分区区块链系统

文档序号:37723999发布日期:2024-04-23 12:02阅读:7来源:国知局
一种双层多分区区块链系统

本发明涉及区块链技术,特别涉及一种双层多分区区块链系统。


背景技术:

1、现有的区块链部署往往面临着可扩展性、安全性和去中心化的三难困境。针对可扩展性的限制和资源效率问题,有效解决方法之一是分片,即将整个工作负载划分为多个域。一般来说,这些分片并行工作,并在相同的共识下维护不同的区块链,随着分片的数量性能(即吞吐量)线性增加,减少了每个区块链节点上的通信、计算和存储负载。

2、基于这种思想,许多基于分片的区块链被提出,loi?luu,viswesh?narayanan等人在2016acm?sigsac计算机与通信安全会议中提出了一个分层的区块链架构elastico,随着分片的增加,出块速度比起比特币大了几个数量级。但在资源效率上,由于所有节点都需要存储所有分布账本,通信与存储效率很低,且由于支持恶意节点比例较低,面临安全问题。此外,无法保证跨链交易的原子性也是该架构的一大限制。

3、在2018ieee安全与隐私研讨会中,eleftherios?kokoris-kogias等人提出一个omniledger架构,该架构下,随分片的增加,出块速度随之线性增长,存储负担被分给各个分片,资源效率较高。然而,由于支持恶意节点比例较低,它同样面临着安全问题,且仅限各个分片内进行共识。

4、在2018年acm?sigsac计算机与通信安全会议中,mahdi?zamani,mahnushmovahedi等人发表了一篇文章说明了一个rapidchain架构,此架构的可扩展性优于omniledger,安全性也有所提高,但各个分片的共识机制无法灵活选择。

5、在第16届usenix网络系统设计与实现研讨会(nsdi?19)中,jiaping?wang和haowang提出了monoxide架构,该分片区块链架构大大提升了安全性,但资源效率较低,且各个分片运行的共识机制同样无法灵活选择。

6、综上所述,现有技术中的区块链拘束面临以下困境:

7、1)可扩展性由吞吐量和资源效率决定,其中吞吐量衡量为总区块生成速率随分片数量的增长,资源效率衡量为每个节点存储和处理的账本占总账本的比例;

8、2)安全性以每个分片内可允许的恶意节点数量占所有分片节点数量的比例衡量;

9、3)去中心化由是否依赖可信中介或专用区块链决定。


技术实现思路

1、为了解决区块链技术应用中分区导致的安全性降低的问题,在提升安全性的同时,保证区块链架构的可扩展性,本发明提出一种双层多分区区块链系统,系统中包括多个共识分区和协调层,每个共识分区包括多个分区节点和一个dag节点,每个共识分区维护一条区块链,每个共识分区中的分区节点和dag节点均为具有计算能力和通信能力的智能终端,分区节点参与该共识分区区块链区块生成的竞争,且dag节点不参与该分区区块链区块的生成,所有分区的dag节点构成协调层,dag节点将该分区生成的区块转发到协调层,协调层维护一个基于dag的主链账本,且dag共识中dag账本由所有分区生成的区块构成。

2、进一步的,每个共识分区采用不同的共识算法。

3、进一步的,每个分区生成的区块中至少包括的信息类型表示为:

4、{height,zoneintra,hashintra,txintra,zoneinter,hashinter,txinter}

5、其中,height为当前共识分区维护的分布式账本的块高;zoneintra表示生成当前区块的分区节点;hashintra表示当前区块在当前共识分区中链接区块的哈希值;txintra表示在共识分区zoneintra输入并在共识分区zoneintra输出的交易;zoneinter表示一个非当前区块所在的共识分区;hashinte表示当前区块在共识分区zoneinter中链接区块的哈希值;txinter表示在共识分区zoneintra输入并在分区节点zoneinter输出的交易。

6、进一步的,生成区块时分区节点将生成的区块与其维护的区块链中主链末端的区块的hash值作为当前区块的hashintra;当前分区的dag节点从其维护的基于dag的主链账本中选择一个未被选择过且为其他共识分区生成的区块的hash值作为当前区块的hashinte。

7、进一步的,新区块根据当前区块的高度搜索历史键对值,若历史键对值中存在该高度,则调用该高度下的参数进行区块生成,否则利用马尔可夫链蒙特卡洛算法从该区块链的本地账本中获取参数,一个历史键对值表示为(height,{hashinter,zoneinter}),且同一个分区中同一个height下仅存在一个历史键对值。

8、进一步的,利用马尔可夫链蒙特卡洛算法从区块链的本地账本中获取hashinter和zoneinter的过程包括:

9、从各个分区中选择权重较高的区块作为起始区块,并将每个区块上放置一个粒子;

10、将其他分区中可以作为当前区块选择的区块作为目的区块,将可以直接或者间接证明当前区块的区块作为中继区块,令起始区块上的粒子进行随机游走;

11、将最先到达目的区块粒子到达的分区作为当前区块的zoneinter、到达的目标区块的哈希值作为当前区块的hashinter。

12、进一步的,分区主链更新,即保证当前分区中高度最高且累积权重最大的区块与当前分区中最新生成的区块位于同一条链上,并将该链作为该分区的主链。

13、本发明利用dag主节点和分区节点共同组成双层分区区块链体系架构,在双层多分区架构下,可以在各个分区建立稳定的、个性化的应用,为各分区提供用户隐私和数据权限?;?,在提升可扩展性的同时,保证性能与安全性。



技术特征:

1.一种双层多分区区块链系统,其特征在于,系统中包括多个共识分区和协调层,每个共识分区包括多个分区节点和一个dag节点,每个共识分区维护一条区块链,每个共识分区中的分区节点和dag节点均为具有计算能力和通信能力的智能终端,分区节点参与该共识分区区块链区块生成的竞争,且dag节点不参与该分区区块链区块的生成,所有分区的dag节点构成协调层,dag节点将该分区生成的区块转发到协调层,协调层维护一个基于dag的主链账本,且dag共识中dag账本由所有分区生成的区块构成。

2.根据权利要求1所述的一种双层多分区区块链系统,其特征在于,每个共识分区采用不同的共识算法。

3.根据权利要求1所述的一种双层多分区区块链系统,其特征在于,每个分区生成的区块中至少包括的信息类型表示为:

4.根据权利要求2所述的一种双层多分区区块链系统,其特征在于,在共识分区中,生成区块时分区节点将生成的区块与其维护的区块链中主链末端的区块的hash值作为当前区块的hashintra;当前分区的dag节点从其维护的基于dag的主链账本中选择一个未被选择过且为其他共识分区生成的区块的hash值作为当前区块的hashinte。

5.根据权利要求1、2或4所述的一种双层多分区区块链系统,其特征在于,在共识分区中,新区块根据当前区块的高度搜索历史键对值,若历史键对值中存在该高度,则调用该高度下的参数进行区块生成,否则利用马尔可夫链蒙特卡洛算法从该区块链的本地账本中获取参数,一个历史键对值表示为(height,{hashinter,zoneinter}),其中height为当前共识分区维护的分布式账本的块高,hashinte表示当前区块在共识分区zoneinter中链接区块的哈希值,zoneinter表示一个非当前区块所在的共识分区,且同一个分区中同一个height下仅存在一个历史键对值。

6.根据权利要求5所述的一种双层多分区区块链系统,其特征在于,利用马尔可夫链蒙特卡洛算法从区块链的本地账本中获取hashinter和zoneinter的过程包括:

7.根据权利要求4所述的一种双层多分区区块链系统,其特征在于,分区主链更新,即保证当前分区中高度最高且累积权重最大的区块与当前分区中最新生成的区块位于同一条链上,并将该链作为该分区的主链。


技术总结
本发明涉及区块链技术,特别涉及一种双层多分区区块链系统,包括多个共识分区和协调层,每个共识分区包括多个分区节点和一个DAG节点,每个共识分区维护一条区块链,每个共识分区中的分区节点和DAG节点均为具有计算能力和通信能力的智能终端,分区节点参与该共识分区区块链区块生成的竞争,且DAG节点不参与该分区区块链区块的生成,所有分区的DAG节点构成协调层,DAG节点将该分区生成的区块转发到协调层,协调层维护一个基于DAG的主链账本,且DAG共识中DAG账本由所有分区生成的区块构成;本发明可以在各个分区建立稳定的、个性化的应用,为各分区提供用户隐私和数据权限?;?,在提升可扩展性的同时,保证性能与安全性。

技术研发人员:曹傧,刘玮康,肖少荷,彭木根
受?;さ募际跏褂谜撸?/b>北京邮电大学
技术研发日:
技术公布日:2024/4/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im