当前位置: 首页 > 专利查询>天津大学专利>正文

基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法技术

技术编号:25804918 阅读:46 留言:0更新日期:2020-09-29 18:39
本发明专利技术涉及一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,提出的联盟链交易并发方案能够解决冲突较多环境下联盟链交易处理方式性能低下的问题,同时降低共识过程的复杂度,使联盟链系统在不同冲突环境下均可并行执行交易且产生确定性的结果同时维持较好的性能。

【技术实现步骤摘要】
基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法
本专利技术属于数据库和密码学领域,涉及区块链、智能合约、交易并行以及并发控制等技术,特别涉及一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法。
技术介绍
区块链即一系列区块,每个块中包含一段时间内的所有交易数据,以及前一个块的哈希值,类似于传统的公共总账,区块链是一种分布式的数据库,用于在无中心节点时记录由许多节点维护的交易数据。区块链按不同的应用情况可分为公有链、联盟链和私有链。联盟链是“部分去中心化”的,节点的加入需要获得某个特定机构的授权,如Tendermint,但联盟链中的节点并不完全可信。部署在联盟链上的应用在吞吐量和延迟方面需要较高的性能,比如金融应用程序需要每秒处理数万个请求且要求非常低的等待时间。智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。智能合约作为部署在区块链上的代码,由交易双方共同签名发布,一旦条件满足就可自动去执行,保证了交易执行的公平性。智能合约在执行的时候具有事务性的需求,也就是说合约的执行需要满足原子性、隔离性、一致性和持久性这四个特性。并发控制在数据库中主要用来确保在多个事务同时对同一个数据项进行操作时不会造成数据结果不一致的结果。多版本并发控制允许系统记录一个数据的多个版本,这样事务可以读取在他进行读取前已经存在的数据,即使在他读的过程中数据被别的事务进行了修改也不会对该事务造成影响。实用拜占庭容错算法(PracticalByzantineFaultTolerance,PBFT)用于构建容忍拜占庭故障的高可用系统,拜占庭容错(ByzantineFaultTolerance,BFT)问题是区块链共识中需要解决的一个核心问题,工作量证明(ProofOfWork,POW)、权益证明(proofofstake,POS)、委托权益证明(delegatedproofofstake,DPOS)等共识算法解决的是节点众多的情况下的BFT,而PBFT适用于联盟链等节点较少的情况下的共识。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,解决冲突较多环境下联盟链交易处理方式的性能低下的问题,同时降低共识过程的复杂度,使联盟链系统在不同冲突环境下均可并行执行交易且产生确定性的结果同时维持较好的性能。本专利技术解决其技术问题是通过以下技术方案实现的:一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,其特征在于:所述方法的步骤为:S1、发送交易请求,排序节点采用基于环形拓扑的拜占庭容错共识协议对不同应用程序的交易顺序达成一致并将交易打包成区块,根据区块内交易构建交易间的依赖关系图;S2、执行节点在收到排序节点发来的区块及依赖关系图后,区块广播到所有执行节点,依赖关系图生成及广播到所有执行节点;S3、有块内交易执行权限的执行节点根据依赖关系图进行交易的并发执行;S4、执行结果广播之后所有执行节点进行交易的验证及区块链状态的更新;S5、通过实验,评估对联盟链交易并发方案效果进行验证。而且,所述步骤S1的具体操作为:检查客户端发送的请求是否合法,对合法的请求进行排序、构建块,联盟链系统中节点采用基于环形拓扑的拜占庭容错共识协议达成共识的过程;RTBFT协议在消息传输过程中使其携带f+1个用发送节点私钥签名后的包含消息,发送节点地址以及发送节点之后f+1个节点的地址的数组;当消息到达出口节点时,出口节点发送一条ACK消息,收到ACK消息的节点可将其本地维护的列表中的交易标记为stable,若此时该交易具有最小的编号,则节点将这笔交易加入区块及依赖图中,该过程保证了所有节点生成的区块内的交易顺序的一致性。而且,所述步骤S2的具体操作为:将排序节点按照达成共识后的块内交易顺序在传输包含时序的交易区块时并行的进行该块内的交易依赖关系图的生成与传输,在本地维护一个线程池,通过多线程并行处理不同块的生成及块内依赖图的构建,将块的生成与依赖关系图的构建分开,使得排序节点可以在进行依赖图构建的同时生成下一个区块。而且,所述步骤S3的具体操作为:执行节点在收到指定数量的块及其依赖图的合法消息之后,进入执行阶段;在该阶段,执行节点按照收到的依赖关系图进行交易的并发执行,当执行节点收到排序节点发送的新块消息以及该块的依赖关系图的消息之后,对消息的签名及哈希值进行验证,如果消息是合法的,执行节点将消息记录到本地;同时,执行节点也会检测该区块内的交易涉及的应用程序的集合A,判断新区块内是否有需要自己执行的交易。当执行节点收到f+1个新块的消息之后会进入执行验证阶段。而且,所述步骤S4的具体操作为:执行节点在收到一定数量的执行节点的提交信息之后更新区块链状态;如果一个执行节点在收到块之后,发现自己不是块内任何一个交易的代理,那么只需等待其他执行节点将他们的执行结果提交后记录相应交易被提交的次数,等该节点收到一定数量的其他节点的对该交易的提交消息之后,可以认为这个交易通过了网络上所有节点的验证,该节点可以据此更新自己本地的区块链状态。而且,所述步骤S5的具体操作为:采用区块链系统每秒处理的交易数作为评价指标,采用20个节点多次运行后的平均结果为最终的实验结果以消除实验误差,其中包含10个排序节点和10个执行节点。本专利技术的优点和有益效果为:1、本专利技术所述适用于联盟链的面向冲突环境的交易并发方案是基于环形拓扑、依赖图和多版本控制的交易并发方案,采用先排序再并发执行的交易处理方式,包含排序和执行两个阶段,在排序阶段,排序节点采用一种基于环形拓扑的拜占庭容错共识协议确定块内交易顺序以降低共识过程的复杂度,且其按照交易的读写集构建依赖图并采用多版本并发控制技术,仅保留交易间先写后读的冲突关系,实现了更细粒度的并发,同时,排序节点采用了并行的方式进行块及其依赖图的传输,降低了传输过程的通信开销;在执行阶段,执行节点根据本地维护的块内数据项写操作的不同版本以及依赖图进行块内交易的并发执行与验证,保证执行结果的正确性。2、本专利技术通过实验证明,基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案在不同程度的冲突环境中都可以具有较好的交易处理速度。3、本专利技术基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案能够解决冲突较多环境下联盟链交易处理方式的性能低下问题,同时降低共识过程的复杂度,使联盟链系统在不同冲突环境下均可并行执行交易且产生确定性的结果同时维持较好的性能。附图说明图1为基于环形拓扑、依赖图和多版本控制的交易并发方案交易处理流程图;图2为不同冲突率的实验评价指标表。具体实施方式下面通过具体实施例对本专利技术作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本专利技术的保护范围。一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发本文档来自技高网
...

