This application provides a block generation method, device, computer equipment and storage medium, in which the method includes: the first node obtains the average network delay and the maximum network delay between the first node and the second node; the first node determines the average system time difference between the first node and the second node based on the average network delay; and the first node receives the second node generation. The first node determines whether the block is a block generated by the second node according to the average network delay, the maximum network delay, the average system time difference, the local time stamp and the time stamp carried by the block. The above scheme solves the technical problem of low accuracy of block time reasonableness judgment in the existing technology, and achieves the technical effect of effectively improving the accuracy of block time reasonableness judgment and the efficiency of block generation.
【技术实现步骤摘要】
区块生成方法、装置、计算机设备和存储介质
本申请涉及区块链
,特别涉及一种区块生成方法、装置、计算机设备和存储介质。
技术介绍
随着互联网技术的不断发展,区块链技术的发展也越来越迅速。区块链技术是一种去中心化且公开透明的技术。区块链技术采用数据区块打破了目前互联网对中心服务器的依赖,网络中产生的所有数据都会被区块生成节点进行记录,并通过数据的广播和其他节点的验证,以形成新的区块并上链至区块链的尾部。待上链区块被确认后,该新的区块被永久记录于区块链中;而对于得不到确认的区块,将区块中的数据回滚。在所有实现BFT(ByzantineFaultTolerance,拜占庭容错)机制的共识算法中,在该算法中,区块能否被通过其他区块的验证取决于该区块是否是合理的,而在并行确认的BFT机制中,判断区块是否合理的依据需要根据当前时间是否是当前区块的提议人的出块周期,在时间符合的情况下,才会进一步判断区块的合理性。然而,大多数区块链系统本身并没有做时钟同步,即便有个别区块链系统实现了部分时钟同步简单协议,但也只能保证本节点在没有恶意修改系统时间的前提下的节点时间的准确性,无法准确判断区块时间的合理性。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种区块生成方法、装置、计算机设备和存储介质,以解决现有技术中判断区块时间合理性的准确率低的问题。本申请实施例提供了一种区块生成方法,包括:第一节点获取第一节点与第二节点之间的平均网络延迟和最大网络延迟;第一节点根据平均网络延迟确定第一节点和第二节点之间的平均系统时间差值;第一节点接收第二节点生成的区 ...
【技术保护点】
1.一种区块生成方法,其特征在于,包括:第一节点获取所述第一节点与第二节点之间的平均网络延迟和最大网络延迟;所述第一节点根据所述平均网络延迟确定所述第一节点和所述第二节点之间的平均系统时间差值;所述第一节点接收所述第二节点生成的区块,并确定接收到所述区块时的本地时间戳,其中,所述区块中携带有时间戳;所述第一节点根据所述平均网络延迟、所述最大网络延迟、所述平均系统时间差值、所述本地时间戳和所述区块所携带的时间戳确定所述区块是否为所述第二节点在满足预设时间要求的出块时间生成的区块。
【技术特征摘要】
1.一种区块生成方法,其特征在于,包括:第一节点获取所述第一节点与第二节点之间的平均网络延迟和最大网络延迟;所述第一节点根据所述平均网络延迟确定所述第一节点和所述第二节点之间的平均系统时间差值;所述第一节点接收所述第二节点生成的区块,并确定接收到所述区块时的本地时间戳,其中,所述区块中携带有时间戳;所述第一节点根据所述平均网络延迟、所述最大网络延迟、所述平均系统时间差值、所述本地时间戳和所述区块所携带的时间戳确定所述区块是否为所述第二节点在满足预设时间要求的出块时间生成的区块。2.根据权利要求1所述的方法,其特征在于,第一节点获取所述第一节点与第二节点之间的平均网络延迟和最大网络延迟,包括:所述第一节点重复执行N次如下信息交互操作,以得到N个网络延迟数据:所述第一节点发送ping报文给所述第二节点,其中,所述ping报文中携带有ping报文离开所述第一节点的第一时间戳;所述第一节点接收所述第二节点响应于所述ping报文返回的pong报文;所述第一节点计算所述第一节点接收到所述pong报文的第二时间戳;所述第一节点根据所述第一时间戳和所述第二时间戳计算所述第一节点和所述第二节点之间的网络延迟数据,其中,N为正整数;所述第一节点根据所述N个网络延迟数据确定所述第一节点和所述第二节点之间的平均网络延迟和最大网络延迟。3.根据权利要求2所述的方法,其特征在于,所述第一节点根据所述N个网络延迟数据确定所述第一节点和所述第二节点之间的平均网络延迟和最大网络延迟,包括:按照以下公式计算网络延迟均值:按照以下公式计算所述最大网络延迟:NetDelaymax=Max(Delay0:DelayN-1);根据计算得到的所述网络延迟均值和预设的系统允许最大网络延迟,确定所述平均网络延迟,其中,NetDelayaver为所述网络延迟均值,NetDelaymax为所述最大网络延迟,i=0,...,N-1,Delayi是所述第一节点在第i次执行所述信息交互操作中计算得到的所述第一节点和所述第二节点之间的网络延迟数据,Delayi=(T2i-T1i)/2,其中,T2i是第i次信息交互操作中的所述第二时间戳,T1i是第i次信息交互操作中的所述第一时间戳。4.根据权利要求3所述的方法,其特征在于,根据计算得到的所述网络延迟均值和预设的系统允许最大网络延迟,计算所述平均网络延迟,包括:确定所述网络延迟均值是否大于所述预设的系统允许最大网络延迟;在确定所述网络延迟均值大于所述预设的系统允许最大网络延迟的情况下,将所述预设的系统允许最大网络延迟确定为所述平均网络延迟;在确定所述网络延迟均值不大于所述预设的系统允许最大网络延迟的情况下,将所述网络延迟均值确定为所述平均网络延迟。5.根据权利要求4所述的方法,其特征...
【专利技术属性】
技术研发人员:李升林,姜海涛,孙立林,
申请(专利权)人:矩阵元技术深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。