[发明专利]一种基于区块链的随机数预言机实现方法、设备及介质有效
| 申请号: | 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 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 区块 随机数 预言 实现 方法 设备 介质 | ||
1.一种基于区块链的随机数预言机实现方法,其特征在于,包括如下步骤:
部署封装有区块链SDK的随机数投票客户端,作为分布式随机数据源;
调用随机数智能合约,获取当前投票轮次号T;
根据所述投票轮次号判断随机数投票客户端是否是第一次参与投票;
若判断结果为是,则生成随机数r;
以包含投票轮次号和随机数的信息为投票请求参数向随机数智能合约发起投票调用;
所述随机数智能合约接收投票请求参数;
判断投票请求参数中的投票轮次号与区块链分布式账本中的最新轮次号是否相等;
若判断结果为是,则保留投票数据至分布式账本,其中投票数据的键是包含随机数投票客户端地址和投票轮次号的数组,投票数据的值是随机数投票客户端发来的随机数r;
在历史交易中按轮次号取出多个投票随机数r,将多个所述投票随机数r转换为字符串并串联在一起成为r2,计算r2的哈希值作为随机数投票结果R;
将所述投票结果R保存到分布式账本。
2.根据权利要求1所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行根据所述投票轮次号判断随机数投票客户端是否是第一次参与投票步骤时,若判断结果为否,则延时设定值后再次调用智能合约取投票轮次号,进行再次判断。
3.根据权利要求1所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行所述随机数智能合约接收投票请求参数步骤时,还包括如下步骤:
建立可信数据源白名单;
所述随机数智能合约接收投票请求;
判断随机数投票客户端是否在白名单中;
若判断结果为是,则允许接收投票请求。
4.根据权利要求3所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行随机数智能合约接收投票请求参数步骤时,还包括如下步骤:
获取所述白名单内的有效随机数投票客户端的总数量;
获取本轮收集到的投票数;
判断本轮收集到的投票数是否超过有效随机数投票客户端的总数量的预设比例;
若判断结果为是,则确认本轮收集到的投票有效。
5.根据权利要求1所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行所述随机数智能合约接收投票请求参数步骤时,还包括如下步骤:
判断投票请求参数是否是从同一个随机数投票客户端发出的多次请求;
若判断结果为是,则仅忽略除第一次的其他投票结果,并返回信息告知随机数投票客户端不接受多次投票。
6.根据权利要求1所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行将所述投票结果R保存到分布式账本步骤时,还包括如下步骤:
将分布式账本中的轮次号加1,以作为下一轮次的轮次号。
7.根据权利要求1所述的一种基于区块链的随机数预言机实现方法,其特征在于,执行部署封装有区块链SDK的随机数投票客户端步骤时,在所述随机投票客户端内配置每个投票人专用的区块链账号私钥。
8.根据权利要求7所述的一种基于区块链的随机数预言机实现方法,其特征在于,所述随机数投票客户端能够获取所述投票人的数字签名,并根据所述数字签名对所述投票行为进行验证。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮质量链科技有限公司,未经山东浪潮质量链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010229254.6/1.html,转载请声明来源钻瓜专利网。