【技术保护点】
1.一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,其特征在于:所述方法的步骤为:/nS1、发送交易请求,排序节点采用基于环形拓扑的拜占庭容错共识协议对不同应用程序的交易顺序达成一致并将交易打包成区块,根据区块内交易构建交易间的依赖关系图;/nS2、执行节点在收到排序节点发来的区块及依赖关系图后,区块广播到所有执行节点,依赖关系图生成及广播到所有执行节点;/nS3、有块内交易执行权限的执行节点根据依赖关系图进行交易的并发执行;/nS4、执行结果广播之后所有执行节点进行交易的验证及区块链状态的更新;/nS5、通过实验,评估对联盟链交易并发方案效果进行验证。/n

【技术特征摘要】
1.一种基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,其特征在于:所述方法的步骤为:
S1、发送交易请求,排序节点采用基于环形拓扑的拜占庭容错共识协议对不同应用程序的交易顺序达成一致并将交易打包成区块,根据区块内交易构建交易间的依赖关系图;
S2、执行节点在收到排序节点发来的区块及依赖关系图后,区块广播到所有执行节点,依赖关系图生成及广播到所有执行节点;
S3、有块内交易执行权限的执行节点根据依赖关系图进行交易的并发执行;
S4、执行结果广播之后所有执行节点进行交易的验证及区块链状态的更新;
S5、通过实验,评估对联盟链交易并发方案效果进行验证。


2.根据权利要求1所述的基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,其特征在于:所述步骤S1的具体操作为:检查客户端发送的请求是否合法,对合法的请求进行排序、构建块,联盟链系统中节点采用基于环形拓扑的拜占庭容错共识协议达成共识的过程;RTBFT协议在消息传输过程中使其携带f+1个用发送节点私钥签名后的包含消息,发送节点地址以及发送节点之后f+1个节点的地址的数组;当消息到达出口节点时,出口节点发送一条ACK消息,收到ACK消息的节点可将其本地维护的列表中的交易标记为stable,若此时该交易具有最小的编号,则节点将这笔交易加入区块及依赖图中,该过程保证了所有节点生成的区块内的交易顺序的一致性。


3.根据权利要求1所述的基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法,其特征在于:所述步骤S2的具体操作为:将排序节点按照达成共识后的块内交易顺序在传输包含时序的交易区块时并行的进行该块内的交易依赖关系图的生成与传输,在本地维护一个线程池,通过多线程并...

【专利技术属性】
技术研发人员:李雪威刘超喻梅王建荣徐天一赵满坤张洁
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

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

1