一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于变色龙哈希的区块链跨链交易方法及装置、存储介质与流程

2022-05-31 23:33:05 来源:中国专利 TAG:


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.图1示出了本技术实施例提供的一种基于变色龙哈希的区块链跨链交易方法的流程示意图;
63.图2示出了本技术实施例提供的另一种基于变色龙哈希的区块链跨链交易方法的流程示意图;
64.图3示出了本技术实施例提供的另一种基于变色龙哈希的区块链跨链交易方法的流程示意图;
65.图4示出了本技术实施例提供的一种基于变色龙哈希的区块链跨链交易装置的结构示意图;
66.图5示出了本技术实施例提供的另一种基于变色龙哈希的区块链跨链交易装置的结构示意图;
67.图6示出了本技术实施例提供的另一种基于变色龙哈希的区块链跨链交易装置的结构示意图。
具体实施方式
68.下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的
情况下,本技术中的实施例及实施例中的特征可以相互组合。
69.在本实施例中提供了一种基于变色龙哈希的区块链跨链交易方法,应用于源区块链系统,如图1所示,该方法包括:
70.步骤101,当源区块链系统的第一跨链网关监听到跨链交易修改信息时,从源区块链中确定所述跨链交易修改信息的原交易信息,以及所述原交易信息对应的原公钥、原随机数以及原哈希值,其中,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息,所述原交易信息为已经写入所述目的区块链的交易信息;
71.本技术实施例提供的基于变色龙哈希的区块链跨链交易方法,可以以变色龙哈希函数为基础。传统加密哈希函数很难找到碰撞,但变色龙哈希函数可以人为设下一个“弱点”或者“门限”,掌握了它就能轻松找到碰撞,从而实现区块链的可编辑性。通过变色龙哈希函数,可以对目的区块链中的内容进行修改,提高了跨链交易的可编辑性。本技术实施例提供的基于变色龙哈希的区块链跨链交易方法,可以包括源区块链系统、目标中继链系统以及目的区块链系统,其中源区块链系统、目标中继链系统以及目的区块链系统中均可以包括多个节点,各个节点之间可以存在信息连接。源区块链为发起跨链交易的区块链,目的区块链为接收跨链交易的区块链,目标中继链为转发跨链交易的区块链。源区块链系统中的节点可以发起跨链交易修改信息,第一跨链网关可以对跨链交易修改信息进行监听,并当监听到跨链交易修改信息后,可以从源区块链中确定该跨链交易修改信息的原交易信息,此外还可以确定与原交易信息相对应的原公钥、原随机数和原哈希值,其中,原公钥、原私钥、原随机数以及原哈希值均可以是通过变色龙哈希函数生成的,具体可以是跨链交易过程中在目的区块链中存储原交易信息时确定的。在这里,跨链交易修改信息中可以包括想要修改的信息在目的区块链中所在的位置对应的修改位置标识,此外还可以包括具体修改内容信息。例如,想要修改的信息为目的区块链中a高度区块内的信息,那么修改位置标识可以是a高度区块,修改内容信息可以是将原信息如何进行修改的信息。
72.步骤102,获取所述原交易信息的原私钥,基于所述跨链交易修改信息、所述原随机数、所述原交易信息以及所述原私钥,通过变色龙哈希函数确定与所述原哈希值对应的更新随机数;
73.在该实施例中,除了从源区块链中确定跨链交易修改信息的原交易信息、原公钥、原随机数以及原哈希值之外,还可以从上次原交易发起节点中获取原交易信息对应的原私钥,原私钥不可广播至源区块链系统的其他节点中。获取原交易信息的原私钥后,可以根据跨链交易修改信息、原随机数、原交易信息和原私钥,进一步确定更新随机数,使得在跨链交易修改信息和更新随机数的基础上得到的变色龙哈希值与原哈希值相同。一个变色龙哈希函数由四个部分组成:cham_hash=(setup,keygen,hash,forge)。setup(λ):输入安全性参数λ,输出公共参数pp;keygen(pp):输入公共参数pp,输出公私钥对(hk,ck),hk为公钥,ck为私钥,又称门限;hash(hk,m,r):输入公钥hk,消息m和随机数r,输出变色龙的哈希值ch;forge(ck,m,r,m’):输入私钥ck,消息m,随机数r,消息m’,输出另一个随机数r’,满足ch=hash(hk,m,r)=hash(hk,m’,r’)。在这里,跨链交易修改信息相当于消息m’,原交易信息相当于消息m,原私钥相当于私钥ck,原公钥相当于公钥hk,原随机数相当于随机数r,更新随机数相当于另一个随机数r’。
74.步骤103,通过所述原私钥对所述跨链交易修改信息进行数字签名,并将签名后的
跨链交易修改信息、所述更新随机数、所述原公钥以及所述原哈希值打包生成目标跨链修改信息,通过所述第一跨链网关将所述目标跨链修改信息发送至目标中继链,以使所述目标中继链通过所述目标跨链修改信息,将所述目标跨链修改信息转发至所述目的区块链,所述目的区块链基于所述修改内容信息对所述修改位置标识对应的所述原交易信息进行修改,并将跨链反馈信息反馈至所述目标中继链;
75.在该实施例中,得到更新随机数后,可以进一步通过原私钥对跨链交易修改信息进行数字签名,以保证目标中继链和目的区块链接收到跨链交易修改信息时可以对来源正确性进行验证。接着,可以将签名后的跨链交易修改信息、更新随机数、原公钥、原哈希值进行打包,生成目标跨链修改信息,这样后续接收跨链交易修改信息的区块链可以根据目标跨链修改信息中的跨链交易修改信息、更新随机数、原公钥以及原哈希值对跨链交易修改信息进行验证。生成目标跨链修改信息后,第一跨链网关可以将目标跨链修改信息发送到目标中继链中,通过目标中继链实现中转的作用,在这里,当目标中继链接收到目标跨链修改信息后,可以将目标跨链修改信息转发给目的区块链,这样目的区块链可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息进行修改,具体可以依据跨链交易修改信息中的修改内容信息进行修改,由于跨链交易修改信息对应的哈希值不存在变化,因而不影响目的区块链中的区块链结构,且不会破坏区块链哈希链路的完整性。目的区块链修改成功后,还可以回调跨链交易修改结果对应的跨链反馈信息,以通知源区块链原交易信息是否成功修改。具体地,目的区块链可以将跨链交易修改信息发送至目标中继链,再由目标中继链转发给源区块链。
76.步骤104,基于所述第一跨链网关接收所述目标中继链发送的所述跨链反馈信息,并将所述跨链反馈信息存储至跨链合约中。
77.在该实施例中,当第一跨链网关接收到目标中继链发送的跨链反馈信息后,可以进一步将跨链反馈信息存储在跨链合约中,这样一次原交易信息修改完成。
78.通过应用本实施例的技术方案,第一跨链网关可以对跨链交易修改信息进行监听,并当监听到跨链交易修改信息后,可以从源区块链中确定该跨链交易修改信息的原交易信息,此外还可以确定与原交易信息相对应的原公钥、原随机数和原哈希值。在这里,跨链交易修改信息中可以包括想要修改的信息在目的区块链中所在的位置对应的修改位置标识,此外还可以包括具体修改内容信息。除了从源区块链中确定跨链交易修改信息的原交易信息、原公钥、原随机数以及原哈希值之外,还可以从上次原交易发起节点中获取原交易信息对应的原私钥。获取原交易信息的原私钥后,可以根据跨链交易修改信息、原随机数、原交易信息和原私钥,进一步通过变色龙哈希函数确定更新随机数,使得在跨链交易修改信息和更新随机数的基础上得到的变色龙哈希值与原哈希值相同。得到更新随机数后,可以进一步通过原私钥对跨链交易修改信息进行数字签名,以保证后续可以对跨链交易修改信息的来源正确性进行验证。接着,可以将签名后的跨链交易修改信息、更新随机数、原公钥、原哈希值进行打包,生成目标跨链修改信息。第一跨链网关可以将目标跨链修改信息发送到目标中继链中,通过目标中继链实现中转的作用,将目标跨链修改信息转发给目的区块链,这样目的区块链可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息进行修改。目的区块链修改成功后,还可以回调跨链交易修改结果对应的跨链反馈信息给目标中继链,以通知目标中继链原交易信息是
否成功修改。当第一跨链网关接收到目标中继链发送的跨链反馈信息后,可以进一步将跨链反馈信息存储在跨链合约中,这样一次原交易信息修改完成。本技术实施例通过变色龙哈希函数生成与跨链交易修改信息对应的更新随机数,进而实现跨链交易的可编辑,能够有效纠正错误信息,改善区块链网络环境。
79.进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种基于变色龙哈希的区块链跨链交易方法,应用于源区块链系统,该方法包括:
80.步骤201,当源区块链系统的第一跨链网关监听到跨链交易修改信息时,从源区块链中确定所述跨链交易修改信息的原交易信息,以及所述原交易信息对应的原公钥、原随机数以及原哈希值,其中,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息,所述原交易信息为已经写入所述目的区块链的交易信息;
81.在该实施例中,第一跨链网关可以对跨链交易修改信息进行监听,并当监听到跨链交易修改信息后,可以从源区块链中确定该跨链交易修改信息的原交易信息,此外还可以确定与原交易信息相对应的原公钥、原随机数和原哈希值,跨链交易修改信息中可以包括想要修改的信息在目的区块链中所在的位置对应的修改位置标识,此外还可以包括具体修改内容信息。
82.步骤202,基于预设密钥分发算法,将所述原交易信息的原私钥划分成第一预设数量的第一子私钥,并将所述第一子私钥以及所述跨链交易修改信息分发至所述源区块链系统中的所述第一预设数量的所述第一跨链网关中;
83.在该实施例中,源区块链系统中可以包括多个第一跨链网关。为了避免私钥的泄露,可以将原交易信息的原私钥划分成多个份额,具体可以划分成第一预设数量的第一子私钥,并将每个第一子私钥以及跨链交易修改信息分发给一个对应的第一跨链网关中,每个第一跨链网关既不能知晓完整的原私钥,也无法通过一个第一子私钥还原原私钥,由此可以保证原私钥的安全。
84.步骤203,当超过第一数量阈值的所述第一跨链网关通过所述跨链交易修改信息时,基于预设密钥恢复算法以及通过所述跨链交易修改信息的所述第一跨链网关对应的所述第一子私钥,还原所述原私钥;
85.在该实施例中,当有超过第一数量阈值的第一跨链网关同意了跨链交易修改信息时,可以根据预设密钥恢复算法,以及这些同意跨链交易修改信息的第一跨链网关分配得到的第一子私钥,经过还原得到原私钥。同样地,源区块链中的各个节点无法知晓原私钥。
86.步骤204,获取所述原交易信息的原私钥,基于所述跨链交易修改信息、所述原随机数、所述原交易信息以及所述原私钥,通过变色龙哈希函数确定与所述原哈希值对应的更新随机数;
87.在该实施例中,除了从源区块链中确定跨链交易修改信息的原交易信息、原公钥、原随机数以及原哈希值之外,还可以从上次原交易发起节点中获取原交易信息对应的原私钥,原私钥不可广播至源区块链系统的其他节点中。获取原交易信息的原私钥后,可以根据跨链交易修改信息、原随机数、原交易信息和原私钥,进一步通过变色龙哈希函数确定更新随机数,使得在跨链交易修改信息和更新随机数的基础上得到的变色龙哈希值与原哈希值相同。
88.步骤205,通过所述原私钥对所述跨链交易修改信息进行数字签名,并将签名后的跨链交易修改信息、所述更新随机数、所述原公钥以及所述原哈希值打包生成目标跨链修改信息,通过所述第一跨链网关将所述目标跨链修改信息发送至目标中继链,以使所述目标中继链通过所述目标跨链修改信息,将所述目标跨链修改信息转发至所述目的区块链,所述目的区块链基于所述修改内容信息对所述修改位置标识对应的所述原交易信息进行修改,并将跨链反馈信息反馈至所述目标中继链;
89.在该实施例中,得到更新随机数后,可以进一步通过原私钥对跨链交易修改信息进行数字签名,以保证目标中继链和目的区块链接收到跨链交易修改信息时可以对来源正确性进行验证。接着,可以将签名后的跨链交易修改信息、更新随机数、原公钥、原哈希值进行打包,生成目标跨链修改信息。第一跨链网关可以将目标跨链修改信息发送到目标中继链中,通过目标中继链实现中转的作用,将目标跨链修改信息转发给目的区块链,这样目的区块链可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息进行修改。目的区块链修改成功后,还可以回调跨链交易修改结果对应的跨链反馈信息给目标中继链,以通知源区块链原交易信息是否成功修改。具体地,目的区块链可以将跨链交易修改信息发送至目标中继链,再由目标中继链转发给源区块链。
90.步骤206,通过所述第一跨链网关接收所述目标中继链系统发送的所述跨链反馈信息,基于哈希验证算法以及所述跨链反馈信息,验证目标哈希值与更改通知信息是否对应,并当对应时,获取所述第一跨链网关的第一私钥和第一公钥,通过所述第一私钥对签名后的更改通知信息进行二次数字签名,并将二次签名后的更改通知信息、所述第一公钥、目标公钥发送至所述源区块链系统的第一验证节点中,其中,所述跨链反馈信息包括所述签名后的更改通知信息、目标随机数、所述目标公钥以及所述目标哈希值;
91.在该实施例中,目标中继链接收跨链反馈信息后,可以进一步将跨链反馈信息发送至源区块链系统中的第一跨链网关。在这里,跨链反馈信息可以包括签名后的更改通知信息、目标随机数和目标公钥、目标哈希值。其中,目标哈希值是目的区块链基于更改通知信息、目标随机数、目标公钥通过哈希生成算法得到的。第一跨链网关接收到跨链反馈信息后,可以基于哈希验证算法,通过跨链反馈信息中的更改通知信息、目标随机数、目标公钥验证更改通知信息的哈希值与目标哈希值是否相同,并且当相同时,进一步获取第一跨链网关的第一私钥和第一公钥,接着,可以通过第一私钥对签名后的更改通知信息再一次进行数字签名,增加更改通知信息来源的可靠性,避免转发过程中被篡改。对签名后的更改通知信息进行二次数字签名得到二次签名后的更改通知信息后,可以将二次签名后的更改通知信息、所述第一公钥、目标公钥发送至所述源区块链系统的第一验证节点中。
92.步骤207,基于所述第一验证节点,通过所述第一公钥、所述目标公钥对所述二次签名后的更改通知信息进行来源验证,并当验证通过且共识通过的所述第一验证节点的数量超过第一预设数量阈值时,将所述跨链反馈信息存储至所述跨链合约中。
93.在该实施例中,源区块链系统中的第一验证节点接收到二次签名后的更改通知信息、第一公钥、目标公钥之后,可以通过第一公钥和目标公钥分别验证更改通知信息中的两个数字签名,当两个数字签名验证成功后,可以通过这些第一验证节点对更改通知信息进行共识,当同意通过更改通知信息的第一验证节点的数量大于第一预设数量阈值时,可以
说明更改通知信息通过共识,因而可以将跨链反馈信息存储在跨链合约中。
94.在本实施例中提供了一种基于变色龙哈希的区块链跨链交易方法,应用于目标中继链系统,如图2所示,该方法包括:
95.步骤301,通过目标中继链系统的第二验证节点接收源区块链系统中第一跨链网关发送的目标跨链修改信息,基于哈希验证算法以及所述目标跨链修改信息,验证原哈希值与跨链交易修改信息是否对应,并当对应时,对所述跨链交易修改信息进行共识,其中,所述目标跨链修改信息包括签名后的跨链交易修改信息、更新随机数、原公钥以及所述原哈希值,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息;
96.在本技术实施例中,源区块链系统打包生成目标跨链修改信息后,可以通过源区块链中的第一跨链网关将目标跨链修改信息发送至目标中继链的第二验证节点中。目标中继链的第二验证节点接收来自源区块链系统中第一跨链网关发送的目标跨链修改信息后,可以以哈希验证算法为基础,输入目标跨链修改信息中的原公钥、跨链交易修改信息、原哈希值以及更新随机数,如果输出值为1,那么可以说明目标跨链修改信息中的原哈希值和跨链交易修改信息是相对应的,接下来可以通过目标中继链中的第二验证节点对跨链交易修改信息进行共识。在这里,目标跨链修改信息可以包括如下信息:签名后的跨链交易修改信息、更新随机数、原公钥以及原哈希值,其中跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息。从修改位置信息中可以看出想要修改的信息位于目的区块链的哪个位置,从修改内容信息可以看出想要如何修改该位置的信息,即将原来的信息修改为什么信息。
97.步骤302,当通过所述跨链交易修改信息的所述第二验证节点的数量超过第二预设数量阈值时,将所述目标跨链修改信息转发至所述目的区块链,以使所述目的区块链基于所述修改内容信息对所述修改位置标识对应的原交易信息进行修改,并生成跨链反馈信息;
98.在该实施例中,当共识通过跨链交易修改信息的第二验证节点的数量超过第二预设数量阈值时,说明目标跨链修改信息在目标中继链中验证通过,接着可以将目标跨链修改信息转发至目的区块链中,这样目的区块链可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息进行修改,具体可以依据跨链交易修改信息中的修改内容信息进行修改,由于跨链交易修改信息对应的哈希值不存在变化,因而不影响目的区块链中的区块链结构,且不会破坏区块链哈希链路的完整性。目的区块链修改成功后,还可以生成跨链交易修改结果对应的跨链反馈信息。
99.步骤303,通过所述第二验证节点接收所述目的区块链发送的所述跨链反馈信息,基于所述哈希验证算法以及所述跨链反馈信息,验证目标哈希值与所述跨链反馈信息中的更改通知信息是否对应,并当对应时,对所述更改通知信息进行共识,其中,所述跨链反馈信息包括签名后的所述更改通知信息、目标随机数、目标公钥以及所述目标哈希值;
100.在该实施例中,当目的区块链生成跨链反馈信息后,可以将跨链反馈信息反馈给目标中继链的第二验证节点,第二验证节点接收跨链反馈信息后,可以以哈希验证算法为基础,输入跨链反馈信息中的目标公钥、更改通知信息、目标哈希值以及目标随机数,如果输出值为1,那么可以说明跨链反馈信息中的目标哈希值和更改通知信息是相对应的,那么接下来可以通过这些第二验证节点对更改通知信息进行共识。
101.步骤304,当通过所述更改通知信息的所述第二验证节点的数量超过所述第二预设数量阈值时,将所述跨链反馈信息转发至所述源区块链,以使所述源区块链将所述跨链反馈信息存储至所述源区块链的跨链合约中。
102.在该实施例中,可以通过第二验证节点对更改通知信息进行共识,当同意通过更改通知信息的第二验证节点的数量大于第二预设数量阈值时,可以说明更改通知信息通过共识,因而可以将跨链反馈信息反馈到源区块链中,这样源区块链可以将跨链反馈信息存储在源区块链系统的跨链合约中,一次跨链交易修改完成。
103.在本实施例中提供了一种基于变色龙哈希的区块链跨链交易方法,应用于目的区块链系统,如图3所示,该方法包括:
104.步骤401,通过目的区块链系统的第二跨链网关接收目标中继链系统发送的目标跨链修改信息,基于哈希验证算法以及所述目标跨链修改信息,验证原哈希值与跨链交易修改信息是否对应,并当对应时,获取所述第二跨链网关的第二私钥和第二公钥,通过所述第二私钥对签名后的所述跨链交易修改信息进行二次数字签名,并将二次签名后的跨链交易修改信息、所述第二公钥、原公钥发送至所述目的区块链系统的第三验证节点中,其中,所述目标跨链修改信息包括签名后的跨链交易修改信息、更新随机数、原公钥以及所述原哈希值,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息;
105.在该实施例中,目标中继链的第二验证节点通过目标跨链修改信息后,可以将目标跨链修改信息转发到目的区块链系统的第二跨链网关中。第二跨链网关接收来自源目标中继链系统转发的目标跨链修改信息后,可以以哈希验证算法为基础,输入目标跨链修改信息中的原公钥、跨链交易修改信息、原哈希值以及更新随机数,如果输出值为1,那么可以说明目标跨链修改信息中的原哈希值和跨链交易修改信息是相对应的,那么接下来可以获取第二跨链网关的第二私钥和第二公钥,接着,可以通过第二私钥对签名后的跨链交易修改信息再一次进行数字签名,增加跨链交易修改信息来源的可靠性,避免转发过程中被篡改。对签名后的跨链交易修改信息进行二次数字签名得到二次签名后的跨链交易修改信息后,可以将二次签名后的跨链交易修改信息、第二公钥、原公钥发送至目的区块链系统的第三验证节点中。在这里,目标跨链修改信息可以包括签名后的跨链交易修改信息、更新随机数和原公钥、原哈希值。跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息。从修改位置信息中可以看出想要修改的信息位于目的区块链的哪个位置,从修改内容信息可以看出想要如何修改该位置的信息,即将原来的信息修改为什么信息。
106.步骤402,基于所述第三验证节点,通过所述第二公钥、所述原公钥对所述二次签名后的跨链交易修改信息进行来源验证,并当验证通过且共识通过的所述第三验证节点的数量超过第三预设数量阈值时,基于所述修改内容信息对所述修改位置标识对应的原交易信息进行修改,并生成更改通知信息;
107.在该实施例中,目的区块链系统中的第三验证节点接收到二次签名后的跨链交易修改信息、第二公钥、原公钥之后,可以通过第二公钥和原公钥分别验证跨链交易修改信息中的两个数字签名,当两个数字签名验证成功后,可以通过这些第三验证节点对跨链交易修改信息进行共识,当同意通过跨链交易修改信息的第三验证节点的数量大于第三预设数量阈值时,可以说明跨链交易修改信息通过共识,进而可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息根据修改内容信
息进行修改。目的区块链修改成功后,还可以生成更改通知信息。
108.步骤403,当所述第二跨链网关监听到所述更改通知信息后,基于哈希生成算法以及目标公钥、所述更改通知信息以及目标随机数,确定目标哈希值,其中,所述目标公钥以及目标私钥是基于密钥生成算法生成的;
109.在该实施例中,当第二跨链网关监听到更改通知信息之后,可以以哈希生成算法为基础,根据目标公钥、更改通知信息和目标随机数,确定更改通知信息对应的目标哈希值。在这里,目标公钥和目标私钥是以密钥生成算法为基础生成的。
110.步骤404,通过所述目标私钥对所述更改通知信息进行数字签名,并将签名后的所述更改通知信息、所述目标随机数、所述目标公钥以及所述目标哈希值打包生成跨链反馈信息,通过所述第二跨链网关将所述跨链反馈信息发送至所述目标中继链,以使所述目标中继链通过所述跨链反馈信息,将所述跨链反馈信息转发至所述源区块链,所述源区块链将所述跨链反馈信息存储至所述源区块链的跨链合约中。
111.在该实施例中,可以通过目标私钥对更改通知信息进行数字签名,增加更改通知信息来源的可靠性。对更改通知信息进行签名后,可以将签名后的更改通知信息、目标随机数、目标公钥和目标哈希值进行打包,打包后生成跨链反馈信息,接着可以通过第二跨链网关将跨链反馈信息进一步发送给目标中继链,目标中继链接收跨链反馈信息后,可以将跨链反馈信息再转发给源区块链,这样源区块链可以在接收到跨链反馈信息后,将跨链反馈信息保存在跨链合约中。
112.在本技术实施例中,可选地,步骤201中所述“获取所述第二跨链网关的第二私钥和第二公钥”之前,所述方法还包括:基于预设密钥生成算法,生成所述第二公钥和所述第二私钥;步骤201中所述“获取所述第二跨链网关的第二私钥和第二公钥”,具体包括:基于预设密钥分发算法,将所述第二私钥划分成第二预设数量的第二子私钥,并将所述第二子私钥以及所述跨链交易修改信息分发至所述目的区块链系统中的所述第二预设数量的所述第二跨链网关中;当超过第二数量阈值的所述第二跨链网关通过所述跨链交易修改信息时,基于预设密钥恢复算法以及通过所述跨链交易修改信息的所述第二跨链网关对应的所述第二子私钥,还原所述第二私钥。
113.在该实施例中,目的区块链系统中可以包括多个第二跨链网关。获取第二跨链网关的第二私钥和第二公钥之前,还可以通过预设密钥生成算法,确定第二公钥和第二私钥。为了避免第二私钥的泄露,可以将第二私钥划分成多个份额,具体地,可以划分成第二预设数量的第二子私钥,并将每个第二子私钥以及跨链交易修改信息分发给一个对应的第二跨链网关中,每个第二跨链网关既不能知晓完整的第二私钥,也无法通过一个第二子私钥还原第二私钥,由此可以保证第二私钥的安全。当有超过第二数量阈值的第二跨链网关同意了跨链交易修改信息时,可以根据预设密钥恢复算法,以及这些同意跨链交易修改信息的第二跨链网关分配得到的第二子私钥,经过还原得到第二私钥。同样地,目的区块链中的各个节点无法知晓第二私钥。
114.进一步的,作为图1方法的具体实现,本技术实施例提供了一种基于变色龙哈希的区块链跨链交易装置,应用于源区块链系统,如图4所示,该装置包括:
115.监听模块,用于当源区块链系统的第一跨链网关监听到跨链交易修改信息时,从源区块链中确定所述跨链交易修改信息的原交易信息,以及所述原交易信息对应的原公
钥、原随机数以及原哈希值,其中,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息,所述原交易信息为已经写入所述目的区块链的交易信息;
116.获取模块,用于获取所述原交易信息的原私钥,基于所述跨链交易修改信息、所述原随机数、所述原交易信息以及所述原私钥,通过变色龙哈希函数确定与所述原哈希值对应的更新随机数;
117.打包模块,用于通过所述原私钥对所述跨链交易修改信息进行数字签名,并将签名后的跨链交易修改信息、所述更新随机数、所述原公钥以及所述原哈希值打包生成目标跨链修改信息,通过所述第一跨链网关将所述目标跨链修改信息发送至目标中继链,以使所述目标中继链通过所述目标跨链修改信息,将所述目标跨链修改信息转发至所述目的区块链,所述目的区块链基于所述修改内容信息对所述修改位置标识对应的所述原交易信息进行修改,并将跨链反馈信息反馈至所述目标中继链;
118.接收模块,用于基于所述第一跨链网关接收所述目标中继链发送的所述跨链反馈信息,并将所述跨链反馈信息存储至跨链合约中。
119.可选地,所述装置还包括:
120.分发模块,用于所述获取所述原交易信息的原私钥之前,基于预设密钥分发算法,将所述原交易信息的原私钥划分成第一预设数量的第一子私钥,并将所述第一子私钥以及所述跨链交易修改信息分发至所述源区块链系统中的所述第一预设数量的所述第一跨链网关中;
121.还原模块,用于当超过第一数量阈值的所述第一跨链网关通过所述跨链交易修改信息时,基于预设密钥恢复算法以及通过所述跨链交易修改信息的所述第一跨链网关对应的所述第一子私钥,还原所述原私钥。
122.可选地,所述接收模块,具体用于:
123.通过所述第一跨链网关接收所述目标中继链系统发送的所述跨链反馈信息,基于哈希验证算法以及所述跨链反馈信息,验证目标哈希值与更改通知信息是否对应,并当对应时,获取所述第一跨链网关的第一私钥和第一公钥,通过所述第一私钥对签名后的更改通知信息进行二次数字签名,并将二次签名后的更改通知信息、所述第一公钥、目标公钥发送至所述源区块链系统的第一验证节点中,其中,所述跨链反馈信息包括所述签名后的更改通知信息、目标随机数、所述目标公钥以及所述目标哈希值;
124.基于所述第一验证节点,通过所述第一公钥、所述目标公钥对所述二次签名后的更改通知信息进行来源验证,并当验证通过且共识通过的所述第一验证节点的数量超过第一预设数量阈值时,将所述跨链反馈信息存储至所述跨链合约中。
125.进一步的,作为图2方法的具体实现,本技术实施例提供了一种基于变色龙哈希的区块链跨链交易装置,应用于目标中继链系统,如图5所示,该装置包括:
126.验证模块,用于通过目标中继链系统的第二验证节点接收源区块链系统中第一跨链网关发送的目标跨链修改信息,基于哈希验证算法以及所述目标跨链修改信息,验证原哈希值与跨链交易修改信息是否对应,并当对应时,对所述跨链交易修改信息进行共识,其中,所述目标跨链修改信息包括签名后的跨链交易修改信息、更新随机数、原公钥以及所述原哈希值,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息;
127.第一转发模块,用于当通过所述跨链交易修改信息的所述第二验证节点的数量超
过第二预设数量阈值时,将所述目标跨链修改信息转发至所述目的区块链,以使所述目的区块链基于所述修改内容信息对所述修改位置标识对应的原交易信息进行修改,并生成跨链反馈信息;
128.共识模块,用于通过所述第二验证节点接收所述目的区块链发送的所述跨链反馈信息,基于所述哈希验证算法以及所述跨链反馈信息,验证目标哈希值与所述跨链反馈信息中的更改通知信息是否对应,并当对应时,对所述更改通知信息进行共识,其中,所述跨链反馈信息包括签名后的所述更改通知信息、目标随机数、目标公钥以及所述目标哈希值;
129.第二转发模块,用于当通过所述更改通知信息的所述第二验证节点的数量超过所述第二预设数量阈值时,将所述跨链反馈信息转发至所述源区块链,以使所述源区块链将所述跨链反馈信息存储至所述源区块链的跨链合约中。
130.进一步的,作为图3方法的具体实现,本技术实施例提供了一种基于变色龙哈希的区块链跨链交易装置,应用于目标中继链系统,如图6所示,该装置包括:
131.签名模块,用于通过目的区块链系统的第二跨链网关接收目标中继链系统发送的目标跨链修改信息,基于哈希验证算法以及所述目标跨链修改信息,验证原哈希值与跨链交易修改信息是否对应,并当对应时,获取所述第二跨链网关的第二私钥和第二公钥,通过所述第二私钥对签名后的所述跨链交易修改信息进行二次数字签名,并将二次签名后的跨链交易修改信息、所述第二公钥、原公钥发送至所述目的区块链系统的第三验证节点中,其中,所述目标跨链修改信息包括签名后的跨链交易修改信息、更新随机数、原公钥以及所述原哈希值,所述跨链交易修改信息包括目的区块链的修改位置标识以及修改内容信息;
132.修改模块,用于基于所述第三验证节点,通过所述第二公钥、所述原公钥对所述二次签名后的跨链交易修改信息进行来源验证,并当验证通过且共识通过的所述第三验证节点的数量超过第三预设数量阈值时,基于所述修改内容信息对所述修改位置标识对应的原交易信息进行修改,并生成更改通知信息;
133.确定模块,用于当所述第二跨链网关监听到所述更改通知信息后,基于哈希生成算法以及目标公钥、所述更改通知信息以及目标随机数,确定目标哈希值,其中,所述目标公钥以及目标私钥是基于密钥生成算法生成的;
134.反馈模块,用于通过所述目标私钥对所述更改通知信息进行数字签名,并将签名后的所述更改通知信息、所述目标随机数、所述目标公钥以及所述目标哈希值打包生成跨链反馈信息,通过所述第二跨链网关将所述跨链反馈信息发送至所述目标中继链,以使所述目标中继链通过所述跨链反馈信息,将所述跨链反馈信息转发至所述源区块链,所述源区块链将所述跨链反馈信息存储至所述源区块链的跨链合约中。
135.可选地,所述装置还包括:
136.生成模块,用于所述获取所述第二跨链网关的第二私钥和第二公钥之前,基于预设密钥生成算法,生成所述第二公钥和所述第二私钥;
137.所述生成模块,具体用于:
138.基于预设密钥分发算法,将所述第二私钥划分成第二预设数量的第二子私钥,并将所述第二子私钥以及所述跨链交易修改信息分发至所述目的区块链系统中的所述第二预设数量的所述第二跨链网关中;
139.当超过第二数量阈值的所述第二跨链网关通过所述跨链交易修改信息时,基于预
设密钥恢复算法以及通过所述跨链交易修改信息的所述第二跨链网关对应的所述第二子私钥,还原所述第二私钥。
140.需要说明的是,本技术实施例提供的一种基于变色龙哈希的区块链跨链交易装置所涉及各功能单元的其他相应描述,可以参考图1至图3方法中的对应描述,在此不再赘述。
141.基于上述如图1至图3所示方法,相应的,本技术实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图3所示的基于变色龙哈希的区块链跨链交易方法。
142.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
143.基于上述如图1至图3所示的方法,以及图4至图6所示的虚拟装置实施例,为了实现上述目的,本技术实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的基于变色龙哈希的区块链跨链交易方法。
144.可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。
145.本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
146.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
147.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。第一跨链网关可以对跨链交易修改信息进行监听,并当监听到跨链交易修改信息后,可以从源区块链中确定该跨链交易修改信息的原交易信息,此外还可以确定与原交易信息相对应的原公钥、原随机数和原哈希值。在这里,跨链交易修改信息中可以包括想要修改的信息在目的区块链中所在的位置对应的修改位置标识,此外还可以包括具体修改内容信息。除了从源区块链中确定跨链交易修改信息的原交易信息、原公钥、原随机数以及原哈希值之外,还可以从上次原交易发起节点中获取原交易信息对应的原私钥。获取原交易信息的原私钥后,可以根据跨链交易修改信息、原随机数、原交易信息和原私钥,进一步通过变色龙哈希函数确定更新随机数,使得在跨链交易修改信息和更新随机数的基础上得到的变色龙哈希值与原哈希值相同。得到更新随机数后,可以进一步通过原私钥对跨链交易修改信息进行数字签名,以保证后续可以对跨链交易修改信息的来源正确性进行验证。接着,可以将签名后的跨链交易修改信息、更新随机数、原公钥、原哈希值进行打包,生成目标跨链修改信息。第一跨链网关可
以将目标跨链修改信息发送到目标中继链中,通过目标中继链实现中转的作用,将目标跨链修改信息转发给目的区块链,这样目的区块链可以根据跨链交易修改信息中的修改位置标识,对目的区块链中的修改位置标识对应的区块中的原交易信息进行修改。目的区块链修改成功后,还可以回调跨链交易修改结果对应的跨链反馈信息给目标中继链,以通知目标中继链原交易信息是否成功修改。当第一跨链网关接收到目标中继链发送的跨链反馈信息后,可以进一步将跨链反馈信息存储在跨链合约中,这样一次原交易信息修改完成。本技术实施例通过变色龙哈希函数生成与跨链交易修改信息对应的更新随机数,进而实现跨链交易的可编辑,能够有效纠正错误信息,改善区块链网络环境。
148.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
149.上述本技术序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献