[发明专利]出块矿工随机出块方法、装置、存储介质及设备在审
申请号: | 202010928103.X | 申请日: | 2020-09-07 |
公开(公告)号: | CN112149130A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 袁泉 | 申请(专利权)人: | 武汉市果壳璐网络科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F7/58;G06N7/08;G06Q20/06;G06Q40/04 |
代理公司: | 北京联瑞联丰知识产权代理事务所(普通合伙) 11411 | 代理人: | 黄冠华 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 矿工 随机 方法 装置 存储 介质 设备 | ||
本发明涉及区块链技术领域,公开了一种出块矿工随机出块方法、装置、存储介质及设备,该方法包括:S1:获取投票选出的多个得票矿工,以生成待出块矿工集合;S2:获取N个区块中第一个区块的Hash值,记为H1,i=1;S3:将Hi按预设的计算方式进行计算,且将上一次计算结果作为本次计算参数进行迭代计算,迭代预定次数X后,得到Hi,Qi=Hi;S4:将Qi代入混沌排序算法,计算得到下一个区块的编号,记为Ki+1;S5:查找第Ki+1个区块的Hash值,记为Hi+1,且i=i+1;S6:将H1+H2+…+Hi的和赋值给Hi;S7:迭代步骤S3~S6,并迭代M次后结束迭代;S8:对Q1到QM求和以得到最终的随机值;S9:以Y作为种子计算本次出块矿工的编号。本发明使得攻击者没有足够的时间锁定和攻击矿工。
技术领域
本发明涉及区块链技术领域,特别涉及一种出块矿工随机出块方法、装置、存储介质及设备。
背景技术
区块链传统的权益证明机制(POS)中,以某种方式(例如:持有代币的数量)投票选举出若干(奇数个)矿工,每个出块周期由投票选举出的这些出块矿工出块,而不用在网络中全部矿工之间进行选择,这样提高了区块链系统的性能,避免了工作量证明机制(POW)算力消耗大和资源浪费大的问题。但是在被选出的多个出块矿工出块时是按预定顺序出块,这使得黑客可以提前选择需要攻击的矿工,提前进行准备,再该矿工出块时,对矿工进行攻击,矿工安全性降低,当多个出块矿工被攻击时还可能严重影响整个区块链系统的运行。
发明内容
本发明提出一种出块矿工随机出块方法、装置、存储介质及设备,解决现有技术的区块链运用中出块矿工易遭受黑客攻击,安全性低的问题。
本发明的一种出块矿工随机出块方法,包括步骤:
S1:获取投票选出的多个得票矿工,以生成待出块矿工集合;
S2:获取区块链中N个区块中第一个区块的Hash值,记为H1,初始化i=1;
S3:将Hi按预设的计算方式进行计算,且将上一次计算结果作为本次计算参数进行迭代计算,迭代预定次数X后,得到Hi,Qi=Hi;
S4:将Qi代入混沌排序算法,计算得到下一个被选出的区块的编号,记为Ki+1;
S5:查找第Ki+1个区块的Hash值,记为Hi+1,且i=i+1;
S6:将H1+H2+…+Hi的和赋值给Hi;
S7:迭代步骤S3~S6,并迭代M次后结束迭代;
S8:对Q1到QM求和以得到最终的随机值Y;
S9:以所述随机值Y作为种子计算本次出块矿工的编号。
其中,所述步骤S9中采用混沌排序计算本次出块矿工的编号,计算公式如下:
index=F(Y,L,limit[P])
其中,index表示本次出块矿工编号,L表示当前区块高度,limit[P]为待出块矿工集合,P为集合中元素个数。
其中,所述预设的计算方式为SHA256。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉市果壳璐网络科技有限公司,未经武汉市果壳璐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010928103.X/2.html,转载请声明来源钻瓜专利网。