[发明专利]一种对FTS随机算法中伪随机数生成器的跨平台改造方法在审
申请号: | 201910951248.9 | 申请日: | 2019-10-08 |
公开(公告)号: | CN112631549A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 章庆 | 申请(专利权)人: | 橙载(上海)信息技术有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 北京劲创知识产权代理事务所(普通合伙) 11589 | 代理人: | 张铁兰 |
地址: | 200000 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fts 随机 算法 随机数 生成器 平台 改造 方法 | ||
本发明公开了一种对FTS随机算法中伪随机数生成器的跨平台改造方法,包括将User0‑UserY对应的权重组成一颗Merkle树;从上述merkle树的根节点开始,以随机种子作为随机源,使用伪随机数生成器生成一个小于当前树节点权重的随机数;将随机种子X作为初始化种子,选出叶子节点;改造;验证;本发明基于安全的随机种子,采用哈希算法、大数求模运算构造跨平台的伪随机数生成器,实现了算法移植的通用性,使算法运行过程中不再依赖任何开发语言和操作系统的基础库,使用通用的数学逻辑构造跨平台的伪随机数生成器,让不同的开发语言和操作系统都能通用实现,并保证跨平台后相同的种子得到一致性结果,既能减少出错的概率,又可以保证协议实现的通用性。
技术领域
本发明涉及随机选择领域,具体为一种对FTS随机算法中伪随机数生成器的跨平台改造方法。
背景技术
伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。在计算伪随机数时,若使用的初值(种子)不变,那么伪随机数的数序也不变。伪随机数可以用计算机大量生成,在模拟研究中为了提高模拟效率,一般采用伪随机数代替真正的随机数。模拟中使用的一般是循环周期极长并能通过随机数检验的伪随机数,以保证计算结果的随机性。
Merkle树:默克尔树(又叫哈希树)是一种典型的二叉树结构,由一个根节点、一组中间节点和一组叶节点组成。其主要特点为:最下面的叶节点包含存储数据或其哈希值,非叶子节点(包括中间节点和根节点)都是它的两个孩子节点内容的哈希值。
随机选择在各行各业应用广泛,算法的选择要保证结果分布均匀、具有不可预测性,通过merkle树设计的基于权重的随机选择算法,在满足随机性时,可以验证选择过程,而且当被选数量呈指数级增加时验证过程呈对数增加的,这些特性比较适合区块链,并在区块链中得到了广泛的应用。现有的技术在伪随机数生成器的选择上采用了开发语言库自带的基于安全的随机种子在某个区间内选出随机数,不同的开发语言(java/c++/go)都有类似的伪随机数生成器实现,由于很难保证原理一致,同一安全种子在跨平台中很难保证程序运行结果一致。
发明内容
本发明的目的在于提供一种对FTS随机算法中伪随机数生成器的跨平台改造方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种对FTS随机算法中伪随机数生成器的跨平台改造方法,包括如下具体步骤:
S1:将User0-UserY对应的权重组成一颗Merkle树,其形式是非叶子节点的权重为左右子树的权重之和,叶子节点的权重即为某个User的权益值;
S2:从上述merkle树的根节点开始,以随机种子作为随机源,使用伪随机数生成器生成一个小于当前树节点权重的随机数,如果该随机数小于左子树的权重则选择左子树继续遍历,否则选择右子树继续遍历,直到选择某一个叶子节点;
S3:将随机种子X作为伪随机数生成器的初始化种子,用代码Random rng=newRandom(X),执行int r=rng.nextInt(n)+1获取[0,n)的随机数,这样循环执行,直到选出叶子节点;
S4:对伪随机数生成器进行改造,基于随机种子计算哈希,使用哈希值对权重n大数求模即得到结果;
S5:对选择过程进行验证,从叶子节点通过哈希计算三次完成根节点验证。
优选的,步骤S3中的代码为java代码。
与现有技术相比,本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于橙载(上海)信息技术有限公司,未经橙载(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910951248.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息展示方法、装置、终端及服务器
- 下一篇:磁性隧道结结构及其磁性存储单元