本发明涉及区块链,特别涉及一种跨链交互方法、装置、联盟链和跨链服务节点。
背景技术:
1、区块链:分布式账本技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的应用集合。具有去中心化信任,不可篡改可追溯,账本公开透明等优势。
2、跨链:通过技术手段,能让不同链上的数据跨过链与链之间的障碍,进行直接的流通。
3、当前区块链行业的跨链相关技术方案,主要集中在公链领域,主要模式为公证人模式、侧链/中继、哈希锁定、分布式私钥控制这四种,且都依赖本身发行的令牌(token)工作,不适于联盟链。
4、而国内主要发展的联盟链领域,由于成员可信、部分可信的原因,跨链业务多由联盟链参与方进行对应业务的定制开发来解决,模式多为链下中间的问题,缺乏统一的跨链标准,存在依赖中间人信任、开发效率低、业务关联度高、无法快速复用等问题。
技术实现思路
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、可选地,所述调用模块,包括:
73、第一处理单元,用于通过所述第一订单管理合约对所述第一跨链调用信息进行解析,并与所述第一订单管理合约上注册的第二跨链调用信息进行匹配,得到匹配成功的第一智能合约;
74、校验单元,用于根据所述第一跨链调用信息中的第一签名对所述第一智能合约进行校验;
75、调用单元,用于在校验通过的情况下,根据所述第一跨链调用信息中的调用业务数据相关的业务参数调用所述第一智能合约的业务数据。
76、可选地,所述第一智能合约的业务数据包括第二签名。
77、可选地,所述调用模块,还包括:
78、注册单元,用于在所述第一订单管理合约上注册所述第一智能合约的第二跨链调用信息;
79、其中,所述第二跨链调用信息包括以下至少一项:
80、调用方联盟链的链名;
81、调用方联盟链上智能合约的合约名;
82、实现跨链合约接口;
83、调用所需的业务参数;
84、调用方公钥。
85、第五方面,本发明实施例还提供一种跨链交互装置,应用于第二联盟链,所述装置包括:
86、第二发送模块,用于通过第二订单管理合约向跨链服务节点发送第一跨链调用信息;所述跨链服务节点用于将所述第一跨链调用信息发送至第一联盟链上的第一订单管理合约;
87、第二接收模块,用于通过所述第二订单管理合约接收所述跨链服务节点发送的第一智能合约的业务数据;所述第一智能合约的业务数据由所述第一联盟链通过第一订单管理合约向所述跨链服务节点发送;
88、其中,所述第一订单管理合约是部署在所述第一联盟链上的订单管理合约,所述第二订单管理合约是部署在所述第二联盟链上的订单管理合约。
89、可选地,所述装置还包括:
90、业务数据发送模块,用于通过所述第二订单管理合约将所述第一智能合约的业务数据发送至所述第二联盟链上的第二智能合约;
91、其中,所述第一跨链调用信息是所述第二智能合约向所述第二订单管理合约发送的。
92、可选地,所述第一跨链调用信息包括以下至少一项:
93、被调用方联盟链的链名;
94、被调用方联盟链上智能合约的合约名;
95、实现跨链合约接口;
96、调用业务数据相关的业务参数;
97、超时区块;
98、调用方联盟链的链名;
99、调用方联盟链上智能合约的合约名;
100、调用方结果接收跨链合约接口;
101、第一签名。
102、可选地,所述装置还包括:
103、确定模块,用于在所述第一跨链调用信息包括超时区块的情况下,若所述第二联盟链的区块高度超过所述超时区块,确定目标订单作废;
104、其中,所述目标订单为所述第二智能合约调用所述第一智能合约的业务数据的订单。
105、第六方面,本发明实施例还提供一种跨链交互装置,应用于跨链服务节点,所述装置包括:
106、第三接收模块,用于接收第二联盟链通过第二订单管理合约发送的第一跨链调用信息;
107、第三发送模块,用于通过第一订单管理合约向第一联盟链发送所述第一跨链调用信息;
108、第四接收模块,用于接收所述第一联盟链通过所述第一订单管理合约发送的第一智能合约的业务数据;
109、第四发送模块,用于通过所述第二订单管理合约向所述第二联盟链发送所述第一智能合约的业务数据;
110、其中,所述第一订单管理合约是部署在所述第一联盟链上的订单管理合约,所述第二订单管理合约是部署在所述第二联盟链上的订单管理合约。
111、第七方面,本发明实施例还提供一种联盟链,所述联盟链为第一联盟链,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面中任一项所述的跨链交互方法的步骤。
112、第八方面,本发明实施例还提供一种联盟链,所述联盟链为第二联盟链,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第二方面中任一项所述的跨链交互方法的步骤。
113、第九方面,本发明实施例还提供一种跨链服务节点,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第三方面所述的跨链交互方法的步骤。
114、第十方面,本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如第一方面中任一项所述的跨链交互方法中的步骤,或者,实现如第二方面中任一项所述的跨链交互方法中的步骤,或者,实现第三方面所述的跨链交互方法中的步骤。
115、本发明实施例提供一种机顶盒测试方法,包括:
116、本发明实施例还提供一种机顶盒测试设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上中任一项所述的机顶盒测试方法的步骤。
117、本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上中任一项所述的机顶盒测试方法中的步骤。
118、本发明的有益效果是:
119、本发明方案提供的跨链交互方法,由第二联盟链通过部署在第二联盟链上的第二订单管理合约向跨链服务节点发送第一跨链调用信息,通过部署在第一联盟链上的第一订单管理合约接收跨链服务节点发送的第一跨链调用信息,根据第一跨链调用信息,调用第一联盟链上第一智能合约的业务数据,并通过第一订单管理合约,将第一智能合约的业务数据发送至跨链服务节点,通过跨链服务节点将业务数据通过第二订单管理合约发送至所述第二联盟链,从而实现第一联盟链与第二联盟链之间的跨链交互,该跨链交互方法,无需中间人信任,易于使用。