一种私有链节点的集群交易处理方法技术

技术编号:18732091 阅读:134 留言:0更新日期:2018-08-22 02:56
本发明专利技术提供了一种私有链节点的集群交易处理方法,包括如下步骤:(1)负载均衡,区块链集群节点接收上层应用层发来的交易,将其负载到不同的交易处理机上;(2)交易校验和交易执行,每个交易处理机接收负载均衡机发送来的交易对其校验,通过后进行交易执行;(3)生成全局状态树根和Merkle树根;(4)构建区块,将构建的区块广播到区块链网络中其他节点;(5)区块网络中的其他节点收到区块后,对区块进行校验;(6)共识区块决策。通过将区块链功能部署到一个集群中的不同节点,使交易执行以及区块构造和共识能在集群的不同节点并行执行,提高计算资源的利用率,加快区块链系统的性能,使区块链更适用于高频交易的业务场景。

A cluster transaction processing method for private node nodes

The invention provides a cluster transaction processing method for private chain nodes, which comprises the following steps: (1) load balancing, in which block chain cluster nodes receive transactions from upper application layer and load them on different transaction processors; (2) transaction checking and transaction execution, and each transaction processor receives the transactions from the load balancer. Transactions are checked and executed after passing; (3) global state tree roots and Merkle tree roots are generated; (4) building blocks and broadcasting the blocks to other nodes in the block chain network; (5) other nodes in the block network receive the blocks, then the blocks are checked; (6) consensus block decision-making. By deploying the block chain function to different nodes in a cluster, transaction execution, block construction and consensus can be executed in parallel at different nodes in the cluster, which can improve the utilization of computing resources, speed up the performance of the block chain system and make the block chain more suitable for high-frequency trading business scenarios.

