CN109450629A - 基于区块链随机数产生方法 - Google Patents

基于区块链随机数产生方法 Download PDF

Info

Publication number
CN109450629A
CN109450629A CN201811569340.0A CN201811569340A CN109450629A CN 109450629 A CN109450629 A CN 109450629A CN 201811569340 A CN201811569340 A CN 201811569340A CN 109450629 A CN109450629 A CN 109450629A
Authority
CN
China
Prior art keywords
block
random
random number
block chain
generating method
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
CN201811569340.0A
Other languages
English (en)
Other versions
CN109450629B (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.)
Shenzhen Block Continental Technology Co Ltd
Original Assignee
Shenzhen Block Continental 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 Shenzhen Block Continental Technology Co Ltd filed Critical Shenzhen Block Continental Technology Co Ltd
Priority to CN201811569340.0A priority Critical patent/CN109450629B/zh
Publication of CN109450629A publication Critical patent/CN109450629A/zh
Application granted granted Critical
Publication of CN109450629B publication Critical patent/CN109450629B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/083Key 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]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于区块链随机数产生方法,包括如下方法:1)区块链节点寻找随机数;2)从当前块开始往前遍历下一个区块;3)确认区块是否存在随机数;如果否,则,进入下一步;4)确认区块是否已经累计遍历了X块;如果是,则进入下一步;5)通过计算产生出随机数。本发明在于提供一种安全性高,可以验证随机数正确性的一种基于区块链随机数产生方法。

Description

