一种应用区块链的彩票随机出号方法及其设备转让专利

申请号 : CN201910509124.5

文献号 : CN110223438B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吉建勋杨慧田翔

申请人 : 北京瑞策科技有限公司

摘要 :

本发明公开一种应用区块链的彩票随机出号方法及其设备,包括:彩票客户端在区块链上发起一笔转账请求,转账请求包括:发起方地址、接收方地址以及转账金额;转账请求用做彩票出号;彩票客户端对转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n;彩票客户端将第一哈希值除以总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;彩票客户端将第二哈希值除以预设整数,得到对应的第二余数;第二余数为本次彩票出号数;预设整数决定彩票出号数的数值变化区间。本发明保证彩票出号过程的随机性、公开、可信以及可查。

权利要求 :

1.一种应用区块链的彩票随机出号方法,其特征在于,包括以下步骤:彩票客户端在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;

所述彩票客户端对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n;n为正整数;

所述彩票客户端将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;m为小于n的正整数;

所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间;

所述第二哈希值为十六进制的数据;

所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数,具体包括如下步骤:所述彩票客户端将所述第二哈希值转换成对应的十进制数据;

所述彩票客户端将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。

2.根据权利要求1所述的应用区块链的彩票随机出号方法,其特征在于,所述第一哈希值为十六进制的数据;

所述彩票客户端将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,具体包括如下步骤:所述彩票客户端将所述第一哈希值转换成对应的十进制数据;

所述彩票客户端将转换成十进制数据的第一哈希值除以所述总出块数n,得到对应的第一余数m。

3.根据权利要求1至2任一项所述的应用区块链的彩票随机出号方法,其特征在于,所述预设整数为10时,所述彩票出号数在0~9范围内变化。

4.根据权利要求1至2任一项所述的应用区块链的彩票随机出号方法,其特征在于,所述预设整数为100时,所述彩票出号数在00-99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。

5.一种应用区块链的彩票随机出号设备,其特征在于,包括:

彩票出号发起单元,用于在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;

出号计算单元,用于对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n,以及将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;n为正整数,m为小于n的正整数;

彩票出号单元,用于将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间;

所述第二哈希值为十六进制的数据;所述彩票出号单元将所述第二哈希值转换成对应的十进制数据;将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。

6.根据权利要求5所述的应用区块链的彩票随机出号设备,其特征在于,所述第一哈希值为十六进制的数据;所述出号计算单元将所述第一哈希值转换成对应的十进制数据;将转换成十进制数据的第一哈希值除以所述总出块数n,得到对应的第一余数m。

7.根据权利要求5至6任一项所述的应用区块链的彩票随机出号设备,其特征在于,所述预设整数为10时,所述彩票出号数在0~9范围内变化。

8.根据权利要求5至6任一项所述的应用区块链的彩票随机出号设备,其特征在于,所述预设整数为100时,所述彩票出号数在00~99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。

说明书 :

一种应用区块链的彩票随机出号方法及其设备

技术领域

[0001] 本发明涉及区块链与彩票出号结合技术领域,更具体地,涉及一种应用区块链的彩票随机出号方法及其设备。

背景技术

[0002] 在全球各地的彩票市场,彩票出号可以提供机械摇号或者随机数发生器以对彩票进行开奖。机械摇号需要人力和机械装置,机械装置的工作情况和人力均可能影响彩票出号的随机性。而随机数发生器,其记奖过程不透明,可能存在根据统计结果产生特定票号的情况,且无法避免数据被内部人员或者黑客篡改数据的可能性,存在不公开、不可信的问题。
[0003] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。该系统的特点是有很多个分处与世界各地的节点,每个节点都会维护一套相同的数据库。这就导致了恶意篡改数据及其困难,数据丢失极为罕见,从而实现了一个公平透明,解决信任危机的平台。

发明内容

