本技术涉及移动通信,具体涉及一种区块链交易凭证的生成、获取方法、设备及存储介质。
背景技术:
1、区块链利用共识机制、密码等技术实现多方之间的可信交易,但是其信任局限于链内。跨链技术是打破区块链“孤岛”的关键技术,不同区块链进行跨链交易时,需保证交易可信和数据一致性,其中,交易可信主要指交互过程中主体身份可信、隐私数据不泄露、所声称交易正确执行,数据一致性指一笔交易的交互双方需同时执行成功或失败。
2、为保证所声称交易正确执行,需对上链交易进行验证。现有的跨链交易验证机制包括:(1)在区块链中部署其它所需交互的区块链的简单支付验证(simplified paymentverification,spv)验证节点,通过同步对方账本数据进行验证,在多链跨链时,需同时部署多个区块链的spv验证节点;(2)将交易数据交由双方均认可的中继或权威公证人进行验证,验证通过后转发交易数据。上述验证方式实现过程复杂,容易造成资源浪费。
技术实现思路
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、可选的,所述收发机还用于:接收第一区块链设备发送的跨区块链请求消息;
120、所述处理器还用于:根据所述跨区块链请求消息对所述第一区块链设备的交易证明进行验证;在验证通过的情况下,生成跨链交易标识,并基于预设的数据结构,生成所述第一凭证。
121、可选的,所述跨区块链请求消息包括:
122、第一区块链设备已执行的跨链交易证明数据;
123、第一区块链设备拟访问的第二区块链设备的地址;
124、第一区块链设备拟向第二区块链设备发送的交易数据散列值;
125、交易处理周期。
126、可选的,所述第一凭证的数据结构包括:
127、跨链交易标识;
128、第一区块链设备已执行的跨链交易的索引;
129、第一区块链设备地址列表;
130、第二区块链设备地址列表;
131、第一区块链设备的交易证明散列值;
132、第一区块链设备拟向第二区块链设备发送的交易数据的散列值;
133、交易处理周期;
134、签名。
135、可选的,所述处理器具体用于:
136、根据跨链交易标识验证所述交易证明对应的第二区块链设备是否属于第二区块链地址列表,并验证所述交易证明的真实性;
137、在所述第二区块链设备属于所述第二区块链地址列表,且所述交易证明的真实性验证通过的情况下,生成所述第二凭证。
138、可选的,所述处理器具体用于:若存在多个第二区块链设备,则在所有第二区块链设备均属于所述第二区块链地址列表,且所有第二区块链设备的交易证明的真实性均验证通过的情况下,生成所述第二凭证。
139、可选的,所述第二凭证的数据结构包括:
140、跨链交易标识;
141、第一区块链设备已执行的跨链交易的索引;
142、第二区块链设备已执行的跨链交易的索引;
143、第一区块链设备地址列表;
144、第二区块链设备地址列表;
145、第一区块链设备的交易证明散列值;
146、第二区块链设备的交易证明散列值;
147、第一凭证散列值;
148、签名。
149、可选的,所述处理器还用于执行以下至少一项:
150、根据所述第二凭证追溯参与目标交易的区块链所执行的交易;
151、根据所述第二凭证验证目标交易的真实性和完整性。
152、可选的,所述处理器具体用于:
153、根据所述目标交易的跨链交易标识,匹配所述目标交易对应的第二凭证;
154、验证所述第二凭证的签名是否有效;
155、在所述签名有效的情况下,确定所述第二凭证关联的第一凭证的散列值与所述第二凭证内包含的第一凭证散列值是否一致;
156、若一致,则确定参与所述目标交易的区块链的地址是否包含在所述第二凭证的地址列表内;
157、若参与所述目标交易的区块链的地址包含在所述第二凭证的地址列表内,则确定所述目标交易对应的交易证明散列值与所述第二凭证包含的交易证明散列值是否匹配;
158、若所述目标交易对应的交易证明散列值与所述第二凭证包含的交易证明散列值匹配,则确定所述目标交易的真实性和完整性验证通过。
159、第五方面,本技术实施例提供了一种区块链设备,所述区块链设备是第一区块链设备,包括收发机和处理器,其中,
160、所述收发机用于:接收跨链凭证系统发送的第一凭证;
161、向第二区块链设备发送交易请求消息,所述交易请求消息包括交易数据且所述交易请求消息携带所述第一凭证,所述第一凭证是第一区块链设备与第二区块链设备之间执行跨区块链交易的可信依据;
162、接收所述跨链凭证系统发送的第二凭证,所述第二凭证是根据所述第二区块链设备执行跨区块链交易的交易证明生成的,所述第二凭证用于指示交易结束。
163、可选的,所述收发机还用于:向跨链凭证系统发送跨区块链请求消息。
164、可选的,所述跨区块链请求消息包括:
165、第一区块链设备已执行的跨链交易证明数据;
166、第一区块链设备拟访问的第二区块链设备的地址;
167、第一区块链设备拟向第二区块链设备发送的交易数据散列值;
168、交易处理周期。
169、可选的,所述第一凭证的数据结构包括:
170、跨链交易标识;
171、第一区块链设备已执行的跨链交易的索引;
172、第一区块链设备地址列表;
173、第二区块链设备地址列表;
174、第一区块链设备的交易证明散列值;
175、第一区块链设备拟向第二区块链设备发送的交易数据的散列值;
176、交易处理周期;
177、签名。
178、可选的,所述处理器具体用于:
179、所述处理器用于:对所述第二凭证进行验证;
180、在验证通过的情况下,建立所述第二凭证与所述第一凭证的关联关系,并存储所述第一凭证和所述第二凭证。
181、可选的,所述第二凭证的数据结构包括:
182、跨链交易标识;
183、第一区块链设备已执行的跨链交易的索引;
184、第二区块链设备已执行的跨链交易的索引;
185、第一区块链设备地址列表;
186、第二区块链设备地址列表;
187、第一区块链设备的交易证明散列值;
188、第二区块链设备的交易证明散列值;
189、第一凭证散列值;
190、签名。
191、第六方面,本技术实施例提供了一种区块链设备,所述区块链设备是第二区块链设备,包括收发机和处理器,其中,
192、所述收发机用于:接收第一区块链设备发送的交易请求消息,所述交易请求消息包括交易数据且所述交易请求消息携带第一凭证,所述第一凭证是第一区块链设备与第二区块链设备之间执行跨区块链交易的可信依据;
193、所述处理器用于:对所述第一凭证进行验证;在所述第一凭证验证通过的情况下,根据所述交易数据执行跨区块链交易,所述收发机还用于:向跨链凭证系统发送交易证明;
194、所述收发机还用于:接收所述跨链凭证系统发送的第二凭证,所述第二凭证是根据所述交易证明生成的,所述第二凭证用于指示交易结束。
195、可选的,所述处理器具体用于:
196、验证所述第一凭证的签名是否有效,并验证所述交易请求消息中的交易数据与所述第一凭证中的第二区块链设备对应的交易数据的散列值是否匹配。
197、可选的,所述第一凭证的数据结构包括:
198、跨链交易标识;
199、第一区块链设备已执行的跨链交易的索引;
200、第一区块链设备地址列表;
201、第二区块链设备地址列表;
202、第一区块链设备的交易证明散列值;
203、第一区块链设备拟向第二区块链设备发送的交易数据的散列值;
204、交易处理周期;
205、签名。
206、可选的,所述处理器具体用于:
207、对所述第二凭证进行验证;
208、在验证通过的情况下,建立所述第二凭证与所述第一凭证的关联关系,并存储所述第一凭证和所述第二凭证。
209、可选的,所述第二凭证的数据结构包括:
210、跨链交易标识;
211、第一区块链设备已执行的跨链交易的索引;
212、第二区块链设备已执行的跨链交易的索引;
213、第一区块链设备地址列表;
214、第二区块链设备地址列表;
215、第一区块链设备的交易证明散列值;
216、第二区块链设备的交易证明散列值;
217、第一凭证散列值;
218、签名。
219、第七方面,本技术实施例还提供了一种跨链凭证系统,包括:
220、第一生成模块,用于生成第一凭证;
221、第一发送模块,用于向第一区块链设备发送所述第一凭证,所述第一凭证是第一区块链设备与第二区块链设备之间执行跨区块链交易的可信依据;
222、第一接收模块,用于接收所述第二区块链设备发送的交易证明,所述交易证明是所述第二区块链设备执行跨区块链交易的交易证明;
223、第二生成模块,用于根据所述交易证明生成第二凭证;
224、第二发送模块,用于向所述第一区块链设备和所述第二区块链设备分别发送所述第二凭证,所述第二凭证用于指示交易结束。
225、第八方面,本技术实施例还提供了一种区块链设备,所述区块链设备是第一区块链设备,包括:
226、第二接收模块,用于接收跨链凭证系统发送的第一凭证;
227、第三发送模块,用于向第二区块链设备发送交易请求消息,所述交易请求消息包括交易数据且所述交易请求消息携带所述第一凭证,所述第一凭证是第一区块链设备与第二区块链设备之间执行跨区块链交易的可信依据;
228、第三接收模块,用于接收所述跨链凭证系统发送的第二凭证,所述第二凭证是根据所述第二区块链设备执行跨区块链交易的交易证明生成的,所述第二凭证用于指示交易结束。
229、第九方面,本技术实施例还提供了一种区块链设备,所述区块链设备是第二区块链设备,包括:
230、第四接收模块,用于接收第一区块链设备发送的交易请求消息,所述交易请求消息包括交易数据且所述交易请求消息携带第一凭证,所述第一凭证是第一区块链设备与第二区块链设备之间执行跨区块链交易的可信依据;
231、第一验证模块,用于对所述第一凭证进行验证;
232、第一处理模块,用于在所述第一凭证验证通过的情况下,根据所述交易数据执行跨区块链交易,并向跨链凭证系统发送交易证明;
233、第五接收模块,用于接收所述跨链凭证系统发送的第二凭证,所述第二凭证是根据所述交易证明生成的,所述第二凭证用于指示交易结束。
234、第十方面,本技术实施例提供了一种跨链凭证系统,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的方法的步骤。
235、第十一方面,本技术实施例提供了一种区块链设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第二方面或第三方面所述的方法的步骤。
236、第十二方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时,实现如上所述的方法的步骤。
237、本技术的实施例,跨链凭证系统生成作为初始凭证的第一凭证,并将第一凭证发送给第一区块链设备;使第一区块链设备与第二区块链设备基于该第一凭证执行跨链交易。跨链凭证系统根据第二区块链设备的交易证明生成第二凭证,并将该第二凭证发送给第一区块链设备和第二区块链设备,用于指示交易结束。本技术提出为跨链交易生成相应的跨链凭证,支持全局可验证,跨链过程中通过验证凭证实现可信交易,从而降低跨链交易验证实现的复杂度,减少跨链交易整体的验证开销,增强跨链多方数据一致性保证,避免事务阻塞等问题,避免资源浪费且能够提高跨链交易安全性。
1.一种区块链交易凭证的生成方法,应用于跨链凭证系统,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述生成第一凭证,包括:
3.根据权利要求2所述的方法,其特征在于,所述跨区块链请求消息包括:
4.根据权利要求2所述的方法,其特征在于,所述第一凭证的数据结构包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述交易证明生成第二凭证,包括:
6.根据权利要求5所述的方法,其特征在于,在所述第二区块链设备属于所述第二区块链的地址列表,且所述交易证明的真实性验证通过的情况下,生成所述第二凭证,包括:
7.根据权利要求1或5所述的方法,其特征在于,所述第二凭证的数据结构包括:
8.根据权利要求1所述的方法,其特征在于,所述方法还包括以下至少一项:
9.根据权利要求8所述的方法,其特征在于,所述根据所述第二凭证验证目标交易的真实性和完整性,包括:
10.一种区块链交易凭证的获取方法,应用于第一区块链设备,其特征在于,包括:
11.根据权利要求10所述的方法,其特征在于,在接收跨链凭证系统发送的第一凭证之前,所述方法还包括:
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
13.一种区块链交易凭证的获取方法,应用于第二区块链设备,其特征在于,包括:
14.根据权利要求13所述的方法,其特征在于,所述对所述第一凭证进行验证,包括:
15.根据权利要求13所述的方法,其特征在于,所述方法还包括:
16.一种跨链凭证系统,其特征在于,包括收发机和处理器,其中,
17.一种区块链设备,其特征在于,包括收发机和处理器,其中,
18.一种区块链设备,其特征在于,包括收发机和处理器,其中,
19.一种跨链凭证系统,其特征在于,包括:
20.一种区块链设备,其特征在于,包括:
21.一种区块链设备,其特征在于,包括:
22.一种跨链凭证系统,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至9任一项所述的方法的步骤。
23.一种区块链设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求10至12任一项所述的方法的步骤,或者实现如权利要求13至15任一项所述的方法的步骤。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法的步骤,或者实现如权利要求10至12任一项所述的方法的步骤,或者实现如权利要求13至15任一项所述的方法的步骤。