基于区块链随机数产生方法
技术领域
本发明涉及随机数产生技术领域,尤其涉及一种基于区块链随机数产生方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链***中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。
现有的区块链技术中,一般都使用未来的区块Hash作为自己的随机数种子,自行产生随机数的方案在过去的几个月内是被使用最多的方案,该方案的问题在于:区块生产者可以通过增加打包或放弃打包部分交易来“控制”产生的随机数。到目前为止,预言机的逻辑还停留在讨论层面,并没有实际的应用,并且,一个“可信的预言机”比一个“可信的区块生产者”更难以说服消费者。
不少的区块链主链采用了由可信的区块生产者生成本区块的随机数。这个方案更试用于联盟链、私链,因为在联盟里,所有的区块生产者都是可信的,可是在公链中,并不是所有的区块生产者都是好人,一个安全的公链上需要有一定的校验机制来保证区块生产者的可信度。
中国专利申请号:201710676105.2,申请日为:2017年08月09日,公开日:2017年11月24日,专利名称是:一种区块链的随机数产生方法和***,该发明公开了一种区块链的随机数产生方法,包括区块链各授权节点产生子随机数;将产生子随机数分成N个碎片;区块链各授权节点把N份的碎片分别发送给区块链授权节点;将子随机数的N个碎片进行加密;把加密后的结果分别发送给N个区块链授权节点;区块链授权节点对其进行解密;把解密后的子随机数碎片发送到组装随机数的授权节点;组装随机数的授权节点恢复最先到达的子随机数;组装随机数的授权节点把恢复的子随机数组装成最终随数。本发明可以使多个子随机数的生产者节点不能在其它节点已经产生子随机数的情况下再去产生随机数,组装节点优先恢复并使用最先到达的子随机数组装成最终随机数,以达到不能篡改数据的目的。
上述专利文献虽然公开了一种基于区块链随机数产生方法,但是该方法产生的随机数不稳定,安全性还不够高,无法验证产生的随机数是否有效,影响了随机数的运用。
发明内容
有鉴于此,本发明在于提供一种安全性高,可以验证随机数正确性的一种基于区块链随机数产生方法。
为了实现本发明目的,可以采取以下技术方案:
一种基于区块链随机数产生方法,包括如下方法:
步骤1)区块链节点寻找随机数;
步骤2)从当前块开始往前遍历下一个区块;
步骤3)确认区块是否存在随机数;如果否,则,进入下一步;
步骤4)确认区块是否已经累计遍历了X块;如果是,则进入下一步;
步骤5)通过计算产生出随机数。
上述所述步骤2)包括往前寻找一个区块;
上述所述步骤3)包括如果确认区块存在随机数,则,收集该随机数。
上述所述步骤5)所述计算出随机数是通过椭圆函数F计算出随机数。
上述所述步骤5)还包括将计算出的随机数写入当前区块。
所述随机数产生方法还包括其它区块链节点验证当前区块产生的随机数是否正确。
所述验证方法包括如下步骤:
步骤1)收到当前区块生产者节点生产的区块,获取区块中的随机数;
步骤2)获取节点生产区块的前一个区块的特征值;
步骤3)利用随机数和其承诺的前一区块特征值计算出v_hash;
步骤4)比较v_hash和承诺next_random_hash是否一致;如果是,则进入下一步;
步骤5)确认该随机数为有效随机数。
所述步骤1)包括在区块链上查询随机数的承诺next_random_hash。
所述步骤3)计算出v_hash是通过椭圆函数F计算出v_hash。
所述步骤4)还包括如果否,则确认为无效随机数。
本发明提供的技术方案的有益效果是:1)本发明基于区块链随机数的产生方法是由生成区块的所有节点共同生成,有很强的公信力且不容易被预测;2)本发明由区块链的共识机制保证随机数的正确性,所有节点参与到随机数的生产过程中,保证了随机数不可***纵;3)本发明采用承诺的前一区块的特征值和随机数通过椭圆函数F计算出承诺,有效的防止了彩虹攻击,让其他人很难预测随机数的值;该随机数作为区块链的一部分,已经融入到了区块链体系当中。
附图说明
图1为本发明实施例基于区块链随机数产生方法的随机数产生时序图;
图2为本发明实施例基于区块链随机数产生方法的流程示意图;
图3为本发明实施例基于区块链随机数产生方法的验证方法流程图。
具体实施方式
下面结合附图及本发明的实施例对发明作进一步详细的说明。
本发明关键术语的定义:
区块链:分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型***架构。
区块生产者:在区块链中负责产生区块的节点,一般在区块链上的出块节点由某种共识选举出来。
随机数承诺:本文中指代用来校验随机数的凭证,在一般情况下,为随机数和其承诺的前一区块的特征值通过椭圆函数F计算出来的结果。
彩虹表:一个带有预先计算的散列和计算它们的密码的大型字典
彩虹攻击:使用彩虹表来破解密码的行为,攻击者使用预先计算好的彩虹表,来反推出哈希对应的数值。
随机数:每个区块上的不同的随机数。
合约随机数:最终提供给随机数消费者使用的随机数。
随机数消费者:需要随机数的合约或对象。
实施例1
参看图1,图2,该基于区块链随机数产生方法,包括如下方法:
步骤1)区块链节点寻找随机数S1;
步骤2)从当前块开始往前遍历下一个区块S2;
步骤3)确认区块是否存在随机数S4;如果否,则,进入下一步;
步骤4)确认区块是否已经累计遍历了X块S5;如果是,则进入下一步;
步骤5)通过计算产生出随机数S6。
本实施例中,上述所述步骤2)包括往前寻找一个区块S3;
上述所述步骤3)包括如果确认区块存在随机数,则,收集该随机数S41。
上述所述步骤5)所述计算出随机数是通过椭圆函数F计算出随机数。
上述所述步骤5)通过计算把所有收集到的随机数生成一个最终的随机数R。
上述所述步骤5)还包括将计算出的随机数写入当前区块。
所述将计算出的随机数写入当前区块是将随机数R写入当前区块并提供给需要的合约或对象。
目前现有技术实现方案有:
1)随机数消费者使用未来的区块Hash作为自己的随机数种子,自行产生随机数。
2)区块链上引入预言机机制,由一个可信的第三方合约产生随机数,并广播到所有的节点上。
3)由区块生产者自行产生本区块的随机数方案。
本发明保证随机数的安全生成,也不需要引入一个“可信的第三方”,由区块生产者自行就可以产生一个“安全的”随机数,且其他的验证节点均可以对这个区块生产者的出块行为进行校验,防止区块生产者进行作弊行为。且此随机数将永远的保存在每个区块中,任何人都不会修改这个随机数。并且,对于随机数消费者来说,它不需要等待一个特别长的时间,在任何时候,都可以以非常快速的时间拿到这个随机数。
本发明所述随机数消费者,必须获取未来某个块的随机数,这样才能保证公平性和不可预知性。因为在该算法内,谁都不知道未来某个块的随机数是多少,这也是我们要的结果。
本发明所述区块生产者,生成区块的时候需要提供一个承诺next_random_hash。其目的是为了让其他人无法获知区块生产者将要提供的随机数是什么,同时也保证了它自己不能替换自己所提供的随机数。只有在区块生产者公布自己的随机数的时候,其它节点才知道该随机数,并通过承诺去验证该随机数是否正确。
本发明为防止彩虹攻击,随机数的承诺是由该随机数和其承诺的前一个区块的特征,通过椭圆函数F计算的结果。因为随机数承诺的前一个区块的特征在一个极大的范围内,所以攻击者就很难提前生成彩虹表,对随机数进行彩虹攻击。
本发明所述区块生产者,从当前区块向前遍历X个区块获取所有的随机数(包含当前区块的随机数),最后通过计算得到最终的随机数result_random。因为获取到了尽可能多的区块生产者的随机数,减少了少数节点串通操纵随机数的危险。
实施例2
参看图1,图3,与上述实施例的不同之处在于,所述随机数产生方法还包括其它区块链节点验证当前区块产生的随机数是否正确。
该验证方法包括如下步骤:
步骤1)验证节点P提供随机数PRS11
步骤2)收到当前区块生产者节点生产的区块,获取区块中的随机数S12;本步骤包括获取节点生产的上一个块A,并获取该块的next_random_hash;
该步骤2)还包括在区块链上查询随机数的承诺next_random_hash;
步骤3)在区块链上查询承诺next_random_hash的前一个区块的特征值S13;
步骤4)利用随机数和其承诺的前一区块特征值计算出v_hashS14;
步骤5)比较v_hash和承诺next_random_hash是否一致S15;如果是,则进入下一步;
步骤6)确认该随机数为有效随机数S16。
优选地,上述所述步骤4)计算出v_hash是通过椭圆函数F计算出v_hash。
优选地,上述所述步骤5)确认该随机数为有效随机数S151。
目前区块链中的随机数要么是合约自己生成,要么是第三方生成,两者都有一些问题。合约自己生成的随机数的种子容易被其它人发现,最终导致随机数被预测。第三方生成的随机数又没有很好的公信力,让人难以信服。
本发明所述的随机数产生方法是区块链由生成区块的所有节点共同生成,有很强的公信力且不容易被预测。由区块链的共识机制保证随机数的正确性,所有节点参与到随机数的生产过程中,保证了随机数不可***纵。采用承诺的前一区块的特征值和随机数通过椭圆函数F计算出承诺,有效的防止了彩虹攻击,让其他人很难预测随机数的值。该随机数作为区块链的一部分,已经融入到了区块链体系当中。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种基于区块链随机数产生方法,其特征在于:包括如下方法:
步骤1)区块链节点寻找随机数;
步骤2)从当前块开始往前遍历下一个区块;
步骤3)确认区块是否存在随机数;如果否,则,进入下一步;
步骤4)确认区块是否已经累计遍历了X块;如果是,则进入下一步;
步骤5)通过计算产生出随机数。
2.根据权利要求1所述基于区块链随机数产生方法,其特征在于:所述步骤2)包括往前寻找一个区块。
3.根据权利要求1所述基于区块链随机数产生方法,其特征在于:所述步骤3)包括如果确认区块存在随机数,则,收集该随机数。
4.根据权利要求1所述基于区块链随机数产生方法,其特征在于:所述步骤5)所述计算出随机数是通过椭圆函数F计算出随机数。
5.根据权利要求1所述基于区块链随机数产生方法,其特征在于:所述步骤5)还包括将计算出的随机数写入当前区块。
6.根据权利要求1所述基于区块链随机数产生方法,其特征在于:所述随机数产生方法还包括其它区块链节点验证当前区块产生的随机数是否正确。
7.根据权利要求6所述基于区块链随机数产生方法,其特征在于:所述验证方法包括如下步骤:
步骤1)收到当前区块生产者节点生产的区块,获取区块中的随机数;
步骤2)获取节点生产区块的前一个区块的特征值;
步骤3)利用随机数和其承诺的前一区块特征值计算出v_hash;
步骤4)比较v_hash和承诺next_random_hash是否一致;如果是,则进入下一步;
步骤5)确认该随机数为有效随机数。
8.根据权利要求7所述基于区块链随机数产生方法,其特征在于:所述步骤1)包括在区块链上查询随机数的承诺next_random_hash。
9.根据权利要求7所述基于区块链随机数产生方法,其特征在于:所述步骤3)计算出v_hash是通过椭圆函数F计算出v_hash。
10.根据权利要求7所述基于区块链随机数产生方法,其特征在于:所述步骤4)还包括如果否,则确认为无效随机数。
CN201811569340.0A 2018-12-21 2018-12-21 基于区块链随机数产生方法 Expired - Fee Related CN109450629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811569340.0A CN109450629B (zh) 2018-12-21 2018-12-21 基于区块链随机数产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811569340.0A CN109450629B (zh) 2018-12-21 2018-12-21 基于区块链随机数产生方法

