门限签名密钥生成的方法、设备以及计算机可读存储介质与流程
- 国知局
- 2024-09-14 14:48:15
本技术涉及区块链,尤其涉及一种门限签名密钥生成的方法、设备以及计算机可读存储介质。
背景技术:
1、由于门限密码学优越的资产协同防盗特性,门限密码学在区块链技术中的运用逐渐广泛。门限签名(threshold signature scheme,tss)是数字签名的一个重要分支,它是一种基于安全多方计算(secure multi-party computation,mpc)的密码学技术,也是mpc密钥管理的重要研究方向。门限签名可以让预言机之间互相交流,并在链下达成共识,确定链下数据源的真实性。链下预言机通过门限签名技术聚合数据,只需最终向区块链传输一次数据即可。然而,现有技术中,用于链式hotstuff共识的实现方案中生成门限签名密钥的过程繁琐,且需要人工介入,这导致生成门限签名密钥的工作量大,且由于人工介入,操作繁琐且不利于私钥的保密,门限签名密钥生成的安全性差。
技术实现思路
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、在本技术实施例中,通过将门限签名密钥的生成与分发内嵌入共识流程中,实现了区块链自主生成和分发门限签名密钥,不仅提高了门限签名密钥的生成效率,还免去了人工介入分发门限签名密钥的步骤,保证了生成门限签名密钥的使用安全,操作复杂程度低,适用性强。
本文地址:https://www.jishuxx.com/zhuanli/20240914/295983.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表