CN110780847B - 随机数生成方法、随机数生成装置及电子设备 - Google Patents
随机数生成方法、随机数生成装置及电子设备 Download PDFInfo
- Publication number
- CN110780847B CN110780847B CN201910980279.7A CN201910980279A CN110780847B CN 110780847 B CN110780847 B CN 110780847B CN 201910980279 A CN201910980279 A CN 201910980279A CN 110780847 B CN110780847 B CN 110780847B
- Authority
- CN
- China
- Prior art keywords
- random
- block
- random number
- intelligent contract
- block chain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000006870 function Effects 0.000 claims description 57
- 238000001514 detection method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 15
- 230000001960 triggered effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提供一种随机数生成方法以及电子设备;涉及信息安全技术领域。该方法包括:根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;在满足所述执行条件时触发所述智能合约执行;通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及调用所述随机函数基于所述随机种子生成随机数。本公开可以提高随机数生成过程的公信力。
Description
技术领域
本公开涉及信息安全技术领域,具体而言,涉及一种随机数生成方法、随机数生成装置、电子设备以及计算机可读存储介质。
背景技术
在很多场景下,需要通过随机数产生随机事件。举例而言,当某一事件需要选择预设数量的对象实施,而备选对象的数量超出该预设数量,而这些备选对象对于该事件的的实施并无明显区别时,则可以基于上述随机数从这些备选对象中进行选择。该随机事件例如可以是游戏中的抽奖活动等名单选取类随机事件。
现有技术中,部分获取随机数的方案是,通过服务器调用随机函数来计算一个伪随机数;部分获取随机数的方案是,人工线下抽取随机数。但这些方案中的随机数均会被部分人提前得知,且存在篡改的可能性,公信力有待进一步提高。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种随机数生成方法、随机数生成装置、电子设备以及计算机可读存储介质,进而可以在一定程度上改善随机数生成过程中,存在部分人提前得知随机结果且存在随机结果被篡改的可能性的问题,进而提高随机数生成过程的公信力。
根据本公开的一个方面,提供一种基于区块链的随机数生成方法,包括:
根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;
在满足所述执行条件时触发所述智能合约执行;
通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及
调用所述随机函数基于所述随机种子生成随机数。
根据本公开的一个方面,提供一种基于区块链的随机数生成方法,包括:
根据输入的随机种子生成方式以及随机函数生成配置信息;
将所述配置信息上传至区块链网络以生成包括执行条件的智能合约;
其中,所述智能合约用于在满足所述执行条件时自动执行,以按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子以及调用所述随机函数基于所述随机种子生成随机数。
根据本公开的一个方面,提供一种随机数生成装置,包括:
智能合约发布模块,用于根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;
条件检测模块,用于在满足所述执行条件时触发所述智能合约执行;
随机种子确定模块,用于通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及
随机函数调用模块,用于调用所述随机函数基于所述随机种子生成随机数。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤获取所述区块链中的随机参数:从所述区块链上位于参考区块后的区块中确定目标区块,并根据所述目标区块的指定属性值得到所述随机参数;其中,所述参考区块是所述智能合约被写入的区块。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤得到所述随机参数:将所述目标区块的区块头哈希值作为所述随机参数。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤基于所述随机参数生成随机种子:在所述目标区块的数量为一个时,将所述目标区块的随机参数作为所述随机种子;在所述目标区块的数量为多个时,基于各所述目标区块的随机参数进行线性运算或非线性运算得到所述随机种子。
在本公开的一种示例性实施例中,所述条件检测模块具体用于,在位于所述参考区块后的区块达到数量阈值时,触发所述智能合约执行。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤从所述区块链上位于参考区块后的区块中确定目标区块:将位于所述参考区块后的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数;根据预设规则从所述候选区块中确定所述目标区块。
在本公开的一种示例性实施例中,所述条件检测模块具体用于,在起始时刻之后经过指定时长时,触发所述智能合约执行;其中,所述起始时刻为所述智能合约写入所述区块链的时刻。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤从所述区块链上位于参考区块后的区块中确定目标区块:将在所述参考时刻之后生成的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数;根据预设规则从所述候选区块中确定所述目标区块;其中,所述参考时刻不早于所述智能合约写入所述区块链的时刻。
在本公开的一种示例性实施例中,所述随机种子确定模块通过下述步骤从所述候选区块中确定所述目标区块:将第N个所述候选区块确定为所述目标区块;或者,将所有所述候选区块均确定为所述目标区块;或者,将第M个至第N个所述候选区块均确定为所述目标区块;其中,M为大于1且小于N的正整数。
在本公开的一种示例性实施例中,所述装置还包括:
随机数传输模块,用于将所述随机数发送至游戏服务器,以使所述游戏服务器根据所述随机数生成随机事件。
在本公开的一种示例性实施例中,所述装置还包括:
随机结果发布模块,用于将所述配置信息以及生成的所述随机数发布在区块链网络。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开部分示例实施方式所提供的随机数生成方法中,一方面,由于是基于区块链的随机参数得到的随机种子,而区块链的随机参数通常是无法提前获知的,所以可以保证随机种子的不可预知性;因此,一旦智能合约生成之后,任何人都无法提前知道随机数产生结果,进而也无法进行作弊。另一方面,对于分布式的区块链,如果无法控制51%以上的算力,则无法控制下一个写入的区块结果;即基本不存在人为控制或篡改的可能;因此区块链系统部署足够大的情况下,本示例实施方式中的随机种子可以保证真正公平;进而,由于在随机数生成过程中,随机函数通常是标准化的,随机性主要来源于随机种子,因此,通过本示例实施方式中的方法,可以确保随机数生成过程也实现真正公平,从而提升随机数生成过程的公信力,进而可以提升请求随机数的对象与其他对象之间的信任度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种随机数生成方法及装置的示例性系统架构的示意图;
图2示意性示出了根据本公开的一个实施例的随机数生成方法的流程图;
图3示意性示出了根据本公开的一个实施例的配置信息输入窗口的交互界面;
图4示意性示出了根据本公开的一个实施例的智能合约生成过程图;
图5示意性示出了根据本公开的一个实施例的候选区块顺序图;
图6示意性示出了根据本公开的一个实施例的候选区块顺序图;
图7示意性示出了根据本公开的一个实施例的随机种子生成过程图;
图8示意性示出了根据本公开的一个实施例的智能合约公布窗口的交互界面;
图9示意性示出了根据本公开的一个实施例的随机数生成过程详情公布窗口的交互界面;
图10示意性示出了根据本公开的一个实施例的随机数生成方法的流程图;
图11示意性示出了根据本公开的一个实施例的随机数生成方法的流程图;
图12示意性示出了根据本公开的一个实施例的随机数生成装置的框图;
图13示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种基于区块链随机数生成方法以及随机数生成装置的示例性应用环境的系统架构的示意图。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
区块链网络是由众多节点共同组成的一个端到端的去中心化网络,每个节点都允许获得一份完整的数据库拷贝,节点之间基于一套共识机制来共同维护整个区块链。
如图1所示,本示例实施方式中的系统架构100可以包括上述区块链网站的分布式节点101、102、103、104、105和106;除此之外,还可以包括终端设备107、108和109。各个分布式节点之间可以通过通信链路进行连接,比如可以通过有线通信链路或无线通信链路进行连接等,多个分布式节点共同组成了区块链网络。另一方面,用户可通过终端设备107、108和109由网络接入相应的节点。
应该理解,图1中所示的分布式节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的分布式节点。
在本公开的一个实施例中,分布式节点101(也可以是分布式节点102、103、104、105和106中的任意一个或多个)可以响应于终端设备107(也可以是终端设备108和109中的任意一个)上传的配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数。在满足所述执行条件时,所述智能合约会被自动触发执行;通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及调用所述随机函数基于所述随机种子生成随机数;接着,分布式节点101(也可以是分布式节点102、103、104、105和106中的任意一个或多个)可以将生成的随机数反馈至终端设备107(也可以是终端设备108和109中的任意一个)。
通过上述实施例所提供的随机数生成方法中,一方面,由于是基于区块链的随机参数得到的随机种子,而区块链的随机参数通常是无法提前获知的,所以可以保证随机种子的不可预知性;因此,一旦智能合约生成之后,任何人都无法提前知道随机数产生结果,进而也无法进行作弊。另一方面,对于分布式的区块链,如果无法控制51%以上的算力,则无法控制下一个写入的区块结果;即基本不存在人为控制或篡改的可能;因此区块链系统部署足够大的情况下,本示例实施方式中的随机种子可以保证真正公平;进而,由于在随机数生成过程中,随机函数通常是标准化的,随机性主要来源于随机种子,因此,通过本示例实施方式中的方法,可以确保随机数生成过程也实现真正公平,从而提升随机数生成过程的公信力,进而可以提升请求随机数的对象与其他对象之间的信任度。
需要说明的是,本公开实施例所提供的基于区块链的随机数生成方法一般由区块链节点执行,相应地,基于区块链的随机数生成装置一般设置于区块链节点中。下面,对本示例实施方式提供的一种基于区块链的随机数生成方法进行更加详细的说明。参考图2所示,所述方法可以包括下述步骤S210至步骤S240。其中:
在步骤S210中,根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数。
随机数生成的主要原理是,将提供的随机种子输入至随机函数,通过随机函数输出单个随机数或者多个随机数(即随机数序列)。本示例实施方式中,上述配置信息主要用于对随机数生成过程中的涉及到的随机种子的生成方式以及选取的随机函数进行配置;所述随机种子的生成方式例如可以包括下文所述的几种生成方式或者其他生成方式;所述随机函数例如可以为混合同余函数,也可以为如迭代取中函数、乘同余函数或者其他线性或非线性函数。除此之外,上述配置信息还可以包括如随机数个数以及备注信息等其他配置数据,且本示例性实施例中并不以此为限。
本示例实施方式中,上述配置信息可以是预先存储在外部服务器或区块链上的某一节点,在需要获取配置信息时,由智能合约平台直接根据配置信息存储位置信息读取即可。此外,上述配置信息也可以由用户提供;举例而言,参考图3所示,用户可以在终端设备上通过客户端应用程序或者网页等输入窗口,输入上述配置信息并上传至智能合约平台。
参考图4所示,在获取配置信息401之后,可以在智能合约平台402基于配置信息构建用于生产随机数的智能合约,且约定好智能合约的执行条件。在智能合约构建完成之后,可以将所述智能合约写入区块链。本示例实施方式中,所述智能合约平台例如可以为以太坊(Ethereum);在以太坊平台,智能合约被编译成字节码之后运行在以太坊虚拟机(EVM)中,且可以通过以太坊虚拟机对执行条件相关的事件进行监听。当然,在本公开的其他示例性实施例中,也可以通过RootStock等其他智能合约平台生成上述智能合约,本示例性实施例中对此不做特殊限定。
在步骤S220中,在满足所述执行条件时触发所述智能合约执行。
本示例实施方式中,所述智能合约的执行条件可以是到达指定时间或者其他事件的发展达到指定状态。
举例而言,本示例实施方式中,可以将所述智能合约写入所述区块链的时刻作为起始时刻,在起始时刻之后经过指定时长时,触发所述智能合约执行。其中,所述指定时长可以是用户输入的时长,如60分钟;则在达到起始时刻后的60分钟时,触发所述智能合约执行;所述指定时长也可以是系统计算得到的时长,如用户指定20:00执行智能合约,所述起始时刻为18:00,则系统计算得到所述指定时长为120分钟。当然,在本公开的其他中,所述指定时长也可以是通过动态计算得到的时长,这同样属于本公开的保护范围。
再举例而言,本示例实施方式中,也可以监听区块链中区块的数量,在区块链中区块的数量达到数量阈值时,触发所述智能合约执行。例如,本示例实施方式中,可以将上述区块链中,所述智能合约被写入的区块作为参考区块,如果位于所述参考区块后的区块达到N个时,即触发所述智能合约执行;其中,N为大于1的正整数,且N可以根据用户输入确定也可以通过其他方式确定,如在一定范围内随机确定N的取值等。
在本公开的其他示例性实施例中,所述执行条件还可以例如为参与随机事件的对象达到指定数量(如参与抽奖活动的玩家超过某一数值)或者发生指定事件(如游戏下载量突破某一数值)等其他条件,或者,还可以是上述多种条件构成的复合条件等;本示例性实施例中对此不做特殊限定。
在步骤S230中,通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子。
在区块链中的区块中,存在较多的随机参数;例如,区块的区块头哈希值以及区块中的指定交易的哈希值均为随机参数;此外,区块的时间戳数据也具有一定的随机性,因此也可以作为上述随机参数。本示例实施方式中,则可以基于区块链中的随机参数来生成的随机种子。
举例而言,可以将上述区块链中,所述智能合约被写入的区块作为参考区块,并从位于参考区块后的区块中确定目标区块,以根据所述目标区块的指定属性值得到所述随机参数。由于是基于目标区块的随机参数得到的随机种子,而目标区块的随机参数通常是无法提前获知的,因为此类随机参数不仅与参考区块之前的区块(包括参考区块本身)有关系,而且也与目标区块本身被写入的数据有关,而这些数据都是智能合约被写入后才产生的数据,所以可以保证不可预知性。而且,对于分布式的区块链,如果无法控制51%以上的算力,则无法控制下一个写入的区块结果;即基本不存在人为控制的可能;因此区块链系统部署足够大的情况下,本示例实施方式中的随机种子可以保证真正公平;进而,由于在随机数生成过程中,随机函数通常是标准化的,随机性主要来源于随机种子,因此,通过本示例实施方式中的方法,可以确保随机数生成过程也实现真正公平。
本示例实施方式中,可以通过多种方式确定上述目标区块。如从位于参考区块后的区块中随机选择一个或多个区块作为目标区块;如从位于参考区块后的区块中选择指定位置的一个或多个区块作为目标区块等。下面将示例性的提供几种目标区块确定方式。
举例而言,参考图5所示,如果是在起始时刻之后经过指定时长时,触发所述智能合约执行,则可以根据用户输入或者其他方式确定参考时刻,并将在所述参考时刻正在生成的区块作为第0区块,将在所述参考时刻之后生成的第1至第N个连续的区块确定为候选区块;接着根据预设规则从所述候选区块中确定所述目标区块;其中,N为大于1的正整数,如N=100。本示例实施方式中,上述参考时刻不早于所述智能合约写入所述区块链的时刻,即所述参考时刻晚于上述起始时刻,或者与上述起始时刻为同一时刻。
再举例而言,参考图6所示,如果是在位于所述参考区块后的区块达到数量阈值时,触发所述智能合约执行,则可以将所述参考区块作为第0区块,将位于所述参考区块后的第1至第N个连续的区块确定为候选区块;并根据预设规则从所述候选区块中确定所述目标区块;其中,N为大于1的正整数,如N=100。本示例实施方式中,可以将N设置为不大于所述数量阈值的数值,也即所述数量阈值不小于N;从而可以确保在智能合约被触发时,立即能够确定目标区块进而立即生成随机种子;但本示例性实施例中并不以此为限。
上述预设规则例如可以是将第N个所述候选区块确定为所述目标区块,如将第100个候选区块确定为目标区块。又例如,可以将所有所述候选区块均确定为所述目标区块,即将第1个至第100个候选区块均确定为目标区块。再例如,可以将第M个至第N个所述候选区块均确定为所述目标区块;其中,M为大于1且小于N的正整数等,如M=50,则可以将第50个至第100个所述候选区块均确定为所述目标区块。
在确定目标区块之后,则可以根据目标区块的随机参数确定随机种子。例如,在所述目标区块的数量为一个时,可以将所述目标区块的随机参数作为所述随机种子;在所述目标区块的数量为多个时,可以基于各所述目标区块的随机参数进行线性运算或非线性运算得到所述随机种子。举例而言:
参考图7所示,以随机参数为所述目标区块的区块头哈希值为例,在所述目标区块的数量为一个时,本示例实施方式中可以将直接将所述目标区块的区块头哈希值作为所述随机种子;在所述目标区块的数量为多个时,本示例实施方式中可以基于各所述目标区块的区块头哈希值进行线性运算或非线性运算等指定运算得到所述随机种子。以非线性运算为例,如果各所述目标区块的区块头哈希值分别为h1~hn,则可以首先对区块头哈希值h1~hn进行拼接得到拼接数据,然后对拼接数据通过哈希算法(如SHA256等)进行哈希转换得到所述随机种子。
在步骤S240中,调用所述随机函数基于所述随机种子生成随机数。
本示例实施方式中,在获取随机种子之后,智能合约在可以调用上述步骤S210中配置的随机函数生成随机数。以所述随机函数为混合同余函数为例,则可以通过公式R1=(a×s+c)mod m计算得到第一个随机数R1;通过公式R2=(a×R1+c)mod m计算得到第二个随机数R2;通过公式Rn=(a×Rn-1+c)mod m计算得到第n个随机数Rn。其中,a为乘子,c为增量,m为模,n为随机数个数,且a、c、m和n均为非负整数。当然,在本公开的其他示例性实施例中,所述随机函数也可以为如迭代取中函数、乘同余函数或者其他线性或非线性函数,本示例性实施例中对此不做特殊限定。
在生成随机数之后,可以通过智能合约平台的接口将随机数发送至需要调用随机数的节点。以游戏服务器为例,可以通过如RPC(以太坊平台的一种接口)远程过程调用将所述随机数发送至游戏服务器,以使所述游戏服务器根据所述随机数生成随机事件,如根据随机数生成抽奖活动结果或者虚拟物品分发结果等随机事件等。
进一步的,本示例实施方式中,还可以将上述配置信息以及生成的所述随机数发布在区块链网络,从而使得用户可以随时从区块链中对随机种子选取方式、随机函数以及随机数之间的关系进行验证,以确保随机数的生成过程不会发生造假作弊,或者及时发现可能的造假作弊情况。参考图8所示,用户可以通过查看窗口查看已经发布的用于产生随机数的智能合约;如果某一智能合约已经被触发执行并产生随机数,还可以通过如图9所示的详情页面查看生成该随机数时采用的随机种子选取方式、随机函数以及所产生的随机数等信息。
进一步的,本示例实施方式中还提供了另一种随机数生成方法,该随机数生成方法一般由终端设备执行,相应地,基于区块链的随机数生成装置一般设置于终端设备中。下面,对本示例实施方式提供的一种基于区块链的随机数生成方法进行更加详细的说明。参考图10所示,所述方法可以包括下述步骤S1010以及步骤S1020。其中:
在步骤S1010中,根据输入的随机种子生成方式以及随机函数生成配置信息。
在步骤S1020中,将所述配置信息上传至区块链网络以生成包括执行条件的智能合约。
其中,所述智能合约用于在满足所述执行条件时自动执行,以按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子以及调用所述随机函数基于所述随机种子生成随机数。
下面,结合具体场景对本示例实施方式中的随机数生成方法进行说明。参考图11所述,该场景为游戏抽奖场景,所述方法可以包括下述步骤S1101至步骤S1106。其中:
在步骤S1101中,游戏策划人员可以根据参与抽奖的玩家的数量等因素确定随机种子生成方式、随机函数以及随机数个数等配置信息,然后在终端设备上通过客户端应用程序或者网页等输入窗口,输入配置信息并上传至智能合约平台;输入的方式可以是在输入窗口提供的备选项中进行选择,也可以是手动输入。智能合约平台可以基于配置信息构建用于生产随机数的智能合约,且约定好智能合约的执行条件。在智能合约构建完成之后,可以将所述智能合约写入区块链。
在步骤S1102中,当监听到满足所述执行条件时,区块链上的智能合约会被自动触发执行;即所述智能合约将按照配置信息中的随机种子生成方式获取区块链中的随机参数,并基于随机参数生成随机种子。在步骤S1103中,当生成随机种子之后,所述智能合约将调用配置信息中指定的随机函数,并将步骤S1102中得到的随机种子输入至随机函数,以产生一个或多个随机数(即随机数序列)。在步骤S1104中,将产生的随机数通知给游戏服务器。在步骤S1105中,游戏服务器根据接收到的随机数在参与抽奖的玩家中确定被抽中的玩家。在步骤S1106中,向玩家公布抽奖所用到的随机数在生成过程中所采用的随机种子选取方式、随机函数以及所产生的随机数等信息。
在本公开示例性实施例提供的随机数生成方法中,一方面,由于是基于区块链的随机参数得到的随机种子,而区块链的随机参数通常是无法提前获知的,所以可以保证随机种子的不可预知性;因此,一旦智能合约生成之后,任何人都无法提前知道随机数产生结果,进而也无法进行作弊。另一方面,对于分布式的区块链,如果无法控制51%以上的算力,则无法控制下一个写入的区块结果;即基本不存在人为控制或篡改的可能;因此区块链系统部署足够大的情况下,本示例实施方式中的随机种子可以保证真正公平;进而,由于在随机数生成过程中,随机函数通常是标准化的,随机性主要来源于随机种子,因此,通过本示例实施方式中的方法,可以确保随机数生成过程也实现真正公平,提升随机数生成过程的公信力。再一方面,本示例实施方式中,可以将生成随机数过程中所使用的配置信息以及生成的随机数写入区块链并公开公布,因此可以进一步从而提升随机数生成过程的公信力,进而可以提升请求随机数的对象与其他对象之间的信任度。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种随机数生成装置。该随机数生成装置可以应用于区块链中的节点。参考图12所示,该随机数生成装置1200可以包括智能合约发布模块1210、条件检测模块1220、随机种子确定模块1230以及随机函数调用模块1240。其中:
智能合约发布模块1210可以用于根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;
条件检测模块1220可以用于在满足所述执行条件时触发所述智能合约执行;
随机种子确定模块1230可以用于通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及
随机函数调用模块1240可以用于调用所述随机函数基于所述随机种子生成随机数。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤获取所述区块链中的随机参数:从所述区块链上位于参考区块后的区块中确定目标区块,并根据所述目标区块的指定属性值得到所述随机参数;其中,所述参考区块是所述智能合约被写入的区块。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤得到所述随机参数:将所述目标区块的区块头哈希值作为所述随机参数。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤基于所述随机参数生成随机种子:在所述目标区块的数量为一个时,将所述目标区块的随机参数作为所述随机种子;在所述目标区块的数量为多个时,基于各所述目标区块的随机参数进行线性运算或非线性运算得到所述随机种子。
在本公开的一种示例性实施例中,所述条件检测模块1220具体可以用于在位于所述参考区块后的区块达到数量阈值时,触发所述智能合约执行。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤从所述区块链上位于参考区块后的区块中确定目标区块:将位于所述参考区块后的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数;根据预设规则从所述候选区块中确定所述目标区块。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤从所述候选区块中确定所述目标区块:将第N个所述候选区块确定为所述目标区块;或者,将所有所述候选区块均确定为所述目标区块;或者,将第M个至第N个所述候选区块均确定为所述目标区块;其中,M为大于1且小于N的正整数。
在本公开的一种示例性实施例中,所述条件检测模块1220具体可以用于在起始时刻之后经过指定时长时,触发所述智能合约执行;其中,所述起始时刻为所述智能合约写入所述区块链的时刻。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤从所述区块链上位于参考区块后的区块中确定目标区块:将在所述参考时刻之后生成的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数;根据预设规则从所述候选区块中确定所述目标区块。
在本公开的一种示例性实施例中,所述随机种子确定模块1230通过下述步骤从所述候选区块中确定所述目标区块:将第N个所述候选区块确定为所述目标区块;或者,将所有所述候选区块均确定为所述目标区块;或者,将第M个至第N个所述候选区块均确定为所述目标区块;其中,M为大于1且小于N的正整数。
在本公开的一种示例性实施例中,所述装置还包括:
随机数传输模块,用于将所述随机数发送至游戏服务器,以使所述游戏服务器根据所述随机数生成随机事件。
在本公开的一种示例性实施例中,所述装置还包括:
随机结果发布模块,用于将所述配置信息以及生成的所述随机数发布在区块链网络。
上述随机数生成装置中各模块或单元的具体细节已经在对应的随机数生成方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
图13示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的方法和装置中限定的各种功能。在一些实施例中,计算机系统1300还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
应当理解的是,本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围仅由所附的权利要求来限制。
Claims (8)
1.一种基于区块链的随机数生成方法,其特征在于,包括:
根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;
在位于所述区块链上位于参考区块后的区块达到数量阈值时触发所述智能合约执行;所述参考区块是所述智能合约被写入的区块;
通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;以及
调用所述随机函数基于所述随机种子生成随机数;
其中,获取所述区块链中的随机参数,包括:
将所述区块链上位于所述参考区块后的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数且N不大于所述数量阈值;
根据预设规则从所述候选区块中确定目标区块,并根据所述目标区块的指定属性值得到所述随机参数;
将所述随机数发送至游戏服务器,以使所述游戏服务器根据所述随机数生成随机事件。
2.根据权利要求1所述的随机数生成方法,其特征在于,根据预设规则从所述候选区块中确定所述目标区块,包括:
将第N个所述候选区块确定为所述目标区块;或者,
将所有所述候选区块均确定为所述目标区块;或者,
将第M个至第N个所述候选区块均确定为所述目标区块;其中,M为大于1且小于N的正整数。
3.根据权利要求1所述的随机数生成方法,其特征在于,基于所述随机参数生成随机种子,包括:
在所述目标区块的数量为一个时,将所述目标区块的随机参数作为所述随机种子;
在所述目标区块的数量为多个时,基于各所述目标区块的随机参数进行线性运算或非线性运算得到所述随机种子。
4.根据权利要求1所述的随机数生成方法,其特征在于,根据所述目标区块的指定属性值得到所述随机参数,包括:
将所述目标区块的区块头哈希值作为所述随机参数。
5.根据权利要求1~4中任一项所述的随机数生成方法,其特征在于,所述方法还包括:
将所述配置信息以及生成的所述随机数发布在区块链网络。
6.一种基于区块链的随机数生成方法,其特征在于,包括:
根据输入的随机种子生成方式以及随机函数生成配置信息;
将所述配置信息上传至区块链网络以生成包括执行条件的智能合约;
其中,所述智能合约用于在位于所述区块链上位于参考区块后的区块达到数量阈值时自动执行,以按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子以及调用所述随机函数基于所述随机种子生成随机数;所述参考区块是所述智能合约被写入的区块;
其中,获取所述区块链中的随机参数,包括:
将所述区块链上位于所述参考区块后的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数且N不大于所述数量阈值;
根据预设规则从所述候选区块中确定目标区块,并根据所述目标区块的指定属性值得到所述随机参数。
7.一种随机数生成装置,其特征在于,包括:
智能合约发布模块,用于根据配置信息生成包括执行条件的智能合约,并将所述智能合约写入区块链;其中,所述配置信息包括随机种子生成方式以及随机函数;
条件检测模块,用于在位于所述区块链上位于参考区块后的区块达到数量阈值时触发所述智能合约执行;所述参考区块是所述智能合约被写入的区块;
随机种子确定模块,用于通过所述智能合约按照所述随机种子生成方式获取所述区块链中的随机参数,并基于所述随机参数生成随机种子;其中,获取所述区块链中的随机参数,包括:将所述区块链上位于所述参考区块后的第1至第N个连续的区块确定为候选区块;其中,N为大于1的正整数且N不大于所述数量阈值;根据预设规则从所述候选区块中确定目标区块,并根据所述目标区块的指定属性值得到所述随机参数;以及
随机函数调用模块,用于调用所述随机函数基于所述随机种子生成随机数,以及将所述随机数发送至游戏服务器,以使所述游戏服务器根据所述随机数生成随机事件。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980279.7A CN110780847B (zh) | 2019-10-15 | 2019-10-15 | 随机数生成方法、随机数生成装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910980279.7A CN110780847B (zh) | 2019-10-15 | 2019-10-15 | 随机数生成方法、随机数生成装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780847A CN110780847A (zh) | 2020-02-11 |
CN110780847B true CN110780847B (zh) | 2022-02-25 |
Family
ID=69385407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910980279.7A Active CN110780847B (zh) | 2019-10-15 | 2019-10-15 | 随机数生成方法、随机数生成装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780847B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI726650B (zh) * | 2020-03-11 | 2021-05-01 | 宏碁股份有限公司 | 區塊鏈亂數產生系統及區塊鏈亂數產生方法 |
CN111429643B (zh) * | 2020-03-18 | 2022-07-08 | 南京巨公科技有限公司 | 一种摇号的方法、装置以及存储介质 |
CN113448541B (zh) * | 2020-03-26 | 2023-08-01 | 宏碁股份有限公司 | 区块链随机数生成系统及区块链随机数生成方法 |
CN111538479B (zh) * | 2020-04-27 | 2023-11-21 | 国泰新点软件股份有限公司 | 开标过程中的随机参数生成方法及装置 |
CN111562902B (zh) * | 2020-05-07 | 2023-08-11 | 成都库珀创新科技有限公司 | 一种基于区块链的随机数生成方法及装置 |
CN111865587B (zh) * | 2020-08-07 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 数据处理方法、区块链节点设备、电子设备及计算机程序 |
CN112348596B (zh) * | 2020-11-26 | 2023-08-11 | 中国联合网络通信集团有限公司 | 基于区块链的投标报价方法、系统、设备及存储介质 |
CN112751846B (zh) * | 2020-12-28 | 2022-09-06 | 杭州趣链科技有限公司 | 基于区块链的电子游戏随机奖励控制方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7298843B2 (en) * | 2003-08-01 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for seeding a random number generator |
CN108876365A (zh) * | 2017-05-16 | 2018-11-23 | 江峰 | 一种生成区块发布机制的智能合约 |
CN109033814A (zh) * | 2018-07-18 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 智能合约触发方法、装置、设备及存储介质 |
CN109146413A (zh) * | 2018-08-02 | 2019-01-04 | 珠海宏桥高科技有限公司 | 一种基于区块链的智能合约的构建方法 |
CN109584432A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
CN109753269A (zh) * | 2019-01-30 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 区块链的随机数生成方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018129118A1 (en) * | 2017-01-06 | 2018-07-12 | FirstBlood Technologies, Inc. | Decentralized competitive arbitration using digital ledgering |
KR101914028B1 (ko) * | 2017-04-28 | 2018-11-01 | 삼성에스디에스 주식회사 | 부채널 공격에 안전한 연산 장치 및 방법 |
CN110310097A (zh) * | 2019-07-05 | 2019-10-08 | 匿名科技(重庆)集团有限公司 | 一种智能合约的公租房可信摇号方法 |
-
2019
- 2019-10-15 CN CN201910980279.7A patent/CN110780847B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7298843B2 (en) * | 2003-08-01 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for seeding a random number generator |
CN108876365A (zh) * | 2017-05-16 | 2018-11-23 | 江峰 | 一种生成区块发布机制的智能合约 |
CN109033814A (zh) * | 2018-07-18 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 智能合约触发方法、装置、设备及存储介质 |
CN109146413A (zh) * | 2018-08-02 | 2019-01-04 | 珠海宏桥高科技有限公司 | 一种基于区块链的智能合约的构建方法 |
CN109584432A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 对象选取方法及装置、电子设备 |
CN109753269A (zh) * | 2019-01-30 | 2019-05-14 | 百度在线网络技术(北京)有限公司 | 区块链的随机数生成方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110780847A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110780847B (zh) | 随机数生成方法、随机数生成装置及电子设备 | |
CN113434269B (zh) | 基于区块链的分布式隐私计算方法及装置 | |
CN110599173B (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
KR20180117119A (ko) | 블록체인 시스템 내에서 피드백을 통합하는 에이전트 기반의 튜링 완전 거래 | |
CN109753269B (zh) | 区块链的随机数生成方法、装置、设备和存储介质 | |
CN110533489B (zh) | 应用于模型训练的样本获取方法及装置、设备、存储介质 | |
US20210374731A1 (en) | Systems and methods for consensus-based access control for smart contract functions | |
CN111291060A (zh) | 一种管理区块链节点的方法、装置及计算机可读介质 | |
CN116739660A (zh) | 一种基于区块链的抽奖方法及系统 | |
CN111311211A (zh) | 一种基于区块链的数据处理方法以及设备 | |
CN110908812A (zh) | 业务数据处理方法、装置、可读存储介质和计算机设备 | |
CN111339141A (zh) | 一种数据传输的方法、区块链节点设备以及介质 | |
CN110598432A (zh) | 社区矫正信息管理方法及装置、介质和电子设备 | |
CN112101940A (zh) | 用区块链实施的随机可验证样本选取系统 | |
CN117709077B (zh) | 基于网络靶场的仿真推演方法、系统、电子设备和介质 | |
CN112181599B (zh) | 模型训练方法、装置及存储介质 | |
CN109727040B (zh) | 数据发布方法、数据调用方法、设备和存储介质 | |
CN114860402B (zh) | 调度策略模型训练方法、调度方法、装置、设备和介质 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
CN112632634B (zh) | 签名数据的处理方法、装置、计算机设备和存储介质 | |
CN110661789B (zh) | 地址重置方法、装置、设备及计算机可读存储介质 | |
Qasim et al. | Concept in information security technologies development in e-voting systems | |
KR20230034210A (ko) | 랜덤 샘플링 bft 합의 방법과 시스템 및 컴퓨터 프로그램 | |
CN112860444B (zh) | 内存调用信息的确定方法和装置、存储介质及电子设备 | |
CN110827163B (zh) | 基于区块链的社交信息管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022954 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |