当前位置: 首页 > 专利查询>胡晓东专利>正文

一种应用区块链来生成可信随机数的方法及相关装置制造方法及图纸

技术编号:19510932 阅读:64 留言:0更新日期:2018-11-21 07:34
本发明专利技术利用其它区块链系统所产生的具有一定随机性的数作为输入,也可能同时使用上一轮生成的随机数作为输入,然后通过透明公开的确定性算法在本区块链所有节点中挑出随机数生产者集合,接着让这些生产者分别的生成各自的随机数种子,然后通过使用所有随机数种子,也可以同时使用前述的随机数输入共同作为参数,应用一个透明公开的确定性算法来生成一个新的可信的随机数。

【技术实现步骤摘要】
一种应用区块链来生成可信随机数的方法及相关装置
本专利技术涉及计算机网络
,特别涉及一种应用区块链来生成可信随机数的方法和相关装置。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。利用共识机制,非信任主体之间可以以一种透明和可信的方式来协同完成一些原本需要相互信任才可以完成的工作。可信的随机数生成是指通过某种透明和可信的方式来产生随机数,参与该生成过程的主体无法通过作弊来使得最终产生的随机数拥有其所希望拥有的非随机特性。这种可信的随机数在很多应用中都具有非常重要的作用,比如彩票发行就是一个典型的应用。以往的随机数生成过程,无法让该过程的操作者向随机数的使用者有效的证明该过程是未受操纵的,因此即使生成过程应用了物理级别的随机源,所生成的随机数传递到了使用者时,也无法被认可为可信的随机数。
技术实现思路
本专利技术利用其它区块链系统所产生的难以操纵的,随时间而变化的,且具有一定随机性的数(简称为外源随机种子)作为起始输入(简称为随机源),通过透明公开的确定性算法(简称为选择算法)在本区块链所有节点中挑出初次随机数生产者集合,让这些生产者分别的生成各自的随机数种子(简称为内源随机种子),然后通过使用所有内源随机种子(也可以同时使用外源随机种子)共同作为参数,应用一个透明公开的确定性算法(简称为随机数合成算法)来生成初次的随机数。然后就可以一轮轮的应用类似的过程来生成新的随机数,不同的是每次的随机源会使用上一轮生成的随机数(也可以同时使用新的外源随机种子)并通过透明公开的确定性算法(简称为随机源合成算法)来生成,而选择算法和随机数合成算法也可以采用与初次生成时不一样的算法。为了避免每次选择出的随机数生产者通报随机数种子时,因为通报时间有先后而使得最后一个通报者有作弊的可能性,也就是根据前面通报的随机数种子来构造一个拥有其所希望拥有的非随机特性的数作为他的随机数种子,可以让每个生产者都先通报自己所产生的随机数种子的哈希值,等所有人都通报完了以后,再让每个生产者通报自己所产生的随机数种子本身,由于可以验证所报的随机数种子的哈希值确实与前面通报时的一致,这样就可以确保每个生产者都无法根据他人的随机数种子来构造自己的随机数种子。为了避免因被选中的随机数生产者中有的因为某种原因而没有及时通报自己所产生的随机数种子,会对生产者通报的有效时间区间进行预先规定,并且规定只要有多于某个比例的生产者按时提交了自己所产生的随机数,那么即使有生产者没有及时提交随机数种子,最终也能由及时提交了的随机数种子作为输入来运行随机数合成算法。具体实施方式使用其它区块链系统(比如比特币系统)的最新区块(或最新的几个区块)信息中能够产生的随机数作为随机源,如果具有多个随机源,则先运行一个透明公开的确定性算法来合成为一个随机源。使用上述的随机源作为输入,应用选择算法来从所有节点中挑出初次随机数生产者集合。每个随机数生产者生成一个随机数种子,可能是有人工参与的,也可能是节点计算设备自动生成的,生成的随机数种子的哈希值被通报给其它区块链网络节点,其中可以附上签名信息来证明确实是被挑出的随机数生产者发布的信息。当预设的随机数时间区间阈值已经过了以后,所有已经通报了随机数的哈希值的生产者会开始通报实际的随机数种子。当再过一个预设的时间区间阈值后,所有已通报的随机数种子会被作为输入参数,有可能还会同时使用外源随机种子作为输入参数,并应用随机数合成算法来生成初次的可信随机数。然后再接下来的每一轮的可信随机数生成过程中,都会使用上一轮所生成的可信随机数(可能还同时使用新的外源随机种子并应用随机源合成算法来合成一个随机数)作为随机源,然后通过选择算法(可以与首轮不同)来从所有节点中挑出该轮次的随机数生产者集合。然后被选中的随机数生产者会使用与初轮相类似的过程来通报自己的随机数种子并最终合成该轮的可信随机数。本文档来自技高网...

【技术保护点】
1.一种应用区块链来生成可信随机数的方法,其特征在于:使用其它区块链的最新区块或最新几个区块中含有的信息来作为随机源,如果非首次生成,还可以使用上一次生成的可信随机数来同时作为随机源,利用这些随机源作为输入,执行一个透明公开的确定性算法来获得本区块链中所有节点的一个子集,然后由这些被选中的节点作为随机数种子生产者来生成各自的随机数种子,也可以使用其它区块链的最新区块或最新几个区块中含有的信息来同时作为随机数种子,最后使用这些随机数种子最为输入参数来执行一个透明公开的确定性算法并合成该轮的最终的可信随机数。

【技术特征摘要】
1.一种应用区块链来生成可信随机数的方法,其特征在于:使用其它区块链的最新区块或最新几个区块中含有的信息来作为随机源,如果非首次生成,还可以使用上一次生成的可信随机数来同时作为随机源,利用这些随机源作为输入,执行一个透明公开的确定性算法来获得本区块链中所有节点的一个子集,然后由这些被选中的节点作为随机数种子生产者来生成各自的随机数种子,也可以使用其它区块链的最新区块或最新几个区块中含有的信息来同时作为随机数种子,最后使用这些随机数种子最为输入参数来执行一个透明公开的确定性算法并合成该轮的最终的可信随机数。2.根据权利要求1所述的方法,其特征在于,一轮随机数生成过程中被选中的随机数种子生产者在提交自己所...

【专利技术属性】
技术研发人员:胡晓东
申请(专利权)人:胡晓东上海链昭信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1