在区块链中自适应调整采样窗口的方法、计算机可读存储介质和区块链网络与流程

文档序号:21837496发布日期:2020-08-14 16:10阅读:来源:国知局

技术特征:

1.一种在区块链中自适应调整采样窗口的方法,其特征在于,包括:

s1、基于全网高度h和采样窗口最大值nmax判定是否需要进行采样窗口调整,如果是,执行步骤s2,否则执行步骤s4;

s2、基于所述全网高度h、所述采样窗口最大值nmax、偏差计算采样区间a,再次判断需要进行采样窗口调整,如果是,执行步骤s3,否则执行步骤s4;

s3、基于所述全网高度h、所述采样窗口最大值nmax、偏差计算采样区间a、异常增大阀值b、异常缩小阀值c计算采样窗口调整值n;

s4、将所述采样窗口最大值nmax作为采样窗口调整值n。

2.根据权利要求1所述的在区块链中自适应调整采样窗口的方法,其特征在于,所述步骤s2进一步包括:

s21、基于所述全网高度h、所述采样窗口最大值nmax取索引i=h-nmax;

s22、判断所述索引i和所述偏差计算采样区间a是否满足i-1<0||i-2<0||i-a<0||i-a-1<0||i-a-2<0,如果是,则直至步骤s4,否则执行步骤s3。

3.根据权利要求1或2所述的在区块链中自适应调整采样窗口的方法,其特征在于,所述步骤s3进一步包括:

s31、获取索引i=h-nmax;

s32、基于所述索引、所述偏差计算采样区间a中的时间戳列表ts,以及所述偏差计算采样区间a,计算第一中位数m1=med(ts[i],ts[i-1],ts[i-2])以及第二中位数m2=med(ts[i-a],ts[i-a-1],ts[i-a-2]);

s33、基于所述第一中位数m1、第二中位数m2、所述偏差计算采样区间a、所述异常增大阀值为b、所述异常缩小阀值c是否满足:m1-m2>b||m1-m2<c,如果是执行步骤s34,否则执行步骤s4;

s34、取异常波动值为u=i-h+1+nmin,其中nmin为采样窗口最小值,并执行索引i++,再判定索引i是否大于所述全网高度h,如果是执行步骤s35,否则返回步骤s32;

s35、基于所述异常波动值为u和所述采样窗口最大值nmax计算所述采样窗口调整值n。

4.根据权利要求3所述的在区块链中自适应调整采样窗口的方法,其特征在于,在所述步骤s35中,选择所述采样窗口调整值n=min(nmax,u)。

5.根据权利要求1-4中任意一项所述的在区块链中自适应调整采样窗口的方法,其特征在于,进一步包括:

s5、基于根据所述步骤s3或所述步骤s4确定的所述采样窗口调整值n选择n个采样区块,并获取所述采样区块的时间戳和难度,并基于所述时间戳和难度计算当前高度的区块所需的难度。

6.根据权利要求5所述的在区块链中自适应调整采样窗口的方法,其特征在于,所述步骤s5进一步包括:

s51、基于所述采样窗口调整值n选择n个采样区块,并获取所述采样区块的时间戳和难度d;

s52、按照所述时间戳的先后顺序进行降序排列以获得时间戳列表ts,取索引i=0,d0为采样区块的平均难度;

s53、计算难度并执行i++;

s54、判定索引是否满足i=n,如果是将dn+1作为当前高度的区块所需的难度,否则返回步骤s53。

7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-6中任意一项权利要求所述的在区块链中自适应调整采样窗口的方法。

8.一种区块链网络,包括多个区块链节点,所述区块链节点上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-6中任意一项权利要求所述的在区块链中自适应调整采样窗口的方法。


技术总结
本发明涉及在区块链中自适应调整采样窗口的方法,包括:S1、基于全网高度和采样窗口最大值判定是否需要进行采样窗口调整,如果是,执行步骤S2,否则执行步骤S4;S2、基于所述全网高度、所述采样窗口最大值、偏差计算采样区间,再次判断需要进行采样窗口调整,如果是,执行步骤S3,否则执行步骤S4;S3、基于所述全网高度、所述采样窗口最大值、偏差计算采样区间、异常增大阀值、异常缩小阀值计算采样窗口调整值;S4、将所述采样窗口最大值作为采样窗口调整值。本发明还涉及计算机可读存储介质和区块链网络。本发明可以有效避免全网难度突然增大或者突然降低带来的全网出块速度的剧烈抖动,进而保证整个区块链网络的健壮性和稳定性。

技术研发人员:杜晓楠
受保护的技术使用者:杜晓楠
技术研发日:2020.03.06
技术公布日:2020.08.14
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1