[发明专利]一种难度调整的方法及相关设备有效
申请号: | 201910355979.7 | 申请日: | 2019-04-29 |
公开(公告)号: | CN110113172B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 刘新;侯利朋 | 申请(专利权)人: | 深圳市元征科技股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G06Q20/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳市龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 难度 调整 方法 相关 设备 | ||
本申请实施例公开了一种难度调整的方法及相关设备,用于根据实时算力调整区块开发难度。本申请实施例方法包括:获取第一区块难度值以及第一区块出块时间,根据所述第一区块难度值以及第一区块出块时间得到第二区块第一目标难度值,获取实时算力以及系统算力,并计算所述实时算力以及所述系统算力的算力差,根据算力差与PID算法公式输出难度调整参数,根据所述第二区块目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。其中,通过实时监测算力的变化,并根据算力的变化对应调整难度值,以使得难度与实时算力相匹配。
技术领域
本申请涉及区块链领域,具体涉及一种难度调整的方法及相关设备。
背景技术
区块链是对接入服务器的所有区块链节点公开的分布式存储的数据结构,包含着若干的区块(Block),在开发时,一般以整个网络的计算力大致每10分钟产生一个区块所需要的难度数值为难度目标,整个网络通过难度这个变量控制生成工作量证明所需要的计算力。
由于在开发过程中,不同时间的算力不同,如果难度变量不变,或者变化的方向与算力变化的方向相反,比如当开发某一区块时,整个网络的算力低于开发上一区块的算力,但是难度却高于上一区块,就会带来反效果,常规的难度调整一般是,比特币网络每产生2016个区块(两周)后,会根据之前2016个区块的计算时间以及算力进行数学难题的难度调整,通过将数学解的阈值提高或降低来减少或增加难度,使每个区块的计算时间维持在大约10分钟的范围。但这是对一段较长时间内的平均算法,在具体的开发过程中,如果上一个区块的开发过程中存在某算力高的大厂,在开发下一区块时,该大厂如果撤出就会使得下一区块的开发时间大大增加,难度与算力并不能实时对应上是目前的难度调整方法存在的明显缺点。
申请内容
本申请实施例公开了一种难度调整的方法及相关设备,用于根据实时算力调整区块开发难度。
本申请第一方面提供一种难度调整的方法,应用于区块链设备,包括:
获取第一区块难度值以及第一区块出块时间;
根据所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值;
获取实时算力以及系统算力;
计算所述实时算力以及所述系统算力的算力差;
根据算力差与PID算法公式输出难度调整参数u(t),所述PID算法公式为:其中Kp为比例增益,Ki为积分增益,Kd为微分增益,t为目前时间,e(t)为目前时间的算力差;
根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。
可选地,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:
将所述系统算力的值更改为所述实时算力的值,以使得后一次的难度调整以前一次的难度调整为依据。
可选地,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:
预设时间阈值;
判断距计算出第二区块第二目标难度值的时间是否满足所述时间阈值;
若满足所述时间阈值,则重新获取所述实时算力以及所述系统算力;
计算所述实时算力以及所述系统算力的算力差;
根据算力差与PID算法公式输出难度调整参数;
根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市元征科技股份有限公司,未经深圳市元征科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910355979.7/2.html,转载请声明来源钻瓜专利网。