CN116501799A - 一种多链场景下的跨链事务分组并行处理方法 - Google Patents
一种多链场景下的跨链事务分组并行处理方法 Download PDFInfo
- Publication number
- CN116501799A CN116501799A CN202310462897.9A CN202310462897A CN116501799A CN 116501799 A CN116501799 A CN 116501799A CN 202310462897 A CN202310462897 A CN 202310462897A CN 116501799 A CN116501799 A CN 116501799A
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- transaction
- transactions
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000012795 verification Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 230000008014 freezing Effects 0.000 claims description 7
- 238000007710 freezing Methods 0.000 claims description 7
- 238000010257 thawing Methods 0.000 claims description 6
- 239000003999 initiator Substances 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种多链场景下的跨链事务分组并行处理方法,包括:根据是否与跨链有关,将中继链区块事务数据分为无关事务组和跨链相关事务组;无关事务组和跨链相关事务组并行执行,无关事务组内的事务串行执行;根据事务类型将跨链相关事务组分为普通事务和跨链事务,每个普通事务单独为一组;普通事务和跨链事务串行执行;对在普通事务间的跨链事务,检查其跨链参与方的交集,交集为空的跨链事务分为一组,组内跨链事务在跨链事务的验证信息阶段并行,各组间串行执行。本发明对中继链区块内的事务分组,使无跨链参与方相交的跨链事务并行执行,保证了跨链事务的原子性、一致性,减少了跨链事务的验证时间,提高了跨链的执行效率和资源利用率。
Description
技术领域
本发明涉及中继架构跨链邻域,尤其涉及一种多链场景下的跨链事务分组并行处理方法。
背景技术
区块链是一种分布式账本技术,其具备过程可信和去中心化两大特性。其主要分为许可区块链和非许可区块链,由于区块链不可篡改、全局共识的特性,不同区块链间很难进行沟通。为打破区块链的封闭性问题,跨链技术应运而生。
总结近年来的区块链互操作性解决方案,绝大多数都是基于中继架构实现,通过第三方解决区块链数据孤岛的问题。目前在中继链架构下能够实现多条链间的互联互通,构建区块链网络,在不过度破坏区块链去中心化的基准上,让区块链间进行资产交换、数据共享或调用合约等。
然而由于跨链技术的特性,在中继链架构下的多链跨链场景中,为保证参与方的安全,如何验证跨链事务的存在性、有效性、合法性成为最重要、最耗时的部分。因为区块链底层架构的不同,中继链需实时获取参与方的最新状态以此验证跨链事务的存在性等。这让跨链事务效率较低,在跨链事务频发的情景下,会让中继链的性能下降。
发明内容
针对现有技术的不足,本发明提出一种多链场景下的跨链事务分组并行处理方法,本发明具体通过如下技术方案实现:
一种多链场景下的跨链事务分组并行处理方法,具体包括如下步骤:
步骤一:中继链区块进入执行模块后,获取中继链区块内的区块事务数据,根据是否与跨链有关,将区块事务数据分为无关事务组和跨链相关事务组;所述无关事务组和跨链相关事务组并行执行,所述无关事务组内的事务串行执行;
步骤二:根据事务类型将跨链相关事务组分为普通事务和跨链事务,每个普通事务单独为一组;普通事务和跨链事务串行执行;
步骤三:对位于两个普通事务之间的多个跨链事务,检查其跨链参与方的交集,跨链参与方交集为空的跨链事务分为一组,组内所有跨链事务在验证信息阶段并行执行,各组间串行执行。
进一步地,所述步骤三中,对位于两个普通事务之间的多个跨链事务进行分组的具体操作如下:
在多链场景下,取在普通事务间的每个跨链事务的跨链参与方分别形成集合,按执行顺序由前到后做相交判定,直至无跨链交易;
若相邻两个跨链事务的跨链参与方集合的交集为空,则这两个跨链事务分为一组,并将二者的跨链参与方集合做并集,继续将该并集与下一个跨链事务的跨链参与方集合作交集;
若相邻两个跨链事务的跨链参与方集合的交集不为空,则将执行顺序靠后的那个跨链事务放入新的事务分组中,继续将执行顺序靠后的那个跨链事务的跨链参与方集合与下一个跨链事务的跨链参与方集合作交集。
进一步地,所述普通事务包括跨链信息管理事务和验证信息管理事务。
进一步地,应用链发起一项跨链相关事务后,合约对该事务进行打包,根据事务内容分配其事务类型并携带相应验证信息,事务类型包括:注册、调用、冻结、解冻;其中只有调用类型为跨链事务,注册、冻结、解冻为普通事务;无关事务与跨链相关事务携带的数据结构和信息均不同。
进一步地,所述步骤三中,跨链事务的验证信息阶段执行如下验证:
对于能并行的跨链事务,同步进行验证信息阶段,即针对跨链事务参与方提供的验证信息与中继链中存储的对应验证信息进行对比,验证跨链参与方在中继链上是否已注册并处在运行中状态,以及验证跨链事务发起方的状态与中继链记录的是否一致。
进一步地,所述无关事务在执行阶段需要先执行再验证;跨链相关事务在执行阶段需要先验证,再执行,再验证;其中,无关事务执行后和跨链相关事务执行后的验证均为保证中继链的状态一致;而跨链相关事务执行前的验证则是保证跨链事务的存在性和有效性。
本发明的有益效果如下:
本发明基于中继链架构下的多链跨链场景,通过对中继链区块内事务进行分组,允许无关事务和跨链相关事务并行执行,对跨链相关事务进行分组,允许无跨链参与方交集的跨链事务并行执行,在保证跨链事务的原子性、一致性的同时,减少了跨链事务的验证时间,提高了跨链的执行效率和资源利用率,改善了跨链事务验证信息耗时长的瓶颈,提高了中继链的性能,为区块链网络的发展提供一个可扩展的性能基础。
附图说明
图1是本发明多链场景下的跨链事务分组并行处理方法的流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
多链场景下的跨链事务分组并行处理方法具体包括如下步骤:
步骤一:中继链区块进入执行模块后,获取区块事务数据,对区块事务数据进行分组预处理,根据是否与跨链有关,将区块事务数据分为无关事务组和跨链相关事务组,无关事务与跨链相关事务携带的数据结构和信息均不同;无关事务组和跨链相关事务组并行执行。
与传统区块链相比,中继链上的跨链事务占比较大,因此中继链的事务可分为两类:一为中继链上的原生事务,数量较少,执行速度较快,将所有原生事务归为一组,即无关事务组;二为中继链上和跨链相关的事务,数量多,执行速度较慢,将这些事务归为一组,即跨链相关事务组。两者并行执行不会造成账本冲突,因此两者能够并行执行,提高区块的执行效率;无关事务组内的事务仍与传统区块链一致串行执行,执行速度较快。
步骤二:应用链发起一项跨链相关事务后,合约对该事务进行打包,根据事务内容分配其事务类型并携带相应验证信息,事务类型包括:注册、调用、冻结、解冻。根据事务类型,将跨链相关事务组分为普通事务和跨链事务,其中,只有调用类型为跨链事务,注册、冻结、解冻均为普通事务;普通事务包括跨链信息管理事务和验证信息管理事务,每个普通事务单独为一组;普通事务和跨链事务串行执行。
中继链上与跨链相关的事务种类繁多,在多链跨链场景下,中继链需要管理区块链元信息和验证信息,进行跨链事务的验证和转发等。大体上跨链相关事务组可以分为普通事务和跨链事务两种,由于普通事务可能会改变中继链上的跨链信息,其执行会更改跨链参与方的状态,导致原本能够通过信息验证的跨链事务不再能继续执行,如链冻结和链注销等,所以将每一个普通事务单独为一组,普通事务间只能串行执行。
步骤三:在中继架构的多链跨链场景下,需严格维护跨链事务执行顺序,保障跨链参与方一致性,由于普通事务的特殊性,会改变跨链事务的验证结果,所以普通事务前后的跨链事务不满足并行条件,即只有在普通事务间的跨链事务能够做并行处理。在多链场景下,对位于两个普通事务之间的多个跨链事务,检查跨链参与方的交集,跨链参与方交集为空的跨链事务分为一组。具体的分组方法如下:
在多链场景下,取在普通事务间的每个跨链事务的跨链参与方形成集合,按执行顺序由前到后做相交判定,直至无跨链交易。
若相邻两个跨链事务的跨链参与方集合的交集为空,则两个跨链事务可以并行验证信息,放入同一组中,记为子分组;并将两个跨链事务的跨链参与方集合做并集,继续将该并集与下一个跨链事务的跨链参与方集合作交集。
若相邻两个跨链事务的跨链参与方集合的交集不为空,则将执行顺序靠后的那个跨链事务放入新的事务分组中,继续将执行顺序靠后的那个跨链事务的跨链参与方集合与下一个跨链事务的跨链参与方集合作交集。
对于子分组内的跨链事务,在跨链事务的验证信息阶段能够并行执行,并行进行跨链事务的验证信息不会发生冲突,并行执行大大增加了验证效率,改善了跨链事务在验证信息阶段速度慢的瓶颈。
跨链事务的验证信息阶段执行如下验证:对于能并行的跨链事务,同步进行验证信息阶段,即针对跨链事务参与方提供的验证信息与中继链中存储的对应验证信息进行对比,验证跨链参与方在中继链上是否已注册并处在运行中状态,以及验证跨链事务发起方的状态与中继链记录的是否一致。
无关事务在执行阶段需要先执行再验证;跨链相关事务在执行阶段需要先验证,再执行,再验证;其中,无关事务执行后和跨链相关事务执行后的验证均为保证中继链的状态一致,跨链相关事务执行前的验证则是保证跨链事务的存在性和有效性。
如图1所示,本发明方法在实际应用过程中对中继链区块内的区块事务数据依次进行判断,判断过程如下:
(1)取一个事务Tx,判断该事务数据是否为无关事务,若是,则将其加入无关事务分组;若不是,则继续判断该事务数据是否为跨链相关事务,若是,则将其加入跨链相关事务分组。
(2)判断该事务数据是否为普通事务,若是,则将其加入新建的事务分组,并记为单独的一组;若不是,则继续判断该事务数据是否为跨链事务,若是,则取其跨链参与方记录为集合B。
(3)判断上一个加入跨链相关事务分组的事务数据是否为跨链事务,若不是,即上一个加入跨链相关事务分组的事务数据是普通事务,则将该事务数据加入新建的事务分组;若是,则将上一个跨链事务所在的分组(即现分组)的跨链参与方集合A(若事务Tx为第一个事务数据,则集合A为空集)与集合B做交集,结果记为集合C。
(4)判断集合C是否为空集,若是,则将事务Tx加入上一个跨链事务所在的分组,该分组的跨链参与方集合A=A∪B;若不是,则将事务Tx加入新建的事务分组,并将集合B记为现分组的跨链参与方集合A,即A=B。
(5)判断Tx是否为最后一个事务,若是,则结束判断,将所得分组结果交给虚拟机执行;若不是,则继续取下一个事务,重复步骤(1)~步骤(5)。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (6)
1.一种多链场景下的跨链事务分组并行处理方法,其特征在于,具体包括如下步骤:
步骤一:中继链区块进入执行模块后,获取中继链区块内的区块事务数据,根据是否与跨链有关,将区块事务数据分为无关事务组和跨链相关事务组;所述无关事务组和跨链相关事务组并行执行,所述无关事务组内的事务串行执行;
步骤二:根据事务类型将跨链相关事务组分为普通事务和跨链事务,每个普通事务单独为一组;普通事务和跨链事务串行执行;
步骤三:对位于两个普通事务之间的多个跨链事务,检查其跨链参与方的交集,跨链参与方交集为空的跨链事务分为一组,组内所有跨链事务在验证信息阶段并行执行,各组间串行执行。
2.根据权利要求1所述的多链场景下的跨链事务分组并行处理方法,其特征在于,所述步骤三中,对位于两个普通事务之间的多个跨链事务进行分组的具体操作如下:
在多链场景下,取在普通事务间的每个跨链事务的跨链参与方分别形成集合,按执行顺序由前到后做相交判定,直至无跨链交易;
若相邻两个跨链事务的跨链参与方集合的交集为空,则这两个跨链事务分为一组,并将二者的跨链参与方集合做并集,继续将该并集与下一个跨链事务的跨链参与方集合作交集;
若相邻两个跨链事务的跨链参与方集合的交集不为空,则将执行顺序靠后的那个跨链事务放入新的事务分组中,继续将执行顺序靠后的那个跨链事务的跨链参与方集合与下一个跨链事务的跨链参与方集合作交集。
3.根据权利要求1所述的多链场景下的跨链事务分组并行处理方法,其特征在于,所述普通事务包括跨链信息管理事务和验证信息管理事务。
4.根据权利要求1所述的多链场景下的跨链事务分组并行处理方法,其特征在于,应用链发起一项跨链相关事务后,合约对该事务进行打包,根据事务内容分配其事务类型并携带相应验证信息,事务类型包括:注册、调用、冻结、解冻;其中只有调用类型为跨链事务,注册、冻结、解冻为普通事务;无关事务与跨链相关事务携带的数据结构和信息均不同。
5.根据权利要求1所述的多链场景下的跨链事务分组并行处理方法,其特征在于,所述步骤三中,跨链事务的验证信息阶段执行如下验证:
对于能并行的跨链事务,同步进行验证信息阶段,即针对跨链事务参与方提供的验证信息与中继链中存储的对应验证信息进行对比,验证跨链参与方在中继链上是否已注册并处在运行中状态,以及验证跨链事务发起方的状态与中继链记录的是否一致。
6.根据权利要求1所述的多链场景下的跨链事务分组并行处理方法,其特征在于,所述无关事务在执行阶段需要先执行再验证;跨链相关事务在执行阶段需要先验证,再执行,再验证;其中,无关事务执行后和跨链相关事务执行后的验证均为保证中继链的状态一致;而跨链相关事务执行前的验证则是保证跨链事务的存在性和有效性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462897.9A CN116501799A (zh) | 2023-04-26 | 2023-04-26 | 一种多链场景下的跨链事务分组并行处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310462897.9A CN116501799A (zh) | 2023-04-26 | 2023-04-26 | 一种多链场景下的跨链事务分组并行处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501799A true CN116501799A (zh) | 2023-07-28 |
Family
ID=87324291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310462897.9A Pending CN116501799A (zh) | 2023-04-26 | 2023-04-26 | 一种多链场景下的跨链事务分组并行处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501799A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422468A (zh) * | 2023-12-18 | 2024-01-19 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
-
2023
- 2023-04-26 CN CN202310462897.9A patent/CN116501799A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422468A (zh) * | 2023-12-18 | 2024-01-19 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
CN117422468B (zh) * | 2023-12-18 | 2024-03-29 | 安徽中科晶格技术有限公司 | 基于dag模型的合约链合约并行化方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245956B (zh) | 一种基于异步多链的区块链交易确认方法及系统 | |
CN109189853B (zh) | 一种区块链之间数据同步方法与装置 | |
CN111614468B (zh) | 一种区块链共识方法及系统 | |
CN111144883B (zh) | 一种区块链网络的处理性能分析方法及装置 | |
CN109522362A (zh) | 基于区块链数据的非完全数据同步方法、系统及设备 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN109660356A (zh) | 数据上链方法、装置、设备及计算机可读存储介质 | |
CN110557420B (zh) | 一种独立子链的运行方法及系统 | |
CN116501799A (zh) | 一种多链场景下的跨链事务分组并行处理方法 | |
CN114499890B (zh) | 联盟链中基于节点分组的Raft PBFT两阶段共识方法 | |
CN110766410B (zh) | 基于默克尔树的可信跨链事件构造与验证方法和设备 | |
CN111556049B (zh) | 一种基于共识节点分组隔离的区块链隐私保护方法 | |
CN111161078A (zh) | 一种一对多的区块链转账实现方法 | |
CN115797070B (zh) | 一种基于中间人账户激励的区块链交易方法、装置及系统 | |
CN111861459A (zh) | 一种基于DPoS共识算法的Iota账本优化系统及方法 | |
CN115134069A (zh) | 区块链编辑的方法和区块链节点 | |
CN108596615B (zh) | 一种基于区块链的存证保全公证方法及系统 | |
CN112732803B (zh) | 一种共识区块链交易查询验证方法及系统 | |
CN114567554A (zh) | 一种基于节点信誉和分区共识的区块链构建方法 | |
CN113269543A (zh) | 一种用于区块链的多层混合交易扩容系统及方法 | |
CN113111125A (zh) | 一种基于区块链的业务存证方法 | |
CN111815329A (zh) | 一种基于跨链技术实现高性能区块链网络的方法 | |
CN107122675B (zh) | 一种基于区块链的数据库事务操作方法和系统 | |
CN115664724A (zh) | 一种区块链系统中的共识方法、区块链系统和共识节点 | |
CN113079026B (zh) | 一种区块链系统及区块链网络资源管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |