[发明专利]随机数生成方法、区块链节点、系统及介质有效
申请号: | 201911115674.5 | 申请日: | 2019-11-14 |
公开(公告)号: | CN110825349B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 仵小勇 | 申请(专利权)人: | 深圳市迅雷网络技术有限公司;深圳市网心科技有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06Q20/38 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 陈海云 |
地址: | 518057 广东省深圳市南山区粤海街道高新区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 方法 区块 节点 系统 介质 | ||
1.一种随机数生成方法,其特征在于,应用于区块链节点,所述方法包括:
所述区块链节点确定包括自身在内的N个节点参与共识,并获取每个节点的编码;
基于可验证密钥共享机制,所述区块链节点构建自身的M个公私钥片段对,其中,M、N均为整数,且M=roundup(预设比例*N);
所述区块链节点根据自身的M个私钥片段计算对应于每个节点的编码的N个数值,将计算的数值分别发送至符合对应编码的其他节点,并接收其他节点发送的数值;
当有区块需要共识时,根据所述区块链节点上保存的与自身编码对应的数值合成所述区块链节点的第一签名,并根据所述区块链节点的第一签名构建所述区块链节点对待共识区块的prepare投票;
将prepare投票发送至参与共识的其它区块链节点,以及接收其它区块链节点发送的prepare投票;
所述区块链节点利用每个参与共识的区块链节点的第j段公钥片段构建唯一公钥,其中j为小于或等于M的自然数;
当在所述N个节点中,prepare投票通过验证的节点达到M个时,所述区块链节点利用M个节点的prepare投票构建第二签名;
采用所述唯一公钥验证所述第二签名,且所述第二签名通过验证时,所述区块链节点将所述第二签名确定为随机数。
2.如权利要求1所述的随机数生成方法,其特征在于,所述区块链节点根据自身的M个私钥片段计算对应于每个节点的编码的N个数值,将计算的数值分别发送至符合对应编码的其他节点包括:
所述区块链节点构建具有M项的(M-1)阶多项式,所述多项式的系数依次为所述区块链节点的M个私钥片段,并将每个节点的编码依次作为所述多项式的变量值输入至所述多项式中,得到所述区块链节点的N个数值;
所述区块链节点确定计算每个数值的编码,并根据确定的编码将每个数值发送至与所述确定的编码相对应的节点。
3.如权利要求1所述的随机数生成方法,其特征在于,所述根据所述区块链节点上保存的与自身编码对应的数值合成所述区块链节点的第一签名包括:
获取待共识区块的哈希值;
将其保存的N个数值累加后对所述待共识区块的哈希值进行签名,得到所述区块链节点的第一签名。
4.如权利要求1所述的随机数生成方法,其特征在于,所述区块链节点利用M个节点的prepare投票构建第二签名包括:
区块链节点利用M个节点的prepare投票中包括的第一签名构建M个方程组成的方程组,求解得到第二签名,第二签名为每个参与共识的区块链节点的第j段私钥片段累加后对待共识区块的哈希值的签名。
5.如权利要求1所述的随机数生成方法,其特征在于,所述方法还包括:
所述区块链节点获取所述区块的执行结果,并确定commit阶段的commit标识;
所述区块链节点根据所述执行结果、所述随机数及所述commit标识构建所述区块链节点的commit投票;
当在所述N个节点中,commit投票通过验证的节点大于所述预设比例时,所述区块链节点确定所述区块能够提交。
6.如权利要求1所述的随机数生成方法,其特征在于,所述方法还包括:
当在预设时间内,prepare投票通过验证的节点没有达到M个,及/或commit投票通过验证的节点没有达到M个时,所述区块链节点确定提块失败;
所述区块链节点获取生成的新随机数,并根据所述新随机数进行提块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市迅雷网络技术有限公司;深圳市网心科技有限公司,未经深圳市迅雷网络技术有限公司;深圳市网心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911115674.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于全域哈希的身份基加密方法
- 下一篇:一种电动车生产用支架打磨装置