【技术实现步骤摘要】
一种支持高并发的批量区块并行共识方法及系统
[0001]本专利技术属于区块链
,尤其涉及一种支持高并发的批量区块并行共识方法及系统。
技术介绍
[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]现有技术中,传统区块链采用链式账本结构,区块的共识和上链过程按照区块号顺序递增的方式进行,当前区块的构建以及共识上链过程会依赖于上一个区块的信息,只有当上一个区块确认上链后,才能进行下一个区块的共识和上链。
[0004]目前应用于区块链的各种主流的BFT共识算法都是遵循区块按照区块顺序共识,对于一条链式账本来说同一时间仅能存在一个区块的共识和上链过程。
[0005]随着区块链业务场景的不断拓宽,目前很多区块链应用的业务场景有较高的交易吞吐量需求,而顺序的共识和上链是目前传统链式账本结构区块链的主要性能瓶颈之一。目前针对共识算法的性能优化主要集中在通信优化方面,通过减少消息通信量等方式一定程度上增加了共识速度,提高了共识性能。消息过大也会导致消息解析慢通信 ...
【技术保护点】
【技术特征摘要】
1.一种支持高并发的批量区块并行共识方法,其特征在于,包括如下步骤:获取所有交易;对交易进行组装,将所有交易按照交易对象划分成不同的交易队列,分析各交易队列的依赖关系,将交易放入空区块中,并去除各区块之间交易的依赖关系;对组装完交易的区块进行预执行,构建完整的区块;构建出完整的区块后开始该区块的共识,各区块的共识过程并行进行;共识通过后,共识节点将区块执行并验证区块的正确性,区块验证通过后进行区块信息的预写入;判断父区块是否上链,上链后进行该区块的父区块哈希验证,验证成功则将区块执行的状态和结果信息写入,完成区块上链;该批次的所有区块都共识结束并验证成功后,区块并行共识结束。2.根据权利要求1所述的一种支持高并发的批量区块并行共识方法,其特征在于,所述分析各交易队列的依赖关系,将交易放入空区块中,并去除各区块之间交易的依赖关系,包括:将互相存在依赖关系的队列中的交易作为第一类交易集合,不存在依赖关系的交易队列作为第二类交易集合;其中,每一个交易集合中的交易放到同一个区块中,放置交易时按照区块号由小到大的顺序放置,直到放满或不能容纳整个交易集合后,再将交易放置到下一个区块中。3.根据权利要求1所述的一种支持高并发的批量区块并行共识方法,其特征在于,在获取所有交易后,根据取出的交易数构建空区块;初始化所有空区块,空区块的区块高度从当前区块高度加一开始顺序递增。4.根据权利要求3所述的一种支持高并发的批量区块并行共识方法,其特征在于,所述空区块的个数为获取交易数除以区块包含的最大交易数。5.根据权利要求1所述的一种支持高并发的批量区块并行共识方法,其特征在于,预执行结束后将区块的关键验证信息写入区块头,其父区块预执行完成后将父区块的哈希写入区块头。6.根据权利要求1所述的一种支持高并发的批量区块并行共识方法,其特征在于,如果某个区块共识失败,则取消该区块以及后续各区块的共识和写入,删除预写入的数据和缓...
【专利技术属性】
技术研发人员:闵新平,郑永清,张世栋,仪莉,吴朋,
申请(专利权)人:山大地纬软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。