[发明专利]随机数提供方法和装置有效
申请号: | 201711479264.X | 申请日: | 2017-12-29 |
公开(公告)号: | CN108365960B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 宋承根;谭智勇;赵微 | 申请(专利权)人: | 北京欧链科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L29/06 |
代理公司: | 北京棋拾知识产权代理事务所(普通合伙) 11863 | 代理人: | 杨雪婷 |
地址: | 100089 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 提供 方法 装置 | ||
本发明实施例提供一种随机数提供方法和装置,其中,方法包括:接收多个数据提供方提交的数据承诺和数据承诺中欲提交的源随机数并存储至区块链中,对各源随机数经不可逆算法进行承诺验证;如果承诺验证后确定:计算得到的承诺值与数据提供方提交的数据承诺中的承诺值相同,则接受数据提供方提交的源随机数;对已接受的数据提供方提交的源随机数经不可逆算法进行计算,生成随机数并存储至区块链中;基于订购方提交的购买随机数的订单请求,将生成的随机数提供给订购方。本发明实施例的方案能够防止个别数据提供方所提交的源随机数是监测到其他数据提供方上传的源随机数之后提交的,存在作弊的可能,从而确保基于源随机数生成的随机数的随机性。
技术领域
本申请涉及计算机技术领域,尤其涉及一种随机数提供方法和装置。
背景技术
传统的网络环境中,随机数都由各自的硬件环境生成,但是在区块链环境中,各个节点、账户之间缺少信任机制,因此均不可能信任任意一个节点、账户提供的随机数的随机性。
随机数本身是一种数据资源,在很多领域都有应用,例如,对于多个主体之间的抽签或者随机分配等机制中的应用。例如,机动车购买的摇号,比赛的分组的抽签、彩票等领域,这些都会使用到随机数。
随机数最重要的特性在于要保证其产生的随机性,不能受到任何人的操控。如果某个节点提供的并不是随机数,而是在获得了一定信息的条件下,生成的有目的性的随机数,那么这个随机数就有可能影响到最终所应用事项的结果。
比如,节点可以通过有限次的实验来生成对其有利结果的随机数,这样也是不公平的。
发明内容
本发明提供了一种随机数提供方法和装置,能够防止个别数据提供方所提交的源随机数是监测到其他数据提供方上传的源随机数之后提交的,存在作弊的可能,从而确保基于源随机数生成的随机数的随机性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种随机数提供方法,包括:
接收多个数据提供方提交的数据承诺并存储至区块链中,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值;
接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数并存储至区块链中,并对各所述源随机数经所述不可逆算法进行承诺验证;
如果承诺验证后确定:计算得到的承诺值与所述数据提供方提交的所述数据承诺中的承诺值相同,则接受所述数据提供方提交的源随机数;
对已接受的所述数据提供方提交的源随机数经所述不可逆算法进行计算,生成随机数并存储至区块链中;
基于订购方提交的购买随机数的订单请求,将生成的所述随机数提供给所述订购方。
第二方面,提供了一种随机数提供装置,包括:
承诺存储模块,用于接收多个数据提供方提交的数据承诺并存储至区块链中,所述数据承诺中携带所述数据提供方欲提交的源随机数所对应的所述源随机数经不可逆算法计算得到的承诺值;
承诺验证模块,用于接收所述多个数据提供方提交的所述数据承诺中欲提交的源随机数并存储至区块链中,并对各所述源随机数经所述不可逆算法进行承诺验证;
如果承诺验证后确定:计算得到的承诺值与所述数据提供方提交的所述数据承诺中的承诺值相同,则接受所述数据提供方提交的源随机数;
随机数生成模块,用于对已接受的所述数据提供方提交的源随机数经所述不可逆算法进行计算,生成随机数并存储至区块链中;
随机数提供模块,用于基于订购方提交的购买随机数的订单请求,将生成的所述随机数提供给所述订购方。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京欧链科技有限公司,未经北京欧链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711479264.X/2.html,转载请声明来源钻瓜专利网。