裁剪共识网络中空区块的方法、装置、设备和存储介质制造方法及图纸

技术编号:22296421 阅读:41 留言:0更新日期:2019-10-15 05:24
本申请公开了一种裁剪共识网络中空区块的方法、装置、设备和存储介质,该方法包括:当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易;如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置;在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。根据本申请实施例提供的技术方案,通过剪裁RPCA共识网络中的空区块,解决了存储RPCA共识网络时造成的存储空间的浪费的问题。

Methods, devices, devices and storage media for tailoring hollow blocks in consensus networks

【技术实现步骤摘要】
裁剪共识网络中空区块的方法、装置、设备和存储介质
本申请涉及区块链
,具体涉及一种裁剪共识网络中空区块的方法、装置、设备和存储介质。
技术介绍
区块链技术是一种不依赖第三方,通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。区块链的本质是一种特殊的分布式数据库,由一个个区块组成,每次写入数据,就是创建一个区块。随着区块链技术的不断成熟,该技术已经被广泛的应用于社会生活的各个领域。Ripple是一种基于互联网的开源支付协议,在金融支付领域,可以实现去中心化的货币兑换、支付与清算功能。Ripple网络作为Ripple的核心,可以快速不断的生成新区块来存储交易数据,在Ripple网络中,可以通过RPCA(英文:RippleProtocolConsensusAlgorithm;中文:Ripple协议一致性算法)处理交易中的交易数据,该采用了RPCA共识算法的Ripple网络也称为RPCA共识网络。在相关技术中,当RPCA共识网络中的交易量较大时,通过快速生成新区块对交易数据进行快速存储。但是,当RPCA共识网络中的交易量较小时,RPCA共识网络仍然在以很快的速度生成新的区块,此时,就会产生一些没有存储交易数据的空区块(如图1所示的白色区块A2和A5),由于这些空区块也需要占用一定的存储空间,会造成存储空间的大量浪费。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种可以解决共识网络中存储空区块导致存储空间浪费问题的裁剪共识网络中空区块的方法、装置、设备和存储介质。第一方面,本申请实施例提供一种裁剪RPCA共识网络中空区块的方法,该方法包括:当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易,如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置,第一链用于存储包含交易的区块;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置,第二链用于临时存储未包含交易的区块;在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。第二方面,本申请实施例提供一种裁剪RPCA共识网络中空区块的装置,该装置包括:第一确定模块,被配置为当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易,第一更新模块,被配置为如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置,第一链用于存储包含交易的区块;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置,第二链用于临时存储未包含交易的区块;第二更新模块,被配置为在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。第三方面,本申请实施例提供一种计算机设备,该计算机设备包括:处理器;用于存储处理器的可执行指令的存储器;其中,处理器被配置为执行如第一方面的裁剪RPCA共识网络中空区块的方法。第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现如第一方面的裁剪RPCA共识网络中空区块的方法。本申请的实施例提供的技术方案可以包括以下有益效果:本申请实施例提供的裁剪RPCA共识网络中空区块的方法,可以在第一区块处于关闭状态时,确定第一区块在开放状态时未接收到交易,将第一区块作为新生成的区块用于更新第二链的存储位置,并在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。由于剪裁后的RPCA共识网络中不包含没有存储交易信息的空区块,减少了存储空间的浪费。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为相关技术提供的一种RPCA共识网络示意图;图2为本申请的实施例的一种空区块生成过程中区块状态变化示意图;图3为本申请的实施例的一种裁剪RPCA共识网络中空区块的方法流程图;图4为本申请的实施例的另一种裁剪RPCA共识网络中空区块的方法流程图;图5为本申请的实施例的一种RPCA共识网络示意图;图6为本申请的实施例的又一种RPCA共识网络示意图;图7为本申请的实施例的再一种RPCA共识网络示意图;图8为本申请的实施例的再一种RPCA共识网络示意图;图9为本申请的实施例的再一种RPCA共识网络示意图;图10为本申请的实施例的再一种RPCA共识网络示意图;图11为本申请的实施例的一种裁剪RPCA共识网络中空区块的装置的结构示意图;图12为本申请的实施例的另一种裁剪RPCA共识网络中空区块的装置的结构示意图;图13为本申请的实施例的又一种裁剪RPCA共识网络中空区块的装置的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步地详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。Ripple网络是金融支付领域常用的数据存储网络,它可以每隔一定时间段产生一个新区块,这些新区块可以被用来存储交易数据。在Ripple网络中,可以通过RPCA共识算法处理交易中的交易数据,利用该算法进行RPCA共识的过程也是新区块的生成过程。其中,该一定时间段可以是3秒至10秒之间的任一数值。由于RPCA共识网络中区块产生较快,当没有交易数据时,也会生成空区块,该空区块的生成过程分两个阶段完成,第一阶段是达成交易集的共识,第二阶段是形成被共识过的空区块。如图2所示,图2为空区块生成过程中区块的状态变化示意图。在该第一阶段中,由于区块链中区块的节点没有接收到交易信息,该节点对应的交易集中没有交易信息,对该交易集进行共识后,该节点对应的区块由开放状态B11转变为关闭状态B12,并由该关闭状态B12的区块生成新的开放状态B21的下一个区块,开始下一轮的交易集共识;在该第二阶段中,该节点可以将验证信息发送给其他区块链节点进行共识,当其他节点中至少80%的节点对该验证信息验证通过后,该区块的状态变为共识成功状态B13,产生了空区块,其中,该验证信息用于由区块链中的其他节点验证该节点处是否可以产生新的空区块,该验证信息可以为该区块的哈希值,该哈希值通过区块的区块号、父区块的哈希值和当前时间戳等内容进行计算获取,该父区块为与空区块相连接的上一个区块。本申请实施例提供一种裁剪RPCA共识网络中空区块的方法,可以解决存储包含有空区块的区块链造成的存储空间浪费的问题。如图3所示,本申请实施例提供的裁剪RPCA共识网络中空区块的方法包括:步骤101、当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易。在本步骤中,该第一区块为RPCA共识网络中即将生成的新区块。步骤102、如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置;如果未接收到交易,本文档来自技高网...

【技术保护点】
1.一种裁剪RPCA共识网络中空区块的方法,其特征在于,所述方法包括:当第一区块处于关闭状态时,确定所述第一区块在开放状态时是否接收到交易;如果接收到交易,则将所述第一区块作为新生成的区块用于更新第一链的存储位置,所述第一链用于存储包含交易的区块;如果未接收到交易,则将所述第一区块作为新生成的区块用于更新第二链的存储位置,所述第二链用于临时存储未包含交易的区块;在所述第二链持续更新的过程中,若第二区块处于关闭状态时,确定所述第二区块在开放状态时接收到交易,则裁剪所述第二链,并将所述第二区块作为新生成的区块更新到所述第一链相应的位置。

【技术特征摘要】
1.一种裁剪RPCA共识网络中空区块的方法,其特征在于,所述方法包括:当第一区块处于关闭状态时,确定所述第一区块在开放状态时是否接收到交易;如果接收到交易,则将所述第一区块作为新生成的区块用于更新第一链的存储位置,所述第一链用于存储包含交易的区块;如果未接收到交易,则将所述第一区块作为新生成的区块用于更新第二链的存储位置,所述第二链用于临时存储未包含交易的区块;在所述第二链持续更新的过程中,若第二区块处于关闭状态时,确定所述第二区块在开放状态时接收到交易,则裁剪所述第二链,并将所述第二区块作为新生成的区块更新到所述第一链相应的位置。2.根据权利要求1所述的方法,其特征在于,所述在裁剪所述第二链之后,所述方法还包括以下步骤:在第三区块处于关闭状态时,确定所述第三区块在开放状态时是否接收到交易;如果接收到交易,继续将所述第三区块作为新生成的区块更新到所述第二区块之后的位置;如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置。3.根据权利要求1所述的方法,其特征在于,所述将所述第一区块作为新生成的区块用于更新第一链的存储位置,包括:广播处于关闭状态的所述第一区块的哈希值;共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第一链的存储位置。4.根据权利要求1所述的方法,其特征在于,所述将所述第一区块作为新生成的区块用于更新第二链的存储位置,包括:广播处于关闭状态的所述第一区块的哈希值;共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第二链的存储位置。5.根据权利要求1所述的方法,其特征在于,所述将所述第二区块作为新生成的区块更新到所述第一链相应的位置,包括:广播处于关闭状态的所述第二区块的哈希值;共识所述第二区块,并在所述第二区块共识通过后,更新所述第二区块的共识状态序号,所述共识状态序号用于标识所述第二区块在所述第一链的存储位置。6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:根据所述第一链或所述第二链的存储位置的变化,确定所述第一链或第二链的状态。7.一种裁剪RPCA共识网络中空区块的装置,其特征在于,所述装置包括:第一确定模块,被配置为当第一区块处于关闭状态时,确定所述第一区块在开放状态时是否接收到交易,第一更新模块,被...

【专利技术属性】
技术研发人员:陈鸿刚路京磊卢小明
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京,11

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

1