[0004] 针对现有技术的缺陷,本发明的目的在于解决现有彩票出号结果可能不随机,且由于出奖过程不透明,可能存在不公开、不可信的技术问题。
[0005] 为实现上述目的,第一方面,本发明提供一种应用区块链的彩票随机出号方法,包括以下步骤:
[0006] 彩票客户端在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;
[0007] 所述彩票客户端对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n;n为正整数;
[0008] 所述彩票客户端将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;m为小于n的正整数;
[0009] 所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间。
[0010] 可选地,所述第一哈希值为十六进制的数据;所述彩票客户端将所述第一哈希值除以所述总区块数n,得到对应的第一余数m,具体包括如下步骤:
[0011] 所述彩票客户端将所述第一哈希值转换成对应的十进制数据;
[0012] 所述彩票客户端将转换成十进制数据的第一哈希值除以所述总区块数n,得到对应的第一余数m。
[0013] 具体地,所述转账请求的发送方位彩票客户端,接收方可以是区块链中的其他节点,也可以是彩票客户端本身。
[0014] 可选地,所述第二哈希值为十六进制的数据;所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数,具体包括如下步骤:
[0015] 所述彩票客户端将所述第二哈希值转换成对应的十进制数据;
[0016] 所述彩票客户端将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。
[0017] 可选地,所述预设整数为10时,所述彩票出号数在0~9范围内变化。
[0018] 可选地,所述预设整数为100时,所述彩票出号数在00-99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。
[0019] 第二方面,本发明提供一种应用区块链的彩票随机出号设备,包括:
[0020] 彩票出号发起单元,用于在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;
[0021] 出号计算单元,用于对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n,以及将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;n为正整数,m为小于n的正整数;
[0022] 彩票出号单元,用于将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间。
[0023] 可以理解的是,应用区块链的彩票随机出号设备可以是彩票客户端,也可以是其他彩票设备。
[0024] 可选地,所述第一哈希值为十六进制的数据;所述出号计算单元将所述第一哈希值转换成对应的十进制数据;将转换成十进制数据的第一哈希值除以所述总出块数n,得到对应的第一余数m。
[0025] 可选地,所述第二哈希值为十六进制的数据;所述彩票出号单元将所述第二哈希值转换成对应的十进制数据;将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。
[0026] 可选地,所述预设整数为10时,所述彩票出号数在0~9范围内变化。
[0027] 可选地,所述预设整数为100时,所述彩票出号数在00~99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。
[0028] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0029] 本发明提供一种应用区块链的彩票随机出号方法及其设备,基于区块链转账业务发起彩票出号,彩票出号的过程依赖区块链数据的哈希值,由于哈希运算本身存在随机性,且结合当前一轮区块中的区块数以及随机其中某一区块的区块哈希值,最后利用两次随机哈希运算的结果,对其整除求余数,得到最终的彩票出号,保证了彩票出号过程的随机性。
[0030] 本发明提供一种应用区块链的彩票随机出号方法及其设备,其基于区块链技术,由于区块链数据具有公开透明特性,并且区块链数据安全性很高,极不容易被篡改,因此可信度高。另外,由于区块链中的数据大家都可以查到,因此彩票出号的过程可以被大众监督,保证了基于区块链进行彩票出号的过程公开、可信且可查,具有很好的应用前景。

附图说明

[0031] 图1为本发明提供的应用区块链的彩票随机出号方法流程图;
[0032] 图2为本发明提供的应用区块链的彩票随机出号设备架构图。

具体实施方式

