1.一种基于随机数映射的区块链共识方法,其特征在于,包括以下步骤:步骤1、将区块链上的节点划分为三种角色包括:所有参与节点、监督节点以及记账节点,并从参与节点中选取监督节点;其中,所有参与节点是指区块链系统中所有功能正常的节点,能够参与整个记账过程,能够担任监督节点与记账节点;监督节点,是由链上的参与节点轮流担任,用于计算收到的随机数,然后选出记账节点,再将随机数累加后,向其他节点发送广播,公布哪个节点是下一个记账节点;记账节点,从所有参与节点中选取产生,负责链上数据的记录与维护,为了防止节点成为“中心”,保证每个结点的担任记账节点的概率相等;
步骤2、除监督节点外,其它每个参与节点都通过线性同余算法生成随机数,并发送到监督节点;监督节点接收每个参与节点利用线性同余算法产生的随机数,并利用随机数映射算法进行计算,得到计算结果,并广播至链上所有参与节点;
步骤3、采用随机数映射算法产生记账节点,某个参与节点收到的映射到自己id的消息数量超过监督节点数的设定百分比阈值,就广播一条记账节点任职消息并开始本轮记账工作;
所述步骤3采用随机数映射算法产生记账节点具体包括:
每一个节点通过Liapunov定理与概率密度函数得到这个值存在于正态分布对应的哪一个节点区间之内,然后映射到已发送随机数节点的顺序id,随后广播一条消息公告自己的结果。
2.根据权利要求1所述的一种基于随机数映射的区块链共识方法,其特征在于,所述步骤2每个参与节点都通过线性同余算法生成随机数,具体包括:线性同余算法含有4个参数:模数m且m>0,乘数a,0≤a
0≤X0
Xn+1=(a·Xn+c)mod m
线性同余法的最大周期是m,要使周期达到最大,应该满足以下条件:(1)c和m互为质数;
(2)m的所有质因子的积能整除a‑1;
(3)若m是4的倍数,则a‑1也是;
(4)a,c,x0都比m小;
(5)a,c是正整数;
得到随机数序列{Xn},如果m,a,c,X0都是整数,则产生的随机数序列{Xn}也都是整数,且0≤Xn