CN114205087B - 一种基于区块链随机数产生的方法 - Google Patents
一种基于区块链随机数产生的方法 Download PDFInfo
- Publication number
- CN114205087B CN114205087B CN202111005759.5A CN202111005759A CN114205087B CN 114205087 B CN114205087 B CN 114205087B CN 202111005759 A CN202111005759 A CN 202111005759A CN 114205087 B CN114205087 B CN 114205087B
- Authority
- CN
- China
- Prior art keywords
- group
- round
- nodes
- node
- random number
- 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 30
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000000903 blocking effect Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000007599 discharging Methods 0.000 claims 3
- 230000006870 function Effects 0.000 description 23
- 239000002981 blocking agent Substances 0.000 description 8
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Abstract
本发明提出一种基于区块链的随机数的产生方法,区块链出块的每一个轮次会产生一个新的随机数,在进入第r轮时,随机选出一组作为第r轮潜在出块者群组;潜在出块者群组节点形成一个组签名;将所述组签名在区块链网络中进行广播,接收组签名的其他所述参与者节点进行验证信息验证;若验证有效,则接收所述组签名数据的所述参与者节点进行签名后重新广播;区块链网络中的其中一个节点已经收到门限值数量的不同节点的有效的签名,该节点进行签名,获得最终的组签名信息,计算组签名的哈希值,得到该轮的最终随机数,本发明提出的创造随机性的方案解决了关键的“最后一个参与者”问题,能够提供在多方参与下不会被人为操纵的“真随机数”。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种基于区块链随机数产生的方法。
背景技术
区块链技术发展迅速,已经在一些领域有了应用。区块链以其独有的特点能够解决一些传统领域一直存在的难题。在传统应用中,许多场景对于公开性、公平性和不可人为操纵的随机数有着强烈的需求,如在加密通信、线上抽签和区块链节点等多个领域,随机数的生成都处于至关重要的地位。在这些需要应用随机数的领域中,随机数生成过程的随机性和公平性会直接影响参与该领域活动的用户体验。但传统中心化无法满足这一需求。而区块链具有透明性、开放性、自治性和不可篡改性等特点。
目前去中心化协议在产生公共随机性都会遇到协议中的最后一个参与者可能知道下一个随机值并可以中止协议的问题,即“最后一个参与者”问题。现有技术中“最后一个参与者”问题会对区块链中产生的随机数的随机性产生很大的干扰,并且很容易去预测数据,从而导致区块链中的数据容易被人为控制利用和篡改。
发明内容
本发明的目的是为了解决现有技术中的问题,通过利用区块链的这些特点,提出了一个基于区块链的随机数生成方法,能够提供在多方参与下不会被人为操纵的随机数。
为了实现上述目的,本发明采用了如下技术方案:
一方面,本发明提出了一种基于区块链的随机数的产生方法,区块链网络出块的每一个轮次会产生一个新的随机数,包括以下步骤:
S1、在进入第r轮时,随机选出一组节点作为第r轮潜在出块者群组,所述潜在出块者群组包含节点的数量小于参于区块链的节点数;
S2、每个区块链节点生成各自的一对公钥和私钥,并将公钥信息进行广播;
S3、所述潜在出块者群组的全部节点形成一个组签名和组公钥;
S4、将所述组签名在整个区块链网络中进行广播,接收到所述组签名信息的其他节点使用节点自身的私钥和所述组公钥进行信息验证;
S5、若验证有效,则接收所述组签名的节点使用自身私钥进行签名后,并将信息重新广播;若验证无效,则第r轮的随机数产生失败,重新进入步骤S1 开始新的随机数计算;
S6、设置一个门限值;
S7、区块链网络中的其中一个节点已经收到所述门限值数量的不同节点的有效的签名,该节点对所述组签名信息进行签名后,形成最终组签名信息,计算所述最终组签名数信息的哈希值,得到第r轮的最终随机数。
优选地,所述第r轮的潜在出块者群组的选择方式与上一轮的随机值相关,首轮潜在出块者群组的选择方式与初始引导随机值有关,所述初始引导随机值在进行首轮出块前设置。
具体地,所述第r轮潜在出块者群组的选择步骤包括:
S10、设置一个初始随机参考值,所述初始随机参考值是具有固定长度的二进制数字;
S11、区块链节点将使用私钥对上一轮的产生的随机值进行签名,并将签名信息映射为固定长度的二进制数字,首轮使用的二进制数字是所述初始随机参考值;
S12、使用距离函数计算所述二进制数字与上一轮的随机参考值的距离,所述距离函数计算得到的数值作为节点在第r轮的节点级别;
S13、所有节点按照所述节点级别的大小进行节点排名,按照节点排名选择排名顺序靠前的节点作为第r轮的潜在出块者群组成员,所述节点排名第一的节点来产生该轮的随机参考值。
优选地,所述初始引导随机值是固定字节的哈希值。
优选地,所述组签名的计算与上一轮的随机值相关。
优选地,所述组签名的计算是所述潜在出块者群组的每个节点使用自身私钥对上一轮的随机数信息进行签名,形成签名碎片,然后使用比例函数将所述签名碎片组合成组签名,所述比例函数的参数与上一轮的随机数有关。
优选地,潜在出块者群组成员节点数量的大小由失效概率分析来决定。
优选地,所述门限值小于所述潜在出块者群组成员节点数量。
一方面,本发明提供一种计算机设备,包括处理器和存储器,所述存储器存储计算机程序,所述处理器根据所述计算机程序执行实现上述所述的方法。
一方面,本发明提供一种可读存储介质,存储计算机程序,所述计算机程序被用于实现上述任一项所述的方法。
与现有技术相比,本发明的有益效果在于:
本发明提出一种基于区块链的随机数的产生方法,区块链出块的每一个轮次会产生一个新的随机数,在进入第r轮时,随机选出一组节点作为第r轮潜在出块者群组,所述潜在出块者群组包含节点的数量小于参于区块链的节点数;每个区块链节点生成各自的一对公钥和私钥,并将公钥信息进行广播;所述潜在出块者群组的全部节点形成一个组签名和组公钥;将所述组签名在整个区块链网络中进行广播,接收到所述组签名信息的其他节点使用节点自身的私钥和所述组公钥进行信息验证;若验证有效,则接收所述组签名的节点使用自身私钥进行签名后,并将信息重新广播;或验证无效,则该轮的随机数产生失败,重新进入步骤S1开始新的随机数计算;设置一个门限值;区块链网络中的其中一个节点已经收到所述门限值数量的不同节点的有效的签名,该节点对所述组签名信息进行签名后,形成最终组签名信息,计算所述最终组签名数信息的哈希值,得到该轮的最终随机数。本发明提出的创造随机性的方案解决了关键的“最后一个参与者”问题,能够提供在多方参与下不会被人为操纵的“真随机数”,利用网络存在的不确定性,潜在出块者按一定的“随机规则”形成最终随机数,达到不能篡改和去预测数据的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为实施例一中的方案实现流程图;
图2为实施例二中的方案实现流程图;
图3为实施例三中的计算机设备的架构图;
图4为实施例四中的可读储存介质的架构图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
为了解决区块链去中心化协议中关键的“最后一个参与者”问题,能够提供在多方参与下不会被人为操纵的“真随机数”,本发明提出了一种基于区块链的随机数的产生方法。
在区块链网络中,从用户处接收到的所有新交易,会由新提议的区块来记录选定的交易构成,本发明提出的随机数的产生方案是在每一轮出块时都会产生该轮的随机数,每个轮次的随机数是不同的。
本实施例提出的基于区块链的随机数的产生方法的具体步骤如下:
S1、在进入第r轮时,随机选出一组节点作为第r轮潜在出块者群组,潜在出块者群组包含节点的数量小于参于区块链的节点数;
需要说明的是,区块链网络每次接收新交易,产生新提议区块的过程叫做一轮,步骤S1中的进入第r轮指的是第r次产生新区块。第r轮的潜在出块者群组是从当前区块链节点随机选择的,潜在出块者群组的节点数量是不会大于整个区块链网络的,第r轮的所述潜在出块者群组的选择可以采用随机函数产生。
优选地,初始引导随机值可以是固定字节的哈希值。
进一步需要说明的是,步骤S1中的潜在出块者群组的大小,是一个系统参数,在每一轮都是不一样的,可以由失效概率分析来选择的。一个足够大的组规模确保系统在受到威胁时,在一个可接受的失效概率内,在这里假设系统中使用的每个组都是诚实的。
优选地,第r轮的潜在出块者群组的选择方式与上一轮的随机值相关,首轮潜在出块者群组的选择方式与初始引导随机值相关,初始引导随机值是由系统是初始时设置的一个随机值。
初始引导随机值的设置,是用于首轮的潜在出块者群组的选择,在首次进行出块节点选择时,系统先采用随机函数设置一个随机引导值,比如采用固定节点的哈希值。
S2、每个区块链节点生成各自的一对公钥和私钥,并将公钥信息进行广播;
需要说明的是,在步骤S2中,区块链所有的参与节点,都会产生自身对应的公钥和私钥,私钥是自身进行保存,不进行公开,公钥需要在当前的区块链网络中公开,当该节点使用自身的私钥进行数据加密时,系统中的其他节点可以通过公开的公钥进行数据解密。
S3、潜在出块者群组的全部节点形成一个组签名和组公钥;
需要说明的是,步骤S3中潜在出块者群组的全部节点形成一个组签名和组公钥,组签名的形成,可以采用多种方式,比如采用DGK算法等;组公钥的生成是后续节点进行组签名信息验证时使用。
优选地,组签名形成方式也可以是潜在出块者群先进行各自签名碎片,然后使用比例函数组合成组签名,其中比例函数的参数与上一轮的随机值有关。
S4、将组签名在所述区块链网络中进行广播,接收组签名信息的其他节点进行信息验证;
S5、若验证有效,则接收所述组签名的节点进行签名后,并将信息重新广播;若验证无效,则第r轮的随机数产生失败,重新进入步骤S1;
需要说明的是,步骤S4中进行的组签名的信息验证,实用的是组公钥,公钥是由整个潜在出块者群组生成的;
需要说明的是,步骤S5的中,组签名信息若验证有效,接收到该信息的节点需要使用自身节点产生私钥进行签名,然后在全网中进行广播;重新广播的数据,需要节点自身公钥和组公钥一起进行信息验证,该过程实际上是对组签名进行了双重保护,从而更加保证了数据的安全性。
若是信息验证失败,说明该签名信息已经收到攻击或更改,是失效无用数据,该轮的随机数产生失败,需要重新进入步骤S1开始新一轮随机数产生。
S6、设置一个门限值;
S7、若区块链网络中的其中一个节点已经收到所述门限值数量的不同节点的有效的签名,该节点对该组签名信息进行签名后,形成最终组签名信息,计算最终组签名信息的哈希值,得到该轮的最终随机数。
需要说明的是,在步骤S6中设置门限值是一个系统参考值,需要整个区块链网络的系统节点数进行确定。
需要说明的是,在步骤S7中,区块链网络的所有节点中的一个节点在接收到超过设置门限值数量的节点的不同的有效的签名后,此时,全网广播结束;该节点进行签名后的组签名信息是最终随机数的来源,计算最终的组签名的哈希值,则可以得到的此轮的随机数。
优选地,门限值小于潜在出块者群组的节点大小。
优选地,门限值不大于潜在出块者群组的节点的2/3。
本实施例提出的基于区块链的随机数的生成方法,潜在出块者的进行随机选择,形成组签名后,并通过设置一个门限值,使得在整个网络中收到门限值数量的不同节点的有效的签名的最后一个节点是不确定的,最后一收到满足门限值信息的节点进行签名后再计算哈希值,从而解决关键的“最后一个参与者”问题,达到不能篡改和去预测数据的目的,并且计算高效。
实施例二
本实施例是在实施例基础上提出了一种关于实施例一中步骤S2中的潜在出块者群组产生的步骤方法,潜在出块者群组的选择方案是整个随机数产生中非常关键的步骤,关系整个随机数的产生是否能达到真随机。
参见图2,本实施例提出的潜在出块者群组产生的方法步骤如下:
S10、设置一个初始随机参考值,初始随机参考值是具有固定长度的二进制数字;
需要说明的是,在潜在出块者群组产生的方法中,本方案引入了一个随机参考值ζr,步骤S10是在第一次进行潜在出块者群组选择时,系统在初始阶段设置的一个随机参考值,叫初始随机参考值ζ0。初始随机参考值设置为固定长度的二进制值,设置方法可以是使用Hrandom函数,这里Hrandom是可以把任意字符串映射成一串固定长度的二进制数字的随机哈希函数,而这个固定的长度就是上一轮随机数的长度,并且每一轮的随机数长度都是一样的。初始随机参考值可以选择任意字符,如设置为ζ0=Hrandom("Zeta").
S11、区块链节点将使用私钥对上一轮的产生的随机值进行签名,并将签名信息映射为固定长度的二进制数字,首轮使用的二进制数字是初始随机参考值;
需要说明的是,步骤S11中,私钥是是由区块链网络的每个节点都会产生一对相对应的公钥和私钥,此处使用私钥对上一轮的随机值进行签名,得到签名信息,再使用Hrandom函数,使签名信息映射成一串固定长度的二进制数字,具体公式如下式2-1:
Hrandom(σ(ξr-1,ski)) 式2-1
其中ski是节点i所产生的私钥,ξr-1是上一轮的随机值,σ(ξr-1,ski) 是值对ξr-1使用ski进行签名,σ()是签名函数。
S12、使用距离函数计算所述二进制数字与上一轮的随机参考值的距离,距离函数计算得到的数值作为节点在第r轮的节点级别;
需要说明的是,步骤S12中,距离函数(Distance)可以是任何可以测量两个二进制数字不同程度的函数,如,欧氏距离计算函数、曼哈顿距离计算函数、汉明距离计算函数等,这里我们优选Hamming距离,具体公式如下式2-2:
Rank(r)(Nodei):=Distance(Hrandom(σ(ξr-1,ski)),ζr-1) 式2-2
其中(Rank(r)(Nodei))指的是节点i在第r轮的节点级别,ski是节点i 所产生的私钥ζr-1是上一轮引入的随机参数值,与系统上一轮的随机值ξr-1是不同的参数。在首轮次的计算中,ζr-1为系统设置的初始随机参考值ζ0。
S13、所有节点按照节点级别的大小进行节点排名,按照节点排名选择排名顺序靠前的节点作为第r轮的潜在出块者群组成员,节点排名第一的节点来产生该轮的随机参考值。
需要说明的是,步骤S13中,潜在出块者的选择是按照节点级别进行排名的,使用距离函数计算得到的数值后,数值大的级别高,即节点排名在前。需要进一步说明的是,当两个节点使用距离函数计算出的数值相同时,则节点数值大的节点排名在前,如:
当Rank(r)(Nodei)=Rank(r)(Nodej)时,
如果i<j
则Rank(r)(Nodei)<Rank(r)(Nodej)
对于以上步骤,需要进一步说明的是,引入的随机参考值,在首轮通过系统预设后,后续的每一个轮次,都会使用上一轮次的随机参考值ζr-1,然后再产生一个随机参考值ζr,ζr是由距离函数计算出的最大值对应的节点来产生,可以取该节点的签名数据的随机哈希值。具体计算如下:
LargestDistancer:=Max({Distance(Hrandom(σ(ξr-1,ski)),ζr-1)|i= 1,2,...,N}) 式2-3
当Rank(r)(Nodei)=LargestDistance时,
ζr:=Hrandom(σ(ξr-1,skl))
其中Max{}是取集合最大值。
本实施例给出的技术方案主要是每一轮都会引入一个新的随机参考值,与上一轮的随机值共同决定的潜在出块者群组的选择方案,能够保证在该轮次的潜在出块者群组节点选择的随机性,从而实现整个区块链系统的随机数产生的随机性,本方案计算简单,实现容易。
实施例三
本实施例提出的目的在于:规制未经许可或其他合法形式,擅自将实施例及其改进或具体实施例中的方法程序化后,用在计算机设备中运行的行为。
参考图3,本实施例提供一种计算机设备,包括处理器和存储器,存储器存储计算机程序,处理器根据计算机程序执行实施例一及其改进或具体实施例中任一项方法。
需要说明的是,计算机设备可以包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,计算机设备的处理器用于提供计算和控制能力。计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。
还需要说明的是,处理器可以是中央处理单元(Central ProceSsing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal ProceSsor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、存储实现上述实施例中方法的程序指令等。存储数据区可以存储上述实施例中方法的程序指令所处理的数据。
实施例四
本实施例提出的目的在于:规制未经许可或其他合法形式,擅自将实施例及其改进或具体实施例中的方法程序化后,存储在存储介质中的行为。
参见图4,本实施例提供一种可读存储介质,存储计算机程序,计算机程序被用于实现实施例一及其改进或具体实施例中任一种方法。
需要说明的是,上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,计算机可读取存储介质可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。
可以理解的是,RAM具备多种形式,诸如同步DRAM(SDRAM)、增强型SDRAM(ESDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、存储器总线动态RAM(RDRAM)、静态RAM(SRAM)、动态RAM(DRAM)。
Claims (3)
1.一种基于区块链的随机数的产生方法,区块链网络出块的每一个轮次会产生一个新的随机数,其特征在于,包括:
S1、在进入第r轮时,随机选出一组节点作为第r轮潜在出块者群组,所述潜在出块者群组包含节点的数量小于参于区块链的节点数;
S2、每个区块链节点生成各自的一对公钥和私钥,并将公钥信息进行广播;
S3、所述潜在出块者群组的全部节点形成一个组签名和组公钥;
S4、将所述组签名在整个区块链网络中进行广播,接收到所述组签名信息的其他节点使用节点自身的私钥和所述组公钥进行信息验证;
S5、若验证有效,则接收所述组签名的节点使用自身私钥进行签名后,并将信息重新广播;若验证无效,则第r轮的随机数产生失败,重新进入步骤S1开始新的随机数计算;
S6、设置一个门限值;
S7、区块链网络中的其中一个节点已经收到所述门限值数量的不同节点的有效的签名,该节点对所述组签名信息进行签名后,形成最终组签名信息,计算所述最终组签名数信息的哈希值,得到第r轮的最终随机数;
所述第r轮的潜在出块者群组的选择方式与上一轮的随机值相关,首轮潜在出块者群组的选择方式与初始引导随机值有关,所述初始引导随机值在进行首轮出块前设置;
所述初始引导随机值是固定字节的哈希值;
所述门限值小于所述潜在出块者群组成员节点数量。
2.一种计算机设备,包括处理器和存储器,所述存储器存储计算机程序,其特征在于,所述处理器根据所述计算机程序执行如权利要求1所述的方法。
3.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令作为计算机系统的处理器执行的结果,使得所述计算机系统至少执行根据权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005759.5A CN114205087B (zh) | 2021-08-30 | 2021-08-30 | 一种基于区块链随机数产生的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005759.5A CN114205087B (zh) | 2021-08-30 | 2021-08-30 | 一种基于区块链随机数产生的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114205087A CN114205087A (zh) | 2022-03-18 |
CN114205087B true CN114205087B (zh) | 2023-12-15 |
Family
ID=80645964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111005759.5A Active CN114205087B (zh) | 2021-08-30 | 2021-08-30 | 一种基于区块链随机数产生的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205087B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11968307B2 (en) * | 2021-09-27 | 2024-04-23 | International Bisuness Machines Corporation | Private ledger partitions in blockchain networks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020146955A1 (en) * | 2019-01-18 | 2020-07-23 | Zeu Crypto Networks Inc. | A method for generating random numbers in blockchain smart contracts |
CN112631550A (zh) * | 2020-12-21 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 区块链随机数生成方法、装置、设备及计算机存储介质 |
CN112732763A (zh) * | 2021-01-20 | 2021-04-30 | 北京千方科技股份有限公司 | 数据的聚合方法、装置、电子设备及介质 |
CN112799636A (zh) * | 2021-04-14 | 2021-05-14 | 北京百度网讯科技有限公司 | 随机数生成方法、装置、设备和存储介质 |
CN112910640A (zh) * | 2021-02-19 | 2021-06-04 | 区块动力(广州)科技有限公司 | 一种基于区块链技术的密钥签名方法 |
CN113055363A (zh) * | 2021-03-02 | 2021-06-29 | 南通大学 | 一种基于区块链信任机制的标识解析系统实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728219B2 (en) * | 2018-04-13 | 2020-07-28 | R3 Ltd. | Enhancing security of communications during execution of protocol flows |
-
2021
- 2021-08-30 CN CN202111005759.5A patent/CN114205087B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020146955A1 (en) * | 2019-01-18 | 2020-07-23 | Zeu Crypto Networks Inc. | A method for generating random numbers in blockchain smart contracts |
CN112631550A (zh) * | 2020-12-21 | 2021-04-09 | 深圳前海微众银行股份有限公司 | 区块链随机数生成方法、装置、设备及计算机存储介质 |
CN112732763A (zh) * | 2021-01-20 | 2021-04-30 | 北京千方科技股份有限公司 | 数据的聚合方法、装置、电子设备及介质 |
CN112910640A (zh) * | 2021-02-19 | 2021-06-04 | 区块动力(广州)科技有限公司 | 一种基于区块链技术的密钥签名方法 |
CN113055363A (zh) * | 2021-03-02 | 2021-06-29 | 南通大学 | 一种基于区块链信任机制的标识解析系统实现方法 |
CN112799636A (zh) * | 2021-04-14 | 2021-05-14 | 北京百度网讯科技有限公司 | 随机数生成方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114205087A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232478B2 (en) | Methods and system for collecting statistics against distributed private data | |
US20230231711A1 (en) | Blockchain-implemented method and system | |
EP3449450B1 (en) | Implementing logic gate functionality using a blockchain | |
US11886420B2 (en) | System and method for distributing data records using a blockchain | |
CN109492983B (zh) | 基于区块链智能合约的电子印章签署方法、装置、设备和介质 | |
WO2021046668A1 (zh) | 区块链系统及信息传输方法、系统、装置、计算机介质 | |
CN109861828B (zh) | 一种基于边缘计算的节点接入和节点认证方法 | |
ES2894726T3 (es) | Protocolo de consenso para libros mayores autorizados | |
CN112968883A (zh) | 一种安全性高的区块链异构共识方法及终端 | |
CN108399533B (zh) | 交易处理方法、装置、计算机设备和存储介质 | |
CN111566680A (zh) | 有消息凭证的区块链 | |
CN112651830A (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN114205087B (zh) | 一种基于区块链随机数产生的方法 | |
CN111222865A (zh) | 资源数据转移方法、装置、存储介质和计算机设备 | |
CN113704357A (zh) | 一种基于区块链的智慧城市数据共享方法及系统 | |
CN112613601A (zh) | 神经网络模型更新方法、设备及计算机存储介质 | |
CN110602190B (zh) | 区块链共识的方法及区块链节点和存储装置 | |
CN112162726A (zh) | 目标用户确定方法、装置、设备及存储介质 | |
CN110990790A (zh) | 一种数据处理方法及设备 | |
CN112333217B (zh) | 基于区块链的联合推荐方法和系统 | |
CN108900310A (zh) | 区块链签名处理方法及区块链签名处理装置 | |
Wang et al. | Consensus algorithm based on verifiable randomness | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
CN110224839B (zh) | 应用于区块链上的验证方法及装置 | |
CN113486368A (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 |