The embodiment of the present invention provides a method and device for generating random numbers on block chains. The method includes: reading any weak random number on block chains and raising a publicity problem according to the weak random number; receiving the result data submitted by multiple submitters, the result data includes auxiliary data for verification, and the result data is submitted by multiple submitters based on the publicity problem; and The calculation results are correct. After formatting the calculation results, the random number is obtained and output. The calculation results are judged by the submitter according to the auxiliary data in the next stage. The embodiment of the present invention provides a method and device for generating random numbers on a block chain, which is not affected by the accounting node. Any submitter can submit a result challenge. Malicious accounting node can only interfere with a limited number of blocks, and can not restrict the operation of the operator for a long time. Secondly, the participant is the competitive submission result, and no participant can interfere with the submission results of others.
【技术实现步骤摘要】
一种区块链上随机数生成方法及装置
本专利技术涉及共识计算
,尤其涉及一种区块链上随机数生成方法及装置。
技术介绍
传统伪随机数算法一般包含两个函数,一个是种子设定函数seed,一个是取随机数函数rand。前者设置伪随机函数初始值,后者根据初始值进行确定运算后获取一个伪随机数,同时将新的seed设置为刚生成的伪随机数。应用反复调用rand,即可获得源源不断的伪随机数。这种方案的缺点是对同一个seed,所有计算机运算相同的伪随机数算法都会生成同一个伪随机数。于是,一旦区块链上出现了seed,那么所有人就立刻知道即将产生的随机数数值,一个可预测的随机数毫无意义。还有一种随机数生成方法是基于芯片温度、甚至量子涨落等物理规律形成的“真随机数”,这种方法仅在单机有效,无法形成区块链上的共识,即另一个区块链节点无法验证随机数发生节点的随机数信息(无法区分一个量子涨落的随机数和一个伪造的随机数),也因此无法在区块链上实现。
技术实现思路
本专利技术实施例为克服上述技术缺陷,提供一种区块链上随机数生成方法及装置。第一方面,本专利技术实施例提供一种区块链上随机数生成方法,包括:读取区块链上任一弱随机数,根据所述弱随机数提出公示问题;接收多个提交方提交的结果数据,所述结果数据包括用于校验的辅助数据,所述结果数据是所述多个提交方基于所述公示问题提交的;若所述结果数据中的计算结果正确,将所述计算结果格式化计算后,得到随机数并输出,所述计算结果是下一阶段提交方根据所述辅助数据判断获知的。第二方面,本专利技术实施例提供一种区块链上随机数生成装置,包括:读取模块,用于读取区块链上任一弱 ...
【技术保护点】
1.一种区块链上随机数生成方法,其特征在于,包括:读取区块链上任一弱随机数,根据所述弱随机数提出公示问题;接收多个提交方提交的结果数据,所述结果数据包括用于校验的辅助数据,所述结果数据是所述多个提交方基于所述公示问题提交的;若所述结果数据中的计算结果正确,将所述计算结果格式化计算后,得到随机数并输出,所述计算结果是下一阶段提交方根据所述辅助数据判断获知的。
【技术特征摘要】
1.一种区块链上随机数生成方法,其特征在于,包括:读取区块链上任一弱随机数,根据所述弱随机数提出公示问题;接收多个提交方提交的结果数据,所述结果数据包括用于校验的辅助数据,所述结果数据是所述多个提交方基于所述公示问题提交的;若所述结果数据中的计算结果正确,将所述计算结果格式化计算后,得到随机数并输出,所述计算结果是下一阶段提交方根据所述辅助数据判断获知的。2.根据权利要求1所述的方法,其特征在于,所述弱随机数是采用区块哈希方法生成的。3.根据权利要求1所述的方法,其特征在于,所述公示问题满足:与所述弱随机数相关,无法预测所述公示问题内容,计算可重复且结果唯一,提供计算校验点,所述计算校验点用于验证计算准确性。4.根据权利要求2所述的方法,其特征在于,所述将所述计算结果格式化计算,具体包括:对所述计算结果取哈希值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述多个提交方提交的押金。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若所述结果数据中的计算结果错误,接收所述下一阶段提交方的错误证明;若重复接收到所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。