一种不可操控的随机数生成方法及系统技术方案

技术编号:23024749 阅读:17 留言:0更新日期:2020-01-03 16:47
本发明专利技术公开了一种不可操控的随机数生成方法,具体步骤包括数据采集、数据处理、随机数生成与数据验证,本发明专利技术对该方法提供了猜筛子游戏、彩票开奖、抽取幸运观众与抽取车牌号这四个应用场景的实施例,本发明专利技术还公开了一种不可操控的随机数系统,包括数据采集模块、数据处理模块、随机数生成模块和数据验证模块,本发明专利技术的有益效果为实现了生成可验证的与参与者有关的随机数的作用,解决了随机数作弊的问题。

An uncontrollable random number generating method and system

【技术实现步骤摘要】
一种不可操控的随机数生成方法及系统
本专利技术涉及区块链
,特别是一种不可操控的随机数生成方法及系统。
技术介绍
随机性是这个世界变得丰富多彩的基本要求之一,而在游戏、博彩等行业更是其生命力的主要来源,而作为模拟随机性的随机数生成器更是其命根,一个游戏一旦随机性被掌控,也就意着游戏公平性被丢失,也是游戏开始走向灭亡的标志。以博彩行业为例,彩票销售完成后的开奖环节理论上是随机的,但是层出不穷的暗箱操控新闻的爆出让人们对其随机性深表怀疑,而作为彩票的发行机构,也无法证明自己的开奖是真正随机的;对于游戏行业也是一样,一个极品装备的出现,究竟是定向分配的,还是真正的是随机产生的,无从知晓,对于从来没打到过极品装备的玩家来说可能对是否真随机的信任是随着时间的推移越来越低,对于游戏的制作方来说,就算做的是真随机也会有人不信,因为即使真随机,在概率上也会出现一部分人永远拿不到极品装备的可能。那么如何设计一种真正的随机数生成器,而能让使用者无法操控、发行者不证自清,成为一个急需解决的问题。
技术实现思路
本专利技术旨在提出一种于区块链的不可篡改特性的不可操控的随机数生成方法。包括如下步骤:(1)数据采集:参与者通过参与数据管理模块录入自己选中的具有特定意义的数字,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;(2)数据处理:在所有参与者完成数字录入后,区块锻造模块将所有参与者转化的区块链交易打入区块,参与数据管理模块将包含上述数字信息的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;(3)随机数生成:根据应用场景的具体需要,通过随机数算法模块提取步骤(2)中摘要字符串的相应位数,并将提取出的相应位数转化成特定数制,再根据应用场景的具体需要,通过随机数算法模块基于参与数据按特定随机算法生成一个与所有参与数据相关的随机数,上述随机算法的特征是输入参与不可定向控制计算结果,也就是任意输入的改变,对结果的改变都是不可预测的;(4)数据验证:通过随机数据验证模块验证一个随机数的正确性,用于其它参与者验证已经产生的随机数的真实性,并最终该应用场景下被选中的数字。进一步的,具体应用场景为猜筛子游戏,步骤具体为:(1)数据采集:参与者通过参与数据管理模块选择自己的猜测数字,包含数字、猜测轮次、投注金额、猜测手续费,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;(2)数据处理:区块链通过账户管理模块检查这些参与者账户余额是否充足,在所有参与者完成数字录入后,区块锻造模块将所有参与者转化的区块链交易打入区块,参与数据管理模块将包含上述猜数字信息的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;(3)随机数生成:通过随机数算法模块提取数据摘要字符串的最后1位数,并将最后这位数转为六进制,接着随机数算法模块将该六进制数转为字符串,提取该字符串的最后一位数,并将这一位字符串转为十进制,将转换后的十进制数加一,得到最终的筛子数;(4)数据验证:区块链通过随机数验证模块比对猜数字交易中哪条交易猜中了,最终完成一轮猜筛子。进一步的,具体应用场景为彩票开奖,步骤具体为:(1)数据采集:参与者通过参与数据管理模块选择自己预测的中奖号码,包含7位数字、彩票期数、投注金额,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;(2)数据处理:区块链通过账户管理模块检查这些参与者账户余额是否充足,等待开奖时间到,区块锻造模块将所有购买彩票的区块链交易打入区块,参与数据管理模块将所有包含购买彩票的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;(3)随机数生成:通过随机数算法模块提取摘要字符串的最后14位数,将这个三十二进制数转为字符串,提取该字符串的最后14位数,并将每两位字符串转为十进制,再将转换后的十进制数分别加一,即得到最终的7个开奖数;(4)数据验证:区块链通过随机数验证模块比对彩票交易中哪条交易猜中了,并通过账户管理模块将未猜中数字的交易中的金额下账作为奖金按猜中者猜中的数字多少分配奖金,再通过区块锻造模块将资金分配的交易记录到区块链上,最终完成一轮彩票销售和开奖。进一步的,具体应用场景为抽取幸运观众,步骤具体为:(1)数据采集:参与者通过参与数据管理模块提交自己的手机号或座位号参与抽奖,包含手机号或座位号、抽奖期数,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;(2)数据处理:等待所有参与者的区块链交易通过区块锻造模块打入区块后,参与数据管理模块将所有包含抽奖的区块链交易即所在区块找出来,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起,成为data,并执行加密算法提取数据摘要;(3)随机数生成:通过随机数算法模块提取摘要字符串的最后4位数,将最后这4位数转为十进制,将这个十进制数转为字符串,接着将这个十进制数除以参与人员总数取余,再将该余数作为中奖顺序号;(4)数据验证:通过随机数算法模块提取该序号对应的区块链交易,并最终得到得到该交易的手机号或座位号,并通过随机数验证模块得到幸运观众,最终完成一轮幸运观众抽取。进一步的,具体应用场景为抽取车牌号,步骤具体为:(1)数据采集:参与者通过参与数据管理模块提交自己的选号申请,包含选号类型等,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;(2)等待所有参与者的区块链交易通过区块锻造模块打入区块后,参与数据管理模块将所有包含申请的区块链交易即所在区块找出来,随机数算法模块依次将每个人申请交易的HASH与所在区块HASH数据合并到一起,成为data,并依次将data执行加密算法提取数据摘要;(3)随机数生成:随机数算法模块依次提取数据摘要字符串的最后20位数,将最后这20位数转为三十六进制,将这个三十六进制数转为字符串,再截取该字符串的最后五位字符串,随机数算法模块进一步检查该字符串是否已被占用,如果该字符串已被使用则选号失败,如果没有被占用时则选号成功;(4)数据验证:随机数验证模块依次计算、验证,得到所有申请者的车号,最终完成一批车牌号抽取。本专利技术还提供一种不可操控的随机数生成系统,包括数据采集模块、数据处理模块、随机数生成模块和数据验证模块,其中:数据采集模块的工作流程为参与者通过参与数据管理模块录入自己选中的具有特定意义的数字,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;数据处理模块的工作流程为本文档来自技高网...

