本发明涉及跨链交易,尤其涉及一种基于多重签名和零知识证明的跨链交易方法及设备。
背景技术:
1、随着科学技术的发展,区块链作为新兴的分布式账本目前已应用在许多场景,以单链为核心的区块链生态也正在向着多链并存的生态发展。
2、当前,借助跨链技术,不同系统和平台之间的信息交流也将变得更加容易和便捷。跨链的目的在于实现区块链之间价值、数据和功能的互通,其中最为常用的操作就是跨链交易。但是,相关技术中的跨链交易安全性较低。
技术实现思路
1、本发明提供一种基于多重签名和零知识证明的跨链交易方法及设备,用以解决相关技术中跨链交易安全性较低的缺陷,提升跨链交易的安全性。
2、第一方面,本发明提供一种基于多重签名和零知识证明的跨链交易方法,所述方法包括:
3、根据第一区块链中用户节点发送的跨链交易请求,在第二区块链上确定交易节点;
4、根据所述交易节点在所述第二区块链上的地址信息,生成交易确认零知识证明;
5、通过所述第一区块链中的签名节点组对所述交易确认零知识证明进行多重签名,以得到相应的第一签名数据,并将所述第一签名数据和所述交易确认零知识证明发送至所述交易节点;
6、根据所述交易节点返回的交易确认信息完成跨链交易;其中,所述交易确认信息为所述交易节点验证通过所述第一签名数据和所述交易确认零知识证明后生成。
7、可选的,所述根据第一区块链中用户节点发送的跨链交易请求,在第二区块链上确定交易节点,包括:
8、获取所述用户节点通过所述第一区块链的智能合约发送的所述跨链交易请求,以及所述智能合约发送的与所述跨链交易请求对应的交易请求零知识证明;
9、验证通过所述交易请求零知识证明,则在所述第二区块链上查找与所述跨链交易请求相匹配的所述交易节点。
10、可选的,所述跨链交易请求中包括所述用户节点的私钥、账户信息、转换汇率和目标交易份额对应的零知识证明;所述目标交易份额对应的零知识证明为所述用户节点基于所述私钥和所述账户信息从账户余额中分割出多个待交易份额,并根据所述待交易份额生成;
11、所述交易请求零知识证明为所述智能合约当接收到所述用户节点发送的所述跨链交易请求,验证通过所述跨链交易请求中的所述私钥,以及基于所述账户信息验证通过所述目标交易份额和所述转换汇率时,根据所述跨链交易请求生成。
12、可选的,所述签名节点组包括n个节点,所述n个节点为从m个节点中随机挑选得到,所述m个节点包括所述第一区块链中在目标时段内生成区块的多个节点;其中,n大于1且小于m,所述目标时段为从当前时刻至目标时刻;所述目标时刻在所述当前时刻之前,与所述当前时刻的间隔时长为预设时长。
13、可选的,所述根据所述交易节点返回的交易确认信息完成跨链交易,包括:
14、接收所述交易节点返回的所述交易确认信息,所述交易确认信息为所述交易节点在验证通过所述第一签名数据和所述交易确认零知识证明后执行预交易生成;
15、基于所述交易确认信息在所述第一区块链上执行预交易以生成相应的预交易结果,并根据所述预交易结果完成跨链交易。
16、可选的,所述根据所述预交易结果完成跨链交易,包括:
17、将所述预交易结果发送至所述第一区块链的智能合约,以使所述智能合约在确定所述预交易结果满足所述用户节点的账户情况时,生成相应的交易结果零知识证明;
18、接收所述智能合约返回的所述交易结果零知识证明;
19、对所述交易结果零知识证明进行多重签名以得到相应的第二签名数据;
20、将所述第二签名数据和所述交易结果零知识证明发送至所述智能合约和所述交易节点,使所述智能合约根据所述预交易结果更新所述用户节点的资产状况,并使所述交易节点更新资产状况,以完成跨链交易。
21、第二方面,本发明提供一种基于多重签名和零知识证明的跨链交易装置,包括:
22、确定单元,用于根据第一区块链中用户节点发送的跨链交易请求,在第二区块链上确定交易节点;
23、生成单元,用于根据所述交易节点在所述第二区块链上的地址信息,生成交易确认零知识证明;
24、签名单元,用于通过所述第一区块链中的签名节点组对所述交易确认零知识证明进行多重签名,以得到相应的第一签名数据;
25、发送单元,用于将所述第一签名数据和所述交易确认零知识证明发送至所述交易节点;
26、交易单元,用于根据所述交易节点返回的交易确认信息完成跨链交易;其中,所述交易确认信息为所述交易节点验证通过所述第一签名数据和所述交易确认零知识证明后生成。
27、可选的,确定单元,还用于:
28、获取所述用户节点通过所述第一区块链的智能合约发送的所述跨链交易请求,以及所述智能合约发送的与所述跨链交易请求对应的交易请求零知识证明;
29、验证通过所述交易请求零知识证明,则在所述第二区块链上查找与所述跨链交易请求相匹配的所述交易节点。
30、可选的,所述跨链交易请求中包括所述用户节点的私钥、账户信息、转换汇率和目标交易份额对应的零知识证明;所述目标交易份额对应的零知识证明为所述用户节点基于所述私钥和所述账户信息从账户余额中分割出多个待交易份额,并根据所述待交易份额生成;
31、所述交易请求零知识证明为所述智能合约当接收到所述用户节点发送的所述跨链交易请求,验证通过所述跨链交易请求中的所述私钥,以及基于所述账户信息验证通过所述目标交易份额和所述转换汇率时,根据所述跨链交易请求生成。
32、可选的,所述签名节点组包括n个节点,所述n个节点为从m个节点中随机挑选得到,所述m个节点包括所述第一区块链中在目标时段内生成区块的多个节点;其中,n大于1且小于m,所述目标时段为从当前时刻至目标时刻;所述目标时刻在所述当前时刻之前,与所述当前时刻的间隔时长为预设时长。
33、可选的,所述交易节点还用于:
34、接收所述交易节点返回的所述交易确认信息,所述交易确认信息为所述交易节点在验证通过所述第一签名数据和所述交易确认零知识证明后执行预交易生成;
35、基于所述交易确认信息在所述第一区块链上执行预交易以生成相应的预交易结果,并根据所述预交易结果完成跨链交易。
36、可选的,所述交易节点还用于:
37、将所述预交易结果发送至所述第一区块链的智能合约,以使所述智能合约在确定所述预交易结果满足所述用户节点的账户情况时,生成相应的交易结果零知识证明;
38、接收所述智能合约返回的所述交易结果零知识证明;
39、对所述交易结果零知识证明进行多重签名以得到相应的第二签名数据;
40、将所述第二签名数据和所述交易结果零知识证明发送至所述智能合约和所述交易节点,使所述智能合约根据所述预交易结果更新所述用户节点的资产状况,并使所述交易节点更新资产状况,以完成跨链交易。
41、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于多重签名和零知识证明的跨链交易方法。
42、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于多重签名和零知识证明的跨链交易方法。
43、本发明提供的基于多重签名和零知识证明的跨链交易方法及设备,可以根据第一区块链中用户节点发送的跨链交易请求,在第二区块链上确定交易节点;根据交易节点在第二区块链上的地址信息,生成交易确认零知识证明;通过第一区块链中的签名节点组对交易确认零知识证明进行多重签名,以得到相应的第一签名数据,并将第一签名数据和交易确认零知识证明发送至交易节点;根据交易节点返回的交易确认信息完成跨链交易;其中,交易确认信息为交易节点验证通过第一签名数据和交易确认零知识证明后生成。本发明可以基于多重签名和零知识证明,在用户节点和交易节点间完成跨链交易,提升跨链交易的安全性。
1.一种基于多重签名和零知识证明的跨链交易方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一区块链中用户节点发送的跨链交易请求,在第二区块链上确定交易节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述跨链交易请求中包括所述用户节点的私钥、账户信息、转换汇率和目标交易份额对应的零知识证明;所述目标交易份额对应的零知识证明为所述用户节点基于所述私钥和所述账户信息从账户余额中分割出多个待交易份额,并根据所述待交易份额生成;
4.根据权利要求1所述的方法,其特征在于,所述签名节点组包括n个节点,所述n个节点为从m个节点中随机挑选得到,所述m个节点包括所述第一区块链中在目标时段内生成区块的多个节点;其中,n大于1且小于m,所述目标时段为从当前时刻至目标时刻;所述目标时刻在所述当前时刻之前,与所述当前时刻的间隔时长为预设时长。
5.根据权利要求1所述的方法,其特征在于,所述根据所述交易节点返回的交易确认信息完成跨链交易,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述预交易结果完成跨链交易,包括:
7.一种基于多重签名和零知识证明的跨链交易装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述交易节点还用于:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至6中任一项所述的基于多重签名和零知识证明的跨链交易方法。
