[发明专利]一种基于区块链的随机数预言机实现方法、设备及介质有效
| 申请号: | 202010229254.6 | 申请日: | 2020-03-27 |
| 公开(公告)号: | CN113449342B | 公开(公告)日: | 2023-04-11 |
| 发明(设计)人: | 王伟兵;庞松涛;商广勇;宋明明;杨海勇;张岚 | 申请(专利权)人: | 山东浪潮质量链科技有限公司 |
| 主分类号: | G06F21/64 | 分类号: | G06F21/64;G06F7/58;G06Q40/04;G07C13/00;G07C15/00;H04L9/06;H04L9/08;H04L9/32 |
| 代理公司: | 北京君慧知识产权代理事务所(普通合伙) 11716 | 代理人: | 董延丽 |
| 地址: | 250102 山东省济南市历城区唐冶西*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 区块 随机数 预言 实现 方法 设备 介质 | ||
本发明公开的一种基于区块链的随机数预言机实现方法、设备及介质,依托支持智能合约的区块链网络作为运行环境,为区块链网络提供一个去中心化的随机数生成方法及可信随机数服务,可供需要随机数服务的智能合约或应用调用,提高了区块链应用的安全性。
技术领域
本发明涉及区块链预言机领域,具体涉及一种基于区块链的随机数预言机实现方法、设备及介质。
背景技术
利用区块链技术建立的分布式账本不能主动从外部世界获得信息,例如调用外部服务,而是依赖一种叫做预言机(Oracle)的机制。预言机是一种智能合约,它允许外部世界将某些客观事实写入区块链,以便其他智能合约使用,客观事实如外汇汇率、股票行情、航班信息、天气预报、体育比赛结果等。
预言机的实现风格,一是通过可信数据源,二是通过投票。可信数据源往往是中心化,可以引入多个数据源来减少欺骗风险。投票方式对于产生可信随机数也是有效的:利用多个投票者发出的随机数当做随机算法的输入,哈希后得到一个随机数作为输出。由于有多方参与,少数方难以控制输出的随机数,确保了输出的客观性。
需要额外说明的是,在智能合约中是无法直接利用代码逻辑来生成随机数的。因为智能合约会在多个节点上执行,在不同节点上生成的随机数不同,难以形成共识,导致用智能合约实现的随机数交易无法正常完成。
需要说明的是,上述内容属于发明人的技术认知范畴,并不必然构成现有技术。
发明内容
为了解决现有技术中的一个或多个技术问题,或至少提供一种有益的选择,本发明提供一种基于区块链的随机数预言机实现方法、设备及介质,提高生成随机数的可靠性。
本发明公开的一种基于区块链的随机数预言机实现方法,包括如下步骤:
部署封装有区块链SDK的随机数投票客户端,作为分布式随机数据源;
调用随机数智能合约,获取当前投票轮次号T;
根据投票轮次号判断随机数投票客户端是否是第一次参与投票;
若判断结果为是,则生成随机数r;
以包含投票轮次号和随机数的信息为投票参数向随机数智能合约发起投票调用;
随机数智能合约接收投票请求参数;
判断投票请求参数中的投票轮次号与区块链分布式账本中的最新轮次号是否相等;
若判断结果为是,则保留投票数据至分布式账本,其中投票数据的键是包含随机数投票客户端地址和投票轮次号的数组,投票数据的值是随机数投票客户端发来的随机数r;
在历史交易中按轮次号取出多个投票随机数r,将多个投票随机数r转换为字符串并串联在一起成为r2,计算r2的哈希值作为随机数投票结果R;
将投票结果R保存到分布式账本。
作为一种基于区块链的随机数预言机实现方法的优选技术方案,执行根据投票轮次号判断随机数投票客户端是否是第一次参与投票步骤时,若判断结果为否,则延时设定值后再次调用智能合约取投票轮次号,进行再次判断。
作为一种基于区块链的随机数预言机实现方法的优选技术方案,执行随机数智能合约接收投票请求参数步骤时,还包括如下步骤:
建立可信数据源白名单;
随机数智能合约接收投票请求;
判断随机数投票客户端是否在白名单中;
若判断结果为是,则允许接收投票请求。
作为一种基于区块链的随机数预言机实现方法的优选技术方案,执行随机数智能合约接收投票请求参数步骤时,还包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮质量链科技有限公司,未经山东浪潮质量链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010229254.6/2.html,转载请声明来源钻瓜专利网。





