CN111562902B - 一种基于区块链的随机数生成方法及装置 - Google Patents

一种基于区块链的随机数生成方法及装置 Download PDF

Info

Publication number
CN111562902B
CN111562902B CN202010375358.8A CN202010375358A CN111562902B CN 111562902 B CN111562902 B CN 111562902B CN 202010375358 A CN202010375358 A CN 202010375358A CN 111562902 B CN111562902 B CN 111562902B
Authority
CN
China
Prior art keywords
random
producer
effective
sent
producers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010375358.8A
Other languages
English (en)
Other versions
CN111562902A (zh
Inventor
胡永超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Cooper Technology Group Co.,Ltd.
Original Assignee
Chengdu Cooper Innovation Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Cooper Innovation Technology Co ltd filed Critical Chengdu Cooper Innovation Technology Co ltd
Priority to CN202010375358.8A priority Critical patent/CN111562902B/zh
Publication of CN111562902A publication Critical patent/CN111562902A/zh
Application granted granted Critical
Publication of CN111562902B publication Critical patent/CN111562902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Abstract

本发明公开了一种基于区块链的随机数生成方法及装置,首先获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;在第二预设时间内,再一次获取所有有效生产者发送的第二随机值;如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;最后将目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。本发明中,随机数的生成需要众多生产者共同参与,保证随机数生成的随机性和透明性;另外,基于区块链合约的内容,对生产者的资产进行控制,避免生产者随时退出,保证随机数生成的真实性。

Description

一种基于区块链的随机数生成方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的随机数生成方法及装置。
背景技术
日常生活中处处可见对随机数的需求和应用,比如游戏、抽样、公平分配等。产生随机数的方法也有很多种,但是每一个种方法都有一定的缺陷,例如掷骰子、转转盘、抛硬币等产生随机数的方法中,用户参与度较低,不能自主参与随机数生成的过程,随机数产生方有可能会欺骗自己;例如通过调用计算机语言生成伪随机数的方法中,计算机产生的随机数大部分都是伪随机数,针对同一个保存有随机数的seeds列表会产生同样的随机数序列;再例如利用物理现象、股票、天气等随机特征产生随机数的方法中,计算机程序难以运用,需要使用公共节点来运行,节点过于单一。
区块链是共识机制等计算机技术的新型应用模式,这里所说的共识机制是区块链系统中实现不同节点之间建立信任以及获取权益的数学算法。区块链作为一个去中心化的平台,可实现全部交易上链可查询、可追溯等功能,还具有透明、用户方便参与等特点。由于区块链为实现可信随机数生成方案提供了有利的基础条件,因此,业内多用基于区块链来产生随机数。
目前,区块链上已经有一些随机数产生方案,比如,通过公共中心节点获取随机数;或者,遍历当前节点之前一定数量节点的hash值,将这些hash值按照统一的随机算法函数生成随机数。然而,区块链节点的产生,有些是基于nonce计算出来的,矿工可以根据这些节点计算出较符合自己的hash值,这样生成的随机数有被预测出来的风险;再有,直接使用公共中心节点的数据不符合区块链的协议,需要进行网络请求,此时随机数产生的逻辑不透明,也有被预测出来的风险。
发明内容
本发明提供了一种基于区块链的随机数生成方法及装置,以解决目前基于区块链生成随机的方法随机性不强、随机数容易被预测的问题。
一方面,本发明提供了一种基于区块链的随机数生成方法,包括:
获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同;
在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值;
如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送;
将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
结合第一方面,在第一方面的一种可实现方式中,获取所有有效生产者发送的第一随机值的步骤之前,包括:
获取所有生产者发送的第一原始值;
通过sha256函数计算每个第一原始值对应的第一随机值;
如果存在至少两个相同的第一随机值,则确定第一个发送所述相同第一随机值的生产者为有效生产者。
结合第一方面,在第一方面的一种可实现方式中,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,包括:
在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值;
通过sha256函数计算每个第二原始值对应的第二随机值;
获取所有有效生产者发送的第二随机值。
结合第一方面,在第一方面的一种可实现方式中,获取所有有效生产者发送的第一随机值的步骤包括:
在第一预设时间内,判断获取到的有效第一随机值的数量是否大于或者等于第一预设最小样本数,所述有效第一随机值由有效生产者发送;
如果否,则判定随机数生成失败。
结合第一方面,在第一方面的一种可实现方式中,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,还包括:
在获取第一随机值之后的第二预设时间内,判断获取到的有效第二随机值的数量是否大于或者等于第二预设最小样本数,所述有效第二随机值由有效生产者发送;
如果否,则判定随机数生成失败。
结合第一方面,在第一方面的一种可实现方式中,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,还包括:
在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产。
结合第一方面,在第一方面的一种可实现方式中,所述预设算法包括sha3算法或者伪随机数生成算法。
第二方面,本发明提供了一种基于区块链的随机数生成装置,包括:
第一数据获取模块,用于获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同;
第二数据获取模块,用于在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值;
随机数生成模块,用于在每一个有效生产者发送的第二随机值与第一随机值相同时,利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送;将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
结合第二方面,在第二方面的一种可实现方式中,所述装置还包括:
第三数据获取模块,用于获取所有生产者发送的第一原始值;
计算模块,用于通过sha256函数计算每个第一原始值对应的第一随机值;
确定模块,用于当存在至少两个相同的第一随机值时,确定第一个发送所述相同第一随机值的生产者为有效生产者。
结合第二方面,在第二方面的一种可实现方式中,所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值;通过sha256函数计算每个第二原始值对应的第二随机值;获取所有有效生产者发送的第二随机值。
结合第二方面,在第二方面的一种可实现方式中,所述第一数据获取模块还用于:在第一预设时间内,判断获取到的有效第一随机值的数量是否大于或者等于第一预设最小样本数,所述有效第一随机值由有效生产者发送;如果否,则判定随机数生成失败。
结合第二方面,在第二方面的一种可实现方式中,所述第二数据获取模块还用于:在获取第一随机值之后的第二预设时间内,判断获取到的有效第二随机值的数量是否大于或者等于第二预设最小样本数,所述有效第二随机值由有效生产者发送;如果否,则判定随机数生成失败。
结合第二方面,在第二方面的一种可实现方式中,所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产。
由以上技术方案可知,本发明提供了一种基于区块链的随机数生成方法及装置,首先获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值;如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;最后将目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。本发明中,随机数的生成需要众多生产者共同参与,保证随机数生成的随机性和透明性;另外,基于区块链合约的内容,对生产者的资产进行控制,避免生产者随时退出,保证随机数生成的真实性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施案例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于区块链的随机数生成方法的流程图;
图2为本发明实施例提供的选取有效生产者的流程图;
图3为本发明实施例提供的获取第一随机值的流程图;
图4为本发明实施例提供的一种获取第二随机值的流程图;
图5为本发明实施例提供的另一种获取第二随机值的流程图;
图6为本发明实施例提供的一种基于区块链的随机数生成装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明实施例提供的一种基于区块链的随机数生成方法的流程图。如图1所示,本发明实施例提供的基于区块链的随机数生成方法包括:
步骤S101,获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同。
第一随机值是由第一原始值通过sha256函数计算而来,通常生产者自己随机生成一个原始值s,然后将sha256(s)当作随机值发送出来。
在本实施例中,并不是所有的生产者都是有效生产者,对于发送同一个sha256(s)的生产者,只选取接收到的第一个sha256(s)对应的生产者为有效生产者,其余生产者发送的sha256(s)不再接受,这些生产者也不是有效生产者。
另外,本实施例中,随机数的生成方法基于区块链来实现,由区块链合约监管有效生产者的一部分区块链合约资产,对有效生产者施加成本压力,保证有效生产者不会随时退出,也限定了其他人不会大规模的提交大批量的随机值,进而保证有效生产者的参与动力和随机数生成的真实性。具体锁定区块链合约资产的价值根据区块链合约的价值而确定,一般情况下,有效生产者被锁定的区块链合约资产不低于0.5以太坊。
步骤S102,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值。
本实施例中,在第二预设时间内获取到的随机值才是本发明中生成随机数所需要的。这里的有效生产者是步骤S101中发送了第一随机值的有效生产者。
步骤S103,如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送。
本实施例中,对于同一个有效生产者来说,需要两次发送随机值进行验证,如果有效生产者P第一次发送的第一随机值为sha256(s),第二次发送的第二随机值也为sha256(s),那么说明验证成功,有效生产者P第二次生成的第二原始值s是有效的。对于所有验证成功的有效生产者P1、P2、P3等,其各自生成的第二原始值s1、s2、s3等是有效的,可以根据s1、s2、s3等计算目标随机数。
本实施例中的预设算法可以是sha3算法或者伪随机数生成算法等,并且,预设算法由区块链合约公示,值得说明的是,所有能够利用一些现有的值生成随机数的方法都可以作为本实施例中的预设算法使用,本实施例中不做具体要求。
另外,本实施例中,还要将所有有效的第二原始值全部记录到seed列表中,当区块链合约需要对生成的目标随机数进行审计时,可以方便快速地调用seed列表获取所有的第二原始值进行查看,使整个目标随机数生成的过程更加透明、公平和可信。
步骤S104,将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
本实施例中,在成功生成目标随机数之后,还需要将该目标随机数通知给所有参数其生成的有效生产者。写入到区块链合约中的目标随机数可以被其他区块链合约调用,并用于很多业务场景,比如游戏生成、抽奖等。
再有,在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产。被锁定的区块链合约资产由区块链合约监管,是为了对有效生产者施加成本压力,保证有效生产者不会随时退出,但是对于在第二预设时间内没有发送第二随机值的有效生产者,区块链合约会认为其自动退出随机数的生成,为了起到警示作用,区块链合约不会将被锁定的区块链合约资产退还给未发送第二随机值的有效生产者。
由以上方案可知,本发明实施例提供的基于区块链的随机数生成方法,产生随机数时,需要众多生产者共同参与,能够保证随机数生成的随机性和透明性;另外,基于区块链合约的内容,对生产者的资产进行控制,避免生产者随时退出,保证随机数生成的真实性。
在一些实施例中,首先获取的是所有参与随机数生成生产者,再从所有生产者中选取有效生产者。图2为本发明实施例提供的选取有效生产者的流程图,如图2所示,在获取所有有效生产者发送的第一随机值的步骤之前,具体包括如下步骤:
步骤S201,获取所有生产者发送的第一原始值。第一原始值是生产者自己随机生成的值。
步骤S202,通过sha256函数计算每个第一原始值对应的第一随机值。
步骤S203,如果存在至少两个相同的第一随机值,则确定第一个发送所述相同第一随机值的生产者为有效生产者;此后接收到的相同第一随机值不作为有效的随机值采用,同样的,此后接收到的产生相同第一随机值的生产者也不是有效生产者,不参与第二次随机值的获取过程。
图3为本发明实施例提供的获取第一随机值的流程图。如图3所示,在一些实施例中,获取所有有效生产者发送的第一随机值的步骤包括:
步骤S301,在第一预设时间内,判断获取到的有效第一随机值的数量是否大于或者等于第一预设最小样本数,所述有效第一随机值由有效生产者发送。
在本发明所有的实施例中,获取第一随机值和第二随机值的过程分别需要在各自的预设时间内完成,并且各自设有预设最小样本数,如果在预设时间内获取到了足够数量并且有效的第一随机值,则可以执行正常的随机数生成步骤。具体的,第一预设时间根据区块链合约确定,一般大于或者等于三个出块周期。
步骤S302,如果获取到的有效第一随机值的数量小于第一预设最小样本数,说明有效的第一随机值获取失败,则判定随机数生成失败。
图4为本发明实施例提供的一种获取第二随机值的流程图。如图4所示,在一些实施例中,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,具体包括:
步骤S401,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值。具体的,第二预设时间也根据区块链合约确定,可以为两个出块周期等等。
步骤S402,通过sha256函数计算每个第二原始值对应的第二随机值。
步骤S403,获取所有有效生产者发送的第二随机值。
图5为本发明实施例提供的另一种获取第二随机值的流程图。如图5所示,在一些实施例中,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,还包括:
步骤S501,在获取第一随机值之后的第二预设时间内,判断获取到的有效第二随机值的数量是否大于或者等于第二预设最小样本数,所述有效第二随机值由有效生产者发送。如果在预设时间内获取到了足够数量并且有效的第二随机值,则可以执行正常的随机数生成步骤。
步骤S502,如果获取到的有效第二随机值的数量小于第二预设最小样本数,说明有效的第二随机值获取失败,则判定随机数生成失败。
由以上方案可知,本发明实施例提供的基于区块链的随机数生成方法,产生随机数时,利用区块链本身的特点,实现了众多生产者共同参与的目的,能够保证随机数生成的随机性和透明性;另外,基于区块链合约的内容,对生产者的资产进行控制,避免生产者随时退出,保证随机数生成的真实性。
图6为本发明实施例提供的一种基于区块链的随机数生成装置的结构框图。如图6所示,本发明实施例提供的基于区块链的随机数生成装置包括:第一数据获取模块61,用于获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同;第二数据获取模块62,用于在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值;随机数生成模块63,用于在每一个有效生产者发送的第二随机值与第一随机值相同时,利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送;将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
所述装置还包括:第三数据获取模块,用于获取所有生产者发送的第一原始值;计算模块,用于通过sha256函数计算每个第一原始值对应的第一随机值;确定模块,用于当存在至少两个相同的第一随机值时,确定第一个发送所述相同第一随机值的生产者为有效生产者。
所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值;通过sha256函数计算每个第二原始值对应的第二随机值;获取所有有效生产者发送的第二随机值。
所述第一数据获取模块还用于:在第一预设时间内,判断获取到的有效第一随机值的数量是否大于或者等于第一预设最小样本数,所述有效第一随机值由有效生产者发送;如果否,则判定随机数生成失败。
所述第二数据获取模块还用于:在获取第一随机值之后的第二预设时间内,判断获取到的有效第二随机值的数量是否大于或者等于第二预设最小样本数,所述有效第二随机值由有效生产者发送;如果否,则判定随机数生成失败。
所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产。
由以上方案可知,本发明提供了一种基于区块链的随机数生成方法及装置,首先获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值;如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;最后将目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。本发明中,随机数的生成需要众多生产者共同参与,保证随机数生成的随机性和透明性;另外,基于区块链合约的内容,对生产者的资产进行控制,避免生产者随时退出,保证随机数生成的真实性。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (9)

1.一种基于区块链的随机数生成方法,其特征在于,包括:
获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同;
在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值,在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产;
如果每一个有效生产者发送的第二随机值与第一随机值相同,则利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送;
将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
2.根据权利要求1所述的方法,其特征在于,获取所有有效生产者发送的第一随机值的步骤之前,包括:
获取所有生产者发送的第一原始值;
通过sha256函数计算每个第一原始值对应的第一随机值;
如果存在至少两个相同的第一随机值,则确定第一个发送所述相同第一随机值的生产者为有效生产者。
3.根据权利要求2所述的方法,其特征在于,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,包括:
在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值;
通过sha256函数计算每个第二原始值对应的第二随机值;
获取所有有效生产者发送的第二随机值。
4.根据权利要求1或2任一项所述的方法,其特征在于,获取所有有效生产者发送的第一随机值的步骤包括:
在第一预设时间内,判断获取到的有效第一随机值的数量是否大于或者等于第一预设最小样本数,所述有效第一随机值由有效生产者发送;
如果否,则判定随机数生成失败。
5.根据权利要求1或3任一项所述的方法,其特征在于,在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值的步骤,还包括:
在获取第一随机值之后的第二预设时间内,判断获取到的有效第二随机值的数量是否大于或者等于第二预设最小样本数,所述有效第二随机值由有效生产者发送;
如果否,则判定随机数生成失败。
6.根据权利要求1所述的方法,其特征在于,所述预设算法包括sha3算法或者伪随机数生成算法。
7.一种基于区块链的随机数生成装置,其特征在于,包括:
第一数据获取模块,用于获取所有有效生产者发送的第一随机值,并分别锁定每一个有效生产者的部分区块链合约资产;所述有效生产者为参与随机数生成的用户,并且,每一个有效生产者发送的第一随机值互不相同;
第二数据获取模块,用于在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二随机值,所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,如果存在发送第一随机值的有效生产者未发送第二随机值的情况,则由区块链合约接管未发送第二随机值的有效生产者被锁定的区块链合约资产,退还发送第二随机值的有效生产者被锁定的区块链合约资产;
随机数生成模块,用于在每一个有效生产者发送的第二随机值与第一随机值相同时,利用所有第二随机值对应的第二原始值,通过区块链合约中的预设算法,计算目标随机数;所述第二随机值是所述第二原始值通过sha256函数计算而来,所述第二原始值由有效生产者发送;将所述目标随机数写入所述区块链合约中,并且,退还每一个有效生产者被锁定的区块链合约资产。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三数据获取模块,用于获取所有生产者发送的第一原始值;
计算模块,用于通过sha256函数计算每个第一原始值对应的第一随机值;
确定模块,用于当存在至少两个相同的第一随机值时,确定第一个发送所述相同第一随机值的生产者为有效生产者。
9.根据权利要求8所述的装置,其特征在于,所述第二数据获取模块,还用于:在获取第一随机值之后的第二预设时间内,再一次获取所有有效生产者发送的第二原始值;通过sha256函数计算每个第二原始值对应的第二随机值;获取所有有效生产者发送的第二随机值。
CN202010375358.8A 2020-05-07 2020-05-07 一种基于区块链的随机数生成方法及装置 Active CN111562902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010375358.8A CN111562902B (zh) 2020-05-07 2020-05-07 一种基于区块链的随机数生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010375358.8A CN111562902B (zh) 2020-05-07 2020-05-07 一种基于区块链的随机数生成方法及装置

Publications (2)

Publication Number Publication Date
CN111562902A CN111562902A (zh) 2020-08-21
CN111562902B true CN111562902B (zh) 2023-08-11

Family

ID=72074516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010375358.8A Active CN111562902B (zh) 2020-05-07 2020-05-07 一种基于区块链的随机数生成方法及装置

Country Status (1)

Country Link
CN (1) CN111562902B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392770A (zh) * 2017-08-09 2017-11-24 北京云知科技有限公司 一种基于区块链的随机数产生方法及系统
CN108845790A (zh) * 2018-06-20 2018-11-20 胡晓东 一种应用区块链来生成可信随机数的方法及相关装置
CN108985644A (zh) * 2018-07-27 2018-12-11 阿里巴巴集团控股有限公司 权益分配方法及装置、电子设备
CN109450629A (zh) * 2018-12-21 2019-03-08 深圳区块大陆科技有限公司 基于区块链随机数产生方法
CN109559119A (zh) * 2018-11-29 2019-04-02 成都捕风数据科技有限公司 通过委托区块生产者达到区块链可信内源随机过程的方法
CN109684519A (zh) * 2018-12-12 2019-04-26 杭州基尔区块链科技有限公司 一种基于区块链的去中心化芯片研发交易数据存储方法及系统
CN110071811A (zh) * 2019-04-26 2019-07-30 苏州同济区块链研究院有限公司 一种基于区块链的随机数生成算法的方法
CN110213264A (zh) * 2019-05-30 2019-09-06 全链通有限公司 基于联盟区块链的身份验证方法、设备及存储介质
CN110427782A (zh) * 2019-07-23 2019-11-08 杭州云象网络技术有限公司 一种基于区块链的随机数生成方法
CN110610421A (zh) * 2019-09-03 2019-12-24 北京航空航天大学 分片框架下的保证金管理方法及装置
CN110648447A (zh) * 2019-08-08 2020-01-03 杭州复杂美科技有限公司 一种游戏随机数生成方法、应用及装置、设备和存储介质
CN110780847A (zh) * 2019-10-15 2020-02-11 腾讯科技(深圳)有限公司 随机数生成方法、随机数生成装置及电子设备
CN110868286A (zh) * 2018-12-29 2020-03-06 北京版全家科技发展有限公司 一种基于区块链智能合约生成随机数的方法
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN110998630A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 区块链中的随机数生成
CN111008251A (zh) * 2019-12-06 2020-04-14 腾讯科技(深圳)有限公司 一种数据处理方法以及设备

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392770A (zh) * 2017-08-09 2017-11-24 北京云知科技有限公司 一种基于区块链的随机数产生方法及系统
CN110998630A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 区块链中的随机数生成
CN108845790A (zh) * 2018-06-20 2018-11-20 胡晓东 一种应用区块链来生成可信随机数的方法及相关装置
CN108985644A (zh) * 2018-07-27 2018-12-11 阿里巴巴集团控股有限公司 权益分配方法及装置、电子设备
CN109559119A (zh) * 2018-11-29 2019-04-02 成都捕风数据科技有限公司 通过委托区块生产者达到区块链可信内源随机过程的方法
CN109684519A (zh) * 2018-12-12 2019-04-26 杭州基尔区块链科技有限公司 一种基于区块链的去中心化芯片研发交易数据存储方法及系统
CN109450629A (zh) * 2018-12-21 2019-03-08 深圳区块大陆科技有限公司 基于区块链随机数产生方法
CN110868286A (zh) * 2018-12-29 2020-03-06 北京版全家科技发展有限公司 一种基于区块链智能合约生成随机数的方法
CN110071811A (zh) * 2019-04-26 2019-07-30 苏州同济区块链研究院有限公司 一种基于区块链的随机数生成算法的方法
CN110213264A (zh) * 2019-05-30 2019-09-06 全链通有限公司 基于联盟区块链的身份验证方法、设备及存储介质
CN110427782A (zh) * 2019-07-23 2019-11-08 杭州云象网络技术有限公司 一种基于区块链的随机数生成方法
CN110648447A (zh) * 2019-08-08 2020-01-03 杭州复杂美科技有限公司 一种游戏随机数生成方法、应用及装置、设备和存储介质
CN110610421A (zh) * 2019-09-03 2019-12-24 北京航空航天大学 分片框架下的保证金管理方法及装置
CN110780847A (zh) * 2019-10-15 2020-02-11 腾讯科技(深圳)有限公司 随机数生成方法、随机数生成装置及电子设备
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN111008251A (zh) * 2019-12-06 2020-04-14 腾讯科技(深圳)有限公司 一种数据处理方法以及设备

Also Published As

Publication number Publication date
CN111562902A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN110414567B (zh) 数据处理方法、装置和电子设备
JP2023036959A (ja) 制御された暗号化秘密鍵の開放
CN111383021B (zh) 基于区块链网络的节点管理方法、装置、设备及介质
TW201947446A (zh) 基於區塊鏈的資訊監管方法及裝置
US20080083039A1 (en) Method for integrity attestation of a computing platform hiding its configuration information
US20230409598A1 (en) Faster view change for blockchain
EP3763078B1 (en) Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
US11489663B2 (en) Correlation-based hash tree verification
US20220138550A1 (en) Blockchain for artificial intelligence training
CN111475805B (zh) 一种拟态表决器的安全运行方法及系统
US10970180B2 (en) Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result
Zhu et al. A security protection framework for cloud computing
CN111259428A (zh) 基于区块链的数据处理方法、装置、节点设备及存储介质
CN113626765A (zh) 一种能源数据处理方法、装置、设备及存储介质
CN112181599B (zh) 模型训练方法、装置及存储介质
CN111562902B (zh) 一种基于区块链的随机数生成方法及装置
US20210234694A1 (en) Decentralized secure data sharing
CN114978651B (zh) 一种隐私计算存证方法、装置、电子设备及存储介质
US20220114276A1 (en) Controlling a data network with respect to a use of a distributed database
CN111209540B (zh) 信息验证方法、装置和存储介质
CN109587241B (zh) 一种数据共享方法及其设备
US20210233104A1 (en) Product exploration-based promotion
KR20210077176A (ko) 뉴럴 블록 클러스터 기반의 안전한 블록 체인 네트워크 시스템
CN111586068B (zh) 一种解决dpos共识节点权益安全隐患的方法及系统
CN113591060B (zh) 一种电网数据的应用方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Floor 1, No.81 Xinle Road, high tech Zone, Chengdu, Sichuan 610041

Applicant after: Chengdu Cooper Innovation Technology Co.,Ltd.

Address before: Floor 1, No.81 Xinle Road, high tech Zone, Chengdu, Sichuan 610041

Applicant before: Chengdu Cooper blockchain Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230907

Address after: No. 1, Jinyun East Third Lane, High tech Zone, Chengdu, Sichuan, 610096

Patentee after: Sichuan Cooper Technology Group Co.,Ltd.

Address before: Floor 1, No.81 Xinle Road, high tech Zone, Chengdu, Sichuan 610041

Patentee before: Chengdu Cooper Innovation Technology Co.,Ltd.

TR01 Transfer of patent right