[发明专利]随机数生成与验证方法、装置、电子设备及可读存储介质有效
申请号: | 202011284497.6 | 申请日: | 2020-11-17 |
公开(公告)号: | CN112636904B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 陈志明;姜鹏;张雅楠 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;H04L67/10;H04L9/40 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 张峰 |
地址: | 100020 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 验证 方法 装置 电子设备 可读 存储 介质 | ||
本申请实施例提供了一种随机数生成与验证方法、装置、电子设备及可读存储介质。该随机数生成方法包括:接收随机数生成交易请求;基于当前区块信息,并基于预设的签名算法生成随机种子;广播随机种子,以使区块链中除随机源节点外的其他节点接收随机种子,并基于随机种子生成随机数。基于本方案,能够通过区块链中指定的随机源节点生成随机种子,以便其他节点基于随机种子生成随机数,克服了现有的随机数实现方案中存在局限性,安全可靠,便于在区块链中使用。
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种随机数生成与验证方法、装置、电子设备及可读存储介质。
背景技术
在区块链上,由于一切信息都是透明公开的,提供一个安全实用的随机数实现方案是一个非常困难的问题。目前随机数在区块链上具有较多的使用场景,如游戏及流程控制等。
传统区块链上随机数的实现多通过以下几种方式:
第一种是让可信第三方为合约提供随机数,这种情况通常是中心化的解决方案,通过一个可信的oracle来提供独立的随机数源。
第二种是交互式的commit(承诺)和reveal(打开)。参与过程的多方预先commit一个随机数,然后将其hash值递交到区块链上。所有参与方都递交完毕后,各方reveal自己的随机数,通过将各自的随机数合并产生一个最终的随机数。
第三种是采用链上的公开信息,比如使用区块的哈希值、时间戳、难度系数等作为随机数源。
第四种是从共识层,通过阈值签名的方式,使得每个共识节点递交各自对某个信息的签名片段,在足够多的签名片段收集到之后,任何一个共识节点都可以将签名片段合并成一个合法的可验证的签名。
第一种方式中,由于可信第三方的随机源,独立在区块链系统外,不方便管理。第二种方式中,在生成交互式的随机数的过程中,由于部分节点可能不公开自己的参数,从而导致最终无法生成随机数。第三种方式中,由于是采用链上公开信息或者自己组合,出块者可能会选择对自己有利的区块数据进行出块,进而让随机数失去公平性。第四种方式中,在每一轮区块产生的过程中,每个节点需要广播自己的签名片段,可能会导致对节点数量的限制,影响支撑的应用的效率等。
因此,现有的随机数实现方案均存在一定的局限性,亟需在区块链上提供一种安全实用的随机数实现方案。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种随机数生成方法,该方法包括:
接收随机数生成交易请求;
基于当前区块信息,并基于预设的签名算法生成随机种子;
广播随机种子,以使区块链中除随机源节点外的其他节点接收随机种子,并基于随机种子生成随机数。
可选地,上述方法还包括:
生成随机种子的验证数据。
可选地,广播随机种子,包括:
基于随机种子以及验证数据组装随机源信息并广播随机源信息,以使其他节点基于验证数据对随机种子进行验证。
可选地,随机数生成交易请求中携带有指定区块高度信息,基于当前区块信息,并基于预设的签名算法生成随机种子,包括:
确定当前的区块高度信息是否不低于指定区块高度信息;
若是,则基于当前区块信息,并基于预设的签名算法生成随机种子。
第二方面,本申请实施例提供了一种随机数生成方法,该方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011284497.6/2.html,转载请声明来源钻瓜专利网。