CN110597489A - 一种随机数生成方法、设备及介质 - Google Patents
一种随机数生成方法、设备及介质 Download PDFInfo
- Publication number
- CN110597489A CN110597489A CN201910922577.0A CN201910922577A CN110597489A CN 110597489 A CN110597489 A CN 110597489A CN 201910922577 A CN201910922577 A CN 201910922577A CN 110597489 A CN110597489 A CN 110597489A
- Authority
- CN
- China
- Prior art keywords
- block
- random number
- link point
- block chain
- hash value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012795 verification Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 27
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000013524 data verification Methods 0.000 description 5
- 239000002131 composite material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例提出了一种随机数生成方法、设备及介质。其中,随机数生成方法具体是:获取交易数据,并根据所述交易数据生成区块;在所述区块共识通过后,获取所述区块的哈希值;根据所述哈希值生成随机数;将所述随机数发送给区块链网络中的各个区块链节点设备。这种基于区块链生成随机数的方法,在区块链网络中有多个区块链节点设备的见证,具有公信力,并且生成随机数的过程公开透明,可靠性高。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种随机数生成方法、设备及介质。
背景技术
在人们的生活中,很多场景都需要用到随机数,例如福利彩票,车牌摇号,公共用房分配等竞猜应用。目前,产生随机数的方法主要是借助计算机,根据本机硬件情况,在中心化系统中通过特定的随机数生成算法产生随机数,往往这种生成随机数的方法是依赖于中心化系统。例如,在竞猜应用里,需要使用随机数,来保证结果的随机性。参与竞猜应用的用户需要向中心化系统提交竞猜订单,中心化系统根据规则收集用户的信息,然后生成竞猜结果。
在整个过程中,客户端不会参与竞猜结果的计算,竞猜结果本质上是由中心化系统生成的一串随机数。当出现巨大利益诱惑时,中心化系统可能会作弊,让自己从中得利。通过这种方式得到的随机数公信力较差,并且存在安全漏洞,从而导致生成的随机数可靠性较低。
发明内容
本发明实施例提出了一种随机数生成方法、设备及介质,该方法生成的随机数有多个区块链节点设备见证,可提高随机数的公信力。
第一方面,本发明实施例提供了一种随机数生成方法,该方法包括:
获取交易数据,并根据所述交易数据生成区块;在所述区块共识通过后,获取所述区块的哈希值;根据所述哈希值生成随机数;将所述随机数发送给区块链网络中的各个区块链节点设备。
第二方面,本发明提供了一种区块链节点设备,该设备具有实现第一方面所述的随机数生成方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括:
区块生成单元,用于获取交易数据,并根据所述交易数据生成区块;
哈希值获取单元,用于在所述区块共识通过后,获取所述区块的哈希值;
随机数生成单元,用于根据所述哈希值生成随机数;
随机数发送单元,用于将所述随机数发送给区块链网络中的各个区块链节点设备。
第三方面,本发明实施例提供了一种区块链节点设备,该设备包括存储器、处理器,存储器存储一组程序代码,处理器调用存储器中存储的程序代码,用于执行第一方面所涉及到的操作。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于储存为区块链节点设备所用的计算机程序指令,其包含用于执行上述第一方面所涉及的程序。
采用本发明实施例,将交易数据上传至区块链节点设备,区块链节点设备根据交易数据生成区块,区块链网络中的各个区块链节点设备在参与对区块的共识后,区块链节点设备基于区块的哈希值生成随机数。通过这种方式生成的随机数有多个区块链节点设备的见证参与,具有公信力,并且生成随机数的过程公开透明,可靠性高。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种随机数生成系统的架构示意图;
图2是本发明实施例提供的一种区块链网络的架构示意图;
图3是本发明实施例提供的另一种区块链网络的架构示意图;
图4是本发明实施例提供的一种随机数生成方法的流程示意图;
图5是本发明实施例提供的另一种随机数生成方法的流程示意图;
图6是本发明实施例提供的另一种随机数生成方法的流程示意图;
图7是本发明实施例提供的一种区块链节点设备的结构示意图;
图8是本发明实施例提供的另一种区块链节点设备的结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
目前,产生随机数的方法主要是借助计算机,根据本机硬件情况,在中心化系统中通过特定的随机数生成算法产生随机数,往往这种生成随机数的方法是依赖于中心化系统。在整个过程中,客户端不会参与竞猜结果的计算,竞猜结果本质上是由中心化系统生成的一串随机数。当出现巨大利益诱惑时,中心化系统可能会作弊,让自己从中得利。通过这种方式得到的随机数公信力较差,并且存在安全漏洞,从而导致生成的随机数可靠性较低。
为解决上述问题,本发明实施例提出了一种随机数生成方法、设备及介质。该方法具体是:获取交易数据,并根据所述交易数据生成区块;在所述区块共识通过后,获取所述区块的哈希值;根据所述哈希值生成随机数;将所述随机数发送给区块链网络中的各个区块链节点设备。这种基于区块链生成随机数的方法,在区块链网络中有多个区块链节点设备的见证,公信力较好,并且生成随机数的过程公开透明,可靠性高。
请参见图1,图1是本发明实施例提供的一种随机数生成系统的架构示意图。图1所示的随机数生成系统的架构示意图有第一区块链节点设备、第二区块链节点设备、第三区块链节点设备,各个区块链节点设备上都存储有智能合约,以第一区块链节点设备为例,第一区块链节点设备运行智能合约,以实现根据获取到的交易数据生成区块,在区块共识通过后,获取区块的哈希值,根据哈希值生成随机数,将随机数发送给区块链网络中的各个区块链节点设备,在区块链网络中,各个区块链节点设备参与区块的共识。需要说明的是,图1所示的随机数生成系统的架构示意图中的第一区块链节点设备、第二区块链节点设备、第三区块链节点设备仅用于示例,并不构成对本发明实施例的限定。例如,在其它可行的实施例中,随机数生成方法的架构示意图可以有第四区块链节点设备、第五区块链节点设备等。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,是一段写在区块链上的代码。第一区块链节点设备可使用智能合约对交易数据的交易签名进行验证,第一区块链节点设备还可使用智能合约将哈希值转换为随机数。
哈希值,又称:散列函数(或散列算法,又称哈希函数)是一种从任何一种数据中创建小的数字“指纹”的方法。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用一个随机字母和数字组成的字符串来代表。区块链网络中每一个信息具有唯一的哈希值,可通过哈希值判断信息是否被篡改。
为了更好的理解本发明实施例公开的一种随机数生成方法及设备,下面首先对本发明实施例适用的区块链网络的架构进行描述。
请参见图2,图2是本发明实施例公开的一种区块链网络的架构示意图。如图2所示,该区块链网络包括一个第一区块链节点设备201、一个第二区块链节点设备202和一个第三区块链节点设备203。第一区块链节点设备201是区块链网络中的任一区块链节点设备。客户端可以运行在区块链网络的任一区块链节点设备中,该客户端是经过区块链网络认证后的客户端。
以客户端运行在第一区块链节点设备201中为例,客户端检测到用户的操作时,生成交易数据,然后客户端将该交易数据发送给第一区块链节点设备201,并根据该交易数据生成区块发布到区块链网络中,当区块共识通过后,第一区块链节点设备201基于区块中的哈希值生成随机数。需要说明的是,图2所示的区块链网络由第一区块链节点设备201、一个第二区块链节点设备202和一个第三区块链节点设备203这三个区块链节点设备组成仅用于示例,并不构成对本发明实施例的限定。例如,在另一个示例中,区块链网络可由五个区块链节点设备组成。
请参见图3,图3是本发明实施例公开的另一种区块链网络的架构示意图。
客户端301独立于区块链网络的任一区块链节点设备,该客户端301可以是未经过区块链网络认证的客户端。客户端301将交易数据通过第一区块链节点设备302中的网络接口1发送至第一区块链节点设备302,第一区块链节点设备302根据该交易数据生成区块,第一区块链节点设备302还可通过第一区块链节点设备302中的网络接口2将交易数据发送给区块链网络中的第二区块链节点设备303以及第三区块链接点设备304。第二区块链节点设备303以及第三区块链接点设备304接收该交易数据并对该交易数据进行校验,将校验得到的校验结果返回至第一区块链节点设备302。当区块共识通过之后,第一区块链节点设备302获取区块的哈希值,第一区块链节点设备302根据区块的哈希值生成随机数,并将该随机数保存到第一区块链节点设备302的虚拟机中,记录账本。在第一块链节点设备302生成随机数以后,第一区块链节点设备302还可以通过网络接口2将该随机数发送给区块链网络中的第二区块链节点设备303以及第三区块链接点设备304,第二区块链节点设备303以及第三区块链接点设备304接收随机数并将该随机数保存至各自的虚拟机中。其中,所述第一区块链节点设备302为区块链网络中所有区块链节点设备根据共识算法选举出来的区块链节点设备,共识算法包括但不限于工作量证明(Proof of Work,PoW)算法、权益证明(Proofof Stake,PoS)算法、授权权益证明(Delegated Proof of Stake,DPoS)算法、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等。第二区块链节点设备303、第三区块链节点设备304是区块链网络中除去第一区块链节点设备302的其它区块链节点设备。其中,第一区块链节点设备302可以通过共识算法周期性选举得到,不同周期选举得到的第一区块链节点设备可以相同,也可以不相同。需要说明的是,图3所示的区块链网络由第一区块链节点设备302、一个第二区块链节点设备303和一个第三区块链节点设备304这三个区块链节点设备组成仅用于示例,并不构成对本发明实施例的限定。例如,在另一个示例中,区块链网络可由五个区块链节点设备组成。
在另一种实现方式中,客户端将交易数据发送至距离所述客户端最近的区块链节点设备302,或客户端将交易数据发送至与所述客户端通信质量最好的区块链节点设备302,所述区块链节点设备302基于该交易数据生成随机数。
可以理解的是,本发明实施例描述的区块链系统是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
基于图2与图3所示的区块链系统的架构示意图,请参见图4,图4是本发明实施例提供的一种随机数方法的流程示意图,该方法包括但不限于如下步骤S401-S407:
步骤S401:第一区块链节点设备获取交易数据,并根据所述交易数据生成区块。
具体实现时,第一区块链节点设备获取交易数据的来源可以是以下两种:一、来自客户端上传的交易数据请求;二、来自区块链网络中任意一个区块链节点设备上传的交易数据请求。其中,客户端可以运行于手机、计算机、掌上电脑或者可穿戴设备等设备中。
在一种实现方式中,第一区块链节点设备接收来自客户端上传的交易数据请求,所述交易数据上传请求中可以包含所述交易数据以及客户端的身份信息,第一区块链节点设备接收到交易数据上传请求后可以校验客户端的身份。例如,数据上传请求可以包含客户端的数字签名,其中,所述数字签名是指客户端根据客户端的私钥对所述交易数据进行签名处理得到的。第一区块链节点设备接收到交易数据上传请求之后,可以根据客户端的公钥,对交易数据请求中的数字签名进行校验,若校验成功,第一区块链节点设备对所述客户端的身份验证通过,第一区块链节点设备根据所述交易数据生成区块。通过这种方式,有利于提高交易数据的可信度。
在一种实现方式中,第一区块链节点设备接收来自区块链网络中任意一个区块链节点设备上传的交易数据。其中,所述第一区块链节点设备为区块链网络中所有区块链节点设备根据共识算法选举出来的区块链节点设备,第一区块链节点设备可以是由区块链网络中的所有区块链节点设备周期选举的,也可以是固定不变的,本发明实施例对此不作限定。
步骤S402:第一区块链节点设备发送区块到区块链网络。
具体实现时,第一区块链节点设备将区块发送到区块链网络中以使区块链网络中的各个区块链节点设备对所述区块中的交易数据进行校验。
在一种实现方式中,区块可以包含发送方(即第一区块链节点设备)的身份信息,第二区块链节点设备对区块中的交易数据进行校验的过程中,可以校验区块的发送方的身份,进而提高发布到区块链网络中的区块的可信度。
例如,区块可以包含第一区块链节点设备的数字签名,其中,数字签名是第一区块链节点设备根据第一区块链节点设备的私钥,对区块进行签名处理得到的。第二区块链节点设备接收来自第一区块链节点设备的区块之后,可以根据第一区块链节点设备的公钥,对数字签名进行校验,若校验成功,则表明区块的发送方为第一区块链节点设备。通过这种方式,有利于提高区块的可信度。
在一种实现方式中,区块还可以包含第一区块链节点设备的数字签名和第一区块链节点设备的数字证书。其中,第一区块链节点设备的数字证书可以是由区块链网络中的认证节点设备发送给第一区块链节点设备的。该数字证书包括但不限于认证节点设备的数字签名、第一区块链节点设备的身份信息和第一区块链节点设备的公钥。需要说明的是,认证节点设备可以是区块链网络中的任意一个或多个区块链节点设备,认证节点设备可以是由区块链网络中的所有区块链节点设备周期选举的,也可以是固定不变的,本发明实施例对此不作限定。
步骤S403:第二区块链节点设备获取区块中的交易数据,并对所述交易数据进行校验,得到校验结果。
具体实现时,第二区块链节点设备获取所述区块的区块标识;所述第二区块链节点设备校验区块的区块标识;当所述第二区块链节点设备对所述区块标识校验通过后,所述第二区块链节点设备获取所述区块中的交易数据。
步骤S404:第二区块链节点设备将校验结果发送给第一区块链节点设备。
在该技术方案中,第一区块链节点设备接收第二区块链节点设备的校验结果,进而确定区块中的交易数据是否通过区块链网络的校验,即交易数据校验结果是根据区块链网络中的各个第二区块链节点设备返回的交易数据校验结果共同确定的。通过这种方式,可以使得区块链网络中的各个第二区块链节点设备均参与针对交易数据的校验过程,有利于提高发布至区块链网络的区块的可信度。
具体实现时,在第二区块链节点设备完成对交易数据校验以后,第二区块链节点设备将校验结果发送给第一区块链节点设备,第一区块链节点设备接收第二区块链节点设备的校验结果。需要说明的是,不管校验结果为通过或者未通过,区块链网络中的各个第二区块链节点设备均可以向第一区块链节点设备发送交易数据的校验结果。其中,来自区块链网络中的各个区块链节点设备的交易数据校验响应所包含的针对交易数据的校验结果可以是相互独立的,即各个区块链节点设备针对交易数据进行的校验过程可以是不受其他区块链节点设备影响的。例如,来自一个区块链节点设备的交易数据校验结果可以是校验通过,来自另一个区块链节点设备的交易数据校验结果可以是校验未通过。
步骤S405:第一区块链节点设备接收第二区块链节点设备发送的校验结果,当区块共识通过后,第一区块链节点设备获取所述区块的哈希值。
具体实现时,第一区块链节点设备在接收到各个第二区块链节点设备对交易数据的校验结果后,第一区块链节点设备统计校验结果为校验成功的区块链节点设备的数量,第一区块链节点设备判断校验结果为校验成功的区块链节点设备的数量是否大于第二预设数量阈值,当校验成功的区块链节点设备的数量大于第二预设阈值时,确定区块共识通过,第一区块链节点设备基于哈希算法计算区块的哈希值。其中,哈希算法可以包括但不限于SHA512算法、SHA224算法、SHA384算法等。通过该方法计算区块的哈希值,使其不易被篡改。
其中,第二预设数量阈值可根据交易数据的不同类型设置不同的第二预设数量阈值。应用于实施例中,当交易数据类型为交易数据1时,交易数据1对应的第二预设数量阈值为第二预设数量阈值A;当交易数据类型为交易数据2时,交易数据2对应的第二预设数量阈值为第二预设数量阈值B;当交易数据类型为交易数据3时,交易数据3对应的第二预设数量阈值为第二预设数量阈值C。其中,第二预设数量阈值A、B、C均为正整数。
需要说明的是,第二预设数量阈值可以有多种参数形式,如正整数、或者百分比。
在一种实现方式中,若第二预设数量阈值为5时,当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为6时,此时校验成功的第二区块链节点设备的数量大于第二预设数量阈值5,说明该交易数据可信度很高,确定区块共识通过;当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为5,此时校验成功的第二区块链节点设备的数量等于第二预设数量阈值5,说明该教育信息可信度比较高,确定区块共识通过;当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为3,此时校验成功的第二区块链节点设备的数量小于第二预设数量阈值5,说明该交易数据可信度不够高,第一区块链节点设备则删除该交易数据。
在一种实现方式中,若第二预设数量阈值为70%,区块链节点设备总数量为11时,当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为8时,则校验结果为校验成功的第二区块链节点设备的数量百分比为80%,此时校验成功的区块链节点设备的数量百分比大于第二预设数量阈值70%,说明该交易数据可信度很高,确定区块共识通过;当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为7时,则校验结果为校验成功的第二区块链节点设备的数量百分比为70%,此时校验成功的区块链节点设备的数量百分比等于第二预设数量阈值70%,说明该交易数据可信度较高,确定区块共识通过;当第一区块链节点设备判断出校验结果为校验成功的第二区块链节点设备的数量为6,则校验结果为校验成功的第二区块链节点设备的数量百分比为60%,此时校验成功的区块链节点设备的数量百分比小于第二预设数量阈值70%,说明该交易数据可信度不够高,第一区块链节点设备则删除该交易数据。
需要说明的是,上述举例仅用于说明若各个第二区块链节点设备发送的校验结果为校验成功的数量超过第二预设数量阈值,则第一区块链节点设备确定区块共识通过。在其他可行的实现方式中,若各个第二区块链节点设备发送的校验结果为校验失败的数量超过第三预设数量阈值,则第一区块链节点设备确定区块共识未通过。其中,第二预设数量阈值和第三预设数量阈值可以相等,也可以不相等。
步骤S406:第一区块链节点设备根据哈希值生成随机数。
在一种实施方式中,第一区块链节点设备将所述随机数发送给区块链网络中的各个区块链节点设备之前,第一区块链节点设备可以统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的,当所述多个随机数的数量达到第一预设数量阈值时,第一区块链节点设备将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。例如,当第一预设数量阈值为8时,第一区块链节点设备统计生成得到的随机数数量为10,第一区块链节点设备将所述10个随机数发送给所述区块链网络中的各个区块链节点设备。
步骤S407:第一区块链节点设备将随机数发送给区块链网络中的各个区块链节点设备。
具体实现时,第一区块链节点设备将随机数发送给区块链网络中的各个区块链节点设备,各个区块链节点设备接收随机数,并将接收到的所述随机数存储到各自的区块链节点设备的虚拟机中。其中,虚拟机就是智能合约的运行环境,是一个可以完全对外隔离的完整计算机体系。
在一种实现方式中,第一区块链节点设备将随机数发送给区块链网络中的各个区块链节点设备之前,可以采用非对称加密算法对随机数创建密钥对,所述密钥对包括公钥和私钥。此处的非对称加密算法可包括但不限于:Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diddie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法)。第一区块链节点设备将公钥发送至各个第二区块链节点设备。第一区块链节点设备使用私钥对随机数进行处理,得到数字签名。第一区块链节点设备将数字签名和随机数发送至各个第二区块链节点设备,以使各个第二区块链节点设备使用公钥对数字签名进行解密,获取随机数。
本申请实施例提出了一种随机数生成方法,该方法基于区块链网络中的各个区块链节点设备产生随机数,由于有多个区块链节点设备的参与,因此产生的随机数具有公信力。
请参见图5,图5是本发明实施例提供的另一种随机数生成方法的流程示意图,该方法包括但不限于步骤S501-S508。
步骤S501:第一区块链节点设备获取交易数据,并根据所述交易数据生成区块。
步骤S502:第一区块链节点设备发送区块到区块链网络。
步骤S503:第二区块链节点设备获取区块中的交易数据,并对所述交易数据进行校验,得到校验结果。
步骤S504:第二区块链节点设备将校验结果发送给第一区块链节点设备。
步骤S505:第一区块链节点设备接收第二区块链节点设备发送的校验结果,当区块共识通过后,第一区块链节点设备获取所述区块的哈希值。
本申请实施例中的步骤S501-S505具体可参见上述实施例中步骤S401-S405的执行过程,本发明实施例不再赘述。
步骤S506:第一区块链节点设备将所述哈希值所包含的多个数字组成数字序列,所述数字序列所包含的数字的排列顺序和所述哈希值中所述数字的排列顺序相同。
在一种实现方式中,第一区块链节点设备获取的区块的哈希值为e401a2f533e85437,第一区块链节点设备将所述哈希值所包含的多个数字组成数字序列,即该数字序列为(4,0,1,2,5,3,3,8,5,4,3,7)。
在一种实现方式中,第一区块链节点设备将所述哈希值所包含的多个数字组成数字序列之前,第一区块链节点设备根据预设长度对所述哈希值进行截取,得到字符串,所述字符串的长度为所述预设长度,第一区块链节点设备根据所述字符串生成所述随机数。
其中,根据预设长度对所述哈希值进行截取的截取方式可以为以下三种:一、从哈希值的头部开始截取;二、从哈希值的尾部开始截取;三、从哈希值的任意位置开始截取,若哈希值任意字符开始至哈希值尾部的字符串长度小于预设长度,则往前挪一个字符,第一区块链节点设备判断此时哈希值中位于该字符后面的字符串长度是否大于或者等于预设长度,当大于或者等于预设长度时,则第一区块链节点设备则截取字符串并根据该字符串生成所述随机数,当仍然小于预设长度时,则第一区块链节点设备继续重复上述步骤,直至此时哈希值中位于该字符后面的字符串长度是否大于或者等于预设长度。其中,所述预设长度小于该哈希值的总长度。例如,预设长度为8,第一区块链节点设备截取哈希值中长度为8的字符串,假设截取的字符串为e401a2f5,第一区块链节点设备根据字符串e401a2f5生成所述随机数。
步骤S507:第一区块链节点设备将所述数字序列所包含的多个数字进行运算,得到随机数。
具体实现时,第一区块链节点设备确定位于目标数字之前且小于所述目标数字的数字数量为mi,所述目标数字为所述数字序列中的任一数字,第一区块链节点设备通过公式得到随机数。其中,n为所述目标数字在所述数字序列中的位数,i为所述数字序列所包含的数字数量总和。
在一种实现方式中,数字序列以步骤S506中的数字序列(4,0,1,2,5,3,3,8,5,4,3,7)为例,其中,从右至左方向,数字7在数字序列中处于第1位,数字3在数字序列中处于第2位,数字4在数字序列中处于第3位,以此类推,数字序列中位于最左侧的数字4在数字序列中处于第12位,第一区块链节点设备确定位于目标数字7之前且小于目标数字7的数字数量为m1=0,位于目标数字3之前且小于目标数字3的数字数量为m2=0,位于目标数字4之前且小于目标数字4的数字数量为m3=0,以此类推,m4~m12分别为2、4、0、0、4、0、0、0、6。通过公式计算1×m1+2×m2+…+12×m12=132,则第一区块链节点设备得到的随机数为132。
步骤S508:第一区块链节点设备将随机数发送给区块链网络中各个区块链节点设备。
具体实现时,第一区块链节点设备将随机数发送给区块链网络中各个区块链节点设备,各个区块链节点设备接收随机数并将接收到的随机数存储到各自的区块链节点设备的虚拟机中。
在一种实现方式中,第一区块链节点设备将随机数发送给区块链网络中各个区块链节点设备之前,还可以统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的,当所述多个随机数的数量达到第一预设数量阈值时,第一区块链节点设备将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。例如,假设第一预设数量阈值为6,当第一区块链节点设备生成得到第一个随机数后,将该随机数存储至第一区块链节点设备的虚拟机中,第一区块链节点设备继续生成得到第二个随机数,直到当第一区块链节点设备统计生成得到的随机数数量为6时,第一区块链节点设备将生成得到6个随机数一起发送给区块链网络中各个区块链节点设备。
本申请实施例提出了一种随机数生成方法,该方法基于区块链网络中的各个区块链节点设备产生随机数,由于有多个区块链节点设备的参与,因此产生的随机数具有公信力。
请参见图6,图6是本发明实施例提供的另一种随机数生成方法的流程示意图,该方法包括但不限于步骤S601-S609。
步骤S601:第一区块链节点设备获取交易数据,并根据所述交易数据生成区块。
步骤S602:第一区块链节点设备发送区块到区块链网络。
步骤S603:第二区块链节点设备获取区块中的交易数据,并对所述交易数据进行校验,得到校验结果。
步骤S604:第二区块链节点设备将校验结果发送给第一区块链节点设备。
步骤S605:第一区块链节点设备接收第二区块链节点设备发送的校验结果,当区块共识通过后,第一区块链节点设备获取所述区块的哈希值。
本申请实施例中的步骤S601-S605具体可参见上述实施例中步骤S401-S405的执行过程,本发明实施例不再赘述。
步骤S606:第一区块链节点设备将所述哈希值中的所有数字相加得到第一数值。
在一种实现方式中,第一区块链节点设备获取的区块的哈希值为e401a2f533e85437,第一区块链节点设备将所述哈希值中的所有数字相加,得到相加结果为45,则第一数值为45。
在一种实现方式中,第一区块链节点设备将所述哈希值中的所有数字相加得到第一数值之前,第一区块链节点设备根据预设长度对所述哈希值进行截取,得到字符串,所述字符串的长度为所述预设长度,第一区块链节点设备根据所述字符串生成所述随机数。若所述部分长度哈希值为数字序列,第一区块链节点设备则将所述数字序列中的所有数字相加得到随机数;若所述部分长度哈希值为字母序列,第一区块链节点设备则将所述部分长度哈希值中的每个字母转换为美国信息交换标准代码(American Standard Code forInformation Interchange,ASCII)所对应的十进制数字,并将各个所述十进制数字相加得到所述随机数;若所述部分长度哈希值为数字与字母组合的字符序列,第一区块链节点设备则将所述部分长度哈希值中的所有数字相加得到第一数值,第一区块链节点设备将所述部分长度哈希值中的每个字母根据ASCII码转换成相应的十进制数字,第一区块链节点设备并将各个所述十进制数字相加得到第二数值,第一区块链节点设备将所述第一数值与所述第二数值相加得到所述随机数。
例如,预设长度为8,第一区块链节点设备截取哈希值中长度为8的字符串,假设截取的字符串为e401a2f5,第一区块链节点设备根据字符串e401a2f5生成所述随机数。具体的,字符串e401a2f5是由数字与字母组合而成的,第一区块链节点设备则将所述字符串e401a2f5中的所有数字相加得到12,即第一数值为12,第一区块链节点设备将所述字符串e401a2f5中的每个字母根据ASCII码转换成相应的十进制数字,得到转换后的十进制数字分别为:101、97、102,第一区块链节点设备将各个十进制数字相加,得到相加结果为300,则第二数值为300,第一区块链节点设备将第一数值12与第二数值300相加,得到相加结果为312,即随机数为312。
其中,根据预设长度对所述哈希值进行截取的截取方式具体可参见上述实施例中步骤S506的执行过程,本发明实施例不再赘述。
步骤S607:第一区块链节点设备将所述哈希值中的每个字母根据ASCII码转换成相应的十进制数字,并将转换得到的所有十进制数字相加得到第二数值。
在一种实现方式中,所述哈希值以步骤S606中的哈希值e401a2f533e85437为例,第一区块链节点设备将所述哈希值中的每个字母根据ASCII码转换成相应的十进制数字,得到转换后的十进制数字分别为:101、97、102、101,第一区块链节点设备将各个十进制数字相加,得到相加结果为401,则第二数值为401。
步骤S608:第一区块链节点设备将第一数值与第二数值相加得到随机数。
具体实现时,第一区块链节点设备将步骤S406得到的第一数值与步骤S407第二数值相加得到随机数。例如,步骤S406得到的第一数值为45,步骤S407得到的第二数值为401,则将第一数值45与第二数值401相加,得到相加结果为446,即随机数为446。
步骤S609:第一区块链节点设备将随机数发送给区块链网络中的各个区块链节点设备。
具体实现时,第一区块链节点设备将随机数发送给区块链网络中各个区块链节点设备,各个区块链节点设备接收随机数并将接收到的随机数存储到各自的区块链节点设备的虚拟机中。
在一种实现方式中,第一区块链节点设备将随机数发送给区块链网络中各个区块链节点设备之前,还可以统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的,当所述多个随机数的数量达到第一预设数量阈值时,第一区块链节点设备将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。例如,假设第一预设数量阈值为6,当第一区块链节点设备生成得到第一个随机数后,将该随机数存储至第一区块链节点设备的虚拟机中,第一区块链节点设备继续生成得到第二个随机数,直到当第一区块链节点设备统计生成得到的随机数数量为6时,第一区块链节点设备将生成得到6个随机数一起发送给区块链网络中各个区块链节点设备。
本申请实施例提出了一种随机数生成方法,该方法基于区块链网络中的各个区块链节点设备产生随机数,由于有多个区块链节点设备的参与,因此产生的随机数具有公信力。
结合图1至图6所述实施例,本发明实施例可以通过上述方案生成随机数,将生成得到的随机数应用在多人的排序场景中。例如,第一区块链节点设备接收来自多个客户端的第一数字签名;第一区块链节点设备基于智能合约将各个第一数字签名进行合并;第一区块链节点设备计算得到合并后的第一数字签名的第一哈希值;第一区块链节点设备将第一哈希值转换为第一数值;第一区块链节点设备根据第一数值得到与多个客户端关联的第一合成随机数;第一区块链节点设备将第一合成随机数发送至各个客户端。
本申请实施例基于多个客户端的各个第一数字签名生成第一合成随机数,该第一合成随机数与各个客户端相关联,由各个客户端的第一数字签名决定,使得该第一合成随机数对于各个客户端来说具有公信力。
结合图1至图6所述实施例,本发明实施例可以通过上述方案生成随机数,将生成得到的随机数应用于抽奖的场景,该场景具体实现时,第一区块链节点设备接收随机数获取请求;第一区块链节点设备获取随机数;第一区块链节点设备根据哈希算法,获取随机数的哈希值;第一区块链节点设备将哈希值转换为数字序列;第一区块链节点设备根据数字序列的长度,得到阈值;第一区块链节点设备将数字序列中的每一位数字相加,得到目标数值;第一区块链节点设备根据目标数值与阈值,确定随机数对应的随机结果;第一区块链节点设备将随机结果发送给客户端。
本申请实施例中客户端获取的随机数来源于区块链网络中的区块链节点设备,可以保证随机数是可靠的,避免了中心化系统的作弊情况,通过这种方法得到的抽奖结果可靠性较强。
请参见图7,图7是本发明实施例提供的一种区块链节点设备的结构示意图,该区块链节点设备用于执行图4~图6对应的方法实施例中第一区块链节点设备所执行的步骤,该区块链节点设备可包括:
区块生成单元701,用于获取交易数据,并根据所述交易数据生成区块;
哈希值获取单元702,还用于在所述区块共识通过后,获取所述区块的哈希值;
随机数生成单元703,还用于根据所述哈希值生成随机数;
随机数发送单元704,用于将所述随机数发送给区块链网络中的各个区块链节点设备。
在一种实现方式中,区块生成单元701根据所述哈希值生成随机数,包括:
将所述哈希值所包含的多个数字组成数字序列,所述数字序列所包含的数字的排列顺序和所述哈希值中所述数字的排列顺序相同;
对所述数字序列所包含的多个数字进行运算,得到所述随机数。
在一种实现方式中,区块生成单元701对所述数字序列所包含的多个数字进行运算,得到所述随机数,包括:
确定位于目标数字之前且小于所述目标数字的数字数量mi,所述目标数字为所述数字序列中的任一数字;
通过公式得到所述随机数,n为所述目标数字在所述数字序列中的位数,i为所述数字序列所包含的数字数量总和。
在一种实现方式中,随机数生成单元703根据所述哈希值生成随机数,包括:
将所述哈希值中的所有数字相加得到第一数值;
将所述哈希值中的每个字母根据ASCII码转换成相应的十进制数字并将转换得到的所有十进制数字相加得到第二数值;
将所述第一数值与所述第二数值相加得到所述随机数。
在一种实现方式中,随机数生成单元703根据所述哈希值生成随机数之前,还包括:
根据预设长度对所述哈希值进行截取,得到字符串,所述字符串的长度为所述预设长度;
所述根据所述哈希值生成随机数,包括:
根据所述字符串生成所述随机数。
在一种实现方式中,随机数发送单元704将所述随机数发送给区块链网络中的各个区块链节点设备之前,还包括:
统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的;
当所述多个随机数的数量达到第一预设数量阈值时,将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。
在一种实现方式中,区块生成单元701获取交易数据,并根据所述交易数据生成区块之后,还包括:
将所述区块发送给所述区块链网络中的各个区块链节点设备;
接收各个所述区块链节点设备发送的校验结果,所述校验结果是各个所述区块链节点设备对所述区块进行校验后得到的;
当所述校验结果为校验成功的区块链节点设备的数量大于第二预设数量阈值时,确定所述区块共识通过。
所述区块链节点设备还可以包括接收单元705;
接收单元705,用于接收各个所述节点设备发送的校验结果;
当校验结果为校验成功的节点设备的数量大于第二预设数量阈值时,触发随机数生成单元703执行根据所述哈希值生成随机数的步骤。
在一种实现方式中,哈希值获取单元702,还用于接收单元705接收各个所述节点设备发送的校验结果之后,获取所述区块的哈希值。
需要说明的是,图7对应的实施例中未提及的内容以及各个模块执行步骤的具体实现方式可参见图4~图6所示实施例以及前述内容,这里不再赘述。
请参见图8,图8是本发明实施例提供的一种区块链节点设备的结构示意图,该区块链节点设备用于执行图4~图6对应的方法实施例中第一区块链节点设备所执行的步骤,该区块链节点设备80包括处理器801、存储器802、通信接口803,所述处理器801、所述存储器802、所述通信接口803通过一条或多条通信总线连接。
处理器801被配置为支持区块链节点设备执行图4-图6所示实施例中第一区块链节点设备相应的功能。该处理器801可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。
存储器802用于存储程序代码等。存储器802可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM);存储器802也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器802还可以包括上述种类的存储器的组合。
通信接口803用于接收和发送数据,例如,通信接口803用于接收来自第二区块链节点设备的校验结果,或者,通信接口803用于将区块发布给区块链网络中的各个区块链节点设备、通信接口803还用于将随机数发布给区块链网络中的各个区块链节点设备等。
在本发明实施例中,该区块链节点设备80包括多个通信接口,其中,用于发送数据的通信接口和用于接收数据的通信接口可以不为同一个通信接口。
处理器801以及通信接口803可以调用存储器802中存储的程序代码以执行以下操作:
处理器801,用于获取交易数据,并根据所述交易数据生成区块;
处理器801,还用于在所述区块共识通过后,获取所述区块的哈希值;
处理器801,还用于根据所述哈希值生成随机数;
通信接口803,用于将所述随机数发送给区块链网络中的各个区块链节点设备。
在一种实现方式中,处理器801根据所述哈希值生成随机数,包括:
将所述哈希值所包含的多个数字组成数字序列,所述数字序列所包含的数字的排列顺序和所述哈希值中所述数字的排列顺序相同;
对所述数字序列所包含的多个数字进行运算,得到所述随机数。
在一种实现方式中,处理器801对所述数字序列所包含的多个数字进行运算,得到所述随机数,包括:
确定位于目标数字之前且小于所述目标数字的数字数量mi,所述目标数字为所述数字序列中的任一数字;
通过公式得到所述随机数,n为所述目标数字在所述数字序列中的位数,i为所述数字序列所包含的数字数量总和。
在一种实现方式中,处理器801根据所述哈希值生成随机数,包括:
将所述哈希值中的所有数字相加得到第一数值;
将所述哈希值中的每个字母根据ASCII码转换成相应的十进制数字并将转换得到的所有十进制数字相加得到第二数值;
将所述第一数值与所述第二数值相加得到所述随机数。
在一种实现方式中,处理器801根据所述哈希值生成随机数之前,还包括:
根据预设长度对所述哈希值进行截取,得到字符串,所述字符串的长度为所述预设长度;
所述根据所述哈希值生成随机数,包括:
根据所述字符串生成所述随机数。
在一种实现方式中,处理器801将所述随机数发送给区块链网络中的各个区块链节点设备之前,还包括:
统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的;
当所述多个随机数的数量达到预设数量阈值时,将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。
在一种实现方式中,处理器801获取交易数据,并根据所述交易数据生成区块之后,还包括:
将所述区块发送给所述区块链网络中的各个区块链节点设备;
接收各个所述区块链节点设备发送的校验结果,所述校验结果是各个所述区块链节点设备对所述区块进行校验后得到的;
当所述校验结果为校验成功的区块链节点设备的数量大于预设阈值时,确定所述区块共识通过。
所述区块链节点设备还可以包括通信接口803;
通信接口803,用于接收各个所述节点设备发送的校验结果;
当校验结果为校验成功的节点设备的数量大于预设数量阈值时,触发处理器801执行根据所述哈希值生成随机数的步骤。
在一种实现方式中,处理器801,还用于通信接口803接收各个所述节点设备发送的校验结果之后,获取所述区块的哈希值。
本发明实施例还提供一种计算机可读存储介质,可以用于存储图4~图6所示实施例中区块链节点设备所用的计算机软件指令,其包含用于执行上述实施例中为区块链节点设备所设计的程序。
上述计算机可读存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种随机数生成方法,其特征在于,所述方法包括:
获取交易数据,并根据所述交易数据生成区块;
在所述区块共识通过后,获取所述区块的哈希值;
根据所述哈希值生成随机数;
将所述随机数发送给区块链网络中的各个区块链节点设备。
2.根据权利要求1所述的方法,其特征在于,所述根据所述哈希值生成随机数,包括:
将所述哈希值所包含的多个数字组成数字序列,所述数字序列所包含的数字的排列顺序和所述哈希值中所述数字的排列顺序相同;
对所述数字序列所包含的多个数字进行运算,得到所述随机数。
3.根据权利要求2所述的方法,其特征在于,所述对所述数字序列所包含的多个数字进行运算,得到所述随机数,包括:
确定位于目标数字之前且小于所述目标数字的数字数量mi,所述目标数字为所述数字序列中的任一数字;
通过公式得到所述随机数,n为所述目标数字在所述数字序列中的位数,i为所述数字序列所包含的数字数量总和。
4.根据权利要求1所述的方法,其特征在于,所述根据所述哈希值生成随机数,包括:
将所述哈希值中的所有数字相加得到第一数值;
将所述哈希值中的每个字母根据ASCII码转换成相应的十进制数字,并将转换得到的所有十进制数字相加得到第二数值;
将所述第一数值与所述第二数值相加得到所述随机数。
5.根据权利要求2-4所述的方法,其特征在于,所述根据所述哈希值生成随机数之前,还包括:
根据预设长度对所述哈希值进行截取,得到字符串,所述字符串的长度为所述预设长度;
所述根据所述区块信息生成随机数,包括:
根据所述字符串生成所述随机数。
6.根据权利要求1所述的方法,其特征在于,将所述随机数发送给区块链网络中的各个区块链节点设备之前,还包括:
统计生成得到的多个随机数的数量,不同随机数是根据不同区块的哈希值生成的,不同区块是根据不同交易数据生成的;
当所述多个随机数的数量达到第一预设数量阈值时,将所述多个随机数发送给所述区块链网络中的各个区块链节点设备。
7.根据权利要求1所述的方法,其特征在于,所述获取交易数据,并根据所述交易数据生成区块之后,还包括:
将所述区块发送给所述区块链网络中的各个区块链节点设备;
接收各个所述区块链节点设备发送的校验结果,所述校验结果是各个所述区块链节点设备对所述区块进行校验后得到的;
当所述校验结果为校验成功的区块链节点设备的数量大于第二预设数量阈值时,确定所述区块共识通过。
8.一种区块链节点设备,其特征在于,包括:
区块生成单元,用于获取交易数据,并根据所述交易数据生成区块;
哈希值获取单元,用于在所述区块共识通过后,获取所述区块的哈希值;
随机数生成单元,用于根据所述哈希值生成随机数;
随机数发送单元,用于将所述随机数发送给区块链网络中的各个区块链节点设备。
9.一种区块链节点设备,其特征在于,包括存储器以及处理器,所述存储器存储一组程序代码,所述处理器调用所述存储器中存储的程序代码,用于执行如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910922577.0A CN110597489B (zh) | 2019-09-26 | 2019-09-26 | 一种随机数生成方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910922577.0A CN110597489B (zh) | 2019-09-26 | 2019-09-26 | 一种随机数生成方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597489A true CN110597489A (zh) | 2019-12-20 |
CN110597489B CN110597489B (zh) | 2023-11-24 |
Family
ID=68864001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910922577.0A Active CN110597489B (zh) | 2019-09-26 | 2019-09-26 | 一种随机数生成方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597489B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259428A (zh) * | 2020-01-22 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、节点设备及存储介质 |
CN112214549A (zh) * | 2020-10-10 | 2021-01-12 | 中育数据(广州)科技有限公司 | 一种文件特征码生成方法、装置及电子设备 |
CN112398653A (zh) * | 2020-10-23 | 2021-02-23 | 陕西医链区块链集团有限公司 | 一种区块链共识验证方法 |
CN112562168A (zh) * | 2020-11-27 | 2021-03-26 | 中国联合网络通信集团有限公司 | 基于区块链的线上摇号方法、系统、设备及存储介质 |
CN113448541A (zh) * | 2020-03-26 | 2021-09-28 | 宏碁股份有限公司 | 区块链随机数生成系统及区块链随机数生成方法 |
WO2021197721A1 (en) * | 2020-03-31 | 2021-10-07 | Taal Dit Gmbh | Method and device for generating random numbers |
CN114154983A (zh) * | 2021-10-15 | 2022-03-08 | 海南火链科技有限公司 | 一种基于区块链的房产交易方法 |
CN116774970A (zh) * | 2023-08-22 | 2023-09-19 | 北京启源问天量子科技有限公司 | 基于量子随机数的id生成方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213059A (zh) * | 2019-06-20 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种随机数的生成方法、生成装置及存储介质 |
CN110210865A (zh) * | 2019-06-17 | 2019-09-06 | 北京艾摩瑞策科技有限公司 | 基于区块链的打包方法及装置 |
CN110222537A (zh) * | 2019-06-17 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 应用于区块链节的验证方法及装置 |
CN110223070A (zh) * | 2019-06-17 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的验证方法及装置 |
CN110247753A (zh) * | 2019-06-17 | 2019-09-17 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的出块方法及装置 |
-
2019
- 2019-09-26 CN CN201910922577.0A patent/CN110597489B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110210865A (zh) * | 2019-06-17 | 2019-09-06 | 北京艾摩瑞策科技有限公司 | 基于区块链的打包方法及装置 |
CN110222537A (zh) * | 2019-06-17 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 应用于区块链节的验证方法及装置 |
CN110223070A (zh) * | 2019-06-17 | 2019-09-10 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的验证方法及装置 |
CN110247753A (zh) * | 2019-06-17 | 2019-09-17 | 北京艾摩瑞策科技有限公司 | 基于区块链节点网络的出块方法及装置 |
CN110213059A (zh) * | 2019-06-20 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种随机数的生成方法、生成装置及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259428A (zh) * | 2020-01-22 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、节点设备及存储介质 |
CN113448541A (zh) * | 2020-03-26 | 2021-09-28 | 宏碁股份有限公司 | 区块链随机数生成系统及区块链随机数生成方法 |
CN113448541B (zh) * | 2020-03-26 | 2023-08-01 | 宏碁股份有限公司 | 区块链随机数生成系统及区块链随机数生成方法 |
WO2021197721A1 (en) * | 2020-03-31 | 2021-10-07 | Taal Dit Gmbh | Method and device for generating random numbers |
CN112214549A (zh) * | 2020-10-10 | 2021-01-12 | 中育数据(广州)科技有限公司 | 一种文件特征码生成方法、装置及电子设备 |
CN112214549B (zh) * | 2020-10-10 | 2024-06-04 | 中育数据(广州)科技有限公司 | 一种文件特征码生成方法、装置及电子设备 |
CN112398653A (zh) * | 2020-10-23 | 2021-02-23 | 陕西医链区块链集团有限公司 | 一种区块链共识验证方法 |
CN112562168A (zh) * | 2020-11-27 | 2021-03-26 | 中国联合网络通信集团有限公司 | 基于区块链的线上摇号方法、系统、设备及存储介质 |
CN114154983A (zh) * | 2021-10-15 | 2022-03-08 | 海南火链科技有限公司 | 一种基于区块链的房产交易方法 |
CN116774970A (zh) * | 2023-08-22 | 2023-09-19 | 北京启源问天量子科技有限公司 | 基于量子随机数的id生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110597489B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597489B (zh) | 一种随机数生成方法、设备及介质 | |
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
CN108768992B (zh) | 基于区块链的信息匿名传输方法、设备及可读存储介质 | |
RU2652443C1 (ru) | Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования | |
US20200311678A1 (en) | Smart contract execution using distributed coordination | |
Shukla et al. | Online voting application using ethereum blockchain | |
US10846372B1 (en) | Systems and methods for trustless proof of possession and transmission of secured data | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
US10887104B1 (en) | Methods and systems for cryptographically secured decentralized testing | |
JP7328237B2 (ja) | コンピュータにより実施される投票処理およびシステム | |
CN111556120A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
US11409907B2 (en) | Methods and systems for cryptographically secured decentralized testing | |
US11362836B2 (en) | Consensus protocol for permissioned ledgers | |
CN111698198B (zh) | 秘密生成和份额分发 | |
CN112513914A (zh) | 基于区块链的隐私交易中提供隐私和安全保护的系统和方法 | |
CN110867012A (zh) | 一种基于智能合约的去中心电子投票方法、装置、系统及存储介质 | |
CN114584294A (zh) | 不经意分散排列方法及装置 | |
CN110633071A (zh) | 一种随机数生成方法及装置 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN111260475A (zh) | 一种数据处理方法、区块链节点设备及存储介质 | |
CN112948499A (zh) | 信息获取方法和装置、电子设备和存储介质 | |
WO2022105518A1 (zh) | 电子投票方法及电子投票装置 | |
CN110941834B (zh) | 多方计算、数据审计、数据处理方法、系统及设备 | |
CN110585727B (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 |