一种难度调整的方法及相关设备技术

技术编号:21838392 阅读:31 留言:0更新日期:2019-08-10 20:15
本申请实施例公开了一种难度调整的方法及相关设备,用于根据实时算力调整区块开发难度。本申请实施例方法包括:获取第一区块难度值以及第一区块出块时间,根据所述第一区块难度值以及第一区块出块时间得到第二区块第一目标难度值,获取实时算力以及系统算力,并计算所述实时算力以及所述系统算力的算力差,根据算力差与PID算法公式输出难度调整参数,根据所述第二区块目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。其中,通过实时监测算力的变化,并根据算力的变化对应调整难度值,以使得难度与实时算力相匹配。

A Method of Difficulty Adjustment and Related Equipment

【技术实现步骤摘要】
一种难度调整的方法及相关设备
本申请涉及区块链领域,具体涉及一种难度调整的方法及相关设备。
技术介绍
区块链是对接入服务器的所有区块链节点公开的分布式存储的数据结构,包含着若干的区块(Block),在开发时,一般以整个网络的计算力大致每10分钟产生一个区块所需要的难度数值为难度目标,整个网络通过难度这个变量控制生成工作量证明所需要的计算力。由于在开发过程中,不同时间的算力不同,如果难度变量不变,或者变化的方向与算力变化的方向相反,比如当开发某一区块时,整个网络的算力低于开发上一区块的算力,但是难度却高于上一区块,就会带来反效果,常规的难度调整一般是,比特币网络每产生2016个区块(两周)后,会根据之前2016个区块的计算时间以及算力进行数学难题的难度调整,通过将数学解的阈值提高或降低来减少或增加难度,使每个区块的计算时间维持在大约10分钟的范围。但这是对一段较长时间内的平均算法,在具体的开发过程中,如果上一个区块的开发过程中存在某算力高的大厂,在开发下一区块时,该大厂如果撤出就会使得下一区块的开发时间大大增加,难度与算力并不能实时对应上是目前的难度调整方法存在的明显缺点。申请内容本申请实施例公开了一种难度调整的方法及相关设备,用于根据实时算力调整区块开发难度。本申请第一方面提供一种难度调整的方法,应用于区块链设备,包括:获取第一区块难度值以及第一区块出块时间;根据所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值;获取实时算力以及系统算力;计算所述实时算力以及所述系统算力的算力差;根据算力差与PID算法公式输出难度调整参数;根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。可选地,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:将所述系统算力的值更改为所述实时算力的值,以使得后一次的难度调整以前一次的难度调整为依据。可选地,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:预设时间阈值;判断距计算出第二区块第二目标难度值的时间是否满足所述时间阈值;若满足所述时间阈值,则重新获取所述实时算力以及所述系统算力;计算所述实时算力以及所述系统算力的算力差;根据算力差与PID算法公式输出难度调整参数;根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。可选地,在根据所述第二区块目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:若所述第二区块计算完成,则退出所述重新获取所述实时算力以及所述系统算力的循环过程。可选地,所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值使用的公式为:D0≡131072所述D为第二区块第一目标难度值,D0为一个常数,较为广泛地存在于以太坊的挖矿过程中,的计算方式也是以太坊本有的调整方式,-99是为调整上块区块的范围,P(H)U为叔块个数。可选地,根据算力差与PID算法公式输出难度调整参数,所述PID算法公式为:所述Kp为比例增益,Ki为积分增益,Kd为微分增益,t为目前时间。本申请第二方面提供了一种难度调整的系统,应用于区块链设备中,包括:获取单元,用于获取第一区块难度值以及第一区块出块时间;计算单元,用于根据所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值;所述获取单元,还用于获取实时算力以及系统算力;所述计算单元,还用于计算所述实时算力以及所述系统算力的算力差;输出单元,用于根据算力差与PID算法公式输出难度调整参数;所述计算单元,还用于根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。可选地,所述系统还包括:更改单元,用于将所述系统算力的值更改为所述实时算力的值,以使得后一次的难度调整以前一次的难度调整为依据。可选地,所述系统还包括:预设单元,用于预设时间阈值;判断单元,用于判断距计算出第二区块第二目标难度值的时间是否满足所述时间阈值;所述获取单元,还用于若满足所述时间阈值,则重新获取所述实时算力以及所述系统算力;所述计算单元,还用于计算所述实时算力以及所述系统算力的算力差;所述输出单元,还用于根据算力差与PID算法公式输出难度调整参数;所述计算单元,还用于根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。可选地,所述系统还包括:退出单元,用于若所述第二区块计算完成,则退出所述重新获取所述实时算力以及所述系统算力的循环过程。本申请第三方面提供一种区块链设备,包括:处理器、存储器、输入输出设备以及总线;所述处理器、存储器、输入输出设备分别与所述总线相连;所述处理器用于执行如前述实施例任一项所述的方法。本申请第四方面提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如前述实施例中任意一项所述方法的步骤。从以上技术方案可以看出,本申请实施例具有以下优点:本实施例中,获取第一区块难度值以及第一区块出块时间,根据所述第一区块难度值以及第一区块出块时间得到第二区块第一目标难度值,获取实时算力以及系统算力,并计算所述实时算力以及所述系统算力的算力差,根据算力差与PID算法公式输出难度调整参数,根据所述第二区块目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。其中,通过实时监测算力的变化,并根据算力的变化对应调整难度值,以使得难度与实时算力相匹配。附图说明图1为本申请实施例中一种难度调整的方法实施例的一个示意图;图2为本申请实施例中一种难度调整的方法实施例的另一个示意图;图3为本申请实施例中一种难度调整的方法实施例的另一个示意图;图4为本申请实施例中一种难度调整的方法实施例的另一个示意图;图5为本申请实施例中一种难度调整的系统实施例的一个示意图;图6为本申请实施例中一种计算机装置的一个示意图。具体实施方式本申请实施例提供了一种难度调整的方法及相关设备,用于根据实时算力调整区块开发难度。为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请涉及区块链技术,为了便于理解,下面将对在本申请实施例中的区块链(BlockChain)进行简单的介绍,区块链是对接入服务器的所有区块链节点公开的分布本文档来自技高网
...

