技术新讯 > 电子通信装置的制造及其应用技术 > 一种基于拜占庭容错共识的动态分片方法  >  正文

一种基于拜占庭容错共识的动态分片方法

  • 国知局
  • 2024-08-02 14:23:28

本发明属于计算机科学与,尤其涉及一种基于拜占庭容错共识的动态分片方法。

背景技术:

1、当今,区块链源凭借去中心化、不可篡改、可追溯的种种特性引起了社会各界的广泛关注,使区块链成为继大数据、人工智能之后的又一项前沿热点技术。区块链技术涉及到多个学科技术领域,包括密码学、计算机技术与科学、网络安全、数学等,是点对点网络、加密算法、共识机制、智能合约、分布式数据存储等多种技术的集成式创新。

2、现有的区块链可扩展性优化方案有闪电网络、有向无环图(directed acyclicgraph,dag)技术、状态通道和分片技术等。分片技术属于链上扩容技术之一,是在不损失其去中心化程度前提下,提升区块链性能的有效方案。分片技术通过将区块链数据分成多个分片,每个分片由不同的节点组成,多个分片可以并行处理交易,每个分片通过节点的冗余存储数据不仅解决了区块链的安全性,而且通过分区并行处理交易可以线性地提升区块链的交易吞吐量。

3、elastic是第一个能够容忍拜占庭故障的分片式无许可区块链;omniledger在elastico的去中心化和高故障概率方面进行了改进,并提供了更高的性能;rapidchai是第一个支持最多f<n/3个拜占庭故障的分片式区块链;sschain通过避免分片委员会的轮换,在不需要下载块和状态的情况下对状态进行分片。然而现有的分片技术无法进行有效地管理分片,包括分片的数量、大小的动态调整等,不能适应网络的变化和需求,并确保分片之间的负载均衡和公平性差异。同时为了确保区块链网络的安全,以防止拜占庭故障、恶意节点攻击等,节点的加入和离开、分片的更改等操作都需要进行适当的验证和身份验证。

技术实现思路

1、为解决上述技术问题,本发明提供了一种基于拜占庭容错共识的动态分片方法,包括:

2、基于动态分片算法,通过应用层对分片开启、分片关闭、分片离开进行控制,进而对系统节点进行分组管理;

3、所述应用层向底层提供分片结果查询接口,当分片事务触发后,系统节点调用所述分片结果查询接口,判断所述分片事务是否与自身相关,若相关,则进行相应的节点迁移、状态更改操作。

4、优选地,所述动态分片算法的设计包括:

5、对tendermint共识内核中的consensus reactor,p2p reactor进行改造,改变原有共识算法节点间的交流模式,同时增加节点可操作共识实体个数;

6、通过增加修改动态分片共识算法内部交互所需的接口来调整系统abci;

7、设计应用层分片操作范式,针对分片开启、分片关闭、分片加入、分片离开撰写原操作代码;

8、设计应用层传入机制,通过appdb存储系统shard初始信息,用户通过调用delivertx和query函数发送分片操作、查询请求;

9、设计共识内核同步信息机制,修改applyblock函数,定期向app同步分片操作请求信息,并在rescbfirsttime函数中过滤无关消息;

10、添加共识内核指针,根据系统运行状态,使所述共识内核指针指向主共识、分片共识,实现动态分片。

11、优选地,通过所述应用层进行分片开启的过程包括:

12、当用户适时提出请求后,调用相关合约函数提交createshard申请,输入分片参数后开启分片,或加入已有分片来提升系统性能;

13、所述分片参数包括但不限于分片数量、每个分片大小、安全检验条件。

14、优选地,所述输入分片参数开启分片的过程包括:

15、收到分片开启请求后,tendermint共识内核保存现有共识内容,初始化新分片信息,并将共识内核指针指向新的分片;

16、基于所述应用层记录发生变化的分片数据,并通过tendermint共识内核捕捉所述发生变化的分片数据后,所述tendermint共识内核调用abci接口对分片信息进行查询,未加入节点的各个分片进行正常的共识出块。

17、优选地,所述输入分片参数加入已有分片的过程包括:

