本发明涉及区块链,具体地,涉及一种基于同构区块链的跨链交易方法、装置及系统。
背景技术:
1、跨链指不同区块链系统实例之间交换信息,并对所交换信息加以使用的能力,即链间互操作的能力。在联盟链应用场景中,为解决多区块链网络之间的数据互通,通常采用跨链网关/路由以及中继链等技术,将若干个区块链网络桥接到一起,通过桥接节点对来源链进行数据监听,以及对目标链进行消息转换与转发,进而实现多条链之间的跨链交易。
2、业界主流跨链技术可用于同异构区块链跨链,但其设计目标主要还是用于解决异构区块链跨链需求。所述同构区块链即具备相同网络协议、账本结构、合约引擎以及api接口的区块链底层产品。由于跨链交易流程需要来源链与目标链先后执行交易,跨链交易性能相对较低。因此要实现高效同构跨链,一些区块链底层采用多通道技术,实现多业务链数据隔离,并通过共用节点实现多通道数据互访。该方案一方面由于需要在创建网络时就考虑多场景跨链需求,扩展性欠佳,另一方面由于权限的限制,只能实现跨链查询,跨链调用依然需要借助外部机制来实现。
技术实现思路
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、本发明实施例的基于同构区块链的跨链交易方法、装置及系统对跨链交易进行签名后向对应区块链的节点进行广播,调用跨链合约执行跨链交易得到跨链交易结果后发送至对应区块链的对应节点,以使对应节点验证签名后的跨链交易并根据验证结果将跨链交易结果上链,最后接收来自对应节点的上链结果,根据上链结果返回跨链交易结果,可以提升跨链交易性能。
1.一种基于同构区块链的跨链交易方法,其特征在于,包括:
2.根据权利要求1所述的基于同构区块链的跨链交易方法,其特征在于,还包括:
3.根据权利要求2所述的基于同构区块链的跨链交易方法,其特征在于,根据部署的跨链合约获取对应区块链的节点路由信息包括:
4.根据权利要求3所述的基于同构区块链的跨链交易方法,其特征在于,还包括:
5.根据权利要求1所述的基于同构区块链的跨链交易方法,其特征在于,还包括:
6.一种基于同构区块链的跨链交易装置,其特征在于,包括:
7.一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的基于同构区块链的跨链交易方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的基于同构区块链的跨链交易方法的步骤。
9.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至5任一项所述的基于同构区块链的跨链交易方法的步骤。
10.一种基于同构区块链的跨链交易系统,其特征在于,包括: