一种用于许可区块链的交易处理方法及装置制造方法及图纸

技术编号:36795032 阅读:15 留言:0更新日期:2023-03-08 23:00
本发明专利技术公开一种用于许可区块链的交易处理方法及装置,该方法包括:从交易池中读取交易并根据交易的顺序对各个交易进行排序;执行各个交易,每个交易执行前根据存储的非法交易的账户信息判断是否为非法交易的后续交易,如果是转入执行非法交易处理;交易执行完成后打包出块进行共识,在对出块进行共识过程中判断交易是否为非法交易,如果为非法交易则产生交易回执,并记录非法交易的账户信息以用于判断非法交易的后续交易;当判断到交易为非法交易的后续交易时,将非法交易信息反馈给客户端以进行交易回滚。本发明专利技术具有实现方法简单,能够确保在高伸缩环境下许可链的扩展性和吞吐量且安全可靠等优点。且安全可靠等优点。且安全可靠等优点。

【技术实现步骤摘要】
一种用于许可区块链的交易处理方法及装置


[0001]本专利技术涉及区块链
,尤其涉及一种用于许可区块链的交易处理方法及装置。

技术介绍

[0002]区块链是在分布式对等网络中计算节点间共同构建并维护的一条由多个数据区块前后链接的链式数据库,具有不可篡改性、价值唯一性、非完全中心化以及开放性与隐私性等特征,但是目前区块链的可扩展性仍然是当前亟待优化的问题。许可区块链(许可链)即为有准入机制、非自由加入和退出区块链、有背书机构的区块链,私链和联盟链统称为许可区块链。许可区块链在高伸缩环境下由于许可链节点扩展过程中节点线性增长,会存在吞吐量不足的问题,难以同时满足高吞吐量以及可伸缩与可扩展性,进而会影响数据上链的效率。因而亟需提供一种方法以使得能够实现高吞吐量、可伸缩的许可区块链系统,确保在高伸缩环境下许可链的扩展性和吞吐量。
[0003]为提高区块链的可扩展性,现有技术中通常是采用多链水平扩展的方式,例如专利申请CN202010402723.X,即是通过采用协作链和多条工作链通信,由协作链进行主体的管理与认证、工作链的注册与路由、多链交互、交易与请求路由与转发,工作链进行主体的许可与权限管理、合约部署与运行、资产交易的构建和验证、配额发行与使用以及工作链的节点许可等,以扩展区块链的可扩展性。且为实现去中心化,现有技术中联盟链通常是将交易的执行过程放在共识流程中,即通过多个节点执行同一笔交易后各自得到交易的结果,然后通过广播交易结果来对结果进行一致性确认。
[0004]但是上述采用多链架构的方案会存在以下问题:
[0005]1、实现复杂、要求较高,例如协作链必须能够提供重组失败交易的能力;
[0006]2、只是通过横向扩展的方式提高吞吐量,并没有解决单链本身的可扩展性问题;
[0007]3、存在安全性问题,例如由于协作链不能继承工作链的安全性,而协作链需要通过自己的共识算法来保证自身安全性,因而攻击者只需要破坏最薄弱的协作链,即可破环整个“多链架构”体系。
[0008]4、吞吐量不高。采用将交易的执行过程放在共识流程中的方式,可以严格保证交易结果的最终一致性,但是由于网络复杂度和存在网络延时等问题,客户端需要在共识完成后才能得到交易的响应,会导致吞吐量不高的问题。

技术实现思路

[0009]本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种实现方法简单,能够确保在高伸缩环境下许可链的扩展性和吞吐量,且安全可靠的用于许可区块链的交易处理方法、装置及系统。
[0010]为解决上述技术问题,本专利技术提出的技术方案为:
[0011]一种用于许可区块链的交易处理方法,用于许可区块链中各节点进行交易处理,
该方法包括:
[0012]交易排序:从交易池中读取交易并根据交易的顺序对各个交易进行排序;
[0013]交易执行:执行各个交易,每个交易执行前根据存储的非法交易的账户信息判断是否为非法交易的后续交易,如果是转入执行非法交易处理;
[0014]交易打包验证:交易执行完成后打包出块进行共识,在对出块进行共识过程中判断交易是否为非法交易,如果为非法交易则产生交易回执,并记录非法交易的账户信息以用于判断所述非法交易的后续交易;
[0015]非法交易处理:当判断到交易为非法交易的后续交易时,将非法交易信息反馈给客户端以进行交易回滚。
[0016]进一步的,所述交易排序的过程中,还包括根据交易之间的关联性对各交易进行分区以将关联的交易分组到相同的交易分区。
[0017]进一步的,所述根据交易之间的关联性对所述交易序列中各交易进行分区包括:查找各交易中发起账户和/或目的账户相同的交易分组到相同的交易分区,即同一交易分区内的各个交易具有相同的发起账户和/或目的账户。
[0018]进一步的,所述交易并行执行的过程中,通过并行调度执行器分别将各个所述交易分区映射到对应的处理核,并行启动多个执行器以并行执行各个所述交易分区中交易。
[0019]进一步的,所述根据存储的非法交易的账户信息判断是否为非法交易的后续交易时,通过将待执行的交易的账户信息与存储的非法交易的账户信息进行比较,若命中则判定为待执行交易为非法交易的后续交易;所述非法交易处理的过程中,通过将非法交易阻塞,并将非法交易对应的目标序列号反馈给客户端,以使得客户端处理大于目标序列号的交易实现交易回滚。
[0020]进一步的,所述交易回执的结构中具有用于用于记录非法交易的账户信息的第一字段,以及用于记录非法交易序列号的第二字段,所述账户信息包括发起账户以及目的账户。
[0021]一种用于许可区块链的交易处理装置,包括:
[0022]交易管理模块,用于交易管理,包括交易排序单元,用于从交易池中读取交易并根据交易的顺序对各个交易进行排序;
[0023]交易执行模块,用于执行各个交易,每个交易执行前根据存储的非法交易的账户信息判断是否为非法交易的后续交易,如果是转入执行非法交易处理模块;
[0024]交易打包验证模块,用于在所述交易执行模块中交易执行完成后打包出块进行共识,在对出块进行共识过程中判断交易是否为非法交易,如果为非法交易则产生交易回执,并记录非法交易的账户信息以用于判断所述非法交易的后续交易;
[0025]非法交易处理模块,用于当判断到交易为非法交易的后续交易时,将非法交易信息反馈给客户端以进行交易回滚。
[0026]进一步的,所述交易管理模块还包括交易分区单元,用于根据交易之间的关联性对各交易进行分区以将关联的交易分组到相同的交易分区。
[0027]进一步的,所述非法交易处理模块通过将非法交易阻塞,并将非法交易对应的目标序列号反馈给客户端,以使得客户端处理大于目标序列号的交易实现交易回滚。
[0028]一种用于许可区块链的交易处理装置,包括处理器以及存储器,所述存储器用于
存储计算机程序,所述处理器用于执行所述计算机程序以执行如上述方法。
[0029]与现有技术相比,本专利技术的优点在于:
[0030]1、本专利技术通过采用“排序

执行

打包

验证”的异步交易体系,将交易执行过程前置到共识过程前完成,以使得能够及时响应客户的交易请求,同时考虑对于链节点作恶时产生的非法交易的处理问题,通过在交易执行完成且打包出块后,在共识过程中如果发现有非法交易,则产生交易回执并记录非法交易的账户信息,使得利用该非法交易记录的信息能够判断非法交易的后续交易,在交易执行过程中对非法交易的后续交易进行交易回滚,确保交易的安全可靠性,从而可以在满足许可链数据不可篡改、数据可追溯特性的基础上,保障高伸缩环境下许可链的扩展性和吞吐量的线性增长以及安全可靠性。
[0031]2、本专利技术进一步通过将关联交易分组到相同交易区,无关联的交易分组到不同的分区,使得可以充分利用交易之间的关联性,将无关的交易并行执行,实现交易高效、有序的并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于许可区块链的交易处理方法,用于许可区块链中各节点进行交易处理,其特征在于,该方法包括:交易排序:从交易池中读取交易并根据交易的顺序对各个交易进行排序;交易执行:执行各个交易,每个交易执行前根据存储的非法交易的账户信息判断是否为非法交易的后续交易,如果是转入执行非法交易处理;交易打包验证:交易执行完成后打包出块进行共识,在对出块进行共识过程中判断交易是否为非法交易,如果为非法交易则产生交易回执,并记录非法交易的账户信息以用于判断所述非法交易的后续交易;非法交易处理:当判断到交易为非法交易的后续交易时,将非法交易信息反馈给客户端以进行交易回滚。2.根据权利要求1所述的用于许可区块链的交易处理方法,其特征在于,所述交易排序的过程中,还包括根据交易之间的关联性对各交易进行分区以将关联的交易分组到相同的交易分区。3.根据权利要求2所述的用于许可区块链的交易处理方法,其特征在于,所述根据交易之间的关联性对所述交易序列中各交易进行分区包括:查找各交易中发起账户和/或目的账户相同的交易分组到相同的交易分区,即同一交易分区内的各个交易具有相同的发起账户和/或目的账户。4.根据权利要求2所述的用于许可区块链的交易处理方法,其特征在于,所述交易执行的过程中,通过并行调度执行器分别将各个所述交易分区映射到对应的处理核,并行启动多个执行器以并行执行各个所述交易分区中交易。5.根据权利要求1所述的用于许可区块链的交易处理方法,其特征在于,所述根据存储的非法交易的账户信息判断是否为非法交易的后续交易时,通过将待执行的交易的账户信息与存储的非法交易的账户信息进行比较,若命中则判定为待执行交易为非法交易的后续交易;所述非法交易处理的过程中,通过将非法交易阻塞,并将非法交易对应的目...

【专利技术属性】
技术研发人员:储超尘陈孝经冯斌谭林刘齐军
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

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

1