本说明书实施例属于区块链,尤其涉及一种区块链系统中的交易重放检查方法、区块链节点及其设备
背景技术:
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本发明的目的在于提供一种区块链系统中的交易重放检查方法,以在服务架构的区块链节点中进行交易重放检查。
2、本说明书第一方面提供一种区块链系统中的交易重放检查方法,所述区块链系统中的区块链节点运行有第一进程和第二进程,所述第二进程对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述方法由区块链节点执行,包括:
3、所述第一进程将第二交易的防重放信息、所属区块的区块号发送给第二进程;
4、所述第二进程在确定所述第二交易的防重放信息与所述第一集合中的第三交易的防重放信息相同的情况中,确定所述第二交易的所属区块的区块号与所述第三交易是否相同;
5、所述第二进程在所述第二交易的所属区块的区块号与所述第三交易相同的情况下,确定所述第二交易不是重放交易。
6、本说明书第二方面提供一种区块链系统中的交易重放检查方法,所述区块链系统的区块链节点中包括第一设备和第二设备,所述第二设备对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述方法由所述第二设备执行,包括:
7、从所述第一设备接收第二交易的防重放信息、所属区块的区块号;
8、在确定所述第二交易的防重放信息与所述第一集合中的第三交易的防重放信息相同的情况中,确定所述第二交易的所属区块的区块号与所述第三交易是否相同;
9、在所述第二交易的所属区块的区块号与所述第三交易相同的情况下,确定所述第二交易不是重放交易。
10、本说明书第三方面提供一种区块链系统中的区块链节点,所述区块链节点中运行有第一进程和第二进程,所述第二进程对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,
11、所述第一进程用于将第二交易的防重放信息、所属区块的区块号发送给第二进程;
12、所述第二进程用于在确定所述第二交易的防重放信息与所述第一集合中的第三交易的防重放信息相同的情况中,确定所述第二交易的所属区块的区块号与所述第三交易是否相同;在所述第二交易的所属区块的区块号与所述第三交易相同的情况下,确定所述第二交易不是重放交易。
13、本说明书第四方面提供一种区块链节点中的第二设备,所述第二设备对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述第二设备包括:
14、接收单元,用于从所述区块链节点中的第一设备接收第二交易的防重放信息、所属区块的区块号;
15、确定单元,用于在确定所述第二交易的防重放信息与所述第一集合中的第三交易的防重放信息相同的情况中,确定所述第二交易的所属区块的区块号与所述第三交易是否相同;在所述第二交易的所属区块的区块号与所述第三交易相同的情况下,确定所述第二交易不是重放交易。
16、本说明书第五方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面所述的方法。
17、本说明书第六方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面所述的方法。
18、在本说明书实施例提供的方案中,对于分别使用控制进程进行调度、使用数据面进程进行防重放检查的区块链节点,通过在防重放集合中引入交易所属的区块号、以及交易在区块中的标识来进行防重放检查,避免了在该架构下对已经通过防重放检查的交易再次进行防重放检查时对该交易进行误判,实现了在该架构下正确地对交易进行防重放检查。
1.一种区块链系统中的交易重放检查方法,所述区块链系统中的区块链节点运行有第一进程和第二进程,所述第二进程对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述方法由区块链节点执行,包括:
2.根据权利要求1所述的方法,所述第一集合中还包括所述多个第一交易各自在所属区块中的标识,所述方法还包括:所述第一进程将所述第二交易在所属区块中的标识发送给所述第二进程,
3.根据权利要求1所述的方法,在所述第一进程将第二交易的防重放信息、所属区块的区块号发送给第二进程之前,所述方法还包括:
4.根据权利要求3所述的方法,所述方法还包括:
5.根据权利要求3所述的方法,所述第一进程将第二交易的防重放信息、所属区块的区块号发送给第二进程包括:所述第一进程将所述第一区块的交易信息列表发送给所述第二进程,以进行对所述第一区块中的交易的防重放检查;
6.根据权利要求5所述的方法,所述方法还包括:
7.根据权利要求1所述的方法,在所述第一进程将第二交易的防重放信息、所属区块的区块号发送给第二进程之前,所述方法还包括:
8.根据权利要求1所述的方法,所述区块链节点包括第一设备和第二设备,所述第一设备用于运行所述第一进程,所述第二设备用于运行所述第二进程。
9.根据权利要求2所述的方法,还包括:所述第二进程在确定所述第一集合中不包括所述第二交易的防重放信息的情况下,确定所述第二交易为非重放交易,在所述第一集合中添加所述第二交易的防重放信息、所属区块的区块号和在所属区块中的标识。
10.根据权利要求2所述的方法,还包括:所述第二进程在所述第二交易的所属区块的区块号和在所属区块中的标识中的任一个与所述第三交易不同的情况下,确定所述第二交易是重放交易。
11.根据权利要求1所述的方法,所述防重放信息包括以下三项信息中的至少一项:
12.一种区块链系统中的交易重放检查方法,所述区块链系统的区块链节点中包括第一设备和第二设备,所述第二设备对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述方法由所述第二设备执行,包括:
13.一种区块链系统中的区块链节点,所述区块链节点中运行有第一进程和第二进程,所述第二进程对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,
14.一种区块链节点中的第二设备,所述第二设备对应的内存中存储有第一集合,所述第一集合包括多个第一交易各自的防重放信息、所属区块的区块号,所述第一交易为通过重放检查的交易,所述第一交易的防重放信息基于所述第一交易获取,所述第二设备包括:
15.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求12所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求12所述的方法。