System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及密钥生成,尤其涉及一种分布式密钥生成方法、分布式签名方法及相关装置。
技术介绍
1、区块链技术是一种去中心化、安全可靠的记账技术。区块链之所以能将数据的所属权交予用户,很大程度上依赖密码学尤其是非对称加密。非对称加密中的公钥对应的是账户的地址,而资产持有者掌握私钥。持有者通过私钥生成数字签名去使用对应的数字资产,当区块链结合资产上对应的公钥信息和交易信息验证该签名合法时,交易才能被打包为区块记录在链上。总的来说,私钥是操纵区块链上对应数据的唯一凭证;但是,一旦用户的私钥丢失或被盗取,将会完全失去对数据的控制权。因此,尽管区块链系统本身可以避免单点故障,但私钥的安全性仍然存在单点问题。
2、为此,针对私钥的分布式私钥管理方案也应运而生,现有技术中的分布式私钥管理方案,是基于门限签名方案,这种方案将一个密钥分割成多个部分,并分发给不同的参与者,只有当足够数量的参与者合作时才能生成有效的签名。因此,门限签名方案的特点是保证了签名过程的安全性和可靠性,同时又避免了单点故障。但同时,门限签名方案是同步的、交互式的签名方案,若各个密钥碎片由不同实体管理时,需要进行多方签名时,批量的异步签名请求将使单个节点承受较大的计算负载。
3、因此,在多个参与方共同签名的场景下,如何降低异步批量签名请求导致单个节点承受的计算负载过大成了亟需解决的技术问题。
技术实现思路
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、存储装置本文档来自技高网...
【技术保护点】
1.一种分布式密钥生成方法,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述轮询队列还记录各个所述第二密钥生成操作标识的请求时间,所述方法还包括:
4.一种分布式签名方法,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点和状态管理机;所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述激活消息中的第二签名操作标识获取对应的待签名信息,包括:
6.一种分布式密钥生成装置,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点;所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
8.一种分布式签名装置,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点和一个状态管理机;所述装置包括:
9.一种电子设备,其特征
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至3中任意一项所述的分布式密钥生成方法,和/或,实现如权利要求4至5中任意一项所述的分布式签名方法。
...【技术特征摘要】
1.一种分布式密钥生成方法,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述轮询队列还记录各个所述第二密钥生成操作标识的请求时间,所述方法还包括:
4.一种分布式签名方法,其特征在于,应用于区块链网络中的任意一个签名节点;所述区块链网络包括多个签名节点和状态管理机;所述方法包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述激活消息中的第二签名操作标识获取对应的待签名信息,包括:
6.一...
【专利技术属性】
技术研发人员:翁奕菁,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。