一种提案超时阈值的动态调节方法、装置及电子设备制造方法及图纸

技术编号:27062583 阅读:17 留言:0更新日期:2021-01-15 14:43
本说明书实施例涉及一种提案超时阈值的动态调节方法、装置及电子设备,主要包括:每个节点设置并记录参与的共识轮数R及空白计数Nil_R;提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。通过上述方法可以达到当交易池中没有交易时,则不出块,并动态调节第一阶段投票的提案超时阈值的效果,这样在应用系统空闲很长一段时间后,有用户交易到达后,仍然可以快速达成共识并出块。

【技术实现步骤摘要】
一种提案超时阈值的动态调节方法、装置及电子设备
本说明书实施例涉及网络
,尤其涉及一种提案超时阈值的动态调节方法、装置及电子设备。
技术介绍
现有的区块链系统,例如采用BFT共识算法额系统,在其共识过程中都会预设个出块超时的时间阈值,在预设的时间范围内,不管有没有用户的交易到来,都会生成一个区块。在这种半同步网络假设共识协议的区块链系统中,经过视图切换或共识轮数增长后,共识机制通过逐渐递增提案超时阈值来测试网络情况。当提案超时阈值的增大,必然导致交易入快的延迟。同时对于应用相对较少的区块链系统来说,没有任何交易内容的空块的比例特别大,占用了很多的磁盘空间,也间接减慢了后续检索的速度。
技术实现思路
本说明书实施例提供一种提案超时阈值的动态调节方法、装置及电子设备,用以解决现有技术中没有交易也生成大量空白区块、且出块速度较慢的问题。为了解决上述技术问题,本说明书实施例采用下述技术方案:第一方面,提供了一种提案超时阈值的动态调节方法,应用于区块链系统,所述方法包括:每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。>第二方面,提供了一种提案超时阈值的动态调节装置,应用于区块链系统,所述装置包括:设置模块:用于每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;提案获取模块:用于提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;第一阶段投票模块:用于设置所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;超时阈值设置模块:用于设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。第三方面,提供了一种电子设备,包括:一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的一个或多个计算机程序,以使得该一个或多个处理器执行根据本专利技术各实施例提供的提案超时阈值的动态调节方法。第四方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的提案超时阈值的动态调节方法。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:当交易池中没有交易时,则不出块。通过对节点的无交易内容的空白提案进行计数,并以此动态调节第一阶段投票的提案超时阈值,这样在应用系统空闲很长一段时间后,有用户交易到达后,仍然可以快速达成共识并出块。另外,以固定频率进行共识节点间出块超时时间的协商,调整共识步调。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书实施例提供的提案超时阈值的动态调节方法的步骤示意图;图2为本说明书实施例提供的提案超时阈值的动态调节装置的结构示意图;图3为本说明书实施例提供的电子设备的结构示意图。具体实施方式为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施例保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。实施例一参照图1所示,为本说明书实施例提供的一种提案超时阈值的动态调节方法,应用于区块链系统,所述方法包括:步骤101:每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;步骤102:提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;步骤103:所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;步骤104:设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。所述方法还可以进一步包括:当第一阶段投票的超时等待时间达到所述提案超时阈值后,开始第二阶段投票,所有的节点对第一阶段没有收到有效阈值的投票进行表决后,进入下一轮共识,同时各节点递增共识轮数R。需要说明的是:由于在其他共识节点(Voter)收到空白提案(proposal)后也不进行投票,则计票不会达到法定票数,所以共识节点在第一阶段投票会进入proposal超时等待时间,在超时等待时间到达后在开始第二轮投票。所述提案超时阈值的设置可以进一步包括:设置提案超时的基础时间阈值;第一阶段投票的提案超时阈值为所述基础时间阈值的M倍,其中M=R-Nil_R+1。例如:在区块链系统中,首先设置基础时间阈值Timeout为Q秒;在第4轮共识中(R=3,由于此时第4轮共识尚未结束,因此轮数尚未递增),出现了首次空白计数,(Nil_R=1),则本轮第一阶段投票的提案超时阈值proposal_wait为3Q秒。可以看出当出现持续的无交易时,系统不会出空快,且提案超时阈值的设置将随着空白计数的增加而进行调整,因此当从交易池获取到了新的交易时,仍可以正常、快速的共识投票并出块。需要说明的是:本专利技术实施例的技术方案适用于采用半同步网络假设共识协议的区块链系统,如采用BFT共识的区块链系统。所述方法还可以包括空白计数同步的步骤:设置空白计数的更新轮数;以所述更新轮数为间隔,所有共识节点向其他共识节点广播自身节点的空白计数Nil_R,以所有空白计数Nil_R的最大值更新所有节点的空白计数Nil_R。通过本说明书技术方案,当交易池中没有交易时,则不出块。通过对节点的无交易内容的空白提案进行计数,并以此动态调节第一阶段投票的提案超时阈值,这样在应用系统空闲很长一段时间后,有用户交易到达后,仍然可以快速达成共识并出块。另外,以固定频率进行共识节点间出块超时时间的协商,调整共识步调。实施例二参照图2所示,为本说明书实施例提供的提案超时阈值的动态调节装置的结构示意图,该装置主要包括:设置模块201:用于每个节点设置并记录参与的共识本文档来自技高网...

【技术保护点】
1.一种提案超时阈值的动态调节方法,应用于区块链系统,所述方法包括:/n每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;/n提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;/n所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;/n设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。/n

【技术特征摘要】
1.一种提案超时阈值的动态调节方法,应用于区块链系统,所述方法包括:
每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;
提案共识节点向交易时获取交易,如果交易池为空,则所述提案共识节点发送无交易内容的空白提案;
所述提案共识节点及收到提案的其他共识节点不对所述空白提案进行第一阶段投票,并递增自身空白计数Nil_R;
设置所述第一阶段投票的提案超时阈值与共识轮数R正相关,而与所述空白计数Nil_R负相关。


2.如权利要求1所述的方法,进一步包括:当第一阶段投票的超时等待时间达到所述提案超时阈值后,开始第二阶段投票,所有的节点对第一阶段没有收到有效阈值的投票进行表决后,进入下一轮共识,同时各节点递增共识轮数R。


3.如权利要求2所述的方法,进一步包括:设置提案超时的基础时间阈值;第一阶段投票的提案超时阈值为所述基础时间阈值的M倍,其中M=R-Nil_R+1。


4.如权利要求3所述的方法,其中所述区块链系统为采用半同步网络假设共识协议的区块链系统。


5.如权利要求1-4所述的方法,进一步包括:
设置空白计数的更新轮数;
以所述更新轮数为间隔,所有共识节点向其他共识节点广播自身节点的空白计数Nil_R,以所有空白计数Nil_R的最大值更新所有节点的空白计数Nil_R。


6.一种提案超时阈值的动态调节装置,应用于区块链系统,所述装置包括:
设置模块:用于每个节点设置并记录参与的共识轮数R及空白计数Nil_R;其中空白计数为节点发送或接收的无交易内容的提案的个数;
提案获取模块:用于提案共识节点向交易时获...

【专利技术属性】
技术研发人员:王晓亮俞波
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:浙江;33

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

1