本技术涉及区块链,尤其涉及一种区块链网络的交易处理方法、装置、产品、设备和介质。
背景技术:
1、在区块链网络中,业务节点可以接收客户端发起的交易,并可以在对该交易中的交易信息进行简单的检查(如信息格式或者范围的检查),检查完成之后,即可将客户端发起的交易发送至共识网络中进行共识,以此看来,对于客户端发起的交易的相关业务处理均是在共识网络中执行的,当若干客户端同时发起很多的交易时,共识网络进行交易处理的负载会很大,进而可能导致交易堵塞。
技术实现思路
1、本技术提供了一种区块链网络的交易处理方法、装置、产品、设备和介质,,可提升区块链网络处理交易的性能。
2、本技术一方面提供了一种区块链网络的交易处理方法,区块链网络包含业务网络和共识网络,业务网络包含目标业务节点,目标业务节点中部署有本地合约,本地合约用于对交易中目标类型的交易信息进行处理,目标类型的交易信息是共识网络无需见证的交易信息,目标业务节点具有节点私钥,目标业务节点和客户端各自持有经协商获得的节点私钥的私钥分片;该方法应用于目标业务节点,该方法包括:
3、接收客户端发送的第一交易,并从第一交易中提取出目标类型的交易信息;
4、调用本地合约对提取的目标类型的交易信息进行信息处理,得到提取的目标类型的交易信息的处理结果,并基于处理结果和第一交易中除目标类型的交易信息之外的交易信息,生成过渡交易;
5、将过渡交易发送给客户端,并协同客户端基于各自持有的私钥分片对过渡交易进行签名处理,得到过渡交易的第一交易签名;
6、基于第一交易签名和过渡交易生成第二交易,并将第二交易发送至共识网络,使共识网络对第二交易进行共识处理。
7、本技术一方面提供了一种区块链网络的交易处理装置,区块链网络包含业务网络和共识网络,业务网络包含目标业务节点,目标业务节点中部署有本地合约,本地合约用于对交易中目标类型的交易信息进行处理,目标类型的交易信息是共识网络无需见证的交易信息,目标业务节点具有节点私钥,目标业务节点和客户端各自持有经协商获得的节点私钥的私钥分片;该装置应用于目标业务节点,该装置包括:
8、接收模块,用于接收客户端发送的第一交易,并从第一交易中提取出目标类型的交易信息;
9、调用模块,用于调用本地合约对提取的目标类型的交易信息进行信息处理,得到提取的目标类型的交易信息的处理结果,并基于处理结果和第一交易中除目标类型的交易信息之外的交易信息,生成过渡交易;
10、签名模块,用于将过渡交易发送给客户端,并协同客户端基于各自持有的私钥分片对过渡交易进行签名处理,得到过渡交易的第一交易签名;
11、共识模块,用于基于第一交易签名和过渡交易生成第二交易,并将第二交易发送至共识网络,使共识网络对第二交易进行共识处理。
12、可选的,第一交易中包含调用的合约地址,第一交易调用的合约地址是本地合约的合约地址,共识网络中部署有业务合约,业务合约用于共识网络对交易进行业务处理;第一交易中包含第二交易签名,第二交易签名是由客户端基于持有的私钥分片,对第一交易中除第二交易签名之外的交易信息进行签名处理后得到的;
13、调用模块基于处理结果和第一交易中除目标类型的交易信息之外的交易信息,生成过渡交易的方式,包括:
14、将第一交易中目标类型的交易信息替换为处理结果,并对第一交易中的第二交易签名进行去除处理,得到初始过渡交易;
15、将初始过渡交易中调用的合约地址,从本地合约的合约地址修改为业务合约的合约地址,生成过渡交易。
16、可选的,本地合约的合约地址与业务合约的合约地址之间建立有绑定关系;
17、调用模块将初始过渡交易中调用的合约地址,从本地合约的合约地址修改为业务合约的合约地址,生成过渡交易的方式,包括:
18、获取与本地合约的合约地址具有绑定关系的合约地址;
19、将初始过渡交易中调用的合约地址,从本地合约的合约地址修改为与本地合约的合约地址具有绑定关系的合约地址,生成过渡交易。
20、可选的,签名模块协同客户端基于各自持有的私钥分片对过渡交易进行签名处理,得到过渡交易的第一交易签名的方式,包括:
21、获取客户端发送的加密私钥分片;加密私钥分片是由客户端对过渡交易检验成功后发送的,加密私钥分片是由客户端对持有的私钥分片进行同态加密处理后得到的;
22、基于加密私钥分片和目标业务节点持有的私钥分片,对过渡交易进行签名处理,得到过渡交易的第一交易签名。
23、可选的,第一交易中包含第二交易签名,第二交易签名是由客户端基于持有的私钥分片,对第一交易中除第二交易签名之外的交易信息进行签名处理后得到的;
24、接收模块从第一交易中提取出目标类型的交易信息的方式,包括:
25、采用客户端持有的私钥分片对应的公钥分片,对第一交易中的第二交易签名进行验证处理,得到第二交易签名的验证结果;
26、若第二交易签名的验证结果用于指示对第二交易签名验证成功,则从第一交易中提取出目标类型的交易信息。
27、可选的,签名模块将过渡交易发送给客户端的方式,包括:
28、采用目标业务节点持有的私钥分片对过渡交易进行签名处理,得到过渡交易的第三交易签名;
29、将第三交易签名和过渡交易发送给客户端;
30、其中,客户端用于基于目标业务节点持有的私钥分片对应的公钥分片,对接收到的第三交易签名进行验证处理,以及,在对第三交易签名验证成功后,用于协同目标业务节点对过渡交易进行签名处理。
31、可选的,过渡交易中包含签名字段,过渡交易中签名字段处的字段信息为空;
32、共识模块基于第一交易签名和过渡交易生成第二交易的方式,包括:
33、将第一交易签名封装到过渡交易中的签名字段处,生成第二交易。
34、可选的,第一交易中目标类型的交易信息是客户端的身份信息;
35、调用模块调用本地合约对提取的目标类型的交易信息进行信息处理,得到提取的目标类型的交易信息的处理结果的方式,包括:
36、调用本地合约基于提取的身份信息对客户端进行身份鉴权处理,得到客户端的身份鉴权结果;
37、其中,身份鉴权结果是身份信息的处理结果。
38、可选的,共识网络在接收到第二交易后,用于从第二交易中提取出身份鉴权结果;
39、其中,共识网络用于在基于身份鉴权结果确定发起第二交易的客户端的身份合法后,对第二交易进行共识处理。
40、可选的,共识网络中包含多个共识节点;共识模块将第二交易发送至共识网络的方式,包括:
41、将第二交易发送至多个共识节点中的目标共识节点,使目标共识节点将第二交易广播至多个共识节点中的其他共识节点;
42、其中,目标共识节点是多个共识节点中的任一个,多个共识节点均用于对接收到的第二交易进行共识处理。
43、可选的,第一交易签名与采用节点私钥对过渡交易的哈希值进行加密处理后得到的交易签名一致;
44、任一共识节点对第二交易进行共识处理的流程,包括:
45、采用节点私钥对应的节点公钥,对第二交易中的第一交易签名进行解密处理,得到解密的哈希值;
46、对第二交易中除第一交易签名之外的交易信息进行哈希计算,得到计算的哈希值;
47、若计算的哈希值与解密的哈希值一致,则确定任一共识节点对第二交易共识成功。
48、可选的,上述装置还用于:
49、生成合约部署交易;合约部署交易中包含本地合约,合约部署交易用于请求在目标业务节点中部署本地合约;
50、将合约部署交易发送至共识网络,使共识网络对合约部署交易进行共识处理;
51、接收共识网络发送的合约部署交易的执行结果;该执行结果是由共识网络在对合约部署交易共识成功后,执行合约部署交易的结果;
52、其中,合约部署交易的执行结果中包含合约部署交易的状态信息,状态信息包含本地合约,状态信息用于指示本地合约部署成功。
53、可选的,上述装置还用于:
54、接收共识网络发送的第二交易的执行结果;该执行结果是由共识网络对第二交易共识成功后执行第二交易的结果;
55、对第二交易的执行结果、第一交易及第二交易进行关联存储。
56、本技术一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本技术中一方面中的方法。
57、本技术一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时使该处理器执行上述一方面中的方法。
58、根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
59、本技术中,区块链网络可以包含业务网络和共识网络,业务网络包含目标业务节点,目标业务节点中部署有本地合约,本地合约用于对交易中目标类型的交易信息进行处理,目标类型的交易信息是共识网络无需见证的交易信息,目标业务节点具有节点私钥,目标业务节点和客户端各自持有经协商获得的节点私钥的私钥分片。因而,目标业务节点可以接收客户端发送的第一交易,并可以从第一交易中提取出目标类型的交易信息;调用本地合约对提取的目标类型的交易信息进行信息处理,得到提取的目标类型的交易信息的处理结果,并基于处理结果和第一交易中除目标类型的交易信息之外的交易信息,生成过渡交易;将过渡交易发送给客户端,并协同客户端基于各自持有的私钥分片对过渡交易进行签名处理,得到过渡交易的第一交易签名;基于第一交易签名和过渡交易生成第二交易,并将第二交易发送至共识网络,使共识网络对第二交易进行共识处理。由此可见,本技术提出的方法,对于客户端发起的第一交易中共识网络无需见证的交易信息(即目标类型的交易信息),可以由目标业务节点来进行处理,进而目标业务节点直接将该目标类型的交易信息的处理结果给到共识网络即可;且由于通过该处理结果更改了客户端原本发起的第一交易,得到了新的交易(即过渡交易),因此,本技术中目标业务节点与客户端之间还可以相互协商有目标业务节点的节点私钥的私钥分片,目标业务节点还可以协同客户端基于各自持有的私钥分片一起对该新的交易进行签名处理,即可得到该新的交易的签名(即第一交易签名),进而,通过该新的交易以及该新的交易的签名即可生成第二交易,并将该第二交易给到共识网络进行共识处理,以此可以缓解共识网络处理交易的负载压力,让目标业务节点和共识网络可以协同对交易进行业务处理,并且,通过目标业务节点和客户端各自持有的私钥分片也解决了目标业务节点和客户端需要对新的交易进行联合签名的问题(因为第一交易是被目标业务节点更改了,新的交易需要双方确认),因此,提升了区块链网络处理交易的性能。
1.一种区块链网络的交易处理方法,其特征在于,所述区块链网络包含业务网络和共识网络,所述业务网络包含目标业务节点,所述目标业务节点中部署有本地合约,所述本地合约用于对交易中目标类型的交易信息进行处理,所述目标类型的交易信息是所述共识网络无需见证的交易信息,所述目标业务节点具有节点私钥,所述目标业务节点和客户端各自持有经协商获得的所述节点私钥的私钥分片;所述方法应用于所述目标业务节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一交易中包含调用的合约地址,所述第一交易调用的合约地址是所述本地合约的合约地址,所述共识网络中部署有业务合约,所述业务合约用于所述共识网络对交易进行业务处理;所述第一交易中包含第二交易签名,所述第二交易签名是由所述客户端基于持有的私钥分片,对所述第一交易中除所述第二交易签名之外的交易信息进行签名处理后得到的;
3.根据权利要求2所述的方法,其特征在于,所述本地合约的合约地址与所述业务合约的合约地址之间建立有绑定关系;
4.根据权利要求1所述的方法,其特征在于,所述协同所述客户端基于各自持有的私钥分片对所述过渡交易进行签名处理,得到所述过渡交易的第一交易签名,包括:
5.根据权利要求1所述的方法,其特征在于,所述第一交易中包含所述第二交易签名,所述第二交易签名是由所述客户端基于持有的私钥分片,对所述第一交易中除所述第二交易签名之外的交易信息进行签名处理后得到的;
6.根据权利要求1所述的方法,其特征在于,所述将所述过渡交易发送给所述客户端,包括:
7.根据权利要求1所述的方法,其特征在于,所述过渡交易中包含签名字段,所述过渡交易中所述签名字段处的字段信息为空;
8.根据权利要求1所述的方法,其特征在于,所述第一交易中所述目标类型的交易信息是所述客户端的身份信息;
9.根据权利要求8所述的方法,其特征在于,所述共识网络在接收到所述第二交易后,用于从所述第二交易中提取出所述身份鉴权结果;
10.根据权利要求1所述的方法,其特征在于,所述共识网络中包含多个共识节点;所述将所述第二交易发送至所述共识网络,包括:
11.根据权利要求10所述的方法,其特征在于,所述第一交易签名与采用所述节点私钥对所述过渡交易的哈希值进行加密处理后得到的交易签名一致;
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
14.一种区块链网络的交易处理装置,其特征在于,所述区块链网络包含业务网络和共识网络,所述业务网络包含目标业务节点,所述目标业务节点中部署有本地合约,所述本地合约用于对交易中目标类型的交易信息进行处理,所述目标类型的交易信息是所述共识网络无需见证的交易信息,所述目标业务节点具有节点私钥,所述目标业务节点和客户端各自持有经协商获得的所述节点私钥的私钥分片;所述装置应用于所述目标业务节点,所述装置包括:
15.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-13任一项所述方法的步骤。
16.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-13中任一项所述方法的步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-13任一项所述的方法。