【技术保护点】
1.一种不可操控的随机数生成方法,其特征在于包括如下步骤:/n(1)数据采集:参与者通过参与数据管理模块录入自己选中的具有特定意义的数字,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;/n(2)数据处理:在所有参与者完成数字录入后,区块锻造模块将所有参与者转化的区块链交易打入区块,参与数据管理模块将包含上述数字信息的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;/n(3)随机数生成:根据应用场景的具体需要,通过随机数算法模块提取步骤(2)中摘要字符串的相应位数,并将提取出的相应位数转化成特定数制,再根据应用场景的具体需要,通过随机数算法模块基于参与数据按特定随机算法生成一个与所有参与数据相关的随机数,上述随机算法的特征是输入参与不可定向控制计算结果,也就是任意输入的改变,对结果的改变都是不可预测的;/n(4)数据验证:通过随机数据验证模块验证一个随机数的正确性,用于其它参与者验证已经产生的随机数的真实性,并最终该应用场景下被选中的数字。/n

【技术特征摘要】
1.一种不可操控的随机数生成方法,其特征在于包括如下步骤:
(1)数据采集:参与者通过参与数据管理模块录入自己选中的具有特定意义的数字,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;
(2)数据处理:在所有参与者完成数字录入后,区块锻造模块将所有参与者转化的区块链交易打入区块,参与数据管理模块将包含上述数字信息的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;
(3)随机数生成:根据应用场景的具体需要,通过随机数算法模块提取步骤(2)中摘要字符串的相应位数,并将提取出的相应位数转化成特定数制,再根据应用场景的具体需要,通过随机数算法模块基于参与数据按特定随机算法生成一个与所有参与数据相关的随机数,上述随机算法的特征是输入参与不可定向控制计算结果,也就是任意输入的改变,对结果的改变都是不可预测的;
(4)数据验证:通过随机数据验证模块验证一个随机数的正确性,用于其它参与者验证已经产生的随机数的真实性,并最终该应用场景下被选中的数字。


2.如权利要求1所述不可操控的随机数生成方法,其特征在于具体应用场景为猜筛子游戏,步骤具体为:
(1)数据采集:参与者通过参与数据管理模块选择自己的猜测数字,包含数字、猜测轮次、投注金额、猜测手续费,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;
(2)数据处理:区块链通过账户管理模块检查这些参与者账户余额是否充足,在所有参与者完成数字录入后,区块锻造模块将所有参与者转化的区块链交易打入区块,参与数据管理模块将包含上述猜数字信息的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;
(3)随机数生成:通过随机数算法模块提取数据摘要字符串的最后1位数,并将最后这位数转为六进制,接着随机数算法模块将该六进制数转为字符串,提取该字符串的最后一位数,并将这一位字符串转为十进制,将转换后的十进制数加一,得到最终的筛子数;
(4)数据验证:区块链通过随机数验证模块比对猜数字交易中哪条交易猜中了,最终完成一轮猜筛子。


3.如权利要求1所述不可操控的随机数生成方法,其特征在于具体应用场景为彩票开奖,步骤具体为:
(1)数据采集:参与者通过参与数据管理模块选择自己预测的中奖号码,包含7位数字、彩票期数、投注金额,交易管理模块将相关数字转化为区块链交易,参与者通过交易管理模块为上述区块链交易打上签名;
(2)数据处理:区块链通过账户管理模块检查这些参与者账户余额是否充足,等待开奖时间到,区块锻造模块将所有购买彩票的区块链交易打入区块,参与数据管理模块将所有包含购买彩票的区块链交易即所在区块找出来,接着,随机数算法模块将所有这些交易的完整数据以及区块头数据合并到一起成为data,并执行加密算法提取数据摘要;
(3)随机数生成:通过随机数算法模块提取摘要字符串的最后14位数,将这个三十二进制数转为字符串,提取该字符串的最后14位数,并将每两位字符串转为十进制,再将转换后的十进制数分别加一,即得到最终的7个开奖数;
(4)数据验证:区块链通过随机数验证模块比对彩票交易中哪条交易猜中了,并通过账户管理模块将未猜中数字的交易中的金额下账作为奖金按猜中者猜中的数字多少分配奖金,再通过区块锻...

【专利技术属性】
技术研发人员:杨税令
申请(专利权)人:厦门本能管家科技有限公司
类型:发明
国别省市:福建;35

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

1