18、收到加入分片指令后,tendermint共识内核判断用户权限信息,查询分片准入条件,若允许则将用户划入分片,在主共识和分片共识更新节点信息;

19、然后,用户提交joinshard申请,输入包含ip地址、分片编号在内的分片参数的相关信息,使合约所记录的分片-账户数据发生变化,通过tendermint共识内核捕捉所述发生变化的分片-账户数据后,所述tendermint共识内核对主链信息进行记录保存,同时将产出的主链区块复制到分片共识内核中,以所述主链区块为起点进行分片共识进程,主链将用户从主链共识验证者集合中去除,且所述用户不再参与主链共识。

20、优选地,通过所述应用层进行分片关闭的过程包括:

21、分片用户提交关闭分片申请退出分片,收到分片关闭指令后,tendermint共识内核保存分片共识内容,并压缩打包,将共识内核指针指向主共识,同时向主共识同步分片信息后,回归主链运行。

22、优选地,所述回归主链运行的过程包括:

23、用户向主链发送closeshard消息,经过共识提交后,将自身分片数据压缩打包,传输至主链中进行保存;

24、同时对tendermint共识内核的关键组件进行切换,将节点转移至主链状态,由此回归主链共识。

25、优选地,所述分片事务包括但不限于节点加入事务、分片创建事务以及分片关闭事务。

26、优选地,通过所述应用层进行分片离开的过程包括:

27、收到离开分片指令后,tendermint共识内核判断用户权限信息,查询分片准入条件,若允许则将用户移出分片,在主共识和分片共识更新节点信息。

28、与现有技术相比,本发明具有如下优点和技术效果:

29、本发明提出的基于拜占庭容错共识的动态分片方法,设计了动态分片系统的运行规范,能够约束用户创建,删除,加入,退出分片等一系列行为;设计了跨分片应用开发范式,方便用户基于开发跨链应用,提高跨链系统性能。

30、本发明提高了区块链系统的性能和可扩展性,实现大规模数据管理场景下的高吞吐、低时延和可拓展性需求。同时动态的特性使得系统具有更好的自适应性和可扩展性。

技术特征:

1.一种基于拜占庭容错共识的动态分片方法,其特征在于,包括:

2.根据权利要求1所述的基于拜占庭容错共识的动态分片方法,其特征在于,所述动态分片算法的设计包括:

3.根据权利要求1所述的基于拜占庭容错共识的动态分片方法,其特征在于,通过所述应用层进行分片开启的过程包括:

4.根据权利要求3所述的基于拜占庭容错共识的动态分片方法,其特征在于,所述输入分片参数开启分片的过程包括:

5.根据权利要求3所述的基于拜占庭容错共识的动态分片方法,其特征在于,所述输入分片参数加入已有分片的过程包括:

6.根据权利要求1所述的基于拜占庭容错共识的动态分片方法,其特征在于,通过所述应用层进行分片关闭的过程包括:

7.根据权利要求6所述的基于拜占庭容错共识的动态分片方法,其特征在于,所述回归主链运行的过程包括:

8.根据权利要求1所述的基于拜占庭容错共识的动态分片方法,其特征在于,所述分片事务包括但不限于节点加入事务、分片创建事务以及分片关闭事务。

9.根据权利要求1所述的基于拜占庭容错共识的动态分片方法,其特征在于,通过所述应用层进行分片离开的过程包括:

技术总结本发明公开了一种基于拜占庭容错共识的动态分片方法,包括:基于动态分片算法,通过应用层对分片开启、分片关闭、分片离开进行控制,进而对系统节点进行分组管理;应用层向底层提供分片结果查询接口,当分片事务触发后,系统节点调用分片结果查询接口,判断分片事务是否与自身相关,若相关,则进行相应的节点迁移、状态更改操作。本发明提高了区块链系统的性能和可扩展性,实现大规模数据管理场景下的高吞吐、低时延和可拓展性需求。同时动态的特性使得系统具有更好的自适应性和可扩展性。技术研发人员:史高伟,刘秀龙,李文信,马立原,吕智鹏,李德龙,李克秋受保护的技术使用者:天津大学技术研发日:技术公布日:2024/7/25

本文地址:https://www.jishuxx.com/zhuanli/20240801/242672.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。