本说明书实施例属于区块链,尤其涉及交易去重方法及区块链系统中的节点。
背景技术:
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本发明的目的在于提供一种交易去重方案,能在异步无主共识场景下尽可能的避免多个共识提议者重复提议相同的交易,造成资源(如共识提议者的带宽和计算资源等)的浪费,从而提高区块链系统的整体性能。
2、本说明书第一方面提供一种交易去重方法,由区块链系统中的第一节点执行,所述方法包括:接收第一交易,所述第一交易中包括发送者账户、nonce值和指定共识提议者;确定所述第一交易中的指定共识提议者是否指示所述第一节点;响应于确定所述第一交易中的指定共识提议者指示所述第一节点,对所述第一交易进行第一检查,所述第一检查包括:基于通过所述第一检查的若干第二交易各自包括的多个第一要素,确定所述第一交易是否为重放交易,所述多个第一要素包括发送者账户和nonce值;响应于所述第一检查的确定结果为否,确定所述第一交易通过所述第一检查,并将所述第一交易缓存到所述第一节点中的交易池。
3、本说明书第二方面提供一种区块链系统中的节点,包括:接收单元,被配置成接收第一交易,所述第一交易中包括发送者账户、nonce值和指定共识提议者;确定单元,被配置成确定所述第一交易中的指定共识提议者是否指示所述节点;检查单元,被配置成响应于确定所述第一交易中的指定共识提议者指示所述节点,对所述第一交易进行第一检查,所述第一检查包括:基于通过所述第一检查的若干第二交易各自包括的多个第一要素,确定所述第一交易是否为重放交易,所述多个第一要素包括发送者账户和nonce值;存储单元,被配置成响应于所述第一检查的确定结果为否,确定所述第一交易通过所述第一检查,并将所述第一交易缓存到所述节点中的交易池。
4、本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面描述的方法。
5、本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面描述的方法。
6、本说明书第五方面提供一种计算机程序产品,当该计算机程序产品在计算机中执行时,令计算机执行如第一方面描述的方法。
7、在本说明书实施例提供的方案中,支持用户在交易中指定共识提议者,这样在异步无主共识场景下,能尽可能的避免多个共识提议者重复提议相同的交易,造成资源(如共识提议者的带宽和计算资源等)的浪费。由此,能提高区块链系统的整体性能,例如提高区块链系统的吞吐量,降低区块链系统的延迟等。
1.一种交易去重方法,由区块链系统中的第一节点执行,所述方法包括:
2.根据权利要求1所述的方法,其中,所述接收第一交易,包括:
3.根据权利要求1所述的方法,其中,所述第一交易和所述多个第一要素还包括时间戳。
4.根据权利要求1所述的方法,其中,所述第一交易中还包括过期时间;
5.根据权利要求1所述的方法,其中,所述第一节点缓存有第一集合,所述第一集合包括所述若干第二交易各自的交易信息,所述交易信息包括其对应的第二交易的所述多个第一要素;
6.根据权利要求1所述的方法,其中,在将所述第一交易缓存到所述第一节点中的交易池之后,还包括:
7.根据权利要求6所述的方法,其中,所述第一交易还包括时间戳,所述多个第二要素还包括时间戳和/或共识提议者。
8.根据权利要求6所述的方法,其中,所述第一交易中还包括过期时间;
9.根据权利要求6所述的方法,其中,所述第一节点中缓存有第二集合,所述第二集合包括所述若干第三交易的交易信息,所述交易信息包括其对应的第三交易的所述多个第二要素;
10.根据权利要求1-9之一所述的方法,还包括:
11.根据权利要求10所述的方法,其中,所述多个交易各自包括的指定共识提议者均指示所述第一节点。
12.根据权利要求6所述的方法,其中,在将所述第一交易缓存到所述第一节点中的交易池之后,还包括:
13.一种区块链系统中的节点,包括:
14.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项所述的方法。
15.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。