一种区块链跨链交易的方法和系统与流程

文档序号:25347266发布日期:2021-06-08 12:22阅读:147来源:国知局
一种区块链跨链交易的方法和系统与流程

1.本发明涉及区块链跨链交易技术领域,具体涉及一种区块链跨链交易的方法和系统。


背景技术:

2.区块链技术具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”和“集体维护”等特征。基于这些特征,区块链技术实现了数据不可篡改、记录可追溯以及时间戳的存在性证明,进而在不同主体(银行、企业信用平台、法律监管平台等)间的可信信息共享、身份认证、信用及各类报告验真,具有广阔的应用前景。
3.随着区块链技术的发展与应用落地,产生了很多类型的区块链项目。由于各类区块链采用不同的底层技术,导致链与链之间不能互通,必须借助于中心化的第三方进行信息传递,通过启用区块链之间的互操作性来解决信息孤岛问题,从而使它们之间能够相互通信并共享信息,实现价值交换,既保证信息流的精确性,更要保证双向价值流通的可靠性。
4.为此,中国发明专利cn 112150284 a公开了一种区块链异构链跨链交易方法,第一区块链的用户节点s1将数字资产d1转移到跨链交易合约,生成跨链交易信息并上链;锚定节点群监听跨链交易信息,生成交易中间信息并多重签名;跨链路由监听交易中间信息,转换为第二区块链结构的跨链交易信息后公开;第二区块链的用户节点选择数字资产进行接收,将数字资产d2转移到用户节点s1,生成跨链交易接收信息;锚定节点群生成交易确认信息;跨链路由监听交易确认信息,将数字资产d1发送给用户节点s2。该方案通过开放锚定节点群和跨链路由避免了跨链交易出现中心化节点,提高跨链交易的安全性和可靠性。但是,存在以下缺陷:
5.(1)采用锚定节点群(中继区块链)及智能合约实现跨链交易,系统设计复杂。
6.(2)使用锚定节点群(中继区块链)上的智能合约作为跨链工具,效率较低。
7.(3)交易以收到确认结束,无法确保数据成功上链,安全性有待进一步提高。
8.有鉴于此,急需对现有的区块链跨链交易技术进行改进,在确保良好的公平性和安全性的基础上,简化系统设计,提高效率,并提高安全性。


技术实现要素:

9.针对上述缺陷,本发明所要解决的技术问题在于提供一种区块链跨链交易的方法和系统,以解决现有技术,系统设计复杂、效率较低的问题。
10.为此,本发明提供了一种区块链跨链交易的方法,用于第一区块链和第二区块链两条区块链之间的跨链交易,包括以下步骤:
11.第一区块链上的第一用户节点,将交易数据和第一区块链上超过半数的记账节点生成的所述交易数据的第一多重签名发送给第二区块链;
12.第二区块链上的第二用户节点,验证所述交易数据和所述第一多重签名一致后,
向所述第一区块链发送收据和第二区块链上超过半数的记账节点生成的所述收据的第二多重签名;
13.第一用户节点验证所述收据和所述第二多重签名的正确性后,将所述收据和第二多重签名上传至第一区块链,并在上传成功后将第一成功消息发送给第二区块链;第二用户节点验证所述交易数据和所述第一多重签名一致后,将所述交易数据和第一多重签名上传至第二区块链,并在上传成功后,将第二成功消息发送给第一区块链。
14.在上述方法中,优选地,第一、第二区块链中,接收交易数据的诚实的区块链通过对所述交易数据和所述第一多重签名验证结果不一致,获知发送交易数据是不诚实的,从而退出交易。
15.在上述方法中,优选地,第一、第二区块链中,诚实的区块链在规定时间内如果无法收到对方数据和相应签名,获知对方区块链操作出现异常,将状态由replaced回滚至pending。
16.在上述方法中,优选地,所述第一区块链上超过半数的记账节点对交易数据进行签名获得所述第一多重签名;所述第二区块链上超过半数的记账节点对所述收据进行签名获得所述第二多重签名。
17.在上述方法中,优选地,第一区块链在规定的时间内未收到第二成功消息,则将状态由replaced回滚至pending。
18.在上述方法中,优选地,第二区块链在规定的时间内未收到第一成功消息,则将状态由replaced回滚至pending。
19.本发明还提供了一种区块链跨链交易的系统,用于进行点对点交易的第一区块链和第二区块链,
20.第一区块链上的第一用户节点,将交易数据和第一区块链上超过半数的记账节点生成的所述交易数据的第一多重签名发送给第二区块链;
21.第二区块链上的第二用户节点,验证所述交易数据和所述第一多重签名一致后,向所述第一区块链发送收据和第二区块链上超过半数的记账节点生成的所述收据的第二多重签名;
22.第一用户节点验证所述收据和所述第二多重签名的正确性后,将所述收据和第二多重签名上传至第一区块链,并在上传成功后将第一成功消息发送给第二区块链;第二用户节点验证所述交易数据和所述第一多重签名一致后,将所述交易数据和第一多重签名上传至第二区块链,并在上传成功后,将第二成功消息发送给第一区块链。
23.由上述技术方案可知,本发明提供的区块链跨链交易的方法和系统,解决了现有技术系统设计复杂,效率低的问题。与现有技术相比,本发明具有以下有益效果:
24.只有在第一、第二多重签名验证成功后交易数据和收据才能上链保存,提高了交易的安全性,同时由第一区块链、第二区块链的多个节点联合生成的第一、第二多重签名,证明双方当时的操作意愿和对于交易数据的认可,避免了智能合约的多次调用,简化了系统设计,提高了效率。
附图说明
25.为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对本发明实
施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本发明提供的区块链跨链交易的方法流程图;
27.图2为本发明提供的区块链跨链交易的系统示意图。
具体实施方式
28.下面将结合本发明实施例附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明的实现原理是:
30.第一区块链将交易数据和所述交易数据的第一多重签名发送给第二区块链;第二区块链验证通过后,向所述第一区块链发送收据和第二多重签名;两个区块链分别验证通过后,将所述交易数据、收据和第一、第二多重签名上传至各自的区块链,并在上传成功后向对方发送成功消息。
31.本发明提供的方案,只有在第一、第二多重签名验证成功后交易数据和收据才能上链保存,提高了交易的安全性,同时由第一区块链、第二区块链的多个节点联合生成的第一、第二多重签名,证明双方当时的操作意愿和对于交易数据的认可,避免了智能合约的多次调用,简化了系统设计,提高了效率。
32.为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。
33.需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。
34.请参见图1,图1为本发明提供的一种区块链跨链交易的方法流程图。
35.如图1所示,本发明提供的一种区块链跨链交易的方法,包括交易信息交互和状态确认两个阶段。交易信息交互阶段实现第一区块链和第二区块链之间的交易数据及收据的交换,状态确认阶段实现交易数据和收据上链成功的确认。
36.区块链跨链交易的方法包括以下步骤:
37.步骤110、针对第一区块链上的第一用户节点,将要发送给第二区块链的交易数据,第一区块链上超过半数的记账节点,利用第二区块链的公钥生成对应于该交易数据的第一多重签名。
38.步骤120、第一用户节点将交易数据和对应于该交易数据的第一多重签名发送给第二区块链。
39.步骤130、第二区块链上的第二用户节点收到交易数据和第一多重签名后,利用第二区块链的私钥对交易数据和第一多重签名进行验证,如果验证结果一致,则表明交易数据和第一多重签名通过验证,执行步骤140;否则退出本次交易。
40.步骤140、第二用户节点生成针对该交易数据的收据,针对该收据,第二区块链上超过半数的记账节点,利用第一区块链的公钥生成对应于该收据的第二多重签名。
41.步骤150、第二用户节点将交易数据和第一多重签名上传到第二区块链。
42.步骤160、第二用户节点将收据和第二多重签名发送给第一区块链。
43.步骤170、第一区块链上的第一用户节点收到收据和第二多重签名后,利用第一区块链的私钥对收据的签名与第二多重签名进行验证,如果验证结果一致,则表明收据和第二多重签名通过验证,执行步骤180;否则表明,不将收据和第二多重签名上传至第一区块链保存,并退出交易。
44.步骤180、将收据和第二多重签名上传至第一区块链保存。
45.步骤190、判断收据和第二多重签名上传至第一区块链是否成功,如果不成功,则第一区块链将状态由replaced回滚至pending;否则,生成第一区块链上链成功的第一成功消息。
46.步骤200、判断交易数据和第一多重签名上传至第二区块链是否成功,如果不成功,则第二区块链将状态由replaced回滚至pending;否则,生成第二区块链上链成功的第二成功消息。
47.步骤210、第二用户节点将将交易数据和第一多重签名上传成功的第二成功消息发送给第一用户节点,第一用户节点将收据和第二多重签名上传成功的第一成功消息发送给第二用户节点。
48.步骤220、第一用户节点和第二用户节点判断在规定的时间内是否收到对方上传成功消息,如果收到则将状态修改为replaced,否则将状态由 replaced回滚至pending。
49.具体地,第一用户节点判断在规定的时间内是否收到第二成功消息,如果收到,则将状态修改为replaced,否则将状态由replaced回滚至pending;第二用户节点判断在规定的时间内是否收到第一成功消息,如果收到,则将状态修改为replaced,否则将状态由replaced回滚至pending。即,只有当跨链交互双方都收到对方的“成功”信息后,跨链事务方可结束。
50.在上述方法中,第一、第二区块链对第一、第二多重签名验证通过后,才能够将接收的交易数据和收据上传至各自的区块链,否则,退出交易,以此保证了交易数据的安全。
51.在以上方法的基础上,本发明还提供了一种区块链跨链交易的系统,如图2所示,该系统包括用于进行点对点交易的第一区块链10和第二区块链20。
52.第一区块链10,作为交易数据的提供方,负责将交易数据和对该交易数据的第一多重签名发送至第二区块链20,并等待第二区块链20的收据。
53.第二区块链20,作为交易数据的接收方,负责接受第一区块链10的交易数据,并验证其可靠性与有效性,验证通过后,向第一区块链10发送收据和该收据的第二多重签名。
54.具体地,如图2所示,第一区块链10包括第一用户节点11和多个第一记账节点12。第二区块链20包括第二用户节点21和多个第二记账节点 22。
55.第一用户节点11和第二用户节点21分别是一个客户端,用于进行数据和信息的收发。第一记账节点12和第二记账节点22用于生成多重签名。
56.具体地,第一用户节点11设有第一收发模块111、第一验证模块112、第一上传模块113以及第一监控模块114。
57.第二用户节点21设有第二收发模块211、第二验证模块212、第二上传模块213以及第二监控模块214。
58.针对第一区块链10上的一个交易数据,超过半数的第一记账节点12 利用第二区块链的公钥生成的该交易数据的第一多重签名,并通过第一收发模块111发送给第二区块链20。
59.第二区块链20上的第二收发模块211收到交易数据和第一多重签名后,通过第二验证模块212利用第二区块链的私钥验证交易数据的签名与第一多重签名是否一致,验证通过后,通过第二上传模块213将该交易数据和第一多重签名上传至第二区块链20;同时,第二验证模块212生成该交易数据的收据,超过半数的第二记账节点22利用第一区块链的公钥生成的该收据的第二多重签名,并通过第二收发模块211将收据和第二多重签名发送给第一区块链10。
60.第一收发模块111收到收据和第二多重签名后,通过第一验证模块112 利用第一区块链的私钥验证收据的签名与第二多重签名是否一致,验证通过后,第一上传模块113将该收据和第二多重签名上传至第一区块链10。
61.第一监控模块114实时监测第一收发模块111的接收信息、第一验证模块112的验证结果以及第一区块链的上传成功消息,并据此改变交易数据在第一区块链上的交易状态。
62.当第一监控模块114在规定的时间内,未收到第二区块链的收据和相应的第二多重签名,则获知对方区块链操作出现异常,将交易数据在第一区块链上的交易状态由replaced回滚至pending。
63.当第一监控模块114收到第一验证模块验证不通过(失败)的消息后,不再将收据和第二多重签名上传至第一区块链10,并退出交易,将交易数据在第一区块链上的交易状态由replaced回滚至pending。
64.当第一监控模块114在规定的时间内,未收到第二区块链将交易数据和第一多重签名成功上传至第二区块链的第二成功消息时,则将交易数据在第一区块链上的交易状态由replaced回滚至pending。
65.第二监控模块214实时监测第二收发模块211的接收信息、第二验证模块212的验证结果以及第二区块链的上传成功消息,并据此改变交易数据在第二区块链上的交易状态。
66.当第二监控模块214收到第二验证模块验证不通过(失败)的消息后,不再将交易数据和第一多重签名上传至第二区块链20,并退出交易,将交易数据在第二区块链上的交易状态由replaced回滚至pending。
67.当第二监控模块214在规定的时间内,未收到第一区块链将收据和第二多重签名成功上传至第一区块链的第一成功消息时,则将交易数据在第二区块链上的交易状态由replaced回滚至pending。
68.综合以上具体实施例的描述,本发明提供的区块链跨链交易的方法和系统,与现有技术相比,具有如下优点:
69.首先,利用多重签名证明双方当时的操作意愿和对于交易数据的认可,而不是像现有技术一样,利用智能合约进行双方操作的确认,与现有技术使用中继区块链上的智能合约作为跨链工具相比,具有本质不同。本发明方案,安全、可靠,省去了对于智能合约以及中继区块链的麻烦,简化了系统设计。
70.举例来説,假设第一区块链是不诚实的,第二区块链是诚实的,如果第一区块链不发送交易数据和第一多重签名,则交易不存在;若第一区块链发送的是错误的签名和交易数据,第二区块链收到交易数据和签名后,通过对交易数据和签名的验证,能够获知交易数据存在问题,此时第二区块链会退出交易,双方都没有损失。假设第二区块链是不诚实的,第一区块链是诚实的,如果第二区块链不发送收据和第二多重签名,则交互中止,交易数据无法上链。因此,本发明方案采用了多重签名技术,交易双方都需要拥有多重签名,并验证通过后,才能够将接收的交易数据上传至区块链,否则,协议终止,大大提升了安全性。
71.第二、本发明方案包括数据交换和状态确认两个阶段,当跨链交互双方都收到对方的“成功”信息后,跨链事务方可结束,进一步保证跨链的数据完整性和操作公平性。
72.现有技术均是以收到信息为结束,可能存在以下错误情况:
73.1)交易数据上第二区块链链不成功;
74.2)交易数据上第二区块链成功,但第一区块链不知晓,没有第二区块链没有更新状态(即“交易数据已经在第二区块链上”),需要再次确认,跨链事务方可结束,效率低。
75.本发明方案,尤其适用于面向电网全业务模型的点对点区块链(2条区块链之间)的跨链交易,在供电业务中,可以实现政企数据共享、银企信息共享,在电网物资管理业务中,可以实现供应商、承包商、采购方、投标方多方数据隐私保护与可信共享。
76.最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个

"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
77.本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1