基于静态地域分区的区块链交易方法

文档序号:31773181发布日期:2022-10-12 07:40阅读:147来源:国知局
基于静态地域分区的区块链交易方法

1.本发明涉及区块链技术领域,尤其涉及一种基于静态地域分区的区块链交易方法。


背景技术:

2.区块链技术在过去几年中获得了巨大的发展。区块链的本质是一个共享的分布式账本,用于记录每一笔历史交易;区块链网络中的节点会对交易进行验证,并生成相应的区块,最后将其存储到账本中。由于区块链分布式节点之间的共识机制,系统需要确保每个节点都保存着相同的区块。
3.但是,在某些高并发交易的场景下,大量交易同时发生且每笔交易都必须立即得到处理。在这种场景下,区块链系统很难满足交易时实时性的要求,并且区块体积会迅速变大,有能力存储完整区块链的节点会越来越少,导致区块链系统变得越来越集中化,数据在所有节点之间的分布不均。


技术实现要素:

4.为了克服现有技术的不足,本发明的目的在于提供一种基于静态地域分区的区块链交易方法,通过分区及委员会共识机制,提高了区块链系统吞吐量。
5.本发明采用以下技术方案实现:
6.一种基于静态地域分区的区块链交易方法,包括以下步骤:
7.接收交易信息;
8.根据地域信息将所述交易信息分配到区块链对应分区;
9.接收分区中委员会成员节点核验结果:
10.当所述核验通过,为所述交易信息创建新的区块并打包加入到所述区块链中;否则,对所述交易信息进行校对。
11.进一步地,所述分区根据地域信息划分,每个所述分区中的节点互不重复。
12.进一步地,每一个所述分区中的若干节点组成该分区的委员会成员节点。
13.进一步地,确定所述委员会成员节点,包括以下步骤:
14.通过pow算法筛选出一个分区中达到目标值的的m个节点作为所述委员会成员节点,其中m为预设委员会成员节点数量,m大于等于0.5n,n为分区中的总节点数量。
15.进一步地,通过路由算法将所述交易信息分配到区块链对应分区,当无法根据地域信息对所述交易信息进行分区匹配时,分配至默认分区。
16.进一步地,所述委员会成员节点核验,包括以下步骤:
17.每一个所述委员会成员节点根据历史账本对所述交易信息通过pbft共识算法进行核验;
18.当核验无误,将确认信息发送给其他委员会成员节点;
19.当所有委员会成员节点都核验无误,核验通过。
20.进一步地,所述交易信息创建新的区块并打包,包括以下步骤:
21.按照加入节点时间,对委员会成员节点进行排序;
22.由第一个加入分区的所述委员会成员节点进行创始区块打包,所述创始区块不包含所述交易信息;
23.对区块链中的交易信息进行轮询,当所述交易信息为分区内第a笔交易信息时,由第a+1个加入分区的所述委员会成员节点对所述交易信息进行打包,并分发给分区内所有节点。
24.进一步地,当分区中委员会核验通过k次交易信息后,重新确定委员会成员节点,k为预设核验次数上限。
25.进一步地,核验交易信息时,当所述委员会成员节点出现故障且剩余委员会成员节点数量小于等于0.7m时,交易信息核验失败并重新选举委员会成员节点。
26.进一步地,当分区中的健康节点数量少于m时,分区中所有节点自动成为委员会成员节点。
27.相比现有技术,本发明的有益效果在于:
28.本发明根据地域信息对区块链进行分区,提高了区块链的处理效率,可以满足高并发场景的实时处理需求,降低了区块体积,并且通过委员会机制对交易信息进行核验,使得每个分区的确认交易效率更高,增加了区块链系统的吞吐量。
附图说明
29.图1是实施例一基于静态地域分区的区块链交易方法的流程图;
30.图2是实施例二打包过程的流程图。
具体实施方式
31.以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。
32.实施例一
33.实施例一提供了一种基于静态地域分区的区块链交易方法,旨在通过按照分区对交易信息进行处理,进而减少整个区块链的运算量。
34.在分布式数据库中,分区技术是指对数据库表进行分区,使数据可以在集群中的所有节点之间均匀分布。将分区技术引入到区块链中,用于并行处理多个交易,即,将区块链网络中划分成较小的分区,每个分区处理不同的交易。在每个分区中,节点通过共识算法将达成一致的交易维护在每个分区自己的账本上。
35.根据以上原理,请参照图1所示,一种基于静态地域分区的区块链交易方法,包括以下步骤:
36.s110、接收交易信息;
37.s120、根据地域信息将所述交易信息分配到区块链对应分区;
38.本实施例中,分区根据地域信息进行静态分区,分区完成后,不可再进行分区变更,地域信息例如将位于相同国家或地区的节点划分为同一分区;每个所述分区中的节点
互不重复;此外,所有分区都不能有重叠,且每个节点都必须被分配到一个分区中。
39.本实施例中,选择通过路由算法将所述交易信息分配到区块链对应分区,当无法根据地域信息对所述交易信息进行分区匹配时,分配至默认分区,例如默认分配至“中国”分区,默认分区可根据实际情况进行选择。
40.s130、接收分区中委员会成员节点核验结果:
41.当所述核验通过,为所述交易信息创建新的区块并打包加入到所述区块链中;否则,对所述交易信息进行校对。
42.上述委员会成员节点组成分区中的委员会,其作用是用于确认该分区内的交易,相比于传统区块链需要每个节点都达成共识的方法,委员会共识机制效率更高,且可以保证交易信息的验证。
43.本实施例中,通过pow(工作证明)算法实现委员会成员节点的选举, pow算法通过计算一个数值(nonce),使得拼揍上交易数据后内容的哈希值满足规定的上限。在节点成功找到满足的哈希值之后,会马上对全网进行广播打包区块,网络的节点收到广播打包区块,会立刻对其进行验证。因此,只需根据需求设定一个目标值(nonce),就可以对节点进行筛选。具体地,确定所述委员会成员节点,包括以下步骤:
44.通过pow算法筛选出一个分区中达到目标值的的m个节点作为所述委员会成员节点,其中m为预设委员会成员节点数量,为了防止委员会成员节点过少时产生的串通问题,本事实例中,节点数量m大于等于0.5n,n为分区中的总节点数量。
45.s130的核验通过pbft共识算法实现,该算法是区块链中通用的共识算法,本实施例不作过多赘述,具体地,所述委员会成员节点核验,包括以下步骤:
46.每一个所述委员会成员节点根据历史账本对所述交易信息通过pbft共识算法进行核验;
47.当核验无误,将确认信息发送给其他委员会成员节点;
48.当所有委员会成员节点都核验无误,核验通过。
49.实施例二
50.实施例二主要是对委员会成员节点的打包进行的解释和说明。
51.本实施例中,通过轮询机制实现交易信息的打包,既可以使每个委员会成员节点都参与打包,也可以避免某一个或几个节点参与过多的打包过程导致核验或计算效率降低。
52.请参照图2所示,所述交易信息创建新的区块并打包,包括以下步骤:
53.s210、按照加入节点时间,对委员会成员节点进行排序;
54.s220、由第一个加入分区的所述委员会成员节点进行创始区块打包,所述创始区块不包含所述交易信息;
55.上述创始区块中不包括具体交易信息,该区块是委员会成立时的创始区块,包含上一轮委员会成立时创始区块地址,以便于进行相关查询。创始区块打包后,会广播给该分区中的节点,所有节点都将该区块加入到节点本地的账本中。
56.s230、对区块链中的交易信息进行轮询,当所述交易信息为分区内第a笔交易信息时,由第a+1个加入分区的所述委员会成员节点对所述交易信息进行打包,并分发给分区内所有节点。
57.例如对于分区内委员会处理的第2笔交易信息,由第三个加入分区的委员会成员节点进行打包,其他该分区的节点将打包区块加入到各自本地的账本中。
58.实施例三
59.实施例三是在实施例一的基础上进行的,主要是对委员会及成员的变更进行的解释和说明。
60.当一个分区中的委员会固定不变时,容易产生互相串通或者不仔细核验的问题,因此,需要定期重新选举委员会。
61.当分区中委员会核验通过k次交易信息后,重新确定委员会成员节点,k 为预设核验次数上限。具体k的数量可以根据分区内委员会成员节点数量进行确定,本实施例不作具体限定。重新确定委员会成员节点的过程请参照实施例一。
62.此外,在交易核验时,会存在有部分委员会成员节点出现故障的情况,本实施例对剩余委员会成员下限进行了限定,避免剩余共识节点数量过少的问题,核验交易信息时,当所述委员会成员节点出现故障且剩余委员会成员节点数量小于等于0.7m时,交易信息核验失败并重新选举委员会成员节点。
63.在没有交易核验的情况下,当检测到分区中的健康节点数量少于m时,为避免共识节点过少,分区中所有节点自动成为委员会成员节点。
64.当然,上述的“0.7m”及“所有节点自动成为委员会成员节点”数量仅仅是本实施例所作的数量限定,在实际区块链系统运行时,也可以选择其他数量进行设定。
65.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1