1.一种基于区块链的随机数生成方法,其特征在于,包括:获取当前区块的后续多个区块的区块哈希值;所述当前区块为运用所述随机数所要处理的事件发生时最新的一个区块;
对所述后续多个区块的区块哈希值进行聚合处理,得到聚合处理结果;
通过安全散列算法及异或算法对所述聚合处理结果进行运算,生成所述随机数;
其中,将所述当前区块的后续第n个区块的哈希值与第n‑1轮聚合结果做异或运算,得到第n轮聚合结果;n为所述后续多个区块的数量,所述第n轮聚合结果为所述对所述后续多个区块的区块哈希值进行聚合处理而得到聚合处理结果。
2.根据权利要求1所述的基于区块链的随机数生成方法,其特征在于,所述获取当前区块的后续多个区块的区块哈希值,包括:读取区块高度为H+1至H+n的区块的区块信息;其中,所述当前区块的区块高度为H,n为所述后续多个区块的数量;
从所述区块信息中获取所述区块高度为H+1至H+n的区块的区块哈希值。
3.根据权利要求1所述的基于区块链的随机数生成方法,其特征在于,将所述当前区块的后续第一个区块的哈希值与一个空的哈希值做异或运算,得到第一轮聚合结果。
4.根据权利要求1 3中任一项所述的基于区块链的随机数生成方法,其特征在于,所述~通过安全散列算法及异或算法对所述聚合处理结果进行运算,生成所述随机数,包括:使用安全散列算法2对所述聚合处理结果进行运算,得到所述聚合处理结果的哈希值;
将所述聚合处理结果的哈希值的前128位和后128位进行异或运算得出运算结果m;
使m对K取模,生成所述随机数;其中,所述随机数的预设的取值范围为0到K。
5.一种基于区块链的随机数生成方法,其特征在于,包括:获取当前区块的后续第n个区块的区块哈希值;所述当前区块为运用所述随机数所要处理的事件发生时最新的一个区块;
通过安全散列算法及异或算法对所述后续第n个区块的区块哈希值进行运算,生成所述随机数;其中,将所述当前区块的后续第n个区块的哈希值与第n‑1轮聚合结果做异或运算,得到第n轮聚合结果;n为所述后续多个区块的数量,所述第n轮聚合结果为所述对所述后续多个区块的区块哈希值进行聚合处理而得到聚合处理结果。
6.根据权利要求5所述的随机数生成方法,其特征在于,所述通过安全散列算法及异或算法对所述后续第n个区块的区块哈希值进行运算,生成所述随机数,包括:使用安全散列算法2对所述后续第n个区块的区块哈希值进行运算,得到所述后续第n个区块的区块哈希值的哈希值;
将所述后续第n个区块的区块哈希值的哈希值的前128位和后128位进行异或运算得出运算结果m’;
使m’对K取模,生成所述随机数;其中,所述随机数的预设的取值范围为0到K。
7.一种基于区块链的随机数生成装置,其特征在于,包括:第一获取模块,用于获取当前区块的后续多个区块的区块哈希值;所述当前区块为运用所述随机数所要处理的事件发生时最新的一个区块;
聚合模块,用于对所述后续多个区块的区块哈希值进行聚合处理,得到聚合处理结果;
第一生成模块,用于通过安全散列算法及异或算法对所述聚合处理结果进行运算,生成所述随机数;其中,将所述当前区块的后续第n个区块的哈希值与第n‑1轮聚合结果做异或运算,得到第n轮聚合结果;n为所述后续多个区块的数量,所述第n轮聚合结果为所述对所述后续多个区块的区块哈希值进行聚合处理而得到聚合处理结果。
8.根据权利要求7所述的基于区块链的随机数生成装置,其特征在于,所述第一生成模块包括:散列单元,用于使用安全散列算法2对所述聚合处理结果进行运算,得到所述聚合处理结果的哈希值;
异或单元,用于将所述聚合处理结果的哈希值的前128位和后128位进行异或运算得出运算结果m;
取模单元,用于使m对K取模,生成所述随机数;其中,所述随机数的预设的取值范围为0到K。
9.一种基于区块链的随机数生成装置,其特征在于,包括:第二获取模块,用于获取当前区块的后续第n个区块的区块哈希值;所述当前区块为运用所述随机数所要处理的事件发生时最新的一个区块;
第二生成模块,用于通过安全散列算法及异或算法对所述后续第n个区块的区块哈希值进行运算,生成所述随机数;其中,将所述当前区块的后续第n个区块的哈希值与第n‑1轮聚合结果做异或运算,得到第n轮聚合结果;n为所述后续多个区块的数量,所述第n轮聚合结果为所述对所述后续多个区块的区块哈希值进行聚合处理而得到聚合处理结果。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1‑6中任一项所述方法的步骤。
11.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1‑6中任一项所述方法的步骤。