【技术实现步骤摘要】
一种基于带权重的随机洗牌算法的抽签方法及应用
本专利技术涉及一种抽签方法,尤其涉及一种基于带权重的随机洗牌算法的抽签方法及应用。
技术介绍
区块链是继大数据和人工智能之后的又一项互联网革命,融合了分布式计算、加密技术和可证明安全等多项技术。区块链技术为去中心系统提供了一种可行方案。区块链中的一个核心步骤是共识,即如何在多个矿工生成区块的情况下决定哪个矿工的区块被接收到链上。比特币是第一个得到广泛应用的区块链系统,采用了PoW共识机制。在PoW共识机制中,算力是出块的决定因素,即算得最快的节点,其区块更容易上链并得到奖励。在该体制下,由于每次只能有一个节点的出块被接受到链上,其他的算力都都浪费掉,由此,PoS体制被提出并被区块链系统接受。在PoS体制中,节点出块的概率与其占有的某项资源相关,该资源可以是其持有的代币、拥有的内存或者存储资源。与PoW相比,PoS不会出现分叉,不需要大量的计算,节省了能源。但为了防止女巫攻击,PoS要求节点获得出块的概率与其持有的资源成正比,与其分拆和合并没有关系。在实际系 ...
【技术保护点】
1.一种基于带权重的随机洗牌算法的抽签方法,其特征在于:包括抽签过程和验证过程两部分;/n所述抽签过程包括以下步骤:/nS1:拼接字符串;/nS2:以拼接得到的字符串和当前用户的私钥sk
【技术特征摘要】
1.一种基于带权重的随机洗牌算法的抽签方法,其特征在于:包括抽签过程和验证过程两部分;
所述抽签过程包括以下步骤:
S1:拼接字符串;
S2:以拼接得到的字符串和当前用户的私钥ski作为输入,利用可验证随机函数生成哈希值hashi和对应的证明proofi;
S3:对指定范围内的每个数值,利用哈希函数计算哈希值;设指定范围为1-wi,wi为节点i持有的份额,即对应的权重为wi;记优先级最大的哈希值为τi,对应的数值记为πi;
S4:用带权重的随机洗牌函数进行随机洗牌,生成一个优先级列表;
S5:用带权重的随机洗牌函数对默认列表进行随机置换;
S6:当前用户将自身置于生成的列表的最高优先级位置,得到列表listi;
S7:广播hashi、proofi、τi、πi、listi;
所述验证过程包括以下步骤:
S8:验证πi是否在1至wi范围内;
S9:验证hashi是否是由当前的该用户生成;
S10:验证τi是否等于hashi与πi拼接后的哈希值;
S11:取验证通过的与随机数r差值最小的τi对应的listi为得到的抽签列表;
S12:若节点i在线,则i为抽签胜出节点,否则listi第二个位置的节点为胜出节点,依次类推,无须多轮共识,即可得到胜出节点。
2.根据权利要求1所述的基于带权重的随机洗牌算法的抽签方法,其特征在于:字符串的拼接方式为:将字符串magic和nonce拼接为一个字符串m,即m=magic|nonce,其中,magic为一个固定的字符串,nonce为一个变化的字符串。
3.根据权利要求2所述的基于带权重的随机洗牌算法的抽签方法,其特征在于:S3中,采用的哈希函数为哈希函数SM3。
4.根据权利要求3所述的基于带权重的随...
【专利技术属性】
技术研发人员:徐明星,付希明,钟秋,
申请(专利权)人:北京欧凯联创网络科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。