【技术实现步骤摘要】
一种区块链中随机数的生成方法及装置
[0001]本专利技术涉及计算机
,尤其涉及一种区块链中随机数的生成方法及装置。
技术介绍
[0002]随机数在区块链中有很多的应用场景,例如私钥的生成和竞猜类应用等。随着区块链的不断发展,区块链中随机数的应用还将继续增加。因此,如何生成区块链中可信的随机数,对于区块链中资产的安全性和应用的公平性来说十分重要。
[0003]现有技术中常用的随机数生成方式为:区块生产者基于区块链中一个或多个区块的哈希值作为自己的随机数种子,以计算随机数。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:区块生产者可以通过增加或放弃部分交易的方式来调整随机数,也就是说,区块生产者在随机数生成过程中存在作弊的可能,这导致生成的随机数的可信度较低。
技术实现思路
[0005]有鉴于此,本专利技术实施例提供一种区块链中随机数的生成方法及装置,区块链中的各个区块链节点先分别在本地生成第一随机数以及第一随机数的第一摘要值,然后分两个阶段(第一预设时长和 ...
【技术保护点】
【技术特征摘要】
1.一种区块链中随机数的生成方法,其特征在于,包括:至少一个区块链节点分别在本地生成第一随机数,以及所述第一随机数的第一摘要值;在第一预设时长内,所述至少一个区块链节点分别向所述区块链的智能合约提交所述第一摘要值;在所述第一预设时长计时结束后启动的第二预设时长内,所述至少一个区块链节点向所述智能合约提交所述第一随机数;所述智能合约对接收到的至少一个所述第一摘要值以及所述第一摘要值对应的所述第一随机数进行校验;根据校验成功的第一随机数,生成第二随机数;根据所述第二随机数,启动业务。2.根据权利要求1所述的方法,其特征在于,当所述智能合约确定校验成功的所述第一随机数的数量不小于预设数量阈值时,根据校验成功的所述第一随机数,生成所述第二随机数。3.根据权利要求1所述的方法,其特征在于,所述根据校验成功的所述第一随机数,生成第二随机数,包括:按照预设运算法则对校验成功的所述第一随机数进行计算,以生成所述第二随机数。4.根据权利要求1所述的方法,其特征在于,所述根据校验成功的所述第一随机数,生成第二随机数,包括:所述智能合约从所述至少一个区块链节点中,确定最后提交所述第一随机数的区块链节点;按照预设运算法则对所述最后提交所述第一随机数的区块链节点的摘要值以及所述校验成功的所述第一随机数进行计算,以生成所述第二随机数。5.根据权利要求1所述的方法,其特征在于,在所述第二预设时长内,所述智能合约每接收到一个所述第一随机数时,确定是否已接收到所述第一随机数对应的第一摘要值,且所述第一摘要值是在所述第一预设时长内接收的;如果是,对所述第一随机数以及对应的所述第一摘要值进行校验;当校验成功时,递增校验成功的所述第一随机数的数量;当校验失败时,所述智能合约发出提示信息,以使提交所述第一随机数的所述区块链节点根据所述提示信息,在所述第二预设时长内重新提交所述第一随机数。6.根据权利要求1所述的方法,其特征在于,所述智能合约对接收到的至少一个所述第一摘要值以及所述第一摘要值对应的所述第一随机数进行校验,包括:针对每一对所述第一摘要值和第一随机数:所述智能合约根据所述第一随机数生成第二摘要值;其中,用于生成所述第一摘要值和所述第二摘要值的算法相同;当所述第二摘要值和所述第一摘要值相同时,确定所述第一摘要值以及对应的第一随机数校验成功。7.根据权利要求1所述的方法,其特征在于,还包括:所述智能合约确定校验成功的所述第一随机数对应的所述区块链节点,并向确定出的所述区块链节点发送虚拟资源。8.根据权利要求2所述的方法,其特征在于,所述预设数量阈值根据所述至少一个区块
链节点的数量来确定。9.根据权利要求1所述的方法,其特征在于,所述根据所述第二随机数,启动业务,包括:接收至少一个所述区块链节点分别提交的选择项;启动选择业务,以根据所述第二随机数,从所述至少一个区块链节点分别提交的所述选择项中确定出目标选择项。10.根据权利要求9所述的方法,其特征在于,还包括:向提交所述目标选择项的区块链节点发送虚拟资源。11.一种区块链中随机数的生成装置,其特征在于,包括:本地生成模块、提交模块、随机数生成模块和业务启动模块;其中,所述本地生成模块,用于利用至少一个区块链节点分别在本地生成第一随机数,以及所述第一随机数的第一摘要值;所述提交模块,用于在第一预设时长内,利用所述至少一个区块链...
【专利技术属性】
技术研发人员:穆长春,狄刚,钱友才,陈庆接,杜金钊,
申请(专利权)人:中国人民银行数字货币研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。