Publications (2)

Publication Number Publication Date
CN109450629A true CN109450629A (zh) 2019-03-08
CN109450629B CN109450629B (zh) 2021-06-15

Family

ID=65560320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811569340.0A Expired - Fee Related CN109450629B (zh) 2018-12-21 2018-12-21 基于区块链随机数产生方法

Country Status (1)

Country Link
CN (1) CN109450629B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961550A (zh) * 2019-03-29 2019-07-02 北京金山安全软件有限公司 区块链中随机数的确定方法、装置、电子设备及存储介质
CN111488134A (zh) * 2020-04-09 2020-08-04 堡垒科技有限公司 基于区块链的公开随机数生成方法及设备
CN111488618A (zh) * 2020-04-13 2020-08-04 深圳信息职业技术学院 基于区块链的一次一密密码方法、装置及存储介质
CN111562902A (zh) * 2020-05-07 2020-08-21 成都库珀区块链科技有限公司 一种基于区块链的随机数生成方法及装置
CN112182612A (zh) * 2020-09-28 2021-01-05 平安科技(深圳)有限公司 一种随机数生成方法、装置、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392770A (zh) * 2017-08-09 2017-11-24 北京云知科技有限公司 一种基于区块链的随机数产生方法及***
WO2018115567A1 (en) * 2016-12-19 2018-06-28 Nokia Technologies Oy Method and apparatus for private data transfer between parties
CN108365960A (zh) * 2017-12-29 2018-08-03 北京欧链科技有限公司 随机数提供方法和装置
CN108845790A (zh) * 2018-06-20 2018-11-20 胡晓东 一种应用区块链来生成可信随机数的方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018115567A1 (en) * 2016-12-19 2018-06-28 Nokia Technologies Oy Method and apparatus for private data transfer between parties
CN107392770A (zh) * 2017-08-09 2017-11-24 北京云知科技有限公司 一种基于区块链的随机数产生方法及***
CN108365960A (zh) * 2017-12-29 2018-08-03 北京欧链科技有限公司 随机数提供方法和装置
CN108845790A (zh) * 2018-06-20 2018-11-20 胡晓东 一种应用区块链来生成可信随机数的方法及相关装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961550A (zh) * 2019-03-29 2019-07-02 北京金山安全软件有限公司 区块链中随机数的确定方法、装置、电子设备及存储介质
CN111488134A (zh) * 2020-04-09 2020-08-04 堡垒科技有限公司 基于区块链的公开随机数生成方法及设备
CN111488134B (zh) * 2020-04-09 2021-04-27 堡垒科技有限公司 基于区块链的公开随机数生成方法及设备
CN111488618A (zh) * 2020-04-13 2020-08-04 深圳信息职业技术学院 基于区块链的一次一密密码方法、装置及存储介质
CN111488618B (zh) * 2020-04-13 2021-05-18 深圳信息职业技术学院 基于区块链的一次一密密码方法、装置及存储介质
CN111562902A (zh) * 2020-05-07 2020-08-21 成都库珀区块链科技有限公司 一种基于区块链的随机数生成方法及装置
CN111562902B (zh) * 2020-05-07 2023-08-11 成都库珀创新科技有限公司 一种基于区块链的随机数生成方法及装置
CN112182612A (zh) * 2020-09-28 2021-01-05 平安科技(深圳)有限公司 一种随机数生成方法、装置、终端设备及存储介质
WO2022062405A1 (zh) * 2020-09-28 2022-03-31 平安科技(深圳)有限公司 一种随机数生成方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN109450629B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN109450629A (zh) 基于区块链随机数产生方法
US11818269B2 (en) Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets
CN108616539B (zh) 一种区块链交易记录访问的方法及***
CN110569668B (zh) 基于区块链的数据加密存储方法、装置、设备和介质
KR102409819B1 (ko) 분산 거래 전파 및 검증 시스템
CN108830602B (zh) 一种基于变色龙哈希函数的许可链构造及管控方法
CN111988290B (zh) 用户余额隐私保护和授权监管下的交易删除方法及***
CN100499450C (zh) 数字资源的分层密钥生成方法及其设备
CN107682364B (zh) 一种许可链隐私交易方法
CN110249333A (zh) 联盟区块链网络的事务处理
CN112019591A (zh) 一种基于区块链的云数据共享方法
CN113536389B (zh) 一种细粒度可控的去中心化可编辑区块链构造方法和***
CN112468302A (zh) 基于可验证多方秘密分享的可编辑区块链
CN1879072A (zh) 提供断开鉴别的***和方法
CN113507360B (zh) 一种基于区块链的科技大数据的交换与共享的***与方法
CN102170356A (zh) 一种支持数字签名密钥专属控制的认证***实现方法
Cheng et al. Polynomial-based modifiable blockchain structure for removing fraud transactions
EP3837828B1 (en) Secure data transfer system and method
CN108768647A (zh) 一种区块链的随机数产生方法和***
Jonathan et al. Security issues and vulnerabilities on a blockchain system: A review
Datta et al. Abstraction and refinement in protocol derivation
Suganya et al. Stochastic Gradient Descent long short-term memory based secure encryption algorithm for cloud data storage and retrieval in cloud computing environment
Ma et al. Be-trdss: Blockchain-enabled secure and efficient traceable-revocable data-sharing scheme in industrial internet of things
CN117176434A (zh) 一种基于智能合约可验证密文计算***及方法
Sakho et al. Privacy protection issues in blockchain technology

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210615