【技术实现步骤摘要】
一种私有链节点的集群交易处理方法
本专利技术涉及区块链
,特别是涉及到高性能区块链模型的设计。
技术介绍
近年来,区块链(BlockChain)获得来自各行各业的越来越多的关注,甚至各国战略层面的关注,被认为是“21世纪最创新的技术之一”。区块链是一个去中心化的、自治的、防止篡改、公开的、可追踪和可审计的分布式账本,是一个支持建立交易各方的信任机制、具有极大公信力的数字解决方案。区块链的这些特性使其对许多行业带来巨大的创新,甚至是颠覆性的革命,其中包括计算机(加密、通信、可信计算)、金融(数字货币和金融市场)、医疗、法律、税收、供应链、存证等领域,比较明显的应用如公共交易账本、数字版权保护、可信数字证据以及电子货币等。区块链最早出现在比特币(Bitcoin)中。比特币是中本聪在2008年专利技术的一个P2P(Peer-to-Peer)电子现金系统,其目的是无需第三方来解决电子货币中双重花费(double-spending)的问题。由于比特币是一个自治系统,不为任何一个组织和个人所有,也很难做大货币监管,因此,大多数国家不承认比特币的货币特性。随着近年来社会数字化进程的推进,区块链技术脱离了比特币的限制,再加上智能合约(SmartContract)、DAO/DAC(DecentralizedAutonomousOrganization/Corporation)等概念的引入,区块链具备了在各行各业广泛开展应用的前景。从金融、医疗、能源到保险、供应链、法律、存证、版权、社会救助等各个领域,人们都在积极探索区块链的应用场景、业务模式和实现方法,区块链在这些行业得到广泛应用将会在不久的将来实现。从表面来看,区块链是一个由一个个的数据区块链接起来的数据链表,而本质上,区块链技术背后由很多技术来支持。因此其实质是将交易或数据加上时间戳,通过哈希函数进行散列,采用加密和数字签名技术保证数据安全和隐私,从而将数据打包成一个数据区块,并按时间顺序链接在一起后在P2P网络中传播,在各个区块链节点中进行冗余备份,通过共识算法达成全局一致并防止数据篡改。区块链的这种机制,在加上智能合约的引入,使其支持了各个行业的众多应用场景,形成了一个具有公信力的、安全自治的数据库系统。但是,目前各种区块链系统的性能还是比较低,如使用时间最长的比特币系统每秒的交易数仅为7笔,一笔交易要等待6个区块的确认,而生成每个区块的平均时间为10分钟左右;而以太坊的区块确认时间在5-30s,每个块中的交易数量一般不超过1000笔;Hyperledger系统平均交易速度也仅仅有每秒几千笔,远远不能满足一些高频交易的业务场景,例如,Visa处理交易的峰值约为1.4万笔/秒。根据CAP理论,分布式系统的数据一致性、可用性和分区容错性三个特性中只能同时满足两项,区块链作为一种典型的分布式模型也适用这个理论。对区块链共识算法的改进只是在CAP三者之间的平衡。而对于区块链这种去中心化的分布式模型,每个交易需要在所有节点进行校验和计算,因此,节点的计算能力成为制约区块链模型发展的瓶颈之一,如一个2.6GHz的i7核每秒只能做10000次数字签名校验,而校验只是交易开始执行的第一步。另外,当前的大多数区块链模型都是串行的流程,无法充分利用计算资源。因此,现有技术存在一种需求,即针对区块链模型性能较低、不足以处理高频交易的问题,开发一种私有链节点的集群交易处理方法,使交易执行速度更高,使区块链系统吞吐率满足高频交易的场景。
技术实现思路
为解决区块链模型无法充分利用计算资源且性能较低的问题,本专利技术提出了一种私有链节点的集群交易处理方法。本专利技术解决技术问题方案的基本思想在于将区块链的流程进行功能切分,将不同功能模块分布部属到集群的不同机器上,整个集群互相协作,对外共同充当一个区块链节点,不同模块可以并行执行,交易执行机上可以不停的执行交易,而区块构造与校验机负责参与区块链网络的共识。一种私有链节点的集群交易处理方法,包括如下步骤:(1)负载均衡,即区块链集群节点接收上层应用层发来的交易,将其负载到不同的交易处理机上;(2)交易校验和交易执行,即每个交易处理机接收到负载均衡机发送来的交易,首先对交易进行校验,校验交易数据通过后,进行交易执行;(3)生成全局状态树根和Merkle树根;(4)构建区块,将构建的区块广播到区块链网络中其他节点;(5)区块校验,区块网络中的其他节点收到区块后,对区块进行校验;(6)共识区块决策,如果区块通过共识,则将区块头部的全局状态树根代表的全局状态转换为稳定状态,并将区块进行持久化,如果区块没有通过验证,则将全局状态回滚到前一个稳定状态。优选的,所述步骤(1)的所述交易分为价值转移类交易和数据存储类交易两类,对于所述价值转移类交易,根据其价值发送者和接受者将交易负载到不同的交易处理机上,对于所述数据存储类的交易,进行随机负载,将交易平均负载到不同的交易处理机上。优选的,所述步骤(2)的所述交易校验包括校验交易的完整性和数字签名。优选的,所述校验交易的完整性包括校验交易的各个数据区域是否正确的,所述校验数字签名用于验证交易是否合法的,是否是发送者同意的以及经认证的上层应用发来的交易。优选的,每个交易是一个事务,符合事务的ACID特性,所述步骤(2)的所述交易执行修改一个全局状态树。优选的,所述步骤(3)生成全局状态树根和Merkle树根按照如下流程进行:一批交易被执行后的一个全局状态被具体化为一个全局状态树根,全局状态树根将放到区块头部,等待区块链网络确认,对这一批交易的每个交易进行哈希,将哈希后的交易再次进行两两哈希生成一个Merkle树,将Merkle树根视为这批交易的指纹,将Merkle树根放到区块头部以验证这批交易的完整性。优选的,所述步骤(4)构建区块按照如下流程进行:区块生成和校验机收集交易处理机执行的交易以及交易执行后的全局状态树根和Merkle树根,将最新的全局状态树根以及Merkle树根再次进行Merkle的树根放到区块头部,然后在将时间戳、前一个区块哈希等字段填充到区块头中,将交易列表作为区块体,从而构建一个区块。优选的,所述步骤(5)区块校验包括校验区块的完整性,校验区块的前一个区块以及校验全局状态,如果以上三个校验都通过,则说明区块正确;如果有任意一项校验失败,则说明区块错误。优选的,所述校验区块的完整性包括区块头部的完整性的校验以及区块体的完整性的校验。优选的,所述区块头部的完整性的校验是对区块头部进行哈希,与区块中的区块哈希字段进行对比,如果一致,则说明区块头数据正确;否则,说明区块头错误。优选的,所述区块体的完整性的校验是对区块体的交易进行哈希,将哈希后的数据再次进行两两哈希,重现Merkle树,将Merkle树根与区块头中的Merkle树根进行对比,如果相同,则说明区块体的数据正确;否则,说明区块体数据错误。优选的,所述校验区块的前一个区块包括区块链存储中取前一个区块的哈希,与当前区块的区块头中的hash比较,如果相同,则说明当前区块是合适的区块;否则,是不合适的区块。优选的,所述校验全局状态包括将区块体中的交易负载到交易处理机上,从前一个稳定状态开始执行过程交易验证,执行完这批交易后判断全局状态树的树根与当本文档来自技高网
...

【技术保护点】
1.一种私有链节点的集群交易处理方法,其特征在于包括如下步骤:(1)负载均衡,即区块链集群节点接收上层应用层发来的交易,将其负载到不同的交易处理机上;(2)交易校验和交易执行,即每个交易处理机接收到负载均衡机发送来的交易,首先对交易进行校验,校验交易数据通过后,进行交易执行;(3)生成全局状态树根和Merkle树根;(4)构建区块,将构建的区块广播到区块链网络中其他节点;(5)区块校验,区块网络中的其他节点收到区块后,对区块进行校验;(6)共识区块决策,如果区块通过共识,则将区块头部的全局状态树根代表的全局状态转换为稳定状态,并将区块进行持久化,如果区块没有通过验证,则将全局状态回滚到前一个稳定状态。

【技术特征摘要】
1.一种私有链节点的集群交易处理方法,其特征在于包括如下步骤:(1)负载均衡,即区块链集群节点接收上层应用层发来的交易,将其负载到不同的交易处理机上;(2)交易校验和交易执行,即每个交易处理机接收到负载均衡机发送来的交易,首先对交易进行校验,校验交易数据通过后,进行交易执行;(3)生成全局状态树根和Merkle树根;(4)构建区块,将构建的区块广播到区块链网络中其他节点;(5)区块校验,区块网络中的其他节点收到区块后,对区块进行校验;(6)共识区块决策,如果区块通过共识,则将区块头部的全局状态树根代表的全局状态转换为稳定状态,并将区块进行持久化,如果区块没有通过验证,则将全局状态回滚到前一个稳定状态。2.根据权利要求1所述的一种私有链节点的集群交易处理方法,其特征在于:所述步骤(1)的所述交易分为价值转移类交易和数据存储类交易两类,对于所述价值转移类交易,根据其价值发送者和接受者将交易负载到不同的交易处理机上,对于所述数据存储类的交易,进行随机负载,将交易平均负载到不同的交易处理机上。3.根据权利要求1所述的一种私有链节点的集群交易处理方法,其特征在于:所述步骤(2)的所述交易校验包括校验交易的完整性和数字签名。4.根据权利要求3所述的一种私有链节点的集群交易处理方法,其特征在于:所述校验交易的完整性包括校验交易的各个数据区域是否正确的,所述校验数字签名用于验证交易是否合法的,是否是发送者同意的以及经认证的上层应用发来的交易。5.根据权利要求1所述的一种私有链节点的集群交易处理方法,其特征在于:每个交易是一个事务,符合事务的ACID特性,所述步骤(2)的所述交易执行修改一个全局状态树。6.根据权利要求1所述的一种私有链节点的集群交易处理方法,其特征在于:所述步骤(3)生成全局状态树根和Merkle树根包括如下流程,一批交易被执行后的一个全局状态被具体化为一个全局状态树根,全局状态树根将放到区块头部,等待区块链网络确认,对这一批交易的每个交易进行哈希,将哈希后的交易再次进行两两哈希生成一个Merkle树,将Merkle树根视为这批交易的指纹,将Merkle树根放到区块头部以验证这批交易的完整性。7.根据权利要求1所述的一种私有链节点的集群交易处理方法...

【专利技术属性】
技术研发人员:胡凯许玉壮黄洁华孙赫陈志东
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1