[0033] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0034] 图1为本发明提供的应用区块链的彩票随机出号方法流程图;如图1所示,包括以下步骤:
[0035] S11,彩票客户端在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;
[0036] S12,所述彩票客户端对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n;n为正整数;
[0037] 具体地,出块节点的出块过程为将交易打包成区块的过程。若当前一轮的总出块数为n,则当前一轮的总区块数即为n。
[0038] 在一个示例中,在授权股权证明机制(Delegated ProofofStake,DPOS)的共识方式下,比如当前一轮有21个出块节点,每个出块节点连续出6个块,每一轮出块节点的总出块数是126;每个出块对应一个区块,则每一轮会出块节点对应产生有126个区块。其中,每轮出块节点出块过程中,每个出块节点是按照预定的顺序出块,即每个区块按照预定顺序产生。换句话说,每个区块都是有顺序的。
[0039] S13,所述彩票客户端将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;m为小于n的正整数;
[0040] S14,所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间。
[0041] 可选地,所述第一哈希值为十六进制的数据;所述彩票客户端将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,具体包括如下步骤:
[0042] 所述彩票客户端将所述第一哈希值转换成对应的十进制数据;
[0043] 所述彩票客户端将转换成十进制数据的第一哈希值除以所述总出块数n,得到对应的第一余数m。
[0044] 可选地,所述第二哈希值为十六进制的数据;所述彩票客户端将所述第二哈希值除以预设整数,得到对应的第二余数,具体包括如下步骤:
[0045] 所述彩票客户端将所述第二哈希值转换成对应的十进制数据;
[0046] 所述彩票客户端将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。
[0047] 可选地,所述预设整数为10时,所述彩票出号数在0~9范围内变化。
[0048] 可选地,所述预设整数为100时,所述彩票出号数在00-99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。
[0049] 具体地,预设整数为10时,则进行一次彩票出号操作,则输出一位在0~9范围内变化的号码。预设整数为100时,则进行一次彩票出号操作,则输出两位在00~99范围内变化的号码。需要说明的是,本发明提供的彩票出号方案中,预设整数可以根据实际需要设定。不仅仅限于10或100这两种情况。例如,预设整数可以为8,则输出的随机彩票号将在0~7范围内变化。预设整数可以为50,则输出的随机彩票号将在00~49范围内变化等。本领域技术人员可以根据实际需要选择该预设整数,以满足对应的彩票号的变化范围区间要求。本发明不对此做任何限定。
[0050] 可以理解的是,若需要出一个12位的彩票号码,则可将预设整数设为10,每次出一个一位数的彩票号码,进行12次彩票出号,最终得到一个12位的彩票号码。也可将预设整数设为100,每次出一个两位数的彩票号码,进行6次彩票出号,最终得到一个12位的彩票号码。
[0051] 若需要出一个7为的彩票号码,则可将预设整数设为10,每次出一个一位数的彩票号码,进行7次彩票出号,最终得到一个7位的彩票号码。也可先将预设整数设为100,每次出一个两位数的彩票号码,进行3次彩票出号,再将预设整数设为10,进行一次彩票出号,最终累加得到一个7位的彩票号码。
[0052] 图2为本发明提供的应用区块链的彩票随机出号设备的架构图,如图2所示,包括如下单元:
[0053] 彩票出号发起单元21,用于在区块链上发起一笔转账请求,所述转账请求包括:发起方地址、接收方地址以及转账金额;所述转账请求用做彩票出号;
[0054] 出号计算单元22,用于对所述转账请求进行哈希运算,得到第一哈希值,以及获取当前一轮出块节点的总出块数n,以及将所述第一哈希值除以所述总出块数n,得到对应的第一余数m,以及获取当前一轮的总区块中的第m个区块,并对第m个区块进行区块哈希运算,得到第二哈希值;n为正整数,m为小于n的正整数;
[0055] 彩票出号单元23,用于将所述第二哈希值除以预设整数,得到对应的第二余数;所述第二余数为本次彩票出号数;所述预设整数决定所述彩票出号数的数值变化区间。
[0056] 可选地,所述第一哈希值为十六进制的数据;所述出号计算单元22将所述第一哈希值转换成对应的十进制数据;将转换成十进制数据的第一哈希值除以所述总出块数n,得到对应的第一余数m。
[0057] 可选地,所述第二哈希值为十六进制的数据;所述彩票出号单元23将所述第二哈希值转换成对应的十进制数据;将转换成十进制数据的第二哈希值除以预设整数,得到对应的第二余数。
[0058] 可选地,所述预设整数为10时,所述彩票出号数在0~9范围内变化。
[0059] 可选地,所述预设整数为100时,所述彩票出号数在00~99范围内变化,其中,若第二余数小于10时,则将其十位补零后输出。
[0060] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。