【技术保护点】
1.一种难度调整的方法,其特征在于,应用于区块链设备,包括:获取第一区块难度值以及第一区块出块时间;根据所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值;获取实时算力以及系统算力;计算所述实时算力以及所述系统算力的算力差;根据算力差与PID算法公式输出难度调整参数;根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。

【技术特征摘要】
1.一种难度调整的方法,其特征在于,应用于区块链设备,包括:获取第一区块难度值以及第一区块出块时间;根据所述第一区块难度值以及第一区块出块时间计算第二区块第一目标难度值;获取实时算力以及系统算力;计算所述实时算力以及所述系统算力的算力差;根据算力差与PID算法公式输出难度调整参数;根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。2.根据权利要求1所述的方法,其特征在于,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:将所述系统算力的值更改为所述实时算力的值,以使得后一次的难度调整以前一次的难度调整为依据。3.根据权利要求2所述的方法,其特征在于,在根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:预设时间阈值;判断距计算出第二区块第二目标难度值的时间是否满足所述时间阈值;若满足所述时间阈值,则重新获取所述实时算力以及所述系统算力;计算所述实时算力以及所述系统算力的算力差;根据算力差与PID算法公式输出难度调整参数;根据所述第二区块第一目标难度值以及所述难度调整参数计算出第二区块第二目标难度值。4.根据权利要求3所述的方法,其特征在于,在根据所述第二区块目标难度值以及所述难度调整参数计算出第二区块第二目标难度值之后,所述方法还包括:若所述第二区块计算完成,则退出所述重新获取所述实时算力以及所述系统算力的循环过程。5.根据权利要求1所述的方法,其特征在于,所述第一区块难度值以及第一区块出块时间计...

【专利技术属性】
技术研发人员:刘新侯利朋
申请(专利权)人:深圳市元征科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1