【技术实现步骤摘要】
一种应用于区块链的可验证随机数生成方法
本专利技术涉及区块链
,具体涉及一种应用于区块链的可验证随机数生成方法。
技术介绍
区块链是一种多个节点共同参与,且没有一个统一的控制中心的算法。在区块链上想要实现随机数算法比普通的随机算法增加两个新的要求。其一在于并不能让某个节点指定随机数,因为很可能这个节点出于利益的考虑而操纵随机数;其二在于能够让所有的节点达成共识,承认计算的有效性。现在常见的区块链随机数方案,大致思路如下:首先选择弱随机数作为输入,再通过一些设定的聚合算法,对这些随机数进行计算,得到所需的随机数。弱随机数的选择分为两类,第一类是由出块节点产生,例如块头hash,块时间戳等等,由于聚合算法是已知的,所以在弱随机数选择区间内的最后一个出块节点,可以通过调整块头hash等方法,在一定程度上操纵随机数;第二类是由非出块节点的普通参与者通过合约等方式提供,首先,这样的方案往往都是“承诺-打开”二段式流程,流程复杂;其次,普通参与者仍然可以选择“不打开”在一定程度上操纵随机数;最后,普通参与者的交易都由出块节 ...
【技术保护点】
1.一种应用于区块链的可验证随机数生成方法,其特征在于,该方法在区块链运行过程中被同步执行,该方法在每个时间区间内均产生一个随机数,在每个时间区间内,随机数生成方法的步骤如下:/nS1:多个参与节点基于之前的随机数和BLS签名算法均产生确定性的不可预测的数字;/nS2:每个参与节点验证其他节点产生的不可预测的数字是否符合所述的BLS签名算法的验证条件;/nS3:将S2所有通过验证的不可预测的数字按照预设的随机规则一筛选出若干数字,组成一个子集;所述的预设的随机规则一计算时,需按照所述的不可预测的数字出现的先后顺序进行依次计算,且每一次计算必须使用上一步计算的结果作为其中的一 ...
【技术特征摘要】
1.一种应用于区块链的可验证随机数生成方法,其特征在于,该方法在区块链运行过程中被同步执行,该方法在每个时间区间内均产生一个随机数,在每个时间区间内,随机数生成方法的步骤如下:
S1:多个参与节点基于之前的随机数和BLS签名算法均产生确定性的不可预测的数字;
S2:每个参与节点验证其他节点产生的不可预测的数字是否符合所述的BLS签名算法的验证条件;
S3:将S2所有通过验证的不可预测的数字按照预设的随机规则一筛选出若干数字,组成一个子集;所述的预设的随机规则一计算时,需按照所述的不可预测的数字出现的先后顺序进行依...
【专利技术属性】
技术研发人员:徐凡,马聪,
申请(专利权)人:杭州泛链科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。