CN109753269A - 区块链的随机数生成方法、装置、设备和存储介质 - Google Patents
区块链的随机数生成方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109753269A CN109753269A CN201910093971.8A CN201910093971A CN109753269A CN 109753269 A CN109753269 A CN 109753269A CN 201910093971 A CN201910093971 A CN 201910093971A CN 109753269 A CN109753269 A CN 109753269A
- Authority
- CN
- China
- Prior art keywords
- block
- business transaction
- seed
- random number
- transactions requests
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种区块链的随机数生成方法、装置、设备和存储介质。由区块链节点执行时,该方法可以包括:获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。本发明实施例的技术方案提升了生成区块链随机数的公信力,提高了随机数的安全性。
Description
技术领域
本发明实施例涉及计算机数据存储技术,尤其涉及一种区块链的随机数生成方法、装置、设备和存储介质。
背景技术
区块链网络处理的事务请求中,有一部分事务请求在处理过程中需要产生随机数,基于产生的随机数来处理该事务请求。
现有技术中,当区块生成节点在需要产生随机数时,可以向专门用于产生随机数的中心化服务机构请求,获得一个随机数,从而使用随机数来完成事务的处理。
由于传统的区块链网络的随机数是通过中心化服务机构生成的,公信力较差,且存在安全漏洞,从而导致生成的随机数存在各种不安全的问题。
发明内容
本发明实施例提供一种区块链的随机数生成方法、装置、设备和存储介质,以提升生成区块链随机数的公信力,提高随机数的安全性。
第一方面,本发明实施例提供了一种区块链的随机数生成方法,由区块链节点执行,该方法包括:
获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;
如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;
根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;
根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。
第二方面,本发明实施例还提供了一种区块链的随机数生成方法,由业务参与方执行,该方法包括:
向区块链网络发送业务事务请求,以请求处理所述业务事务请求,并将业务事务数据添加到发起区块中;
向区块链网络发送与所述业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据所述种子事务请求中的种子字符串产生随机数,并根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中;其中,所述结果区块为发起区块的后续区块。
第三方面,本发明实施例还提供了一种区块链的随机数生成装置,配置于区块链节点中,该装置包括:
业务请求获取模块,用于获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;
种子请求接收模块,用于如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;
随机数生成模块,用于根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;
结果处理添加模块,用于根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。
第四方面,本发明实施例还提供了一种区块链的随机数生成装置,配置于业务参与方,该装置包括:
业务请求发送模块,用于向区块链网络发送业务事务请求,以请求处理所述业务事务请求,并将业务事务数据添加到发起区块中;
种子请求发送模块,用于向区块链网络发送与所述业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据所述种子事务请求中的种子字符串产生随机数,并根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中;其中,所述结果区块为发起区块的后续区块。
第五方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的区块链的随机数生成方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的区块链的随机数生成方法。
本发明实施例的技术方案,在处理需要使用随机数的业务事务请求时,区块链节点通过业务事务请求的业务参与方节点发送的种子事务请求中的种子字符串,生成随机数,进而完成后续业务事务请求的处理操作。解决了中心化服务机构生成的随机数存在各种不安全的问题,以提升生成区块链随机数的公信力,提高随机数的安全性。
附图说明
图1是本发明实施例一提供的一种区块链的随机数生成方法的流程图;
图2是本发明实施例二提供的一种区块链的随机数生成方法的流程图;
图3是本发明实施例三提供的一种区块链的随机数生成方法的流程图;
图4是本发明实施例四提供的一种区块链的随机数生成方法的流程图;
图5是本发明实施例五提供的一种区块链的随机数生成方法的信令图;
图6是本发明实施例六提供的一种区块链的随机数生成装置的结构框图;
图7是本发明实施例七提供的一种区块链的随机数生成装置的结构框图;
图8是本发明实施例八提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种区块链的随机数生成方法的流程图,本实施例可适用于区块链节点处理需要使用随机数的业务事务请求的情况,其中,区块链节点可以是区块链网络中的区块生成节点;也可以是区块链网络中的其他节点,如当前没有区块生成权限的任意节点。
该方法可以由配置于区块链节点中的区块链的随机数生成装置或设备来执行,该装置可采用硬件和/或软件的方式实现,并可集成于承载区块链节点的电子设备中,该方法具体包括如下步骤:
S101,获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中。
其中,业务事务请求是需要借助随机数才可以完成处理过程的事务请求,具体可以涉及任意功能的业务。该业务事务请求可以包括发起事务请求,还可以进一步包括响应事务请求。发起事务请求可以是业务发起方基于业务智能合约以及发起数据生成的事务请求,该业务智能合约可以是实现该业务的程序集合,在该业务智能合约中可提供交互界面,供用户提供发起数据和响应数据的不同内容,从而生成各个具体的事务请求。例如,若发起事务请求为竞猜发起事务请求,则该请求可以是竞猜发起方基于竞猜智能合约以及制定本次竞猜的相关数据(如,竞猜的题目、标准答案、竞猜选项、竞猜截至时间、竞猜发起方信息、竞猜奖励等)生成的竞猜发起事务请求。相应的,响应事务请求可以是业务响应方基于业务智能合约、要响应的事务请求(如发起事务请求)以及响应数据生成的事务请求。例如,若响应事务请求为竞猜响应事务请求,则该请求可以是竞猜响应方基于竞猜智能合约、竞猜发起方发送的竞猜发起事务请求及响应数据(如竞猜答案、竞猜响应时间以及竞猜响应方信息等)生成竞猜响应事务请求。可选的,业务智能合约也可以分别为发起、响应形成不同的智能合约,分别包含如何生成发起事务请求的规则,以及如何生成响应事务请求的规则。
业务事务数据是指处理业务事务请求后需要添加到区块中存储的数据,一般包括业务事务请求本身以及产生的部分数据。发起区块可以是指存储业务事务数据的区块,发起区块可以是一个,也可以是连续或不连续的多个。
示例性的,区块链节点获取了业务事务请求后,即对该业务事务请求进行处理,可选的,该处理过程可以是产生随机数之前所包括的处理过程。对业务事务请求进行处理,得到业务事务数据,将业务事务数据添加到发起区块中,可选的,可以是将得到的业务事务数据添加到一个或多个发起区块中,由于涉及一次业务的业务事务请求可以能有多个,且由不同的参与方在不同时间发起,所以业务事务数据可能存储于多个不同的发起区块中。
可选的,本发明实施例中,区块链节点将业务事务数据添加到发起区块中之后,还可以将添加有业务事务数据的发起区块发送至区块链网络。以使区块链网络中的其他节点对发起区块中的数据进行同步、验证或其他操作。
S102,如果业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与业务事务请求关联的种子事务请求。
其中,结果区块为发起区块的后续区块,如果发起区块有多个,则是最后一个发起区块的后续区块,其与发起区块是不同的区块,其中存储的数据为业务事务请求的、受随机数影响的最终业务处理结果。该结果区块可以是一个区块,也可以是多个区块。结果区块的生成周期可以是指在将业务事务数据添加到发起区块之后,且需要根据随机数处理业务事务请求,获取本次业务处理结果时对应的时间段。可选的,结果区块的生成周期,可以是发起方在发起业务事务请求前,已经将结果区块的高度或时间(如发起该请求后的第3天,或发起请求后的第100个区块等)记录在业务事务请求中;也可以是区块链节点处理业务事务请求的过程中,根据智能合约的规定确定的,例如,智能合约中规定,在预设时间段(如1小时)内没有接收到与发起事务请求关联的响应事务请求,则确定达到该发起事务请求的结果区块生成周期。
种子事务请求由业务事务请求的业务参与方提供。该业务事务请求的业务参与方可以包括:业务事务请求中的生成发起事务请求的发起方和/或至少一个生成响应事务请求的响应方。业务事务请求的业务参与方提供的种子事务请求是根据种子字符串生成。可选的,为了防止业务参与方为了自己的利益,根据业务发展过程,恶意改变种子字符串,从而直接干涉随机数的生成结果,可以是要求业务参与方在获取业务发展过程中的事务数据之前,预先生成种子事务请求。例如,当业务参与方为生成发起事务请求的发起方时,发起方可以在生成发起事务请求之前即产生种子事务请求,并进行本地化存储,将种子事务请求的事务标识添加到生成的发起事务请求中,后续才发送至区块链网络。这样就很好的防止了业务参与方后续根据业务的发展过程,恶意改变种子事务请求中的种子字符串的问题。
可选的,如果处理该业务事务请求的过程中需要使用随机数,则在结果区块的生成周期中,接收与业务事务请求关联的种子事务请求,具体的,在本实施例中,与业务事务请求关联的种子事务请求至少包括以下几种:1)业务参与方中的发起方发送的与发起事务请求关联的种子事务请求;2)业务参与方中的响应方发送的与响应事务请求关联的种子事务请求。
可选的,在判断接收到的种子事务请求是否与业务事务请求关联的方法有很多,对此本实施例不进行限定。例如,可以是通过接收到的种子事务请求,确定该种子事务请求对应的事务标识,然后将其与业务事务请求中的事务标识进行比较,若一致,则说明本步骤中接收到的种子事务请求与S101中获取的业务事务请求关联;还可是业务参与方发送种子事务请求时,同时也发送该种子事务请求对应的业务事务请求的事务标识,此时区块链节点可以通过判断本步骤中接收到的事务标识与其在S101中接收到的业务事务请求的事务标识是否一致,若一致,则说明本步骤中接收到的种子事务请求与业务事务请求相关。
可选的,在确定所述业务事务请求需要使用随机数之后,还包括:通知业务事务请求的业务参与方提供种子事务请求。具体的,可以是区块链节点生成该业务事务请求对应的种子获取事务请求发送至区块链网络中,业务参与方节点接收到该种子获取事务请求后,将其预先生成的与业务事务请求关联的种子事务请求发送至区块连网络,此时区块链节点就可以在结果区块的生成周期中,接收业务参与方提供的与业务事务请求关联的种子事务请求。
需要说明的是,业务参与方节点向区块链网络发送种子事务请求的触发条件并不限定于接收到区块链节点发送的种子获取事务请求后,才触发提供种子事务请求,还可以是业务参与方节点在达到预设条件时,自动触发提供种子事务请求,例如,可以是业务参与方节点检测到达到业务事务请求中规定的业务截至时间或需要生成随机数时,触发提供种子事务请求;还可以是业务参与方节点在接收到区块链网络发送的存储该参与方节点的业务事务请求对应的事务数据的发起区块时,即触发提供种子事务请求等等。
可选的,为了防止业务参与方在区块链节点需要接收种子事务请求时,不发送种子事务请求,或者是发送错误的种子事务请求的情况出现,区块链节点可以在接收到业务参与方向区块链网络中发送业务事务请求时,对业务参与方的账户进行抵押元素冻结,若在区块链节点需要接收种子事务请求时,在预设时间段内没有接收到业务参与方发送的种子事务请求,或接收到错误的种子事务请求,则从业务参与方的账户扣除冻结的抵押元素。这样设置的好处在于对提供种子事务请求的业务参与方进行了约束,保证了随机数生成环境的可信度。
S103,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数。
其中,种子字符串可以是生成随机数所需的字符串,该种子字符串可以是由数字和/或英文字母构成。设定随机算法是预先设定的,用于产生随机数的相关算法或规则。
可选的,区块链节点在接收到与业务事务请求关联的种子事务请求后,对该种子事务请求进行处理,获取其中包含的种子字符串,根据获取的种子字符串,基于设定随机算法产生随机数,具体的,可以是将种子字符串按照设定随机算法进行相关运算处理,生成随机数。其中,生成的随机数可以是一个,也可以是多个。
可选的,在本发明实施例中,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数的过程,还可以是调用随机数智能合约,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数。其中,该随机数智能合约可以是约定了如何生成随机数的方法和规则,其可以是基于共识机制和设定随机算法生成的。具体的,在从种子事务请求中获取了种子字符串后,调用该随机数智能合约,将获取的种子字符串作为随机数智能合约的参数;根据该随机数智能合约的参数,执行随机数智能合约,得到本次处理业务事务请求所需的随机数。
可选的,在本发明实施例中,为了提高生成的随机数的安全性,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数的过程中,还可以是调用随机数智能合约,根据种子事务请求中的种子字符串和发起区块的区块标识,基于设定随机数算法产生随机数。由于发起区块的区块标识是不可篡改的,从而保证了随机数生成的安全性。可选的,该区块标识还可以是除发起区块以外的其他区块的区块标识,对此本发明实施例不进行限定。
S104,根据随机数以及业务事务请求产生业务处理结果,添加到结果区块中。
其中,业务处理结果可以是对业务事务请求进行处理后得到的最终处理结果,该处理结果是需要根据随机数才可以生成的。
可选的,在生成随机数后,根据生成的随机数接着S101对业务事务数据的处理过程,继续处理该业务事务请求,得到业务处理结果,并将最终得到的业务处理结果添加到结果区块中。例如,若业务事务请求为竞猜发起事务请求,则根据S103中生成的随机数,接着S101对该竞猜发起事务请求的处理过程,继续处理竞猜发起事务请求,确定本次竞猜结果(如获奖者信息、奖励金分配情况、中奖答案等),将得到的竞猜结果添加到该竞猜发起事务请求对应的结果区块中。可选的,可以是将得到的业务处理结果添加到当前区块中,此时添加有业务处理结果的当前区块为结果区块。
可选的,本发明实施例中S103中生成的随机数的个数可以是一个,也可以有多个。当生成的随机数为多个时,根据随机数以及业务事务请求产生业务处理结果时,可以是使用多个随机数来产生业务处理结果。例如,若业务事务请求为竞猜发起请求,当针对本次竞猜,竞猜正确的竞猜响应方较多式,可以生成3个随机数,如1、5、8,此时,对于竞猜正确的各竞猜响应方,按照其发送竞猜响应事务请求的时间进行排序,将排序序号为1的响应方设置为一等奖,将排序序号为5和15的响应方设置为二等奖,将排序序号为8、18、28的响应方设置为三等奖。
可选的,本发明实施例中,区块链节点将业务处理结果添加到结果区块中之后,还可以将添加有业务处理结果的结果区块发送至区块链网络。以使区块链网络中的其他节点对结果区块中的数据进行同步、验证或其他操作。
需要说明的是,本发明实施例中,对业务事务请求进行处理的过程,包括两个部分:第一部分为S101,执行业务事务请求中无需随机数参与的相关处理操作,得到业务事务数据,添加到发起区块中的过程;第二部分为S104,在产生随机数后,根据产生的随机数对业务事务请求的继续处理,生成业务处理结果,添加到结果区块中的过程。
需要说明的是,本发明实施例中的区块链节点可以是区块生成节点,也可以是除区块生成节点以外的其他节点。上述实施例是以区块链节点为区块生成节点为例进行介绍的,若区块链节点为其他节点时,则其他节点也是执行上述过程生成随机数,完成对区块生成节点处理业务事务请求生成的事务数据进行验证。具体的,可以是执行上述获取业务事务数据,并进行处理,此时是根据处理后业务事务数据对发起区块中的业务事务数据进行验证,若验证通过,接收发起区块中的业务事务数据添加到该节点的区块链中;执行上述如果业务事务请求中需要使用随机数,则在区块链生成周期中,接收与业务事务请求关联的种子请求,根据种子请求中的种子字符串,基于设定随机算法产生随机数;根据随机数以及业务事务请求产生业务处理结果,此时是根据产生的业务处理结果对结果区块中的业务处理结果进行验证,若验证通过,接收结果区块中的业务处理结果添加到该节点的区块链中。
本实施例提供的区块链的随机数生成方法,在处理需要使用随机数的业务事务请求时,区块链节点通过业务事务请求的业务参与方节点发送的种子事务请求中的种子字符串,生成随机数,进而完成后续业务事务请求的处理操作。解决了中心化服务机构生成的随机数存在各种不安全的问题,且由业务参与方提供种子字符串,区块链节点在生成业务处理结果前是不知道该种子字符串的,所以约束了区块链节点造假;由于业务参与方提供的种子字符串是在区块链节点处理业务事务数据之前预先生成的,所以也约束了提供种子字符串的业务参与方不能根据自身利益更换种子字符串,提升了生成区块链随机数的公信力,提高了随机数的安全性。
进一步的,在本发明实施例中,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数之前,还可以对接收到的种子事务请求进行验证,具体的:根据业务事务请求中携带的种子事务标识,对所述种子事务请求进行验证。其中,业务参与方在生成业务事务请求时,将预先生成的种子事务请求的事务标识携带在业务事务请求中,区块链节点在接收到业务事务请求之后,就可以唯一确定了该业务事务请求对应的种子事务请求的事务标识,当区块链节点在接收到业务参与方发送的种子事务请求后,可以将接收到的种子事务请求中的事务标识与业务事务请求中携带的种子事务标识进行比对,从而对接收到发起方的种子事务请求进行验证,若比对结果一致,则说明验证成功,可以继续执行S103,根据接收到的种子事务请求中的种子字符串,基于设定随机算法产生随机数过程。这样设置的好处在于,避免了业务事务请求的业务参与方为了自身利益,根据业务处理过程的发展,修改预先生成的种子事务请求发送至区块链节点,以对生成随机数的过程进行干预的情况发生,提高了生成的随机数安全性和可信度。
实施例二
图2是本发明实施例二提供的一种区块链的随机数生成方法的流程图,该方法以前述实施例为基础,具体给出何时接收与业务事务请求关联的种子事务请求以及根据种子事务请求中的种子字符串,基于设定随机算法产生随机数的具体情况介绍。如图2所示,该方法包括:
S201,获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中。
S202,如果业务事务请求需要使用随机数,则根据业务事务请求配置的区块间隔或按照预设规则配置的区块间隔,等待设定数量的区块间隔直至结果区块的生成周期。
其中,区块间隔可以是指发起区块和结果区块之间的区块高度,如可以是发起区块和结果区块之间间隔的区块的数量(M),也可以是发起区块和结果区块之间具体的间隔时间。区块间隔可以是发起业务事务请求的业务参与方在业务事务请求中预先配置好的,例如,业务事务请求中预先设置区块间隔为10个区块;也可以是区块链节点按照智能合约中的预设规则配置的,例如,智能合约中规定,区块间隔为发起区块到业务截至时间时对应的下一区块之间的间隔。设定数量可以是根据区块间隔确定的,例如,若区块间隔为1个区块,则设定数量为1,若区块间隔为1小时,则设定数量为将业务事务数据添加到发起区块之后,一小时内,包括发起区块在内生成的区块的数量。可选的,设定数量可以为至少一个。
示例性的,如果业务事务请求需要使用随机数,则先根据业务事务请求中配置的区块间隔或按照预设规则配置的区块间隔,确定需要等待的设定数量,然后等待设定数量的区块间隔,直到达到结果区块的生成周期,在结果区块的生成周期中,才可以接收业务参与方提供的与业务事务请求关联的种子事务请求。
可选的,当设定数量为一个时,可以是在将业务事务数据添加到发起区块中之后,等待一个区块间隔达到结果区块生成周期,即发起区块的下一区块即达到结果区块的生成周期,说明结果区块与最后一个发起区块是相邻区块;若设定数量为至少两个,则可以是从发起区块算起,等待至少两个区块间隔达到结果区块生成周期。
S203,在结果区块的生成周期中,接收与业务事务请求关联的种子事务请求。
S204,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数。
可选的,若设定数量为一个时,则根据种子事务请求中的种子字符串,基于设定随机算法产生随机数时,可以是根据种子事务请求中的种子字符串以及发起区块的区块标识,基于设定随机算法产生随机数;若设定数量为至少两个时,则根据种子事务请求中的种子字符串,基于设定随机算法产生随机数时,可以是根据种子事务请求中的种子字符串,以及所述中间区块的区块标识,基于设定随机算法产生随机数;也可以是根据种子事务请求中的种子字符串、发起区块的区块标识,以及所述中间区块的区块标识,基于设定随机算法产生随机数。具体的,根据种子字符串、区块标识,基于设定随机数算法产生随机数的方法,可以是将种子字符串和区块标识按照设定随机算法进行相关运算处理,生成随机数;还可以是调用随机数智能合约,根据种子字符串、区块标识,基于设定随机数算法产生随机数,如可以是将种子字符串、区块标识作为随机数智能合约的参数,执行随机数智能合约,得到本次生成的随机数。
可选的,中间区块是指在等待设定数量的区块间隔的过程中,生成的区块,其可以是发起区块和结果区块之间的区块。中间区块中存储的数据可能是与业务事务请求关联的数据,如业务事务请求为发起事务请求时,与发起事务请求关联的数据可以是处理该发起事务请求关联的响应事务请求时生成的响应数据;也可能是与业务事务请求无关的数据,如处理与业务事务请求无关的其他事务请求,生成的事务数据。
若生成随机数使用的是存储有与业务事务请求关联的数据的中间区块的区块标识,则可能出现业务事务请求的业务参与方对随机数的生成过程进行恶意干扰的情况。例如,竞猜参与方中的竞猜响应方A多次重复参与某一竞猜发起事务请求,则该竞猜响应方A就可以控制中间区块中的存储的响应数据都是其自身参加竞猜时响应的数据,由于区块标识是根据区块中存储的数据生成的,所以,此时竞猜响应方A就可以控制得到中间区块的区块标识,进而干扰随机数的生成结果。为了避免这种情况出现,可以规定:若设定数量为至少两个,在发起区块和结果区块之间的中间区块中,需存在至少一个中间区块不存在与业务事务请求关联的数据(即存在至少一个中间区块,该中间区块中存储的事务数据与业务事务请求无关)。而在根据种子事务请求中的种子字符串,基于设定随机算法产生随机数时,可以是根据种子事务请求中的种子字符串,以及至少一个与业务事务请求完全不关联的中间区块的区块标识,基于设定随机算法产生随机数。具体的,可以是从所有的中间区块中获取至少一个与业务事务请求完全不关联的中间区块,计算该中间区块的区块标识,根据种子事务请求中的种子字符串,以及至少一个与业务事务请求完全不关联的中间区块的区块标识,基于设定随机算法产生随机数。
在本实施例中,存在至少一个中间区块不存在与业务事务请求关联的数据,可以是刻意控制的,例如,可以是区块链节点根据本地部署的随机数智能合约,识别是否存在与业务事务请求完全不关联的中间区块,若存在,则根据种子事务请求中的种子字符串,以及至少一个与业务事务请求完全不关联的中间区块的区块标识,基于设定随机算法产生随机数。可选的,至少一个中间区块不存在与业务事务请求关联的数据的现象还可能是自然形成的,无需进行刻意的控制,因为生成一个区块的速度可能很快,如可能0.3秒就生成一个区块,因此在处理业务事务请求关联的响应事务请求时,并不是生成每一个区块时都有与业务事务请求关联的数据被获取并存储在区块中,例如,若业务事务请求为竞猜发起请求,该竞猜发起请求中规定1天后公布答案,在这1天的时间内,产生了几十万个区块,但是参与本次竞猜的响应方不可能是时时刻刻的都进行竞猜,所以不可能几个万个区块中每个区块里都有竞猜答案。又或者规定的竞猜截止时间至竞猜公布时间之间,间隔较长,那就必然有中间区块是没有存储与竞猜相关的数据。
S205,根据随机数以及业务事务请求产生业务处理结果,添加到结果区块中。
本发明实施例提供的区块链的随机数生成方法,在处理需要使用随机数的业务事务请求时,在发起区块之后,等待设定数量的中间区块直至结果区块的生成周期,再通过业务参与方节点发送的种子事务请求中的种子字符串,以及与业务事务请求无关联的中间区块的区块标识,基于设定随机算法生成随机数,进而完成后续业务事务请求的处理操作。采用中间区块,尤其是与业务事务请求无关的中间区块的区块标识生成随机数,避免了业务参与方恶意干扰随机数生成的情况,进一步提高了随机数生成过程的安全性。
实施例三
图3是本发明实施例三提供的一种区块链的随机数生成方法的流程图,该方法以前述实施例为基础,具体给出了当业务事务请求为发起事务请求时,如何执行区块链的随机数生成方法的具体情况介绍。如图3所示,该方法包括:
S301,获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中。
可选的,本实施例中的业务事务请求首先为发起事务请求,发起方基于业务智能合约和发起数据生成发起事务请求后,将该发起事务请求发送至区块链网络,区块链网络节点(如区块生成节点)接收到该发起事务请求,并进行处理,得到该发起事务请求的发起数据添加到发起区块中。区块链中的其他节点(即响应方)接收到该业务事务请求后,若想参与到发起事务请求中,则会基于业务智能合约,根据该发起事务请求以及响应数据,生成响应事务请求,并将该响应事务请求发送至区块链网络,此时区块链节点(如区块生成节点)接收该响应事务请求,并进行处理,得到该响应事务请求的响应数据作为事务数据也添加到发起区块中。
示例性的,竞猜发起方基于竞猜发起智能合约和竞猜发起数据生成竞猜发起事务请求,并将该竞猜发起事务请求发送至区块链网络。此时区块生成节点接收该竞猜发起事务请求,并进行处理,得到该竞猜发起事务请求的发起数据,如竞猜的题目、标准答案、竞猜选项、竞猜截至时间、竞猜发起方信息、竞猜奖励等添加到发起区块中。若区块链中的其他节点接收到竞猜发起事务请求后,想要参与此次竞猜,此时该节点就是一个响应方,其会基于竞猜响应智能合约,根据接收到的竞猜发起事务请求以及其竞猜响应数据生成竞猜响应事务请求,发送至区块链网络,此时区块生成节点接收该竞猜响应事务请求,进行处理,得到该竞猜响应事务请求中的竞猜响应数据,如竞猜答案、竞猜时间、竞猜方信息等添加到发起区块中。
可选的,发起区块的个数可以是一个或多个,一个或多个区块中分别记录也是发起事务请求的发起数据和至少一个响应事务请求的响应数据。
S302,如果业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与业务事务请求关联的种子事务请求。
其中,提供所述种子事务请求的业务事务请求的业务参与方包括一个或多个;多个业务参与方包括业务事务请求的发起方和至少一个响应方。发起方和接收方都可以生成与业务事务请求关联的种子事务请求,如发起方生成的种子事务请求可以是与业务事务请求中的发起事务请求关联的种子事务请求;响应方生成的种子事务请求可以是与业务事务请求中的响应事务请求关联的种子事务请求。
可选的,在本实施例中,区块链节点在结果区块的生成周期中,接收到的与业务事务请求关联的种子事务请求可能是发起方和/或响应方发送的种子事务请求。其中,各业务参与方发送种子事务请求的时间可以是一致的,也可以是不同的,若各参与方不同时发送种子事务请求,则可以是规定一个接收时间,各业务参与方需要在该接收时间范围内发送其种子事务请求。
S303,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数。
可选的,根据种子事务请求中的种子字符串,基于设定随机算法产生随机数时,可以是根据发起方和/或响应方发送的种子事务请求,处理得到种子字符串,然后根据种子事务请求中的种子字符串,基于设定随机算法生成随机数。具体的,本实施例中如何根据种子事务请求中的种子字符串,基于设定随机算法产生随机数的方法,可以与上述各实施例类似,对此不再进行赘述。
S304,根据发起事务请求获取发起数据,根据发起事务请求所关联的至少一个响应事务请求获取响应数据;
可选的,由于发起数据和响应数据都存储在发起区块中。所以,根据发起事务请求获取发起数据,根据发起事务请求所关联的至少一个响应事务请求获取响应数据时,可以是遍历每一个发起区块,查看其中是否存储有发起事务请求对应的发起数据,和/或与发起事务请求所关联的至少一个响应事务请求对应的响应数据,若有,则获取该发起数据和/或响应数据。
S305,根据发起数据、响应数据和随机数,运行业务事务请求的业务智能合约,以产生业务处理结果,添加到结果区块中。
其中,业务智能合约可以是约定了如何进行业务处理结果分析运算的方法和规则,其可以是基于共识机制和业务处理规则生成的,业务处理规则可以是业务事务请求中包含的本次处理结果的生成规则,也可以是区块链网络针对不同的业务事务请求预先确定的规则。可选的,区块链节点中部署的业务智能合约和业务参与方节点上部署的业务发起或响应智能合约可以是同一个智能合约。
可选的,根据发起数据、响应数据和随机数,运行业务事务请求的业务智能合约,以产生业务处理结果,添加到结果区块中,可以是将发起数据、响应数据和随机数作为业务智能合约的参数,根据该业务智能合约的参数,运行业务智能合约,得到本次业务事务请求的业务处理结果,然后将得到该业务处理结果添加到区块中。例如,若发起数据为竞猜发起事务请求的竞猜发起数据,响应数据为竞猜响应数据请求的竞猜响应数据,随机数为8,则将竞猜发起数据、竞猜响应数据以及随机数8作为竞猜智能合约参数,根据该竞猜智能合约参数,运行该竞猜智能合约,得到本次竞猜发起事务请求的业务处理结果是:所有竞猜正确的响应方按照竞猜时间顺序排序后,排序为号码带8的响应方为中奖方,如第8个、18个、28个等,并将上述竞猜处理结果写入结果区块中。
本发明实施例提供的区块链的随机数生成方法,在处理需要使用随机数的业务事务请求时,区块链节点通过业务参与方中的发起方和响应方发送的多个种子事务请求中的种子字符串,生成随机数,并根据发起业务事务请求关联的发起数据、响应数据和随机数,运行业务智能合约得到业务处理结果,完成了整个业务事务请求的处理操作。在区块链节点生成随机数的过程中,区块生成节点和业务发起方、业务响应方三者之间相互制约,保证了随机数生成环境的可信性,提高了随机数生成过程的安全性。
实施例四
图4为本发明实施例四提供的一种区块链的随机数生成方法的流程图,本实施例可适用于业务参与方如何协助区块链节点处理需要使用随机数的业务事务请求的情况,其中,业务参与方可以是发起业务事务请求的发起方,也可以是响应业务事务请求的响应方。业务参与方可以是区块链网络中的节点,也可以不是区块链网络中的节点,但是可以通过区块链网络中的节点参与到区块链网络中。该方法可以由配置于业务参与方的区块链的随机数生成装置或设备来执行,该装置可采用硬件和/或软件的方式实现,并可集成于承载区块链节点的电子设备中。
需要说明的是,上述各实施例的区块链节点处理的业务事务请求是本实施例中的业务参与方向区块链网络发送的,上述各实施例的区块链节点生成随机数所需的种子事务请求,也是本实施例中的业务参与方向区块链网络发送的,上述各实施例的区块链节点只有与本实施例的业务参与方节点进行交互,才可以完成对需要使用随机数的业务事务请求的处理。
如图4所示,具体包括如下步骤:
S401,产生种子事务请求并进行本地化存储。
可选的,业务参与方产生种子事务请求时,可以是按照种子智能合约的规定,随机产生一组种子字符串,然后运行种子智能合约,即可生成种子事务请求。其中,种子智能合约可以是规定了如何生成种子事务请求的具体规则。可选的,种子智能合约也可以与业务参与方生成业务事务请求的业务智能合约是同一个智能合约。
需要说明的是,业务参与方生成的种子事务请求是在区块链节点处理业务事务请求的过程中,需要生成随机数时,才发送至区块链网络的,但是为了防止业务参与方根据业务事务请求的发展过程,生成有利于自身利益的种子事务请求,业务参与方需要在向区块链网络发送业务事务请求之前生成种子事务请求,由于此时生成的种子事务请求并不需要立刻发送至区块链网络,所以,可以先将生成的种子事务请求存储在本地。
S402,将种子事务请求的事务标识,添加到业务事务请求中。
为了防止业务参与方根据业务事务请求的发展过程,篡改预先生成的种子事务请求,保证随机数生成的安全性,业务参与方在生成业务事务请求时,可以是先根据预先生成的种子事务请求,计算种子事务请求的事务标识,将该事务标识添加到业务事务请求中,这样区块链节点在接收到业务事务请求时,该业务事务请求对应的种子事务请求就唯一确定了,业务参与方也无法对该业务事务请求对应的种子事务请求进行篡改。
可选的,根据预先生成的种子事务请求,计算种子事务请求的事务标识的方法可以有很多,对此本实施例不进行限定。例如,可以是对种子事务请求按照一定的算法进行加密签名,将得到的签名作为该种子事务请求的事务标识;还可以是对生成种子事务请求中的种子字符串按照一定的算法进行加密,将得到的加密结果作为该种子事务请求的事务标识。
可选的,将种子事务请求的事务标识,添加到业务事务请求中时,可以是业务参与方在生成业务事务请求时,基于业务智能合约、业务数据以及种子事务标识来生成业务事务请求;也可以是基于业务智能合约和业务数据生成业务事务请求后,再将种子事务请求的事务标识直接添加到已生成的业务事务请求中,得到最终的业务事务请求。还可以是采用其他方式将种子事务请求的事务标识添加到业务事务请求中,对此本实施例不进行限定。
可选的,本发明实施例中,业务事务请求的业务参与方包括一个或多个;当业务参与方为一个时,可以是业务事务请求的发起方或响应方,当业务参与方为多个时,多个所述业务参与方包括业务事务请求的发起方和至少一个响应方;其中所述业务事务请求包括发起事务请求或响应事务请求。
S403,向区块链网络发送业务事务请求,以请求处理业务事务请求,并将业务事务数据添加到发起区块中。
示例性的,业务参与方在生成业务事务情求后,会向区块链网络发送该业务事务请求,以请求区块链网络中的区块链节点接收该业务事务请求,并进行处理,并将业务事务数据添加到发起区块中。
可选的,由于区块链节点将处理业务事务请求生成的业务事务数据存储在发起区块中,而将处理业务事务数据生成的业务处理结果存储在结果区块中,而结果区块和发起区块并不是同一个区块,结果区块是位于发起区块之后的区块,所以,如果所述业务事务请求需要使用随机数,则区块链节点需要根据所述业务事务请求配置的区块间隔或按照预设规则配置的区块间隔,等待设定数量的区块间隔直至所述结果区块的生成周期。此时可以是在业务发起方生成的业务事务请求中配置有区块间隔,该区块间隔为发起区块到达结果区块之间的区块高度。其中,区块间隔的设定数量可以是一个,也可以是多个,优选的,区块间隔的设定数量为至少两个。发起区块和结果区块之间的至少两个中间区块中,至少一个中间区块不存在与所述业务事务请求的关联数据。该情况可以是通过可控制形成的,也可以是自然形成的,对此上述实施例已经进行了介绍,对此不再赘述。
S404,向区块链网络发送与业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据种子事务请求中的种子字符串产生随机数,并根据随机数以及业务事务请求产生业务处理结果,添加到结果区块中。
其中,结果区块为发起区块的后续区块。结果区块可以是发起区块的下一个区块,也可以与发起区块之间间隔着至少一个中间区块。
可选的,业务参与方节点在结果区块的生成周期中,向区块链网络发送预先生成的与业务事务请求关联的种子事务请求,以请求区块链网络中的区块链节点接收到该种子事务请求后,根据种子事务请求中在字符串,基于设定随机算法产生随机数,然后根据生成的随机数以及业务事务请求产生业务处理结果,添加到结果区块中。
可选的,本发明实施例中,业务参与方节点向区块链网络发送与业务事务请求关联的种子事务请求的触发条件有很多,对此本实施例不进行限定。可以是接收到区块链节点发送的提供种子事务请求的通知时,触发向区块链网络发送种子事务请求;也可以是在参与方生成的业务事务请求的处理过程需要使用随机数时,业务参与方会对区块链节点对该业务事务请求的处理过程进行监测,若监测达到结果区块的生成周期,则会触发向区块链网络发送种子事务请求;具体的,可以是根据业务事务请求配置的区块间隔或按照预设规则配置的区块间隔,在接收到区块链节点发送的存储了业务事务数据的发起区块后,等待设定数量的区块间隔直至结果区块的生成周期,达到结果区块的生成周期时,会自动向区块链网络发送种子事务请求。
本实施例提供的区块链的随机数生成方法,业务参与方预先产生种子事务请求,并将种子事务请求的事务标识添加到业务事务请求中,向区块链网络发送业务事务请求,在区块链网络节点处理该业务事务请求,需要生成随机数时,再向区块链网络发送预先生成的种子事务请求,以使区块链节点根据该种子事务请求中的种子字符串,生成随机数,进而完成后续业务事务请求的处理操作。通过业务参与方约束区块链节点,防止区块链节点生成随机数时造假,提升了生成区块链随机数的公信力,提高随机数的安全性。
实施例五
图5为本发明实施例五提供的一种区块链的随机数生成方法的信令图;本实施例以前述各实施例为基础,提供了一种优选实例,该优选实例为区块链节点与竞猜发起方和竞猜响应方进行交互,通过自身生成的随机数,进而完成对竞猜发起事务请求处理的情况。如图5所示,该方法包括:
S501,竞猜发起方产生种子事务请求并进行本地化存储。
需要说明的是,在本实施例中,各节点(如区块链节点、竞猜发起方节点和竞猜响应方节点)都需要部预先署竞猜智能合约,竞猜发起方节点部署该竞猜智能合约的作用是:基于该竞猜智能合约生成竞猜发起事务请求。区块链节点部署该竞猜智能合约的作用是:基于该竞猜智能合约进行竞猜发起事务请求的处理。竞猜响应方节点部署该竞猜智能合约的作用是:基于该竞猜智能合约响应竞猜发起事务请求,进而生成响应竞猜事务请求。
可选的,若竞猜发起方想发起一次竞猜,其需要先按照竞猜智能合约(该竞猜智能合约中包含种子事务请求的生成规则)的规定,随机产生一组种子字符串,如“abc123”,然后根据生成种子字符串,运行该竞猜智能合约,产生种子事务请求,并将生成的种子事务请求存储在竞猜发起方的本地,竞猜发起方生成的种子事务请求是其本次要发起的竞猜对应的种子事务请求,即其本次要发起的竞猜发起事务请求对应的种子事务请求。
示例性的,竞猜智能合约可以是一个用户程序客户端,其可以是由一个主程序和多个子程序构成。竞猜发起方A想要发起竞猜时,启动该竞猜智能合约,进入竞猜智能合约界面,在该界面输入随机生成的种子字符串“abc123”,此时该竞猜智能合约就会自动运行,并生成种子事务请求,并将生成的种子事务请求进行本地存储。
S502,竞猜发起方将种子事务请求的事务标识,添加到竞猜发起事务请求中,并向区块链网络发送竞猜发起事务请求。
可选的,为了约束竞猜发起方篡改S501生成的种子事务请求,竞猜发起方需要根据S501中生成的种子事务请求,计算该种子事务请求的事务标识,在生成竞猜发起事务请求时,将计算出的种子事务请求的事务标识添加到该竞猜发起事务请求中。
示例性的,竞猜发起方A在生成种子事务请求之后,可以继续在竞猜智能合约界面,点击事务标识计算按键,此时竞猜智能合约就会自动运行,并生成种子事务请求的事务标识,然后竞猜发起方A在该界面输入本次竞猜的题目、标准答案、竞猜选项、竞猜截至时间、竞猜发起方信息、竞猜奖励等信息,点击竞猜事务请求生成按键,此时竞猜智能合约就会自动运行,生成包含事务标识的竞猜发起事务请求。竞猜发起方A可以通过其设备终端将生成的竞猜发起请求发送至区块链网络,以使区块链网络中的各节点接收并进行响应。
S503,区块链节点接收竞猜发起事务请求,并进行处理,以将竞猜发起数据添加到发起区块中。
示例性的,区块链节点接收到竞猜发起请求之后,会基于其节点上部署的竞猜智能合约对该竞猜发起请求进行处理,获取竞猜发起数据(如竞猜的题目、标准答案、竞猜选项、竞猜截至时间、竞猜发起方信息、竞猜奖励等等),添加到当前区块中,此时添加有竞猜发起数据的当前区块为发起区块。
S504,竞猜响应方产生种子事务请求,本进行本地化存储。
可选的,区块链中的其他节点若接收到竞猜发起方A发送的竞猜事务请求时,若想参与本次竞猜,该节点就是一个竞猜响应方节点,可选的,针对一个竞猜发起事务请求,其对应的竞猜响应方的个数可以是0个、1个或多个。竞猜响应方的个数可以是根据实际想要参与到该竞猜的节点方的个数确定的。
示例性的,以一个竞猜响应方为例,当竞猜响应方B想要参与竞猜发起方A发送的竞猜发起事务请求时,其可以采用竞猜发起方A生成种子事务请求的方法,来生成竞猜响应事务请求对应的种子事务请求,同样先不发送,而是存储在本地。
S505,竞猜响应方将种子事务请求的事务标识,添加到竞猜响应事务请求中,并向区块链网络发送竞猜响应事务请求。
可选的,同样,为了约束竞猜响应方篡改S504中生成的种子事务请求,竞猜响应方需要根据S504中生成的种子事务请求,计算种子事务请求的事务标识,在生成竞猜响应事务请求时,将计算出的种子事务请求的事务标识添加到该竞猜响应事务请求中。
示例性的,竞猜响应方B接收到竞猜发起方A发送的竞猜发起事务请求后,确定其竞猜答案,然后在竞猜智能合约界面,点击竞猜按键,此时竞猜智能合约就会自动运行,并生成种子事务请求的事务标识,然后进入竞猜响应界面,竞猜响应方B在该界面输入响应方信息(如姓名、电话、邮箱等)、竞猜答案、竞猜时间等信息,点击竞猜响应事务请求生成按键,此时,竞猜智能合约就会自动运行,生成包含事务标识的竞猜响应事务请求。竞猜响应方B可以通过其设备终端将生成的竞猜响应请求发送至区块链网络,以使区块链网节点接收并进行响应。
S506,区块链节点接收竞猜响应事务请求,并进行处理,以将竞猜响应数据添加到发起区块中。
示例性的,区块链节点接收竞猜响应方发送的竞猜响应事务请求后,会基于其节点上部署的竞猜智能合约对竞猜响应请求进行处理,获取竞猜响应数据(如响应方信息、竞猜答案、竞猜时间等),添加到当前区块中,此时添加有竞猜响应数据的当前区块同样可以为发起区块。可选的,发起区块的个数可以是一个,也可以是多个,具体的个数根据竞猜响应方的个数以及响应数据的多少而确定,可选的,若发起区块为多个时,第一个发起区块与结果区块之间的发起区块可以作为中间区块。
可选的,区块链节点在处理竞猜响应事务请求的过程中,还可以增加本地化处理过程,以便于后续快速进行竞猜结果的计算。例如,可以是设置一个计数器来进行结果区块生成周期的计时,如果达到结果区块生成周期,则说明本次竞猜发起事务请求的竞猜已截至,不在响应竞猜响应事务请求;还可以是统计响应本次竞猜发起事务请求的竞猜响应方的个数、统计各答案、竞猜时间等;还可以是统计记录有竞猜响应数据的区块的标识等等。
S507,如果竞猜发起事务请求需要使用随机数,则竞猜发起方向区块链网络发送与竞猜发起事务请求关联的种子事务请求,竞猜响应方向区块链网络发送与竞猜响应事务请求关联的种子事务请求。
示例性的,若竞猜发起事务请求需要使用随机数,则竞猜发起方和竞猜响应方会在达到种子事务请求发送的触发条件时,向区块链网络发送种子事务请求,具体的,竞猜发起方向区块链网络发送的是与竞猜发起事务请求关联的种子事务请求;竞猜响应方向区块链网络发送的是与竞猜响应事务请求关联的种子事务请求。
可选的,竞猜发起方和竞猜响应方达到种子事务请求的触发条件上述实施例已经进行介绍,对此不再进行赘述。可选的,若触发条件是接收到区块链节点发送的提供种子事务请求的通知时,触发向区块链网络发送种子事务请求,则在本步骤之前,还可能包括:如果区块链节点确定所述竞猜发起事务请求需要使用随机数,则通知竞猜发起事务请求的参与方(即竞猜发起方和竞猜响应方)提供种子事务请求。
S508,如果竞猜发起事务请求需要使用随机数,则根据竞猜发起事务事务请求配置的区块间隔或按照预设规则配置的区块间隔,等待设定数量的区块间隔直至结果区块的生成周期,在结果区块的生成周期中,区块链节点接收与竞猜发起事务请求关联的种子事务请求和与竞猜响应事务请求关联的种子事务请求。
其中,设定数量为至少两个,所述发起区块和所述结果区块之间的中间区块中,至少一个中间区块不存在与所述业务事务请求关联的数据。
S509,区块链节点根据竞猜发起事务请求和竞猜响应事务请求中携带的种子事务标识,对接收到的种子事务请求进行验证。
示例性的,区块链节点计算接收到的所有种子事务请求的事务标识,然后将竞猜发起事务请求中携带的种子事务标识,与竞猜发起方发送的种子事务请求的事务标识进行比较,若一致,则说明竞猜发起方发送的种子事务请求验证成功;将竞猜响应事务请求中携带的种子事务标识,与其所属的竞猜响应方发送种子事务标识进行比较,若一致,则说明竞猜响应方发送的种子事务请求验证成功。
S510,若验证成功,则区块链节点调用随机数智能合约,根据种子事务请求中的种子字符串,以及中间区块的区块标识,基于设定随机算法产生随机数。
示例性的,区块链节点在对接收到的种子事务请求验证成功后,调用随机数智能合约,根据种子事务请求中的种子字符串、以及与竞猜事务请求无关的中间区块的区块标识,基于设定随机数算法产生随机数。
S511,区块链节点根据竞猜发起事务请求获取竞猜发起数据,根据竞猜发起事务请求所关联的至少一个竞猜响应事务请求获取竞猜响应数据。
示例性的,由于区块链节点之前在本地化处理的过程中,已经统计了记录竞猜发起数据的区块标识和竞猜响应数据的区块标识,所以,此时可以根据竞猜发起请求查找之前的统计的存储该竞猜发起请求的竞猜发起数据的区块标识,然后查找具有该区块标识的区块,进而获取竞猜发起数据;同理,根据竞猜响应请求查找之前的统计的存储该竞猜响应请求的竞猜响应数据的区块标识,然后查找具有该区块标识的区块,进而获取竞猜响应数据。
S512,区块链节点根据竞猜发起数据、竞猜响应数据和随机数,运行竞猜发起事务请求的竞猜智能合约,以产生竞猜处理结果,添加到结果区块中。
示例性的,由于竞猜智能合约中已经规定了如何处理得到竞猜处理结果,此时根据竞猜发起数据、竞猜响应数据和随机数,运行竞猜发起事务请求的竞猜智能合约,该合约就会根据预先设置的程序代码,确定出竞猜正确的响应方,进而基于随机数确定获奖的各响应方以及其对应的奖励元素。
可选的,本实施例中,区块链节点在接收各响应方发送竞猜响应事务请求时,可以从各响应方账户扣除一定的激励元素(如0.1积分)作为竞猜资格费,并将扣除的激励元素添加到竞猜发起方账户;在按照确定的竞猜结果,向获奖的各竞猜响应方发放其奖项对应的奖励元素(如一等奖10积分,二等奖5积分,三等奖2积分)时,可以从竞猜发起方账户扣除相应的奖励元素,并添加到各获奖的竞猜响应方账户。可选的,区块链节点可以从竞猜资格费和竞猜奖金中获取一定的激励元素作为管理费用。
本发明实施例提供的区块链的随机数生成方法。区块链节点在处理竞猜发起请求的过程中,通过与竞猜发起方和竞猜参与方进行交互,获取种子字符串,生成随机数,进而完成对竞猜发起事务请求的处理,得到竞猜处理结果添加到区块。本发明的方案由竞猜参与者(即竞猜发起方和竞猜响应方)和区块链节点之间相互约束,避免了参与方和区块链节点为了自身利益作假的现象,同时也能够防止其他节点通过攻击手段预测区块链节点生成的随机数,在实现区块链网络去中心化生成随机数的基础上,保证了生成区块链随机数的公信力和安全性。
实施例六
图6为本发明实施例六提供的一种区块链的随机数生成装置的结构框图,该装置可配置于区块链节点中。其中,区块链节点可以是区块链网络中的区块生成节点;也可以是区块链网络中的其他节点(如验证节点)。该装置可执行本发明实施例一至实施例三,以及实施例五所提供的任意一种区块链的随机数生成方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置可以包括:
业务请求获取模块601,用于获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;
种子请求接收模块602,用于如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;
随机数生成模块603,用于根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;
结果处理添加模块604,用于根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。
本实施例提供的区块链的随机数生成装置,在处理需要使用随机数的业务事务请求时,区块链节点通过业务事务请求的业务参与方节点发送的种子事务请求中的种子字符串,生成随机数,进而完成后续业务事务请求的处理操作。解决了中心化服务机构生成的随机数存在各种不安全的问题,以提升生成区块链随机数的公信力,提高随机数的安全性。
进一步的,上述装置还包括:
种子请求验证模块,用于根据所述业务事务请求中携带的种子事务标识,对所述种子事务请求进行验证。
进一步的,上述装置还包括:
等待模块,用于如果所述业务事务请求需要使用随机数,则根据所述业务事务请求配置的区块间隔或按照预设规则配置的区块间隔,等待设定数量的区块间隔直至所述结果区块的生成周期。
进一步的,上述设定数量为至少两个。
进一步的,上述发起区块和所述结果区块之间的中间区块中,至少一个中间区块不存在与所述业务事务请求关联的数据。
进一步的,上述随机数生成模块603具体用于:
根据所述种子事务请求中的种子字符串,以及所述中间区块的区块标识,基于设定随机算法产生随机数。
进一步的,提供所述种子事务请求的业务事务请求的业务参与方包括一个或多个;多个所述业务参与方包括业务事务请求的发起方和至少一个响应方;所述业务事务请求包括发起事务请求或响应事务请求。
进一步的,结果处理添加模块604具体用于:
根据所述发起事务请求获取发起数据,根据所述发起事务请求所关联的至少一个响应事务请求获取响应数据;
根据所述发起数据、响应数据和所述随机数,运行所述业务事务请求的业务智能合约,以产生业务处理结果,添加到所述结果区块中。
进一步的,上述发起区块为一个或多个;多个所述发起区块中分别记录所述发起数据和至少一个响应数据。
进一步的,上述发起事务请求为竞猜发起事务请求,所述响应事务请求为竞猜响应事务请求。
进一步的,随机数生成模块603具体用于:
调用随机数智能合约,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数。
进一步的,上述装置还包括:
请求提供通知模块,用于如果所述业务事务请求需要使用随机数,则通知所述业务事务请求的业务参与方提供所述种子事务请求。
实施例七
图7为本发明实施例七提供的一种区块链的随机数生成装置的结构框图,该装置可配置于业务参与方。业务参与方可以是发起业务事务请求的发起方,也可以是响应业务事务事务请求的响应方。业务参与方可以是区块链网络中的节点,也可以是不是区块链网络中的节点,但是可以通过区块链网络中的节点参与到区块链网络中。该装置可执行本发明实施例四至实施例五所提供的任意一种区块链的随机数生成方法,具备执行方法相应的功能模块和有益效果。如图7所示,该装置可以包括:
业务请求发送模块701,用于向区块链网络发送业务事务请求,以请求处理所述业务事务请求,并将业务事务数据添加到发起区块中;
种子请求发送模块702,用于向区块链网络发送与所述业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据所述种子事务请求中的种子字符串产生随机数,并根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中;其中,所述结果区块为发起区块的后续区块。
本实施例提供的区块链的随机数生成装置,业务参与方预先产生种子事务请求,并将种子事务请求的事务标识添加到业务事务请求中,向区块链网络发送业务事务请求,在区块链网络节点处理该业务事务请求,需要生成随机数时,再向区块链网络发送预先生成的种子事务请求,以使区块链节点根据该种子事务请求中的种子字符串,生成随机数,进而完成后续业务事务请求的处理操作。通过业务参与方约束区块链节点,防止区块链节点生成随机数时造假,提升了生成区块链随机数的公信力,提高随机数的安全性。
进一步的,上述装置还包括:
种子请求产生模块,用于产生种子事务请求并进行本地化存储;
标识添加模块,用于将所述种子事务请求的事务标识,添加到所述业务事务请求中。
进一步的,上述业务事务请求中配置有区块间隔,所述区块间隔为所述发起区块到达所述结果区块之间的区块高度。
进一步的,上述区块间隔的设定数量为至少两个。
进一步的,上述发起区块和所述结果区块之间的中间区块中,至少一个中间区块不存在与所述业务事务请求的关联数据。
进一步的,上述业务事务请求的业务参与方包括一个或多个;多个所述业务参与方包括业务事务请求的发起方和至少一个响应方;所述业务事务请求包括发起事务请求或响应事务请求。
实施例八
图8为本发明实施例八提供的一种设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性设备80的框图。图8显示的设备80仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图8所示,该设备80以通用计算设备的形式表现。该设备80的组件可以包括但不限于:一个或者多个处理器或者处理单元801,***存储器802,连接不同***组件(包括***存储器802和处理单元801)的总线803。
总线803表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
设备80典型地包括多种计算机***可读介质。这些介质可以是任何能够被设备80访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器802可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)804和/或高速缓存存储器805。设备80可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***806可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线803相连。***存储器802可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块807的程序/实用工具808,可以存储在例如***存储器802中,这样的程序模块807包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块807通常执行本发明所描述的实施例中的功能和/或方法。
设备80也可以与一个或多个外部设备809(例如键盘、指向设备、显示器810等)通信,还可与一个或者多个使得用户能与该设备交互的设备通信,和/或与使得该设备80能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口811进行。并且,设备80还可以通过网络适配器812与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器812通过总线803与设备80的其它模块通信。应当明白,尽管图中未示出,可以结合设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。例如,若设备80配置于区块链节点设备中,则实现本发明实施例一至实施例三,以及实施例五任意所述的区块链的随机数生成方法;若设备80配置于业务参与方设备,则实现本发明实施例四到实施例五所述的区块链的随机数生成方法。
实施例九
本发明实施例九还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时可用于执行上述任意一种区块链的随机数生成方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (22)
1.一种区块链的随机数生成方法,其特征在于,由区块链节点执行,所述方法包括:
获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;
如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;
根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;
根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。
2.根据权利要求1所述的方法,其特征在于,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数之前,还包括:
根据所述业务事务请求中携带的种子事务标识,对所述种子事务请求进行验证。
3.根据权利要求1所述的方法,其特征在于,获取业务事务请求之后,还包括:
如果所述业务事务请求需要使用随机数,则根据所述业务事务请求配置的区块间隔或按照预设规则配置的区块间隔,等待设定数量的区块间隔直至所述结果区块的生成周期。
4.根据权利要求3所述的方法,其特征在于,所述设定数量为至少两个。
5.根据权利要求4所述的方法,其特征在于,所述发起区块和所述结果区块之间的中间区块中,至少一个中间区块不存在与所述业务事务请求关联的数据。
6.根据权利要求4或5所述的方法,其特征在于,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数包括:
根据所述种子事务请求中的种子字符串,以及所述中间区块的区块标识,基于设定随机算法产生随机数。
7.根据权利要求1-5任一所述的方法,其特征在于,提供所述种子事务请求的业务事务请求的参与方包括一个或多个;多个所述参与方包括业务事务请求的发起方和至少一个响应方;所述业务事务请求包括发起事务请求或响应事务请求。
8.根据权利要求7所述的方法,其特征在于,根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中包括:
根据所述发起事务请求获取发起数据,根据所述发起事务请求所关联的至少一个响应事务请求获取响应数据;
根据所述发起数据、响应数据和所述随机数,运行所述业务事务请求的业务智能合约,以产生业务处理结果,添加到所述结果区块中。
9.根据权利要求8所述的方法,其特征在于,所述发起区块为一个或多个;多个所述发起区块中分别记录所述发起数据和至少一个响应数据。
10.根据权利要求9所述的方法,其特征在于,所述发起事务请求为竞猜发起事务请求,所述响应事务请求为竞猜响应事务请求。
11.根据权利要求1-5任一所述的方法,其特征在于,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数包括:
调用随机数智能合约,根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数。
12.根据权利要求1-5任一所述的方法,其特征在于,如果所述业务事务请求需要使用随机数之后,还包括:
如果所述业务事务请求需要使用随机数,则通知所述业务事务请求的业务参与方提供所述种子事务请求。
13.一种区块链的随机数生成方法,其特征在于,由业务参与方执行,所述方法包括:
向区块链网络发送业务事务请求,以请求处理所述业务事务请求,并将业务事务数据添加到发起区块中;
向区块链网络发送与所述业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据所述种子事务请求中的种子字符串产生随机数,并根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中;其中,所述结果区块为发起区块的后续区块。
14.根据权利要求13所述的方法,其特征在于,向区块链网络发送业务事务请求之前,还包括:
产生种子事务请求并进行本地化存储;
将所述种子事务请求的事务标识,添加到所述业务事务请求中。
15.根据权利要求13所述的方法,其特征在于,所述业务事务请求中配置有区块间隔,所述区块间隔为所述发起区块到达所述结果区块之间的区块高度。
16.根据权利要求15所述的方法,其特征在于,所述区块间隔的设定数量为至少两个。
17.根据权利要求16所述的方法,其特征在于,所述发起区块和所述结果区块之间的中间区块中,至少一个中间区块不存在与所述业务事务请求的关联数据。
18.根据权利要求13-17任一所述的方法,其特征在于,所述业务事务请求的业务参与方包括一个或多个;多个所述业务参与方包括业务事务请求的发起方和至少一个响应方;所述业务事务请求包括发起事务请求或响应事务请求。
19.一种区块链的随机数生成装置,其特征在于,配置于区块链节点中,所述装置包括:
业务请求获取模块,用于获取业务事务请求,并进行处理,以将业务事务数据添加到发起区块中;
种子请求接收模块,用于如果所述业务事务请求需要使用随机数,则在结果区块的生成周期中,接收与所述业务事务请求关联的种子事务请求;其中,所述结果区块为发起区块的后续区块,所述种子事务请求由所述业务事务请求的业务参与方提供;
随机数生成模块,用于根据所述种子事务请求中的种子字符串,基于设定随机算法产生随机数;
结果处理添加模块,用于根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中。
20.一种区块链的随机数生成装置,其特征在于,配置于业务参与方,所述装置包括:
业务请求发送模块,用于向区块链网络发送业务事务请求,以请求处理所述业务事务请求,并将业务事务数据添加到发起区块中;
种子请求发送模块,用于向区块链网络发送与所述业务事务请求关联的种子事务请求,以请求在结果区块的生成周期中,根据所述种子事务请求中的种子字符串产生随机数,并根据所述随机数以及所述业务事务请求产生业务处理结果,添加到所述结果区块中;其中,所述结果区块为发起区块的后续区块。
21.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12或13-18中任一所述的区块链的随机数生成方法。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12或13-18中任一所述的区块链的随机数生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910093971.8A CN109753269B (zh) | 2019-01-30 | 2019-01-30 | 区块链的随机数生成方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910093971.8A CN109753269B (zh) | 2019-01-30 | 2019-01-30 | 区块链的随机数生成方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753269A true CN109753269A (zh) | 2019-05-14 |
CN109753269B CN109753269B (zh) | 2021-11-09 |
Family
ID=66407213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910093971.8A Active CN109753269B (zh) | 2019-01-30 | 2019-01-30 | 区块链的随机数生成方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753269B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427782A (zh) * | 2019-07-23 | 2019-11-08 | 杭州云象网络技术有限公司 | 一种基于区块链的随机数生成方法 |
CN110780847A (zh) * | 2019-10-15 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN111125259A (zh) * | 2019-12-31 | 2020-05-08 | 预言机(重庆)科技有限公司 | 一种基于区块链底层的随机种子提供方法 |
TWI726650B (zh) * | 2020-03-11 | 2021-05-01 | 宏碁股份有限公司 | 區塊鏈亂數產生系統及區塊鏈亂數產生方法 |
CN113448541A (zh) * | 2020-03-26 | 2021-09-28 | 宏碁股份有限公司 | 区块链随机数生成***及区块链随机数生成方法 |
CN114338051A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链获取随机数的方法、装置、设备和介质 |
CN114422143A (zh) * | 2022-01-13 | 2022-04-29 | 中国平安人寿保险股份有限公司 | 基于人工智能的数据动态加密方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114988A1 (en) * | 2004-11-16 | 2006-06-01 | Cristina Gomila | Bit-accurate seed initialization for pseudo-random number generators used in a video system |
CN107862782A (zh) * | 2017-10-27 | 2018-03-30 | 链家网(北京)科技有限公司 | 基于以太坊区块链的抽签方法及装置 |
CN108365960A (zh) * | 2017-12-29 | 2018-08-03 | 北京欧链科技有限公司 | 随机数提供方法和装置 |
KR101887964B1 (ko) * | 2017-04-28 | 2018-08-13 | 주식회사 더블체인 | 양자난수 기반 보안기능을 가진 블록체인 코어서버 및 블록체인 보안방법 및 전자화폐 거래 시스템 |
CN108665253A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN108845790A (zh) * | 2018-06-20 | 2018-11-20 | 胡晓东 | 一种应用区块链来生成可信随机数的方法及相关装置 |
CN108964905A (zh) * | 2018-07-18 | 2018-12-07 | 胡祥义 | 一种安全高效的区块链实现方法 |
CN109002487A (zh) * | 2018-06-25 | 2018-12-14 | 百度在线网络技术(北京)有限公司 | 一种基于版权登记信息的后处理方法、装置、设备和介质 |
CN109034756A (zh) * | 2018-06-14 | 2018-12-18 | 胡晓东 | 基于随机数的区块链数字资产发行方法及相关装置 |
-
2019
- 2019-01-30 CN CN201910093971.8A patent/CN109753269B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114988A1 (en) * | 2004-11-16 | 2006-06-01 | Cristina Gomila | Bit-accurate seed initialization for pseudo-random number generators used in a video system |
KR101887964B1 (ko) * | 2017-04-28 | 2018-08-13 | 주식회사 더블체인 | 양자난수 기반 보안기능을 가진 블록체인 코어서버 및 블록체인 보안방법 및 전자화폐 거래 시스템 |
CN107862782A (zh) * | 2017-10-27 | 2018-03-30 | 链家网(北京)科技有限公司 | 基于以太坊区块链的抽签方法及装置 |
CN108365960A (zh) * | 2017-12-29 | 2018-08-03 | 北京欧链科技有限公司 | 随机数提供方法和装置 |
CN108665253A (zh) * | 2018-05-18 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的数据处理方法、装置、设备及存储介质 |
CN109034756A (zh) * | 2018-06-14 | 2018-12-18 | 胡晓东 | 基于随机数的区块链数字资产发行方法及相关装置 |
CN108845790A (zh) * | 2018-06-20 | 2018-11-20 | 胡晓东 | 一种应用区块链来生成可信随机数的方法及相关装置 |
CN109002487A (zh) * | 2018-06-25 | 2018-12-14 | 百度在线网络技术(北京)有限公司 | 一种基于版权登记信息的后处理方法、装置、设备和介质 |
CN108964905A (zh) * | 2018-07-18 | 2018-12-07 | 胡祥义 | 一种安全高效的区块链实现方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427782A (zh) * | 2019-07-23 | 2019-11-08 | 杭州云象网络技术有限公司 | 一种基于区块链的随机数生成方法 |
CN110780847A (zh) * | 2019-10-15 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN110780847B (zh) * | 2019-10-15 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN111125259A (zh) * | 2019-12-31 | 2020-05-08 | 预言机(重庆)科技有限公司 | 一种基于区块链底层的随机种子提供方法 |
CN111125259B (zh) * | 2019-12-31 | 2023-08-18 | 预言机(重庆)科技有限公司 | 一种基于区块链底层的随机种子提供方法 |
TWI726650B (zh) * | 2020-03-11 | 2021-05-01 | 宏碁股份有限公司 | 區塊鏈亂數產生系統及區塊鏈亂數產生方法 |
CN113448541A (zh) * | 2020-03-26 | 2021-09-28 | 宏碁股份有限公司 | 区块链随机数生成***及区块链随机数生成方法 |
CN113448541B (zh) * | 2020-03-26 | 2023-08-01 | 宏碁股份有限公司 | 区块链随机数生成***及区块链随机数生成方法 |
CN114422143A (zh) * | 2022-01-13 | 2022-04-29 | 中国平安人寿保险股份有限公司 | 基于人工智能的数据动态加密方法、装置、设备及介质 |
CN114422143B (zh) * | 2022-01-13 | 2023-06-20 | 中国平安人寿保险股份有限公司 | 基于人工智能的数据动态加密方法、装置、设备及介质 |
CN114338051A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链获取随机数的方法、装置、设备和介质 |
CN114338051B (zh) * | 2022-03-15 | 2022-06-21 | 北京百度网讯科技有限公司 | 区块链获取随机数的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109753269B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753269A (zh) | 区块链的随机数生成方法、装置、设备和存储介质 | |
US11706165B2 (en) | Personalized chatbots for inmates | |
KR102100976B1 (ko) | 스택 데이터 구조 백그라운드의 디지털 어시스턴트 프로세싱 | |
CN111033501B (zh) | 虚拟现实中对访问私有数据的安全授权 | |
CN111355781B (zh) | 一种语音信息交流的管理方法、装置和存储介质 | |
CN109074402A (zh) | 基于示例会话使用自然语言机器学习来响应用户请求的技术 | |
KR20150010988A (ko) | 대화 확립 방법, 서버, 장치, 시스템, 기기, 프로그램 및 기록매체 | |
CN112243526A (zh) | 语音辅助设备及其方法 | |
US11646033B2 (en) | Task completion based on speech analysis | |
US20160321945A1 (en) | System and method for strategic memory assessment and rehabilitation | |
CN104394169B (zh) | 双方采用匿名方式发送私信方法及服务器 | |
CN108153420A (zh) | 一种消息推送方法、装置、服务器和存储介质 | |
US11514385B2 (en) | Agent coaching system | |
US11495230B2 (en) | Predictive analysis system | |
US20240073320A1 (en) | Virtual caller system | |
US11743380B2 (en) | System and method for context aware audio enhancement | |
CN109615443A (zh) | 基于区块链的用户处理方法、装置、服务器及存储介质 | |
US11310365B2 (en) | Agent action ranking system | |
CN104598099B (zh) | 一种信息处理方法、装置及支付*** | |
WO2020037579A1 (zh) | 基于区块链***的人机识别方法、装置和存储介质 | |
US20200065056A1 (en) | Intelligent exercise music synchronization | |
US11875372B2 (en) | Systems and methods for an interactive online platform | |
JP6349149B2 (ja) | レッスン進行システム、レッスン進行方法およびレッスン進行プログラム | |
JP6995966B2 (ja) | スタック形式のデータ構造のデジタルアシスタント処理 | |
CN116610790B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |