CN113489584A - 一种区块链中随机数的处理方法、装置和电子设备 - Google Patents

一种区块链中随机数的处理方法、装置和电子设备 Download PDF

Info

Publication number
CN113489584A
CN113489584A CN202110749776.3A CN202110749776A CN113489584A CN 113489584 A CN113489584 A CN 113489584A CN 202110749776 A CN202110749776 A CN 202110749776A CN 113489584 A CN113489584 A CN 113489584A
Authority
CN
China
Prior art keywords
random
information
random number
hash
generating
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
Application number
CN202110749776.3A
Other languages
English (en)
Other versions
CN113489584B (zh
Inventor
谭宜勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Fanrong Technology Co ltd
Original Assignee
Beijing Fanrong Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Fanrong Technology Co ltd filed Critical Beijing Fanrong Technology Co ltd
Priority to CN202110749776.3A priority Critical patent/CN113489584B/zh
Publication of CN113489584A publication Critical patent/CN113489584A/zh
Application granted granted Critical
Publication of CN113489584B publication Critical patent/CN113489584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种区块链中随机数的处理方法,发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布,取证明信息进行哈希,作为当前调用方初始的随机种子,利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数,能够高效的进行随机数的生成,也提高了随机性。

Description

一种区块链中随机数的处理方法、装置和电子设备
技术领域
本申请涉及计算机领域,尤其涉及一种区块链中随机数的处理方法、装置和电子设备。
背景技术
通过区块链实现随机数的方法中,一般采用区块hash来进行随机种子的采样。由于区块链本身是去中心化的运营机制,区块的产生由出块节点生成,意味着节点方有可能参与了随机种子的计算因素,如果节点本身被污染了,可能选择不同的交易或者时间戳来构建所需要的随机种子,从而导致了随机数的不公平、不够随机。也有采用VRF(可验证延迟函数)的方式产生随机数,但是这种方法过于耗时,对于智能合约的消耗较大,因此也不适合通用化的区块链合约引擎中。
因此,有必要提供一种高效可靠的随机数处理方法。
发明内容
本说明书实施例提供一种区块链中随机数的处理方法、装置和电子设备,用以提高处理效率和随机数的随机性。
本说明书实施例提供一种区块链中随机数的处理方法,包括:
发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对;
以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布;
取证明信息进行哈希,作为当前调用方初始的随机种子;
利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
可选地,还包括:
在主链设定子链的出块时间,以及设置结果公布区块,用于公布生成的随机数及其证明信息。
可选地,还包括:
利用证明信息对随机数进行验证。
可选地,所述利用证明信息对随机数进行验证,包括:
利用调用方的公钥对随机数的证明信息进行解签,根据解签结果确定对应的叶子节点,计算所述叶子节点的默克尔树根信息,对比发布的默克尔树根信息进行验证。
可选地,还包括:
将默克尔树根信息发布到随机函数合约中。
可选地,还包括:
随机确定当前用于提供随机数的参与方。
可选地,还包括:
利用随机数确定进行交易出块的区块节点。
本说明书实施例还提供一种区块链中随机数的处理方法,包括:
合约模块,发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对;
证明模块,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布;
随机数模块,取证明信息进行哈希,作为当前调用方初始的随机种子;
利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
可选地,还包括:
在主链设定子链的出块时间,以及设置结果公布区块,用于公布生成的随机数及其证明信息。
可选地,还包括:
利用证明信息对随机数进行验证。
可选地,所述利用证明信息对随机数进行验证,包括:
利用调用方的公钥对随机数的证明信息进行解签,根据解签结果确定对应的叶子节点,计算所述叶子节点的默克尔树根信息,对比发布的默克尔树根信息进行验证。
可选地,还包括:
将默克尔树根信息发布到随机函数合约中。
可选地,还包括:
随机确定当前用于提供随机数的参与方。
可选地,还包括:
利用随机数确定进行交易出块的区块节点。
本说明书实施例还提供一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行上述任一项方法。
本说明书实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项方法。
本说明书实施例提供的各种技术方案通过发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布,取证明信息进行哈希,作为当前调用方初始的随机种子,利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数,能够高效的进行随机数的生成,也提高了随机性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种区块链中随机数的处理方法的原理示意图;
图2为本说明书实施例提供的一种区块链中随机数的处理装置的结构示意图;
图3为本说明书实施例提供的一种电子设备的结构示意图;
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
图1为本说明书实施例提供的一种区块链中随机数的处理方法的原理示意图,该方法可以包括:
S101:发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对。
其中,参与方线下的随机数是指在多个参与方中随机确定的参与方,该参与方提供的随机数,这样能够保证随机数不被调用方操控,从而提高随机性。
随机函数合约中具有随机数生成、验证和使用规则。
当前区块哈希可以是区块地址哈希值,区块内容哈希值,在此不做具体阐述。
在本说明书实施例中,还包括:
在主链设定子链的出块时间,以及设置结果公布区块,用于公布生成的随机数及其证明信息。
S102:以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布。
为了证明随机数的有效性,我们可以为其生成证明信息,其他节点通过验证,便可以获知待随机数是否是当时产生的那个随机数,而不是后来伪造的随机数。
因此,在本说明书实施例中,该方法还可以包括:
将默克尔树根信息发布到随机函数合约中。
S103:取证明信息进行哈希,作为当前调用方初始的随机种子。
随机种子作为确定随机数的信息来源。
S104:利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布,取证明信息进行哈希,作为当前调用方初始的随机种子,利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数,能够高效的进行随机数的生成,也提高了随机性。
其中,调用方可以是交易上传方。
在本说明书实施例中,该方法还可以包括:
生成所述随机数的证明信息。
在本说明书实施例中,还包括:
利用证明信息对随机数进行验证。
在本说明书实施例中,所述利用证明信息对随机数进行验证,包括:
利用调用方的公钥对随机数的证明信息进行解签,根据解签结果确定对应的叶子节点,计算所述叶子节点的默克尔树根信息,对比发布的默克尔树根信息进行验证。
对于具体的构造默克尔哈希树以及生成树根信息的算法,已经是现有技术,在此不做具体阐述。
在本说明书实施例中,还包括:
随机确定当前用于提供随机数的参与方。
在本说明书实施例中,还包括:
利用随机数确定进行交易出块的区块节点。
实施时,我们假设CM为主链,参与方A和调用方B,主链的出块节点有N。首先参与方发起一个随机函数合约C,随机产生一个随机数RA,对RA生成一个的公私钥对,通过零知识证明算法,将公钥公布到CM上;调用方B调用合约C,在合约C中根据每次调用的地址Address和计数器Counter,产生一个随机的种子RB;出块节点Ni出块生成区块hash,产生另外一个随机种子Rc;最终结果为R[RA,RB,RC]的组合。
具体步骤包括,首先,生成随机种子证明:
在CM设定CS的平均出块时间为BlockTimeS,设定随机结果在Blockend公布;参与方A发布一个随机函数合约C;参与方A取CM的当前区块哈希为BlockHash0为随机因子,当前的合约地址AddressC,以及A线下的随机数n,生成σ0=SHA3(BlockHash0,AddressC,n);以该因子σ的哈希生成非对称加密的临时密钥对Keypaire(PK,VK);通过零知识证明,生成当前的随机数可信证明BP0:其中输入为私钥PK,并以(BlockHash0,AddressC,n)为默克尔树的叶子节点,随机叶子由随机因子σ0计算;输出为证明信息π0,默克尔根信息MPT0,证明信息的哈希值H0,记BP0=(π0,MPT0,H0)三元组;将MPT0发布到合约中,取SHA3(π0)为调用方B的随机初始化种子RB
然后,让调用方B对合约调用同时迭代产生随机数RB:调用方B有p个,每次调用合约C,会根据每次调用的合约地址AddressB和计数器Counter,以及合约对应的随机种子RB,产生一个新的随机的种子R′B=SHA3(AddressB,Counter,RB)。最后产生最终的随机数Rfinal:假设出块节点Ni在Blockend时产生的hash为BlockHashend,参与方A在Blockend之后,将BP0和n发布到合约C中,最终随机数Rfinal=SHA3(BlockHashend,n,RB),为了验证n没有A篡改过:通过零知识验证,输入为公钥的VK,π0,MPT0,如果验证通过则成功,否则为失败,持续调用,则可以不断的产生随机数。
图2为本说明书实施例提供的一种区块链中随机数的处理装置的结构示意图,该装置可以包括:
合约模块201,发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对;
证明模块202,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布;
随机数模块203,取证明信息进行哈希,作为当前调用方初始的随机种子;
利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
可选地,还包括:
在主链设定子链的出块时间,以及设置结果公布区块,用于公布生成的随机数及其证明信息。
为了证明随机数的有效性,我们可以为其生成证明信息,其他节点通过验证,便可以获知待随机数是否是当时产生的那个随机数,而不是后来伪造的随机数。
可选地,还包括:
利用证明信息对随机数进行验证。
可选地,所述利用证明信息对随机数进行验证,包括:
利用调用方的公钥对随机数的证明信息进行解签,根据解签结果确定对应的叶子节点,计算所述叶子节点的默克尔树根信息,对比发布的默克尔树根信息进行验证。
可选地,还包括:
将默克尔树根信息发布到随机函数合约中。
可选地,还包括:
随机确定当前用于提供随机数的参与方。
可选地,还包括:
利用随机数确定进行交易出块的区块节点。
该装置发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布,取证明信息进行哈希,作为当前调用方初始的随机种子,利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数,能够高效的进行随机数的生成,也提高了随机性。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图3为本说明书实施例提供的一种电子设备的结构示意图。下面参照图3来描述根据本发明该实施例的电子设备300。图3显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种区块链中随机数的处理方法,其特征在于,包括:
发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对;
以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布;
取证明信息进行哈希,作为当前调用方初始的随机种子;
利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
2.根据权利要求1所述的方法,其特征在于,还包括:
在主链设定子链的出块时间,以及设置结果公布区块,用于公布生成的随机数及其证明信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
利用证明信息对随机数进行验证。
4.根据权利要求3所述的方法,其特征在于,所述利用证明信息对随机数进行验证,包括:
利用调用方的公钥对随机数的证明信息进行解签,根据解签结果确定对应的叶子节点,计算所述叶子节点的默克尔树根信息,对比发布的默克尔树根信息进行验证。
5.根据权利要求1所述的方法,其特征在于,还包括:
将默克尔树根信息发布到随机函数合约中。
6.根据权利要求1所述的方法,其特征在于,还包括:
随机确定当前用于提供随机数的参与方。
7.根据权利要求1所述的方法,其特征在于,还包括:
利用随机数确定进行交易出块的区块节点。
8.一种区块链中随机数的处理方法,其特征在于,包括:
合约模块,发布随机函数合约,提取随机源三元组,包括:主链当前区块哈希、合约地址信息和参与方线下的随机数,对随机源三元组进行哈希处理生成第一随机因子,根据所述第一随机因子的哈希结果生成非对称密钥对;
证明模块,以三元组构造默克尔哈希树的叶子节点,根据第一随机因子计算随机叶子节点,计算默克尔树根信息,生成当前的随机数的证明信息,并进行发布;
随机数模块,取证明信息进行哈希,作为当前调用方初始的随机种子;
利用计数器的计数结果、合约地址信息对随机种子进行迭代,得到迭代后的随机种子,利用迭代后的随机种子生成随机数。
9.一种电子设备,其中,该电子设备包括:
处理器;以及,
存储计算机可执行程序的存储器,所述可执行程序在被执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-7中任一项所述的方法。
CN202110749776.3A 2021-07-02 2021-07-02 一种区块链中随机数的处理方法、装置和电子设备 Active CN113489584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110749776.3A CN113489584B (zh) 2021-07-02 2021-07-02 一种区块链中随机数的处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110749776.3A CN113489584B (zh) 2021-07-02 2021-07-02 一种区块链中随机数的处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN113489584A true CN113489584A (zh) 2021-10-08
CN113489584B CN113489584B (zh) 2024-04-05

Family

ID=77940280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110749776.3A Active CN113489584B (zh) 2021-07-02 2021-07-02 一种区块链中随机数的处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN113489584B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689296A (zh) * 2021-08-30 2021-11-23 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备
CN113867690A (zh) * 2021-12-07 2021-12-31 中移(上海)信息通信科技有限公司 一种区块链中随机数的生成方法、装置及区块链节点
CN114338006A (zh) * 2021-12-24 2022-04-12 浙江大学 基于半可信硬件的互相关伪随机数的远程获取方法及装置
CN114338051A (zh) * 2022-03-15 2022-04-12 北京百度网讯科技有限公司 区块链获取随机数的方法、装置、设备和介质
CN114666068A (zh) * 2022-05-25 2022-06-24 南京金宁汇科技有限公司 一种基于联盟链的可信随机数生成方法及装置
CN117932696A (zh) * 2024-03-21 2024-04-26 中国信息通信研究院 一种基于区块链的数据分布式存储验证方法、介质及设备

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170366353A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Generation of hash values within a blockchain
WO2019078623A1 (ko) * 2017-10-17 2019-04-25 주식회사 코인플러그 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
CN110427782A (zh) * 2019-07-23 2019-11-08 杭州云象网络技术有限公司 一种基于区块链的随机数生成方法
CN110881063A (zh) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN110998629A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 区块链中的随机数生成
US20200152003A1 (en) * 2018-11-13 2020-05-14 Thunder Token Inc. Gambling systems and methods based on blockchain technology
CN112101940A (zh) * 2020-09-16 2020-12-18 上海万向区块链股份公司 用区块链实施的随机可验证样本选取系统
CN112257095A (zh) * 2020-11-23 2021-01-22 中电万维信息技术有限责任公司 一种联盟链共识节点的选择方法
CN112631550A (zh) * 2020-12-21 2021-04-09 深圳前海微众银行股份有限公司 区块链随机数生成方法、装置、设备及计算机存储介质
CN112712632A (zh) * 2020-11-17 2021-04-27 中科扶云(杭州)科技有限公司 随机摇号的处理方法、装置、电子装置和存储介质
CN112799636A (zh) * 2021-04-14 2021-05-14 北京百度网讯科技有限公司 随机数生成方法、装置、设备和存储介质
CN113853578A (zh) * 2019-01-18 2021-12-28 泽乌科技公司 用于在区块链智能合约中生成随机数的方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170366353A1 (en) * 2015-06-02 2017-12-21 ALTR Solutions, Inc. Generation of hash values within a blockchain
CN110998629A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 区块链中的随机数生成
WO2019078623A1 (ko) * 2017-10-17 2019-04-25 주식회사 코인플러그 블록체인 기반의 결제 방법 및 이를 이용한 지급 결제 서버
US20200152003A1 (en) * 2018-11-13 2020-05-14 Thunder Token Inc. Gambling systems and methods based on blockchain technology
CN113853578A (zh) * 2019-01-18 2021-12-28 泽乌科技公司 用于在区块链智能合约中生成随机数的方法
CN110427782A (zh) * 2019-07-23 2019-11-08 杭州云象网络技术有限公司 一种基于区块链的随机数生成方法
CN110881063A (zh) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 一种隐私数据的存储方法、装置、设备及介质
CN110941418A (zh) * 2019-11-26 2020-03-31 杭州浮云网络科技有限公司 一种随机数生成的方法、装置、设备及可读存储介质
CN112101940A (zh) * 2020-09-16 2020-12-18 上海万向区块链股份公司 用区块链实施的随机可验证样本选取系统
CN112712632A (zh) * 2020-11-17 2021-04-27 中科扶云(杭州)科技有限公司 随机摇号的处理方法、装置、电子装置和存储介质
CN112257095A (zh) * 2020-11-23 2021-01-22 中电万维信息技术有限责任公司 一种联盟链共识节点的选择方法
CN112631550A (zh) * 2020-12-21 2021-04-09 深圳前海微众银行股份有限公司 区块链随机数生成方法、装置、设备及计算机存储介质
CN112799636A (zh) * 2021-04-14 2021-05-14 北京百度网讯科技有限公司 随机数生成方法、装置、设备和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHAINLINK: "Solidity中随机数的生成", Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/347848524> *
MICHIEL MULDERS: "Solidity Pitfalls: Random Number Generation for Ethereum", Retrieved from the Internet <URL:https://www.sitepoint.com/solidity-pitfalls-random-number-generation-for-ethereum/> *
单进勇;高胜;: "区块链理论研究进展", 密码学报, no. 05 *
孟嘉霖;马兆丰;王自亮;王真;高宏民;: "基于区块链的数字资产安全发行及管理技术实现", 网络空间安全, no. 09 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689296A (zh) * 2021-08-30 2021-11-23 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备
CN113689296B (zh) * 2021-08-30 2023-11-17 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备
WO2023103689A1 (zh) * 2021-12-07 2023-06-15 中移(上海)信息通信科技有限公司 一种区块链中随机数的生成方法、装置、区块链节点、存储介质和计算机程序产品
CN113867690A (zh) * 2021-12-07 2021-12-31 中移(上海)信息通信科技有限公司 一种区块链中随机数的生成方法、装置及区块链节点
CN113867690B (zh) * 2021-12-07 2022-03-04 中移(上海)信息通信科技有限公司 一种区块链中随机数的生成方法、装置及区块链节点
CN114338006A (zh) * 2021-12-24 2022-04-12 浙江大学 基于半可信硬件的互相关伪随机数的远程获取方法及装置
CN114338006B (zh) * 2021-12-24 2023-01-24 浙江大学 基于半可信硬件的互相关伪随机数的远程获取方法及装置
WO2023115602A1 (zh) * 2021-12-24 2023-06-29 浙江大学 基于半可信硬件的互相关伪随机数的远程获取方法及装置
US11947930B1 (en) 2021-12-24 2024-04-02 Zhejiang University Method and device for remote acquisition of correlated pseudo-random numbers based on semi-trusted hardware
CN114338051B (zh) * 2022-03-15 2022-06-21 北京百度网讯科技有限公司 区块链获取随机数的方法、装置、设备和介质
CN114338051A (zh) * 2022-03-15 2022-04-12 北京百度网讯科技有限公司 区块链获取随机数的方法、装置、设备和介质
CN114666068A (zh) * 2022-05-25 2022-06-24 南京金宁汇科技有限公司 一种基于联盟链的可信随机数生成方法及装置
CN114666068B (zh) * 2022-05-25 2022-10-11 南京金宁汇科技有限公司 一种基于联盟链的可信随机数生成方法及装置
CN117932696A (zh) * 2024-03-21 2024-04-26 中国信息通信研究院 一种基于区块链的数据分布式存储验证方法、介质及设备

Also Published As

Publication number Publication date
CN113489584B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN113489584A (zh) 一种区块链中随机数的处理方法、装置和电子设备
Xie et al. zkbridge: Trustless cross-chain bridges made practical
CN110825349B (zh) 随机数生成方法、区块链节点、系统及介质
JP7221954B2 (ja) 変更から検証鍵を保護し、正当性のプルーフの有効性を確かめるためのシステム
CN108833081B (zh) 一种基于区块链的设备组网认证方法
AU2019204733B2 (en) Performing parallel execution of transactions in a distributed ledger system
CN111801910A (zh) 基于证明验证的用于认证链外数据的系统和方法
CN111316279A (zh) 用于连接区块链与数字孪生集合的计算机实现的系统和方法
CN111008863A (zh) 一种基于区块链的抽奖方法及系统
CN112163412B (zh) 数据校验方法、装置、电子设备及存储介质
CN112435026B (zh) 用零知识证明保护文件交易信息的方法、装置和电子设备
KR20210065995A (ko) 디지털 리소스에 대한 액세스를 전송하기 위한 컴퓨터 구현된 시스템 및 방법
CN112347500A (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN111783148A (zh) 一种支持公正的轻量级多副本数据云审计方法及装置
CN114826553A (zh) 一种群签名和同态加密的云存储数据安全保护方法及装置
CN111950032A (zh) 基于区块链的数据存储方法、终端设备和存储介质
CN112307513A (zh) 基于时域共识的上链文档安全管理方法、装置和电子设备
CN112541775A (zh) 基于区块链的交易溯源方法、电子设备和计算机存储介质
CN111817859A (zh) 基于零知识证明的数据共享方法、装置、设备及存储介质
CN113300837B (zh) 一种基于区块证明的跨链验证方法、装置和电子设备
CN112182108A (zh) 基于区块链的分布式数据存储更新方法和电子设备
CN112182112A (zh) 基于区块链的分布式数据动态存储方法和电子设备
CN114362961B (zh) 基于区块链的账户恢复方法、装置、设备及存储介质
CN113810185B (zh) 一种抗陷门泄露的链上数据修复系统及方法
CN114092240A (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