一种提升区块链出块效率的方法及装置制造方法及图纸

技术编号:23239885 阅读:13 留言:0更新日期:2020-02-04 18:57
本发明专利技术公开了一种提升区块链出块效率的方法及装置,共识节点在接收到交易后先进行排序操作,然后判断当前的交易是否满足出块条件,无论是否出块,均要继续接收新交易并做出块判断,若可出块,对交易进行处理,完成区块构造后判断上一个交易是否出块,若上一个交易已经出块,则共识节点进行出块操作,否则该区块等待上一个交易完成出块后再进行出块;若交易不满足出块条件,将交易挂起,直到该交易满足出块条件,对交易进行处理,完成区块构造后判断上一个交易是否出块,若上一个交易已经出块,则共识节点进行出块操作,否则该区块等待上一个交易完成出块后再进行出块。采用本方案的共识出块模型,不存在锁死排队的现象,整体出块速率大大提升。

A method and device to improve block output efficiency of blockchain

【技术实现步骤摘要】
一种提升区块链出块效率的方法及装置
本专利技术涉及区块链领域,特别涉及一种提升区块链出块效率的方法及装置。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,以Fabric架构为例,现有共识节点出块采用串行模式,在新的区块未生成前,后续的交易只能排队等待出块,未发挥多核计算机的优势,导致系统资源处于闲置状态,整体效率不高。
技术实现思路
本专利技术的目的在于:提供了一种提升区块链出块效率的方法及装置,解决了现有共识节点出块采用串行模式,在新的区块未生成前,后续的交易只能排队等待出块,未发挥多核计算机的优势,导致系统资源处于闲置状态,整体效率不高的问题。本专利技术采用的技术方案如下:一种提升区块链出块效率的方法,共识节点不间断接收交易,对满足出块条件的交易进行处理,完成区块构造后,根据接收交易的顺序进行出块。共识节点在接收到交易后先进行排序操作,然后判断当前的交易是否满足出块条件,无论是否出块,均要继续接收新交易并做出块判断,若可出块,对交易进行处理,完成区块构造后判断上一个交易是否出块,若上一个交易已经出块,则共识节点进行出块操作,否则该区块等待上一个交易完成出块后再进行出块;若交易不满足出块条件,将交易挂起,直到该交易满足出块条件,对交易进行处理,完成区块构造后判断上一个交易是否出块,若上一个交易已经出块,则共识节点进行出块操作,否则该区块等待上一个交易完成出块后再进行出块。采用本方案的共识出块模型,不会存在锁死排队的现象,整体出块速率大大提升。进一步的,所述共识节点不间断接收交易,对满足出块条件的交易进行处理,完成区块构造后,根据接收交易的顺序进行出块的方法包括以下步骤:S1、共识节点不间断接收交易;S2、共识节点判断交易是否满足出块条件,若满足出块条件,对交易进行处理,完成区块构造后转入步骤S3;若不满足出块条件,将交易挂起,直到该交易满足出块条件,对交易进行处理,完成区块构造后转入步骤S3;S3、共识节点根据接收交易的顺序对步骤S2构造的区块进行出块。进一步的,所述步骤S1中共识节点不间断接收交易后按照接收交易的先后顺序对交易进行排序。进一步的,所述步骤S3中共识节点根据步骤S1中记录的接收交易的顺序对步骤S2构造的区块进行出块进一步的,所述对交易进行处理完成区块的构造包括计算区块的blockHash。进一步的,所述区块链采用Fabric架构。进一步的,不同的交易由共识节点调用不同的线程执行。一种提升区块链出块效率的装置,包括:存储器,用于存储可执行指令;多核处理器,用于执行所述存储器中存储的可执行指令,实现上述的一种提升区块链出块效率的方法。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1.本专利技术一种提升区块链出块效率的方法及装置,解决了现有共识节点出块采用串行模式,在新的区块未生成前,后续的交易只能排队等待出块,未发挥多核计算机的优势,导致系统资源处于闲置状态,整体效率不高的问题。2.本专利技术一种提升区块链出块效率的方法及装置,本方案可以减少区块交易排队等待时间,更加合理的利用平台资源,避免平台交易拥塞锁死的问题,提升平台共识出块效率。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1是现有区块链出块处理流程示意图;图2是本专利技术的出块流程示意图;图3是本专利技术的出块时序示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合图1至图3对本专利技术作进一步地详细描述,所描述的实施例不应视为对本专利技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本专利技术实施例的目的,不是旨在限制本专利技术。对本专利技术实施例进行进一步详细说明之前,对本专利技术实施例中涉及的名词和术语进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。Fabric:超级账本中一个开源项目,主要应用于企业级区块链。共识节点(Orders):或称为排序节点,共识节点只是简单地从网络中接收来自所有通道的交易,然后按通道按时间顺序排序,最后将交易构建为区块后按照排序出块。出块:排序节点将构建的区块发送到确认节点(Committer),由确认节点(Committer)检查交易的完整性、签名、是否重复,校验交易是否符合Endorsement策略,检查读集合中版本和账本一致后,执行区块中的合法交易,更新账本状态。交易(Transaction),等同于计算机术语“事务”,包括对智能合约的调用,以实现对账本中的目标账户的相关数据的操作,包括增、查、改的操作修改账户中的键值(Key-Value)对形式的数据,或者在账本中增加新的账户,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本专利技术实施例遵循了这一习惯。区块(Block),记录一段时间内交易所更新的账本数据的数据结构,被标记上时间戳和之前一个区块的独特标记(例如数字指纹),区块经过区块链网络中节点的共识验证后,会被追加到区块链的末尾成为新的区块。区块链(Blockchain),区块以顺序相连的方式组合成的一种链式数据结构,在每个区块中引用前一个区块或者其子集的哈希值,从而以密码学的方式保证所记录交易的防篡改和防伪造。区块链网络,通过共识的方式将新区块纳入区块链的一系列的、无中心的节点的集合。账本(Ledger),区块链网络中以账户为维度所记录的数据的总和,包括账本数据、账本状态、账本状态证明和区块索引等元素。账本数据,实际区块数据存储,即区块链中记录的一系列有序的、不可篡改的交易的记录,可以表现为文件系统的文件的形式,交易中调用的智能合约被执行时,实现对账户/账户中数据的更新。账本状态,也称为状态数据,即账本数据的状态,可以表现为数据库终中的键值对的形式,其中实时账本状态用于表示共识的交易所更新的键值对的最新记录,历史账本状态用于表示键值对的历史记录。共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对交易结果达成一致,实现共识的机制包括工作量证明(PoW)、权益证明(PoS,ProofofStake)、股份授权证明(DPoS,DelegatedProof-of-Stake)、消逝时间量证明(PoET,Pro本文档来自技高网
...

【技术保护点】
1.一种提升区块链出块效率的方法,其特征在于:共识节点不间断接收交易,对满足出块条件的交易进行处理,完成区块构造后,根据接收交易的顺序进行出块。/n

【技术特征摘要】
1.一种提升区块链出块效率的方法,其特征在于:共识节点不间断接收交易,对满足出块条件的交易进行处理,完成区块构造后,根据接收交易的顺序进行出块。


2.根据权利要求1所述的一种提升区块链出块效率的方法,其特征在于:所述共识节点不间断接收交易,对满足出块条件的交易进行处理,完成区块构造后,根据接收交易的顺序进行出块的方法包括以下步骤:
S1、共识节点不间断接收交易;
S2、共识节点判断交易是否满足出块条件,若满足出块条件,对交易进行处理,完成区块构造后转入步骤S3;若不满足出块条件,将交易挂起,直到该交易满足出块条件,对交易进行处理,完成区块构造后转入步骤S3;
S3、共识节点根据接收交易的顺序对步骤S2构造的区块进行出块。


3.根据权利要求2所述的一种提升区块链出块效率的方法,其特征在于:所述步骤S1中共识节点不间断接收交易后按照接收交易的先后顺序对交易进...

【专利技术属性】
技术研发人员:李骥东王波李业晨张新龙赵神州
申请(专利权)人:成都四方伟业软件股份有限公司
类型:发明
国别省市:四川;51

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

1