本技术涉及计算机,尤其涉及一种基于区块链的交易验证方法、装置、电子设备和可读介质。
背景技术:
1、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链中的每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
2、在相关技术中,在进行区块链交易时,资产转出方通常利用资产接收方公开的公钥来对交易的资产进行加密。资产接收方在需要接收资产时,则采用私钥进行解密,以便使用得到的资产。
3、资产接收方的私钥信息通常由资产接收方进行离线保存。然而,一旦私钥出现遗失或者数据损坏等情况导致私钥不可用,则资产接收方就无法利用所得到的资产,从而造成用户收到损失,影响区块链系统的可用性。
技术实现思路
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、识别信息发送单元,用于根据所述服务地址信息,向所述服务地址信息对应的服务节点发送所述识别信息,以获取所述识别信息对应的目标公钥。
60、在本技术的一些实施例中,在以上方案的基础上,交易地址校验模块包括:
61、散列计算单元,用于对所述识别信息进行散列计算,得到散列值;
62、地址验证通过单元,用于若所述散列值与所述交易地址信息一致,则生成地址验证结果以用于指示地址验证通过;
63、地址验证失败单元,用于若所述散列值与所述交易地址信息不一致,则生成地址验证结果以用于指示地址验证失败。
64、在本技术的一些实施例中,在以上方案的基础上,合法性校验模块包括:
65、签名校验单元,用于根据所述目标公钥,对所述验证信息进行校验,得到签名校验结果;
66、合法性验证通过单元,用于若所述签名校验结果与所述识别信息对应的历史交易信息一致,则确定合法性验证通过;
67、法性验证失败单元,用于若所述交易签名结果与所述识别信息对应的历史交易信息不一致,则确定合法性验证失败。
68、根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的基于区块链的交易验证方法。
69、根据本技术实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的基于区块链的交易验证方法。
70、根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的基于区块链的交易验证方法。
71、在本技术的实施例中,根据识别信息来对待更新公钥进行更新,在利用更新后的公钥发起交易请求来完成交易验证。本方案采用识别信息来代替公钥散列值以标识交易节点,在面对公钥对应的私钥出现不可用的情况时,可以将公钥替换为新公钥,利用新公钥对应的私钥来进行交易验证以进行交易,因此,能够避免用户资产受到损失,提升区块链系统的可用性。
72、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。