CN113537991A - 一种跨链交易有序执行方法和跨链系统 - Google Patents
一种跨链交易有序执行方法和跨链系统 Download PDFInfo
- Publication number
- CN113537991A CN113537991A CN202111084581.8A CN202111084581A CN113537991A CN 113537991 A CN113537991 A CN 113537991A CN 202111084581 A CN202111084581 A CN 202111084581A CN 113537991 A CN113537991 A CN 113537991A
- Authority
- CN
- China
- Prior art keywords
- chain
- transaction
- cross
- sub
- transactions
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例中提供了一种跨链交易有序执行方法和跨链系统,采用本申请中的方案,跨链交易包中的多个交易保持了在源链中的执行顺序。子链在按序执行跨链交易包中的交易期间,如果当前交易是跨链交易,则在处理完该跨链交易后,将该跨链交易的交易ID发送给其他子链。如果当前交易是空交易,则根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则说明其他子链已经处理了该空交易对应的跨链交易,接着子链才处理该空交易,并且在处理完该空交易后接着处理下一个交易。如此,对于源链的多个跨链交易,会按照这些跨链交易在源子链中的执行顺序,被若干子链依次执行,从而实现了跨链交易的有序执行。
Description
技术领域
本申请涉及区块链技术领域,具体地,涉及一种跨链交易有序执行方法和跨链系统。
背景技术
区块链技术作为一种分布式账本技术,其技术优势主要体现于数据信息不可篡改、数据信息可溯源、分布式去中心化、无须信任系统等方面,区块链技术目前已经在金融、健康医疗、供应链、资产管理、互联网电商等诸多领域得以应用。
相关技术中,为了使异构区块链/同构区块链之间实现数据流转,跨链技术应运而生。然而在跨链场景下,如果不能确保跨链交易的有序执行,将容易导致业务问题。比如在子链A中注册的用户在一段时间内先后发起了跨链交易tx1和跨链交易tx2。用户希望首先通过跨链交易tx1,在子链B中购买m数量的债券资产,然后通过跨链交易tx2,利用剩余账户资产在子链C中购买n数量的基金资产。然而当账户a1的总资产不足以同时购买m数量的债券资产和n数量的基金资产时,如果两个跨链交易按序执行,则仍然能成功购买到用户最想购买的债券资产。但是如果两个跨链交易没有按序执行,则不能成功购买到用户最想购买的债券资产。可见,跨链交易的按序执行尤为重要。
然而由于跨链技术和跨链系统的复杂性,导致现有技术中跨链交易的有序执行难以实现,从而引发业务问题。
发明内容
本申请实施例中提供了一种跨链交易有序执行方法和跨链系统,旨在解决现有技术中跨链交易难以有序执行的问题。
根据本申请实施例的第一个方面,提供了一种跨链交易有序执行方法,所述方法应用于跨链系统,所述跨链系统包括主链和多个子链,所述方法包括:
所述主链获得源链的多个跨链交易,每个跨链交易均携带目标链ID和交易编号,每个跨链交易的交易编号用于表征该跨链交易在所述源链中的执行顺序,所述源链是所述多个子链中的一个子链,所述目标链是所述多个子链中除所述源链之外的其他子链;
所述主链针对每个子链,根据所述多个跨链交易生成每个子链的跨链交易包,并将每个子链的跨链交易包分发给每个子链;每个子链的跨链交易包中包括若干所述跨链交易和若干空交易;每个子链的跨链交易包中的跨链交易所携带的目标链ID与该子链的子链ID相同;每个子链的跨链交易包中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与该子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID;每个子链的跨链交易包中若干跨链交易和若干空交易按照所述交易编号进行排序;
每个子链获得跨链交易包后,按照跨链交易包中每个交易的排序,依次执行每个交易;其中,子链在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链;子链在执行空交易之前,根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。
根据本申请实施例的第二个方面,提供了一种跨链交易有序执行方法,所述方法应用于跨链系统中的目标子链,所述跨链系统包括主链和多个子链,所述目标子链是所述多个子链中的一个子链,所述方法包括:
获得所述主链分发的跨链交易包;所述跨链交易包中包括若干跨链交易和若干空交易,所述若干跨链交易各自携带的目标链ID与所述目标子链的子链ID相同;所述若干空交易中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与所述目标子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID;每个子链的跨链交易包中若干跨链交易和若干空交易按照交易编号进行排序,所述交易编号用于表征每个跨链交易在源链中的执行顺序,所述源链是所述多个子链中的一个子链;
按照所述跨链交易包中每个交易的排序,依次执行每个交易;其中,在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链;在执行空交易之前,根据该空交易携带的交易ID,检测是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。
根据本申请实施例的第三个方面,提供了一种跨链系统,所述跨链系统包括主链和多个子链,所述主链和所述多个子链之间的跨链操作采用上述跨链交易有序执行方法。
采用本申请实施例中提供的跨链交易有序执行方法,跨链交易包中的多个交易按照交易编号进行排序,跨链交易包中的多个交易保持了在源链中的执行顺序。并且,子链在按序执行跨链交易包中的交易期间,如果当前处理的交易是一个跨链交易,则在处理完该跨链交易后,将该跨链交易的交易ID发送给其他子链。如果当前处理的交易是一个空交易,则根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则说明其他子链已经处理了该空交易对应的跨链交易,接着子链才执行该空交易,并且在执行完该空交易后接着执行下一个交易。如此,对于源链的多个跨链交易,会按照这些跨链交易在源子链中的执行顺序,被若干子链依次执行,从而实现了跨链交易的有序执行。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例提出的跨链交易有序执行方法的流程图;
图2是本申请一实施例提出的跨链系统的示意图;
图3是本申请一实施例提出的跨链交易有序执行方法的流程示意图;
图4是本申请一实施例提出的骨干节点对跨链交易进行排序的示意图;
图5是本申请一实施例提出的验证节点生成跨链交易包的示意图;
图6是本申请一实施例提出的验证节点A生成跨链交易包的示意图;
图7是本申请一实施例提出的验证节点C生成跨链交易包的示意图;
图8是本申请一实施例提出的跨链交易有序执行方法的流程示意图。
具体实施方式
在实现本申请的过程中,发明人发现,由于跨链技术和跨链系统的复杂性,导致现有技术中跨链交易的有序执行难以实现,从而引发业务问题。比如在子链A中注册的用户在一段时间内先后发起了跨链交易tx1和跨链交易tx2。用户希望首先通过跨链交易tx1,在子链B中购买m数量的债券资产,然后通过跨链交易tx2,利用剩余账户资产在子链C中购买n数量的基金资产。然而当账户a1的总资产不足以同时购买m数量的债券资产和n数量的基金资产时,如果两个跨链交易按序执行,则仍然能成功购买到用户最想购买的债券资产。但是如果两个跨链交易没有按序执行,则不能成功购买到用户最想购买的债券资产。可见,跨链交易的按序执行尤为重要。
针对上述问题,本申请实施例中提供了一种跨链交易有序执行方法和跨链系统,跨链交易包中的多个交易按照交易编号进行排序,跨链交易包中的多个交易保持了在源链中的执行顺序。并且,子链在按序执行跨链交易包中的交易期间,如果当前处理的交易是一个跨链交易,则在处理完该跨链交易后,将该跨链交易的交易ID发送给其他子链。如果当前处理的交易是一个空交易,则根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则说明其他子链已经处理了该空交易对应的跨链交易,接着子链才执行该空交易,并且在执行完该空交易后接着执行下一个交易。如此,对于源链的多个跨链交易,会按照这些跨链交易在源子链中的执行顺序,被若干子链依次执行,从而实现了跨链交易的有序执行。
本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参考图1,图1是本申请一实施例提出的跨链交易有序执行方法的流程图。如图1所示,跨链交易有序执行方法应用于跨链系统,该跨链系统包括主链和多个子链。如图1所示,跨链交易有序执行方法包括以下步骤:
S110:主链获得源链的多个跨链交易。
其中,每个跨链交易均携带目标链ID和交易编号,每个跨链交易的交易编号用于表征该跨链交易在源链中的执行顺序,源链是多个子链中的一个子链,目标链是多个子链中除源链之外的其他子链。
本申请中,每个跨链交易除了携带目标链ID和交易编号,还携带交易ID。其中,交易编号能反映跨链交易在源链中的执行顺序。比如多个跨链交易的交易编号是逐渐递增的数字编号,一个跨链交易的数字编号越大,该跨链交易在源链中的执行顺序越靠后。
为便于理解,示例性地,假设一个跨链交易携带如下信息“tx_id:077ae2439;nonce:175;Account:b1;Source_chain_id:chain-b;Destination_chain_id:chain-a”,说明该跨链交易的交易ID为077ae2439,该跨链交易的交易编号为175,该跨链交易是由账户b1发起的,该跨链交易的源链ID是chain-b,该跨链交易的目标链ID是chain-a。
又假设另一个跨链交易携带如下信息“tx_id:8d69cbc53;nonce:176;Account:b1;Source_chain_id:chain-b;Destination_chain_id:chain-c”,说明该跨链交易的交易ID为8d69cbc53,该跨链交易的交易编号为176,该跨链交易是由账户b1发起的,该跨链交易的源链ID是chain-b,该跨链交易的目标链ID是chain-c。
在一些可能的实施方式中,跨链系统还包括多个骨干节点,每个骨干节点分别对应一个子链,每个骨干节点用于连接主链和该骨干节点对应的子链。在这些实施方式中,主链获得源链的多个跨链交易的过程具体包括:源链的骨干节点获得源链的多个跨链交易;骨干节点将每个跨链交易的交易结构调整为与主链匹配的交易结构,以及为每个调整后的跨链交易赋予交易编号,再将赋予交易编号后的多个跨链交易提交给主链。如此,主链获得该骨干节点提交的多个跨链交易。
S120:主链针对每个子链,根据多个跨链交易生成每个子链的跨链交易包,并将每个子链的跨链交易包分发给每个子链。
其中,每个子链的跨链交易包中包括若干跨链交易和若干空交易。每个子链的跨链交易包中的跨链交易所携带的目标链ID与该子链的子链ID相同。每个子链的跨链交易包中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与该子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID。每个子链的跨链交易包中若干跨链交易和若干空交易按照交易编号进行排序。
本申请中,由于每个子链的跨链交易包中若干跨链交易和若干空交易按照交易编号进行排序,因此每个子链的跨链交易包中若干交易的排序与若干跨链交易在源链中的执行顺序一致。
在一些可能的实施方式中,主链将每个子链的跨链交易包分发给每个子链的过程具体包括:主链将每个子链的跨链交易包分发给每个子链的骨干节点;每个子链的骨干节点将跨链交易包中每个交易的交易结构调整为与该子链匹配的交易结构,并将调整后的跨链交易包提交给子链。
需要说明的是,由于本申请的跨链系统中包括多个子链,而为了提高系统兼容性,多个子链可以是多种异构链,多个子链各自支持的交易结构互不相同。因此,为了使得多个子链之间顺利实现跨链,本申请中每个子链的跨链交易在被发送至主链之前,骨干节点对相应子链的跨链交易的交易结构进行调整,然后将调整后的跨链交易发送给主链,使得主链能顺利执行跨链交易。同样地,每个子链的骨干节点也可以对主链发来的跨链交易的交易结构进行调整,然后将调整后的跨链交易发送给相应子链,使得子链能顺利执行跨链交易。
S130:每个子链获得跨链交易包后,按照跨链交易包中每个交易的排序,依次执行每个交易。
如图1所示,子链在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链。子链在执行空交易之前,根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。此外,如果子链还未接收到其他子链发送的相同交易ID,则子链暂停执行该空交易,直至接收到其他子链发送的相同交易ID。
在一些可能的实施方式中,如图1所示,子链在执行完一个链跨交易后,通过以下方式将该跨链交易的交易ID发送给其余子链:
S130-1:子链在执行完一个链跨交易后,将该跨链交易的交易ID发送给主链。
S130-2:主链接收到交易ID后,将交易ID转发给多个子链中的每个子链。
本申请中,通过主链向各个子链转发交易ID,因此各个子链不需要保存和随时更新子链之间的路由关系,有利于简化子链设计,减少子链计算任务量。
具体实现时,主链中包括多个主链节点,每个主链节点分别对应一个子链。当某个子链执行完一个跨链交易后,该子链将该跨链交易的交易ID发送给该子链的骨干节点。骨干节点将该交易ID提交给该子链对应的主链节点。主链节点接收到交易ID后,主链节点通过主链的P2P网络,将交易ID同步给其他主链节点。每个主链节点接收到交易ID后,将交易ID发送给每个主链节点对应的子链的骨干节点。每个骨干节点接收到主链节点发送的交易ID后,将交易ID发送给对应子链。子链接收到交易ID后,通过子链的P2P网络,在子链内进行同步,使得各个子链节点接收到该交易ID。
在另一些可能的实施方式中,每个子链可以保存和随时更新子链之间的路由关系。当某个子链执行完一个跨链交易后,该子链可以根据子链之间的路由关系,将该跨链交易的交易ID直接发送给其余子链。
在一些可能的实施方式中,每个子链除了会执行跨链交易,还会执行多个链内交易,为了提升子链对交易的整体执行效率。本申请中,子链可以将链内交易和跨链交易打包至同一个交易包(以下称为子链交易包)进行处理。具体实现时,包括以下过程:
每个子链的排序节点接收该子链的其他节点提交的多个链内交易,并接收主链分发的跨链交易包;每个子链的排序节点将多个链内交易和跨链交易包中的各个交易打包成子链交易包,并将子链交易包分发给子链内的每个节点;每个子链的每个节点在获得子链交易包后,将子链交易包中的多个链内交易划分为第一交易组,将子链交易包中跨链交易包的各个交易划分为第二交易组,并且并行处理所述第一交易组和所述第二交易组。
每个节点在处理第二交易组时,按照第二交易组中每个交易的排序,依次执行每个交易。具体地,如前所述,在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链。在执行空交易之前,根据该空交易携带的交易ID,检测是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。此外,如果还未接收到其他子链发送的相同交易ID,则暂停执行该空交易,直至接收到其他子链发送的相同交易ID。
本申请中,通过将一个子链交易包中的链内交易划分成第一交易组,将子链交易包中的跨链交易和空交易划分成第二交易组,并且并行处理这两个交易组。因此链内交易的执行不会受到空交易的影响,比如节点在执行空交易期间,由于还没有接收到其他子链发送的相同交易ID而进行等待期间,虽然会影响空交易后续的跨链交易的执行,但是第一交易组中的链内交易不会受到影响,仍然可以继续执行,从而进一步提升了子链对交易的整体执行效率。本申请中,当两个交易组均执行完毕后,子链生成区块并对区块进行共识。
采用本申请实施例中提供的跨链交易有序执行方法,跨链交易包中的多个交易按照交易编号进行排序,跨链交易包中的多个交易保持了在源链中的执行顺序。并且,子链在按序执行跨链交易包中的交易期间,如果当前处理的交易是一个跨链交易,则在处理完该跨链交易后,将该跨链交易的交易ID发送给其他子链。如果当前处理的交易是一个空交易,则根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID。
如果子链已经接收到其他子链发送的相同交易ID,则说明其他子链已经处理了该空交易对应的跨链交易,接着子链才执行该空交易,并且在执行完该空交易后接着执行下一个交易。如果子链还没有接收到其他子链发送的相同交易ID,则说明其他子链还没有处理该空交易对应的跨链交易,因此子链进行等待,直至接收到其他子链发送的相同交易ID,才执行该空交易,然后接着执行下一个交易。如此,对于源链的多个跨链交易,会按照这些跨链交易在源子链中的执行顺序,被若干子链依次执行,从而实现了跨链交易的有序执行。
参考图2,图2是本申请一实施例提出的跨链系统的示意图。如图2所示,该跨链系统包括主链、多个子链以及多个骨干节点,每个骨干节点分别对应一个子链,每个骨干节点用于连接主链和该骨干节点对应的子链。
其中,骨干节点的作用是跨链网关,骨干节点内置跨链账户(即在主链中注册的账户),负责子链与主链之间的消息通信。主链可以面向各个领域的子链,用于实现各领域子链的数据流通。
如图2所示,基于该跨链系统的跨链过程主要包括:
S210:骨干节点获得子链的跨链交易TX,并对子链的跨链交易TX进行验证,以及将跨链交易TX调整成主链支持的交易结构,并发送至主链。
S220:主链的验证节点之间,对跨链交易TX进行转发、执行以及验证后,将跨链交易TX提交给主链的共识节点。
S230:主链的共识节点对跨链交易TX进行打包、共识以及上链,从而生成区块block,区块block中记录有多个跨链交易TX。
S240:主链的验证节点获得共识节点生成的区块block,从区块block中读取出跨链交易TX,并针对每个跨链交易TX,根据该跨链交易TX携带的目标链ID,通知目标链对应的骨干节点。
S250:骨干节点将跨链交易TX调整成相应子链支持的交易结构,并将调整后的跨链交易TX路由给相应子链。
S260:子链获得跨链交易TX后,验证跨链交易TX的签名,验签通过后执行跨链交易TX。
图2示出了本申请提出的跨链操作流程,为了实现跨链交易的有序性,跨链系统在跨链操作期间,可以执行如图1所示的跨链操作步骤。
以上,本申请通过一些实施例对跨链交易有序执行方法和跨链系统进行了介绍。以下,本申请通过另一些实施例对跨链交易有序执行方法做进一步详细介绍。
参考图3,图3是本申请一实施例提出的跨链交易有序执行方法的流程示意图。如图3所示,该方法包括以下步骤:
S310:骨干节点监听子链的区块生成事件,当子链生成新的区块后,骨干节点从子链获取到该区块,并针对区块中的每个交易,根据交易的类型标识,判断该交易是否为跨链交易,如果该交易是跨链交易,则骨干节点按照预设排序规则,将该交易放入跨链交易队列。
本申请中,对于多个跨链交易,骨干节点会按照多个跨链交易在子链中的执行顺序,将这些跨链交易排列至跨链交易队列。
为便于理解,如图4所示,骨干节点在一段时间内获得了子链的两个区块,这两个区块分别是:子链b的区块高度等于101的区块、子链b的区块高度等于102的区块。每个区块中包括若干跨链交易,例如子链b的区块高度等于101的区块中包括tx3和tx12等跨链交易,子链b的区块高度等于102的区块中包括tx9和tx28等跨链交易。
在按照预设排序规则对多个跨链交易进行排序时,首先按照区块高度从小到大的顺序排列,针对每个区块内的多个跨链交易,再按照跨链交易在区块内的原有顺序进行排序。如此,图4所示的多个跨链交易的最终排序为:tx3、tx12、tx9、tx28。
S320:骨干节点对每个跨链交易的交易结构进行调整,使得调整后的交易结构是主链能处理的交易结构。
具体实现时,骨干节点注册有跨链账户(即骨干节点在主链中的账户),骨干节点的跨链账户用于向跨链账户赋予nonce值(本申请中nonce值即是交易编号)。骨干节点首先按照预设调整方式,将每个跨链交易的交易结构调整为主链能处理的交易结构。然后骨干节点针对跨链交易队列中的每个跨链交易,依次将nonce值赋予这个跨链交易。骨干节点每赋予一次nonce值,nonce值自动增加1。
为便于理解,假设骨干节点在为tx3赋予nonce值之前,nonce值等于175,则骨干节点将交易序号值175赋予tx3。此后nonce值自动加1,更新为176,骨干节点将nonce值176赋予tx12。此后骨干节点的nonce值自动加1,更新为177,骨干节点将交易序号值2757赋予tx9。此后骨干节点的nonce值自动加1,更新为178,骨干节点将交易序号值178赋予tx28。最终,骨干节点依次为多个跨链交易分别赋予了不同的nonce值,多个跨链交易的nonce值依次递增。
S330:骨干节点将多个跨链交易发送给主链中对应的验证节点;验证节点对跨链交易进行验证,在验证通过后,将多个跨链交易发送给主链的共识节点执行;共识节点执行跨链交易后生成区块,并将区块同步给验证节点。
本申请中,如图2所示,主链包括多个验证节点和多个共识节点,每个验证节点分别对应一个子链和骨干节点,多个验证节点与多个共识节点连接。骨干节点将多个跨链交易发送给骨干节点对应的验证节点。
S340:每个验证节点在获得主链生成的区块后,根据区块中每个跨链交易携带的骨干节点账户信息,对多个跨链交易进行分组,每个分组中的跨链交易按照nonce值排序。
为便于理解,如图5所示,主链生成的新区块中包括tx1至tx6等6个跨链交易。其中,每个跨链交易中记录有:骨干节点账户信息、nonce值、个人账户信息以及目标链ID等信息。以tx1为例,其中“骨B账户”表示tx1携带骨干节点B的账户信息,换言之,tx1是由骨干节点B发送给主链的跨链交易。“nonce=175”表示tx1的nonce值等于175。“个人账户b1”表示tx1最早是由个人账户b1在骨干节点B的子链上发起的。“目标链a”表示tx1需要被发送给骨干节点A连接的子链a。
如图3所示,以验证节点A为例,验证节点A获得主链生成的新区块后,验证节点A根据骨干节点账户信息,将新区块中的6个跨链交易划分成两组,其中一组是骨B账户的跨链交易,另一组是骨D账户的跨链交易。每组跨链交易中,多个跨链交易按照nonce值从小到大进行排序。
S350:验证节点对每组跨链交易分别进行处理,验证节点在处理一组跨链交易期间,针对其中的每个跨链交易,如果该跨链交易携带的目标链ID是对应骨干节点所连接的子链ID,则保留该跨链交易,如果该跨链交易携带的目标链ID不是对应骨干节点所连接的子链ID,则将该跨链交易替换为空交易,空交易保留该跨链交易的交易ID。如此,将一组跨链交易转换成若干跨链交易和若干空交易,这些交易之间仍然维持原有顺序,这些交易形成一个跨链交易包。
为便于理解,如图5所示,以验证节点A为例,针对骨B账户对应的一组跨链交易(包括TX3、TX12、TX9以及TX28)。首先针对TX3,由于TX3携带的目标链ID为a,而目标链a恰好是验证节点A对应的骨干节点A所连接的子链,因此保留跨链交易TX3。
然后针对TX12,由于TX12携带的目标链ID为c,而目标链c不是验证节点A对应的骨干节点A所连接的子链,因此将TX12替换成空交易,该空交易保留TX12的交易ID。
接着针对TX9,由于TX9携带的目标链ID为c,而目标链c不是验证节点A对应的骨干节点A所连接的子链,因此将TX9替换成空交易,该空交易保留TX9的交易ID。
最后针对TX28,由于TX28携带的目标链ID为a,而目标链a恰好是验证节点A对应的骨干节点A所连接的子链,因此保留跨链交易TX28。
最终,验证节点A生成了如图6所示的跨链交易包,验证节点C生成了如图7所示的交易包。此外,验证节点C和验证节点E还针对骨D账户的一组跨链交易生成了交易包,为简化说明,此处不做赘述。
S360:验证节点将跨链交易包,并发送给对应的骨干节点;骨干节点将跨链交易包中各交易改造成子链能处理的交易结构后,将跨链交易包发送给骨干节点连接的子链。
对于子链而言,子链在处理交易时,包括以下步骤:
S371:子链的主节点master获得跨链交易包后,将跨链交易包中的各交易与子链的链内交易一起进行排序打包,生成子链交易包;子链交易包中包括多个链内交易和多个跨链交易,多个跨链交易保留了原有顺序;主节点master将子链交易包分发给子链的每个节点。
S372:子链的每个节点在获得子链交易包后,将子链交易包中的多个链内交易划分为第一交易组,将子链交易包中的若干跨链交易和若干空交易划分为第二交易组,第二交易组中若干跨链交易和若干空交易保持原有顺序。
S373:每个节点在处理交易时,利用第一进程来按序处理第一交易组中的各个交易,利用第二进程来按序处理第二交易组中的各个交易。
其中,第二进程在按序处理第二交易组中的交易期间,如果当前处理的交易是一个跨链交易,则第二进程直接执行该跨链交易,并且在处理完该跨链交易后,将该跨链交易的交易ID发送给主节点master。当主节点master接收到大多数节点(例如60%节点)发送的交易ID后,主节点master将该交易ID发送给骨干节点,从而通过骨干节点和主链,将该交易ID路由给其他子链进行缓存。
如果当前处理的交易是一个空交易,则第二进程尝试从缓存中读取该空交易的交易ID。如果第二进程读取到交易ID,则说明其他子链已经处理完该空交易对应的跨链交易。在此情况下,第二进程执行该空交易(例如直接将空交易的执行状态更新为已执行),并且在执行完该空交易后接着处理下一个交易。如果第二进程没有读取到交易ID,则说明其他子链还没有处理完该空交易对应的跨链交易。在此情况下,第二进程进行等待,直到缓存中存入相应交易ID。如此,对于来自于同一子链多个跨链交易,这些跨链交易即使在不同子链上执行,也会按照交易编号顺序被依次执行。
为便于理解,示例性地,结合图6和图7,子链a执行完跨链交易TX3之后,子链a将跨链交易TX3的交易ID发送给其他子链。子链c接收到跨链交易TX3的交易ID之后,才会执行空交易TX3。子链c在执行完空交易TX3之后,才会执行跨链交易TX12。子链c执行完跨链交易TX12之后,子链c将跨链交易TX12的交易ID发送给其他子链。子链c接着执行跨链交易TX9,子链c执行完跨链交易TX9之后,子链c将跨链交易TX9的交易ID发送给其他子链。子链a接收到跨链交易TX12的交易ID后,才会执行空交易TX12。子链a执行完空交易TX12,且接收到跨链交易TX9的交易ID后,才会执行空交易TX9。子链a执行完空交易TX9之后,才会执行跨链交易TX28。子链a执行完跨链交易TX28之后,子链a将跨链交易TX28的交易ID发送给其他子链。子链c接收到跨链交易TX28的交易ID之后,才会执行空交易TX28。
上述过程中,跨链交易TX3、跨链交易TX12、跨链交易TX9以及跨链交易TX28在子链a和子链c中按序执行。换言之,跨链交易TX3被子链a执行完后,跨链交易TX12才会被子链c执行。跨链交易TX12被子链c执行完后,跨链交易TX9才会被子链c执行。跨链交易TX9被子链c执行完后,跨链交易TX28才会被子链a执行。
S374:当两个进程分别处理完第一交易组和第二交易组之后,子链的节点再按照原有交易顺序生成区块并共识。
以上,本申请通过一些实施例提出了跨链交易有序执行方法,上述跨链交易有序执行方法应用于整个跨链系统。以下,本申请通过另一些实施例提供一种应用于子链的跨链交易有序执行方法。以下应用于子链的跨链交易有序执行方法的具体实施方式,可参考上述实施例,为避免重复,以下对应用于子链的跨链交易有序执行方法进行简要介绍。
参考图8,图8是本申请一实施例提出的跨链交易有序执行方法的流程示意图,该跨链交易有序执行方法应用于跨链系统中的子链。如图8所示,该方法包括以下步骤:
S810:获得主链分发的跨链交易包。
其中,跨链交易包中包括若干跨链交易和若干空交易,若干跨链交易各自携带的目标链ID与目标子链的子链ID相同。若干空交易中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与目标子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID。每个子链的跨链交易包中若干跨链交易和若干空交易按照交易编号进行排序,交易编号用于表征每个跨链交易在源链中的执行顺序,源链是多个子链中的一个子链。
S820:按照跨链交易包中每个交易的排序,依次执行每个交易;其中,在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链;在执行空交易之前,根据该空交易携带的交易ID,检测是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。
在一些可能的实施方式中,如果还未接收到其他子链发送的相同交易ID,则暂停执行该空交易,直至接收到其他子链发送的相同交易ID。
在一些可能的实施方式中,目标子链获得主链分发的跨链交易包,按照跨链交易包中每个交易的排序,依次执行每个交易的具体过程包括:
目标子链的排序节点接收目标子链的其他节点提交的多个链内交易,并接收主链分发的跨链交易包;排序节点将多个链内交易和跨链交易包中的各个交易打包成子链交易包,并将子链交易包分发给目标子链的每个节点;目标子链的每个节点在获得子链交易包后,将子链交易包中的多个链内交易划分为第一交易组,将子链交易包中跨链交易包的各个交易划分为第二交易组,并且并行处理第一交易组和第二交易组;每个节点在处理第二交易组时,按照第二交易组中每个交易的排序,依次执行每个交易。
在一些可能的实施方式中,目标子链在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链的具体过程包括:在执行完一个链跨交易后,将该跨链交易的交易ID发送给主链,使主链将交易ID转发给多个子链中的每个子链。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种跨链交易有序执行方法,其特征在于,所述方法应用于跨链系统,所述跨链系统包括主链和多个子链,所述方法包括:
所述主链获得源链的多个跨链交易,每个跨链交易均携带目标链ID和交易编号,每个跨链交易的交易编号用于表征该跨链交易在所述源链中的执行顺序,所述源链是所述多个子链中的一个子链,所述目标链是所述多个子链中除所述源链之外的其他子链;
所述主链针对每个子链,根据所述多个跨链交易生成每个子链的跨链交易包,并将每个子链的跨链交易包分发给每个子链;每个子链的跨链交易包中包括若干所述跨链交易和若干空交易;每个子链的跨链交易包中的跨链交易所携带的目标链ID与该子链的子链ID相同;每个子链的跨链交易包中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与该子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID;每个子链的跨链交易包中若干跨链交易和若干空交易按照所述交易编号进行排序;
每个子链获得跨链交易包后,按照跨链交易包中每个交易的排序,依次执行每个交易;其中,子链在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链;子链在执行空交易之前,根据该空交易携带的交易ID,检测该子链是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果子链还未接收到其他子链发送的相同交易ID,则子链暂停执行该空交易,直至接收到其他子链发送的相同交易ID。
3.根据权利要求1所述的方法,其特征在于,所述每个子链获得跨链交易包后,按照跨链交易包中每个交易的排序,依次执行每个交易,包括:
每个子链的排序节点接收该子链的其他节点提交的多个链内交易,并接收所述主链分发的所述跨链交易包;
每个子链的排序节点将多个链内交易和跨链交易包中的各个交易打包成子链交易包,并将子链交易包分发给子链内的每个节点;
每个子链的每个节点在获得子链交易包后,将子链交易包中的多个链内交易划分为第一交易组,将子链交易包中跨链交易包的各个交易划分为第二交易组,并且并行处理所述第一交易组和所述第二交易组;每个节点在处理所述第二交易组时,按照第二交易组中每个交易的排序,依次执行每个交易。
4.根据权利要求1所述的方法,其特征在于,所述子链在执行完一个链跨交易后,将该跨链交易的交易ID发送给其余子链,包括:
所述子链在执行完一个链跨交易后,将该跨链交易的交易ID发送给所述主链,所述主链将所述交易ID转发给所述多个子链中的每个子链。
5.根据权利要求1至4任一所述的方法,其特征在于,所述跨链系统还包括多个骨干节点,每个骨干节点分别对应一个子链,每个骨干节点用于连接主链和该骨干节点对应的子链;
所述主链获得源链的多个跨链交易,包括:
所述源链的骨干节点获得所述源链的多个跨链交易,并将每个跨链交易的交易结构调整为与所述主链匹配的交易结构,以及为每个调整后的跨链交易赋予所述交易编号,再将赋予交易编号后的多个跨链交易提交给所述主链;所述主链获得该骨干节点提交的所述多个跨链交易;
所述主链将每个子链的跨链交易包分发给每个子链,包括:
所述主链将每个子链的跨链交易包分发给每个子链的骨干节点,每个子链的骨干节点将跨链交易包中每个交易的交易结构调整为与该子链匹配的交易结构,并将调整后的跨链交易包提交给子链。
6.一种跨链交易有序执行方法,其特征在于,所述方法应用于跨链系统中的目标子链,所述跨链系统包括主链和多个子链,所述目标子链是所述多个子链中的一个子链,所述方法包括:
获得所述主链分发的跨链交易包;所述跨链交易包中包括若干跨链交易和若干空交易,所述若干跨链交易各自携带的目标链ID与所述目标子链的子链ID相同;所述若干空交易中的每个空交易分别对应一个跨链交易,每个空交易对应的跨链交易所携带的目标链ID与所述目标子链的子链ID不相同,每个空交易还携带对应跨链交易的交易ID;每个子链的跨链交易包中若干跨链交易和若干空交易按照交易编号进行排序,所述交易编号用于表征每个跨链交易在源链中的执行顺序,所述源链是所述多个子链中的一个子链;
按照所述跨链交易包中每个交易的排序,依次执行每个交易;其中,在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链;在执行空交易之前,根据该空交易携带的交易ID,检测是否已经接收到其他子链发送的相同交易ID,若是,则执行该空交易。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
如果还未接收到其他子链发送的相同交易ID,则暂停执行该空交易,直至接收到其他子链发送的相同交易ID。
8.根据权利要求6所述的方法,其特征在于,所述获得所述主链分发的跨链交易包,按照所述跨链交易包中每个交易的排序,依次执行每个交易,包括:
所述目标子链的排序节点接收所述目标子链的其他节点提交的多个链内交易,并接收所述主链分发的所述跨链交易包;
所述排序节点将多个链内交易和跨链交易包中的各个交易打包成子链交易包,并将子链交易包分发给所述目标子链的每个节点;
所述目标子链的每个节点在获得子链交易包后,将子链交易包中的多个链内交易划分为第一交易组,将子链交易包中跨链交易包的各个交易划分为第二交易组,并且并行处理所述第一交易组和所述第二交易组;每个节点在处理所述第二交易组时,按照第二交易组中每个交易的排序,依次执行每个交易。
9.根据权利要求6所述的方法,其特征在于,所述在执行完一个跨链交易后,将该跨链交易的交易ID发送给其余子链,包括:
在执行完一个链跨交易后,将该跨链交易的交易ID发送给所述主链,使所述主链将所述交易ID转发给所述多个子链中的每个子链。
10.一种跨链系统,其特征在于,所述跨链系统包括主链和多个子链,所述主链和所述多个子链之间的跨链操作采用如权利要求1至5任一所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111084581.8A CN113537991B (zh) | 2021-09-16 | 2021-09-16 | 一种跨链交易有序执行方法和跨链系统 |
PCT/CN2022/097229 WO2023040363A1 (zh) | 2021-09-16 | 2022-06-06 | 跨链交易有序执行方法和跨链系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111084581.8A CN113537991B (zh) | 2021-09-16 | 2021-09-16 | 一种跨链交易有序执行方法和跨链系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113537991A true CN113537991A (zh) | 2021-10-22 |
CN113537991B CN113537991B (zh) | 2022-03-01 |
Family
ID=78092679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111084581.8A Active CN113537991B (zh) | 2021-09-16 | 2021-09-16 | 一种跨链交易有序执行方法和跨链系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113537991B (zh) |
WO (1) | WO2023040363A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114612103A (zh) * | 2022-05-10 | 2022-06-10 | 中国信息通信研究院 | 跨区块链交易的方法、装置、系统、介质及电子设备 |
CN114785853A (zh) * | 2022-03-31 | 2022-07-22 | 蚂蚁区块链科技(上海)有限公司 | 在区块链的系统中跨链通信的方法及装置 |
WO2023040363A1 (zh) * | 2021-09-16 | 2023-03-23 | 中国信息通信研究院 | 跨链交易有序执行方法和跨链系统 |
CN117527832A (zh) * | 2024-01-03 | 2024-02-06 | 杭州趣链科技有限公司 | 一种区块链的交易排序方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171236B (zh) * | 2023-11-02 | 2024-02-06 | 中电科大数据研究院有限公司 | 一种基于区块链的数据溯源方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035016A (zh) * | 2018-06-28 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种多链并发交易方法 |
CN109325762A (zh) * | 2018-08-30 | 2019-02-12 | 杭州复杂美科技有限公司 | 平行链跨链交易方法、设备和存储介质 |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
US20190287101A1 (en) * | 2018-12-28 | 2019-09-19 | Alibaba Group Holding Limited | Parallel execution of transactions in a blockchain network |
CN110428332A (zh) * | 2019-07-29 | 2019-11-08 | 杭州复杂美科技有限公司 | 一种平行链跨链交易方法、设备和存储介质 |
CN111046109A (zh) * | 2019-12-27 | 2020-04-21 | 深圳市网心科技有限公司 | 一种跨链任务处理方法、装置、设备及可读存储介质 |
CN111861754A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
CN112598514A (zh) * | 2020-12-09 | 2021-04-02 | 杭州趣链科技有限公司 | 基于区块链的跨链交易管理方法、跨链平台及介质 |
WO2021164414A1 (zh) * | 2020-02-18 | 2021-08-26 | 江苏复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019211225A1 (en) * | 2018-05-01 | 2019-11-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN111798316B (zh) * | 2020-07-03 | 2023-11-28 | 杭州复杂美科技有限公司 | 平行链共识方法、设备和存储介质 |
CN113537991B (zh) * | 2021-09-16 | 2022-03-01 | 中国信息通信研究院 | 一种跨链交易有序执行方法和跨链系统 |
-
2021
- 2021-09-16 CN CN202111084581.8A patent/CN113537991B/zh active Active
-
2022
- 2022-06-06 WO PCT/CN2022/097229 patent/WO2023040363A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109035016A (zh) * | 2018-06-28 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种多链并发交易方法 |
CN109325762A (zh) * | 2018-08-30 | 2019-02-12 | 杭州复杂美科技有限公司 | 平行链跨链交易方法、设备和存储介质 |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
US20190287101A1 (en) * | 2018-12-28 | 2019-09-19 | Alibaba Group Holding Limited | Parallel execution of transactions in a blockchain network |
CN110428332A (zh) * | 2019-07-29 | 2019-11-08 | 杭州复杂美科技有限公司 | 一种平行链跨链交易方法、设备和存储介质 |
CN111046109A (zh) * | 2019-12-27 | 2020-04-21 | 深圳市网心科技有限公司 | 一种跨链任务处理方法、装置、设备及可读存储介质 |
WO2021164414A1 (zh) * | 2020-02-18 | 2021-08-26 | 江苏复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111861754A (zh) * | 2020-07-30 | 2020-10-30 | 杭州复杂美科技有限公司 | 交易打包方法、设备和存储介质 |
CN112598514A (zh) * | 2020-12-09 | 2021-04-02 | 杭州趣链科技有限公司 | 基于区块链的跨链交易管理方法、跨链平台及介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023040363A1 (zh) * | 2021-09-16 | 2023-03-23 | 中国信息通信研究院 | 跨链交易有序执行方法和跨链系统 |
CN114785853A (zh) * | 2022-03-31 | 2022-07-22 | 蚂蚁区块链科技(上海)有限公司 | 在区块链的系统中跨链通信的方法及装置 |
CN114785853B (zh) * | 2022-03-31 | 2024-04-19 | 蚂蚁区块链科技(上海)有限公司 | 在区块链的系统中跨链通信的方法、装置、存储介质及计算设备 |
CN114612103A (zh) * | 2022-05-10 | 2022-06-10 | 中国信息通信研究院 | 跨区块链交易的方法、装置、系统、介质及电子设备 |
CN117527832A (zh) * | 2024-01-03 | 2024-02-06 | 杭州趣链科技有限公司 | 一种区块链的交易排序方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113537991B (zh) | 2022-03-01 |
WO2023040363A1 (zh) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113537991B (zh) | 一种跨链交易有序执行方法和跨链系统 | |
CN107888562B (zh) | 一种平行链接入互联链的数据验证和收发方法、节点及系统 | |
US11251966B2 (en) | Sending cross-chain authenticatable messages | |
JP2019122739A (ja) | ブロックチェーンベースのゲーム難易度の調整のための分散型台帳装置及び分散型台帳方法 | |
CN113268776A (zh) | 基于区块链的模型联合训练方法及装置 | |
AU2017257449A1 (en) | Operating system for blockchain IOT devices | |
CN112887437B (zh) | 区块链交易处理方法、区块链节点和区块链系统 | |
US11445016B2 (en) | Methods and apparatuses for transmitting messages | |
US11625393B2 (en) | High performance computing system | |
US10742415B2 (en) | Method and apparatus for inter-blockchain transmission of authenticable message | |
EP3975473A1 (en) | Message transmission methods and apparatuses | |
US20200242604A1 (en) | Transaction selection device for selecting blockchain transactions | |
CN111711526B (zh) | 一种区块链节点的共识方法及系统 | |
CN110011930B (zh) | 一种区块链中多联盟链的负载均衡方法及装置 | |
CN113743944B (zh) | 跨链消息可靠传递方法、装置以及电子设备 | |
CN110599166A (zh) | 一种区块链内获取交易依赖关系的方法及装置 | |
CN114071582A (zh) | 面向云边协同物联网的服务链部署方法及装置 | |
CN110535697B (zh) | 一种均衡区块链跨域广播网络负载的方法 | |
US10313230B1 (en) | System and method for unmarshalled routing | |
CN113556238B (zh) | 区块验证方法 | |
CN109697217B (zh) | 一种区块链事务处理方法 | |
CN111008249A (zh) | 平行链区块同步方法、设备和存储介质 | |
WO2023174142A1 (zh) | 一种数据广播与共识解耦的异步区块链共识方法、系统、电子设备和存储介质 | |
CN113034137A (zh) | 基于区块链的数据处理方法、装置及相关设备 | |
CN112488683A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |