用于确定区块链的出块时间的方法、装置及可读存储介质制造方法及图纸

技术编号:30367850 阅读:15 留言:0更新日期:2021-10-16 17:41
本公开内容提供了一种用于确定区块链中的出块时间的方法,所述方法包括:由区块链中的共识节点接收交易请求,其中,所述交易请求为需要所述共识节点进行共识的交易;由区块链中的共识节点接收区块链系统的内部信息;基于所述内部信息预测接下来预定时间段内的交易数量和下一个交易的预测时间;以及基于所述交易数量和所述预测时间确定实际出块时间。由于所述方法考虑了区块链的内部信息,从而使得依据本公开内容所提出的技术方案能够基于不同的交易数量以及交易密集程度满足不同业务场景的需求,提高区块链相应速度,提升用户体验满意度。满意度。满意度。

【技术实现步骤摘要】
用于确定区块链的出块时间的方法、装置及可读存储介质


[0001]本公开内容涉及区块链技术,更为具体地涉及一种用于确定区块链中的出块时间的方法、用于确定区块链中的出块时间的装置及可读存储介质。

技术介绍

[0002]在一个联盟链网络中,区块链出块算法通常不考虑恶意节点,所有节点共同参与出块算法的共识过程。共识算法的出块过程就是将交易打包到区块中,并计算区块的哈希,形成一个不可篡改的区块链账本。目前常见的区块打包算法有两个约束变量,一个是区块中的最大交易数量,一个是区块打包最长等待时间,那个条件先达到,则会出一个区块。比如,区块中的最大交易数量是10,区块打包最长等待时间是2秒,如果共识节点收到的交易数量超过10时,或者等待时间超过2秒,则共识节点会打包一个区块。交易打包到区块后,并得到交易节点的验证确认,才能认为交易最终成功。所以向交易节点提交交易提案,然后发送交易给共识节点出块,到交易节点收到区块并验证成功,整个过程是一个交易完整的执行过程。业务系统一般通过区块链应用网关调用区块链交易节点和共识节点,或者业务系统也可以直接调用区块链交易节点和共识节点。
[0003]在现实世界中,有些区块链交易通常拥有较高的优先级,需要在其写入区块链的过程中,需要最大程度降低其延迟时间。比如区块链网络在对外提供服务时,根据用户的服务水平或优先级,针对高服务水平和高优先级的用户,其交易在出块时提供更高的响应水平,但是在区块链网络中,由于共识算法出块策略的实现机制,所有交易都会公平对待,根据最大交易数量和最长等待时间的出块策略,会导致高优先级的交易不能及时打包进区块,从而影响其响应水平。此外,区块链交易的频率和业务的频率强相关。区块中的最大交易数量和最长等待时间的出块策略,在交易频率比较低的情况下,无法达到最大交易数量的条件时,会导致交易执行的最终时间达到2秒,在交易频率比较高的情况下,很快到达最大交易数量的条件时,会导致系统大量的出块压力。甚至如果交易频率动态变化时,始终无法达到最佳的出块策略。

技术实现思路

[0004]为了解决不同用户或者业务对于区块链响应时间的要求,本专利技术的实施例提供了一种用于确定区块链中的出块时间的方法,其特征在于,所述方法包括:
[0005]由区块链中的共识节点接收交易请求,其中,所述交易请求为需要所述共识节点进行共识的交易;
[0006]由区块链中的共识节点接收区块链系统的内部信息;
[0007]基于所述内部信息预测接下来预定时间段内的交易数量和下一个交易的预测时间;以及
[0008]基于所述交易数量和所述预测时间确定实际出块时间。
[0009]在依据本公开内容的一个实施例之中,所述区块链系统的内部信息包括以下信息
中的至少一种:
[0010]待提交给所述共识节点的交易数量;
[0011]提交给所述共识节点的平均时间;
[0012]正在交易节点上执行的交易数量;
[0013]在所述交易节点上执行交易的平均时间;
[0014]已收到等待在交易节点上执行的交易数量;和/或
[0015]已收到并等待在交易节点上执行的平均等待时间。
[0016]在依据本公开内容的一个实施例之中,所述交易请求中包括最大交易数量和最长出块时间,基于所述交易数量和所述预测时间确定实际出块时间进一步包括:
[0017]基于最大交易数量和最长出块时间预测第一出块时间;
[0018]基于所述交易数量和所述预测时间预测第二出块时间;以及
[0019]基于所述第一出块时间和所述第二出块时间的比较结果确定实际出块时间。
[0020]在依据本公开内容的一个实施例之中,基于所述交易数量和所述预测时间预测第二出块时间进一步包括:
[0021]在待提交给所述共识节点的交易数量大于零的情况下,基于提交给所述共识节点的平均时间计算第一等待时间;
[0022]在正在交易节点上执行的交易数量大于零的情况下,基于在所述交易节点上执行交易的平均时间和所述第一等待时间计算第二等待时间;
[0023]在已收到等待在交易节点上执行的交易数量大于零的情况下,基于已收到并等待在交易节点上执行的平均等待时间和所述第二等待时间计算第三等待时间;以及
[0024]基于所述第三等待时间计算所述第二出块时间。
[0025]在依据本公开内容的一个实施例之中,在待提交给所述共识节点的交易数量大于零的情况下,基于提交给所述共识节点的平均时间和与历史平均时间相关联的第一随机扰动计算第一等待时间。
[0026]在依据本公开内容的一个实施例之中,在正在交易节点上执行的交易数量大于零的情况下,基于在所述交易节点上执行交易的平均时间、所述第一等待时间以及与历史平均时间相关联的第二随机扰动计算第二等待时间。
[0027]在依据本公开内容的一个实施例之中,在已收到等待在交易节点上执行的交易数量大于零的情况下,基于已收到并等待在交易节点上执行的平均等待时间、所述第二等待时间以及与历史平均时间相关联的第三随机扰动计算第三等待时间。
[0028]此外,本公开内容的第二方面还提出了一种用于确定区块链中的出块时间的装置,其特征在于,所述装置包括:
[0029]处理器;以及
[0030]存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
[0031]由区块链中的共识节点接收交易请求,其中,所述交易请求为需要所述共识节点进行共识的交易;
[0032]由区块链中的共识节点接收区块链系统的内部信息;
[0033]基于所述内部信息预测接下来预定时间段内的交易数量和下一个交易的预测时间;以及
[0034]基于所述交易数量和所述预测时间确定实际出块时间。
[0035]在依据本公开内容的一个实施例之中,所述区块链系统的内部信息包括以下信息中的至少一种:
[0036]待提交给所述共识节点的交易数量;
[0037]提交给所述共识节点的平均时间;
[0038]正在交易节点上执行的交易数量;
[0039]在所述交易节点上执行交易的平均时间;
[0040]已收到等待在交易节点上执行的交易数量;和/或
[0041]已收到并等待在交易节点上执行的平均等待时间。
[0042]在依据本公开内容的一个实施例之中,所述交易请求中包括最大交易数量和最长出块时间,基于所述交易数量和所述预测时间确定实际出块时间进一步包括:
[0043]基于最大交易数量和最长出块时间预测第一出块时间;
[0044]基于所述交易数量和所述预测时间预测第二出块时间;以及
[0045]基于所述第一出块时间和所述第二出块时间的比较结果确定实际出块时间。
[0046]在依据本公开内容的一个实施例之中,基于所述交易数量和所述预测时间预测第二出块时间进一步包括:
[0047]在待提交给所述共识节点的交易数量大于零的情况下,基于提交给所述共本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于确定区块链中的出块时间的方法,其特征在于,所述方法包括:由区块链中的共识节点接收交易请求,其中,所述交易请求为需要所述共识节点进行共识的交易;由区块链中的共识节点接收区块链系统的内部信息;基于所述内部信息预测接下来预定时间段内的交易数量和下一个交易的预测时间;以及基于所述交易数量和所述预测时间确定实际出块时间。2.根据权利要求1所述的方法,其特征在于,所述区块链系统的内部信息包括以下信息中的至少一种:待提交给所述共识节点的交易数量;提交给所述共识节点的平均时间;正在交易节点上执行的交易数量;在所述交易节点上执行交易的平均时间;已收到等待在交易节点上执行的交易数量;和/或已收到并等待在交易节点上执行的平均等待时间。3.根据权利要求2所述的方法,其特征在于,所述交易请求中包括最大交易数量和最长出块时间,基于所述交易数量和所述预测时间确定实际出块时间进一步包括:基于最大交易数量和最长出块时间预测第一出块时间;基于所述交易数量和所述预测时间预测第二出块时间;以及基于所述第一出块时间和所述第二出块时间的比较结果确定实际出块时间。4.根据权利要求3所述的方法,其特征在于,基于所述交易数量和所述预测时间预测第二出块时间进一步包括:在待提交给所述共识节点的交易数量大于零的情况下,基于提交给所述共识节点的平均时间计算第一等待时间;在正在交易节点上执行的交易数量大于零的情况下,基于在所述交易节点上执行交易的平均时间和所述第一等待时间计算第二等待时间;在已收到等待在交易节点上执行的交易数量大于零的情况下,基于已收到并等待在交易节点上执行的平均等待时间和所述第二等待时间计算第三等待时间;以及基于所述第三等待时间计算所述第二出块时间。5.根据权利要求4所述的方法,其特征在于,在待提交给所述共识节点的交易数量大于零的情况下,基于提交给所述共识节点的平均时间和与历史平均时间相关联的第一随机扰动计算第一等待时间。6.根据权利要求4所述的方法,其特征在于,在正在交易节点上执行的交易数量大于零的情况下,基于在所述交易节点上执行交易的平均时间、所述第一等待时间以及与历史平均时间相关联的第二随机扰动计算第二等待时间。7.根据权利要求4所述的方法,其特征在于,在已收到等待在交易节点上执行的交易数量大于零的情况下,基于已收到并等待在交易节点上执行的平均等待时间、所述第二等待时间以及与历史平均时间相关联的第三随机扰动计算第三等待时间。8.一种用于确定区块链中的出块时间的装置,其特征在于,所述装置包括:
处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执行...

【专利技术属性】
技术研发人员:史锋锋
申请(专利权)人:上海道块信息技术有限公司嘉兴南湖红链科技有限公司嘉兴市嘉禾区块链技术研究院
类型:发明
国别省市:

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

1