CN116827957A - 基于多区块链的信息处理方法、装置、设备以及介质 - Google Patents
基于多区块链的信息处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN116827957A CN116827957A CN202311101693.9A CN202311101693A CN116827957A CN 116827957 A CN116827957 A CN 116827957A CN 202311101693 A CN202311101693 A CN 202311101693A CN 116827957 A CN116827957 A CN 116827957A
- Authority
- CN
- China
- Prior art keywords
- information
- chain
- cross
- service
- block
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 29
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000012795 verification Methods 0.000 claims abstract description 193
- 238000000034 method Methods 0.000 claims abstract description 86
- 230000001360 synchronised effect Effects 0.000 claims description 103
- 238000012790 confirmation Methods 0.000 claims description 59
- 238000003860 storage Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 19
- 238000010200 validation analysis Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 abstract description 30
- 238000007726 management method Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 230000003993 interaction Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 238000013475 authorization Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于多区块链的信息处理方法、装置、设备以及介质,该方法包括:接收来源于N个业务接入链的N个跨链信息,从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息,通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果,若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。本申请可以提升跨链资源转移的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于多区块链的信息处理方法、装置、设备以及介质。
背景技术
目前,区块链(比如链A和链B)可以接入中继链,中继链用于实现链A与链B之间的资源跨链转移,此时会在中继链上为链A部署轻节点合约1,以及为链B部署轻节点合约2。中继节点设备通过轻节点合约1生成同步交易请求1,并发送给链A所关联的节点设备1,由节点设备1基于同步交易请求1生成验证交易1,中继节点设备通过该验证交易1调用轻节点合约1,对验证交易1中的区块数据信息进行验证以实现对链A的区块高度确认。同理,中继节点设备可以通过由链B所关联的节点设备2发送的验证交易2调用轻节点合约2,对验证交易2中的区块数据信息进行验证以实现对链B的区块高度确认。
然而,发明人在实践中发现,这使得中继链上会部署所有已接入的区块链(比如链A和链B)的轻节点合约,并且,均会以交易的形式调用在中继链上为各个区块链部署的轻节点合约分别进行各个区块链的区块高度确认。也就是说,当区块链的数量过多时,通过轻节点合约进行区块高度确认的方式会产生大量交易,执行一笔交易会占用一定耗时,由此会影响单个区块链的区块高度的确认效率,这样,在接收到来自某个区块链(比如链A)的跨链信息A时,会因为在中继链上对链A的区块高度确认不够及时,而可能导致跨链信息A无法及时确认,进而影响后续跨链操作,以至于降低跨链资源转移的效率。
发明内容
本申请实施例提供了一种基于多区块链的信息处理方法、装置、设备以及介质,可以提升跨链资源转移的效率。
一方面,本申请实施例提供了一种基于多区块链的信息处理方法,多区块链包括中继区块链和N个业务接入链;N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数;方法由与中继区块链相关联的中继节点设备执行;方法包括:
接收来源于N个业务接入链的N个跨链信息;一个跨链信息来源于一个业务接入链;
从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息;N个目标业务数据信息是通过中继节点设备上的N个数据同步组件,分别从N个业务接入链上所同步到的;一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息;一个目标业务数据信息是基于接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的;一个历史已确认数据信息包括历史已确认区块高度和历史已确认区块高度所对应的历史已确认区块的默克尔树根;历史已确认区块高度是由中继节点设备基于同步到的N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的;
通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果;
若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。
一方面,本申请实施例提供了一种基于多区块链的信息处理装置,多区块链包括中继区块链和N个业务接入链;N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数;装置运行在与中继区块链相关联的中继节点设备中;装置包括:
跨链信息接收模块,用于接收来源于N个业务接入链的N个跨链信息;一个跨链信息来源于一个业务接入链;
数据信息获取模块,用于从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息;N个目标业务数据信息是通过中继节点设备上的N个数据同步组件,分别从N个业务接入链上所同步到的;一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息;一个目标业务数据信息是基于接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的;一个历史已确认数据信息包括历史已确认区块高度和历史已确认区块高度所对应的历史已确认区块的默克尔树根;历史已确认区块高度是由中继节点设备基于同步到的N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的;
跨链信息校验模块,用于通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果;
跨链信息审核模块,用于若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例所涉及的多区块链包括中继区块链和N个业务接入链(比如业务接入链A和业务接入链B),N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数。应当理解,本申请实施例所涉及的中继节点设备可以用于接收来源于任一业务接入链的跨链信息,以参与跨链资源转移的过程(比如来源于业务接入链A的跨链信息用于指示将业务接入链A上的交易资源转移至业务接入链B)。中继节点设备可以从接入链注册合约中获取用于对接收到的跨链信息进行信息校验的目标业务数据信息,并通过该目标业务数据信息对N个跨链信息进行信息校验,得到信息校验结果,若信息校验结果指示信息校验成功,则执行后续跨链操作,比如对接收到的跨链信息进行信息审批。其中,目标业务数据信息是通过中继节点设备上的数据同步组件所同步到的,通过数据同步组件可以不用以交易的形式在轻节点合约中对同步到的数据信息进行信息验证,也就是说,无需为每个业务接入链部署一个轻节点合约,同时通过数据同步组件同步和验证业务接入链上的数据信息可以在链下进行,同步到的数据信息和验证过程不会记录在中继链上,由此可以节省中继链的链上空间和链上资源,并减少在中继链上所需要执行的交易数量,同时,在对N个业务接入链的区块高度进行确认时,是通过所有业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的,该历史合约共识交易包含针对所有业务接入链的待确认的信息,这样可以通过一个合并共识交易对N个业务接入链完成一次区块高度确认,无需通过中继链上为各个接入链部署的轻节点合约多次重复进行各个业务接入链的区块高度确认,这样可以提高在中继链上对业务接入链的区块高度确认效率,从而提高在中继链上对来源于业务接入链的跨链信息的确认效率,有助于提升跨链资源转移的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种数据交互的场景示意图;
图3是本申请实施例提供的一种区块链电子票据平台的场景示意图;
图4是本申请实施例提供的一种在区块链电子票据平台中的多链体系的场景示意图;
图5是本申请实施例提供的一种基于多区块链的信息处理方法的流程示意图一;
图6是本申请实施例提供的一种跨链信息的信息校验场景示意图;
图7是本申请实施例提供的一种分阶段执行跨链任务的场景示意图;
图8是本申请实施例提供的一种基于多区块链的信息处理方法的交互时序图;
图9是本申请实施例提供的一种基于多区块链的信息处理方法的流程示意图二;
图10是本申请实施例提供的一种目标合并共识交易的示意图;
图11是本申请实施例提供的一种区块高度确认的示意图一;
图12是本申请实施例提供的一种区块高度确认的示意图二;
图13是本申请实施例提供的一种基于多区块链的信息处理装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
1、区块链:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链中包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中的区块链节点所打包提交的记录数据。
2、分层区块链:该分层区块链是指将上述区块链应用在相应产业架构下所进一步提出的方案,即该方案指出可以将整个区块链网络划分为共识网络和见证网络,进而可以通过划分得到的共识网络中的节点设备(比如,共识节点设备)和见证网络中的节点设备(比如,业务节点设备)来分别执行相应的业务。
其中,可以理解的是,部署在共识网络中的共识节点设备(即共识节点)上运行有核心共识算法,通过该核心共识算法可以对在该共识网络中所打包得到的某个区块进行区块共识,进而可以在区块共识成功的情况下,将该打包得到的区块上链至由该共识网络中的这些共识节点设备所维护的区块链。
其中,部署在见证网络中的节点设备(即业务节点设备)可以参与进行数据的清分同步,并在该业务节点设备或者轻量节点(Simplified Payment Verification,简称SPV)的基础上完成相关具体业务,比如,这里的具体业务可以包括但不限于交易清分业务。
换言之,在本申请实施例所涉及的分层区块链架构下,共识节点设备在接收到某个轻量节点(也可以称之为业务节点设备)发送的交易同步请求之后,该共识节点设备可以将该轻量节点有权限读取的交易同步下发至该轻量节点,换言之,对于轻量节点而言,可以从共识网络的共识节点设备上同步到与自己相关的交易数据,而不会同步到与自己无关的交易数据,即这样可以确保链上数据存储的安全性。
其中,应当理解,本申请所涉及的区块链系统具体可以为基于多区块链的信息处理系统。这里的多区块链具体可以为基于分层区块链网络所演变得到的多链架构下的多条区块链,这里的多条区块链具体可以包括中继区块链和N个接入中继区块链的业务接入链,N为大于1的正整数。应当理解,本申请实施例所涉及的用于进行跨链信息检验的中继区块链可以部署在N个业务接入链中的任两个业务接入链(比如第一业务接入链和第二业务接入链)之间,以实现N个业务接入链中任两个业务接入链(比如第一业务接入链和第二业务接入链)之间的跨链资源转移,即不同业务接入链之间的资产可以互相转移。
其中,N个业务接入链为在多链架构下与跨链任务相关联的核心主链,这里的多链架构是在多种业务的复合环境下,由上述分层区块链所扩展得到的网络架构,此时,该多链架构具体可以包括两个及两个以上的用于处理不同业务的核心主链。其中,可以理解的是,这里的中继区块链为独立于N个业务接入链的区块链,此时,该中继区块链具体可以用于对与该跨链任务相关联的跨链信息进行信息校验。这里的N个业务接入链的区块链类型可以相同也可以不同,比如,在N个业务接入链(比如第一业务接入链和第二业务接入链)具有相同区块链类型时,可以将第一业务接入链和第二业务接入链称之为同构链,即此时,这两条业务接入链所采用的核心共识算法可以相同。可选地,在第一业务接入链和第二业务接入链具有不同区块链类型时,可以将第一业务接入链和第二业务接入链称之为异构链,即此时,这两条业务接入链所采用的核心共识算法互不相同。
此外,为便于理解,在跨链任务用于指示将第一业务接入链上的交易资源转移至第二业务接入链时,可以将与跨链任务相关联的第一业务接入链称之为原链,并将与该跨链任务相关联的第二业务接入链称之为目标链,以及将在原链与目标链之间所部署的中继区块链称之为中继链,此时中继区块链会接入来源于第一业务接入链的跨链信息(又可称为跨链事件信息)。可选地,在跨链任务用于指示将第二业务接入链上的交易资源转移至第一业务接入链时,可以将与跨链任务相关联的第二业务接入链称之为原链,并将与该跨链任务相关联的第一业务接入链称之为目标链,此时中继区块链会接入来源于第二业务接入链的跨链信息。可以通过部署在原链与目标链之间的中继区块链(即中继链)进行相应跨链信息的信息检验。
3、合并共识:一种将花在保护一条区块链上的工作量复用、同时保护另一条区块链的技术。例如,对于主链B以及次级链S,可以将次级链S所关联的提议区块S的共识信息打包进主链B的提议区块B的第一个业务交易中,此时可以将包含提议区块S的共识信息的业务交易叫做合并共识交易,这样在主链的提议区块B的共识过程中,主链所关联的各个共识节点除了对于提议区块B中的主链交易和区块头信息进行验证外,还要对合并共识交易中的信息进行验证,在提议区块B达成区块共识时,表示提议区块S被主链确认,此时次级链网络中的节点设备可以将提议区块S上链至次级链S。即实现主链上的区块和次级链上的区块的合并共识,且由主链网络中的节点设备执行。本申请技术方案在于采用合并共识思想实现N个业务接入链的区块高度的合并确认,即此时,中继区块链作为主链,N个业务接入链作为次级链,由中继节点设备在对自己的提议区块进行区块共识时,实现N个业务接入链的区块高度确认。
4、跨链任务:一种由某个业务对象(如业务对象A)通过业务终端向原链所提交的请求跨链转移资源的目标任务,该目标任务旨在请求该区块链系统中的相关节点设备可以分阶段执行该跨链任务,进而可以将该业务对象A在原链上的某个资源类型的数据资源,跨链转移到目标链上,即跨链任务可用于指示将业务对象A在原链上的交易资源,跨链转移至目标链上的业务对象B。例如,在第一业务接入链上的业务对象被称为第一业务对象,在第二业务接入链上的业务对象被称为第二业务对象,当由第一业务对象发起的第一跨链任务指示将第一业务对象在第一业务接入链上的第一交易资源,跨链转移至第二业务接入链上的第二业务对象时,也就是将第一业务对象在第一业务接入链上的第一交易资源,跨链转移到第二业务接入链上。也就是,在第一业务接入链上锁定第一业务对象的第一交易资源,并在第二业务接入链上铸造与第一交易资源相对应的第一交易映射资源,并释放给第二业务对象。
其中,在该区块链系统中,参与分阶段执行该跨链任务的相关节点设备可以包括但不限于:原链上的节点设备(例如,第一业务接入链上的第一节点设备)、中继链上的节点设备(例如,中继区块链上的中继节点设备)、以及目标链上的节点设备(例如,第二业务接入链上的第二节点设备)。
为便于理解,本申请实施例可以将由某个业务对象(即任务发起对象)针对某个资源类型的数据资源所提交的目标任务统称为跨链任务,并可以将提交该目标任务的任务发起对象统称为第一业务对象,还可以在跨链执行该跨链任务过程中,将能够接收该资源类型的数据资源的业务对象统称为第二业务对象。与此同时,本申请实施例可以将第一业务对象所持有的用于提交跨链任务的业务终端称之为第一业务终端,并可以将第二业务对象所持有的能够从目标链上提取特定资源类型的数据资源的业务终端称之为第二业务终端。应当理解,这里的第一业务对象和第二业务对象可以为同一对象,也可以为不同对象,这里将不对其进行限定。
其中,这里的资源类型可以包括但不限于:票据资产类型的数据资源(比如,电子票据、交易凭证等)、账户资产类型的数据资源(比如,游戏币、游戏积分等)、信息共享类型的数据资源(比如,核心票据信息、共享账号信息、共享图书信息、共享位置数据信息等)。
为便于理解,本申请实施例所涉及的第一业务对象在通过第一业务终端向原链(例如,第一业务接入链)提交跨链任务时,可以以交易的形式进行提交。具体的,该第一业务对象可以在第一业务终端侧对该跨链任务的任务详情信息进行交易组装,以将该跨链任务打包至某笔待提交的交易(例如,跨链交易,即跨链任务交易),进而可以以交易的形式向原链(例如,第一业务接入链)提交该组装得到的跨链交易。
应当理解,在本申请实施例中,第一业务终端可以在向原链上的节点设备(例如,第一业务接入链上的第一节点设备)发送该跨链交易(例如,Tx)时,可以将针对该跨链交易(例如,Tx)的交易签名信息一并发送给第一节点设备。这样,第一节点设备在通过相应的跨链事务提交入口(也可以称之为第一业务接入链上的跨链业务接口)接收到该跨链交易(例如,Tx)时,可以通过该交易签名信息对该跨链交易(例如,Tx)进行签名验证,且在签名验证通过后,将该跨链交易(例如,Tx)作为合法交易添加至交易池,以便于后续可以在交易池中将包含该跨链交易(例如,Tx)的多个交易打包至目标区块,以将打包得到的目标区块上链至该第一节点设备所维护的第一业务接入链。
应当理解,这里的交易签名信息是由该第一业务对象通过对象私钥列表中的相应私钥信息对该跨链交易(例如,Tx)进行交易签名之后所得到的。应当理解,在原链为第一业务接入链时,该第一业务对象可以通过自己在第一业务接入链上的账号地址所关联的私钥信息(比如,在该私钥关系列表中所获取到的与第一业务接入链相关联的第一私钥信息)对跨链交易(例如,Tx)进行交易签名,以得到针对该跨链交易(例如,Tx)的交易签名信息。
可选地,在原链为第二业务接入链时,该第一业务对象可以通过自己在第二业务接入链上的账号地址所关联的私钥信息(比如,与第二业务接入链相关联的第二私钥信息)对跨链交易(例如,Tx)进行交易签名,以将该跨链交易(例如,Tx)和该跨链交易(例如,Tx)的交易签名信息一并提交给第二业务接入链上的第二节点设备。
以此类推,本申请实施例还可以在原链为上述多链架构下的其他核心主链(例如,第三业务接入链)时,通过该第一业务对象在其他核心主链(例如,第三业务接入链)的账号地址所关联的私钥信息(比如,与第三业务接入链相关联的第三私钥信息)对跨链交易(例如,Tx)进行交易签名,以将该跨链交易(例如,Tx)和该跨链交易(例如,Tx)的交易签名信息一并提交给第三业务接入链上的第三节点设备。
应当理解,在本申请实施例中,为确保在上述第一业务终端中所存储的对象私钥列表中的相应私钥信息(第一私钥信息、第二私钥信息以及第三私钥信息等)的安全性,本申请实施例提出可以将与该第一业务对象相关联的对象私钥列表中的这些私钥信息存储在该第一业务终端的可信执行环境中,以通过在该可信执行环境中的硬件密钥(例如,具体可以是该硬件密钥中的硬件私钥)对存储在该可信执行环境中的这些私钥信息进行加密存储,以便于后续该第一业务对象在针对不同区块链提交跨链任务时,可以调用存储在该可信执行环境中的与不同区块链相关联的私钥信息,来对该跨链任务所对应的跨链交易进行交易签名。
其中,需要进行说明的是,本申请实施例在获取某个业务对象(例如,第一业务对象)任务详情信息、交易签名信息、对象注册数据信息(例如,对象授权凭证)、以及该业务对象(例如,第一业务对象)在可信执行环境中所存储的私钥信息的私钥访问信息、以及提交与跨链任务相关联的跨链交易等数据时,可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示用户当前正在搜集任务详情信息、交易签名信息、对象注册数据信息、私钥访问信息以及跨链交易等数据,仅仅在获取到用户对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。
本申请实施例所采集或者获取到的所有数据(如任务详情信息、交易签名信息、对象注册数据信息、私钥访问信息以及跨链交易等)都是在相应业务对象(如前述第一业务对象)同意并授权的情况下进行采集或者获取的。也就是说,当本申请的实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准。
进一步的,请参见图1,图1是本申请实施例提供的一种系统架构示意图。该系统架构适用于本申请所涉及的基于多区块链的信息处理系统。如图1所示,该系统架构可以包括共识网络100a、共识网络100b、共识网络200a、业务终端集群300a以及服务终端110a。
应当理解,在如图1所示的共识网络100a中,部署有多个共识节点设备(也可以称之为多个共识节点),这里的多个共识节点具体可以包含图1所示的共识节点10a、共识节点10b、共识节点10c和共识节点10d。需要注意的是,这里将不对部署在该共识网络100a中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络100a中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链10e。
可以理解的是,如图1所示的区块链10e可以为上述与跨链任务相关联的原链,为便于理解,这里以该原链为上述N个业务接入链中的第一业务接入链为例,此时,本申请实施例可以将该共识网络100a确定为该第一业务接入链对应的第一共识网络,进而可以将从该第一共识网络中所确定的用于与该业务终端集群300a进行数据交互的共识节点(例如,图1所示的共识节点10d)称之为第一节点设备,并可以将该第一共识网络中除第一节点设备之外的剩余共识节点统称为第一共识节点。
同理,在如图1所示的共识网络100b中,部署有多个共识节点设备(也可以称之为多个共识节点),这里的多个共识节点具体可以包含图1所示的共识节点12a、共识节点12b、共识节点12c和共识节点12d。需要注意的是,这里将不对部署在该共识网络100b中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络100b中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链12e。
可以理解的是,如图1所示的区块链12e可以为上述与跨链任务相关联的目标链,当该目标链为上述N个业务接入链中的第二业务接入链时,可以将该共识网络100b确定为该第二业务接入链对应的第二共识网络,进而可以将从该第二共识网络中所确定的用于与该服务终端110a进行数据交互的共识节点(例如,图1所示的共识节点12a)称之为第二节点设备,并可以将该第二共识网络中除第二节点设备之外的剩余共识节点统称为第二共识节点。
以此类推, 在如图1所示的共识网络200a中,部署有多个共识节点设备(也可以称之为多个共识节点),这里的多个共识节点具体可以包含图1所示的共识节点11a、共识节点11b、共识节点11c和共识节点11d。需要注意的是,这里将不对部署在该共识网络200a中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络200a中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链11e。
可以理解的是,如图1所示的区块链11e可以为上述与跨链任务相关联的中继链,当该中继链为部署在第一业务接入链和第二业务接入链之间的中继区块链时,可以将该共识网络200a确定为该中继区块链对应的中继共识网络,进而可以将从该中继共识网络中所确定的用于与该服务终端110a进行数据交互的共识节点(例如,图1所示的共识节点11b)称之为中继节点设备,并可以将该中继共识网络中除中继节点设备之外的剩余共识节点统称为中继共识节点。
其中,如图1所示的业务终端集群300a可以包括一个或者多个业务终端,这里的将不对该业务终端集群300a中的业务终端的数量进行限定。如图1所示,业务终端集群300a中的多个业务终端可以包含业务终端120a、…、业务终端120n。为便于理解,本申请实施例可以将从业务终端120a、…、业务终端120n中所选取的某业务终端称之为第一业务终端,比如,这里的第一业务终端可以为图1所示的业务终端120a,此时,该第一业务终端可以与图1所示的共识网络100a中的节点设备(即上述第一节点设备)进行网络连接,以便于可以通过该网络连接与上述第一节点设备进行数据交互,以实现针对当前某个跨链任务的提交。
其中,需要说明的是,本申请实施例所涉及的与上述基于多区块链的信息处理系统相关联的整个区块链网络可以包含但不限于上述共识网络100a、共识网络100b以及共识网络200a,这里将不对该区块链网络的具体结构进行限定。比如,当N个业务接入链包括第三业务接入链时,区块链网络还可以包括共识网络100c(具体描述同共识网络100a的相关描述),共识网络100c中的共识节点为第三节点设备,第三节点设备用于维护第三业务接入链。随着业务接入链的数量增加,区块链网络中的共识网络也会增加,一个业务接入链对应一个共识网络。
其中,可以理解的是,在本申请实施例中,部署在业务终端集群300a中的业务终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备(例如智能手表、智能手环)、智能家居、头戴设备、智能车载等智能终端。
其中,在本申请实施例中,服务终端110a可以与上述共识网络100a、共识网络100b以及共识网络200a中的节点设备进行数据交互。比如,服务终端110a可以用于向中继链转发来自于原链的与跨链任务相关联的跨链信息,还可以用于向目标链转发来自于中继链的跨链确认信息。应当理解,在本申请实施例中,用于进行信息转发的服务终端110a可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
为便于理解,进一步的,请参见图2,图2是本申请实施例提供的一种数据交互的场景示意图。N个业务接入链均为核心主链。其中,应当理解,这里的核心主链可以为上述多链架构所对应的多链体系下的任意一条区块链。这里的多链架构可以用于为应用于任意业务场景下的多业务协作处理平台。比如,在业务场景为区块链电子票据场景时,这里的多业务协作处理平台具体可以为基于多区块链的区块链电子票据平台。又比如,在业务场景为跨链转账场景时,这里的多业务协作处理平台具体可以为基于多区块链的账户资产流转平台。又比如,在业务场景为信息共享场景时,这里的多业务协作处理平台具体可以为基于多区块链的共享信息流转平台;这里将不对具体业务场景进行限定。
比如,在该区块链电子票据平台中,为降低在链上数据存储的混杂度,提出可以通过管理链、票据链和应用合约链(可选地,还可以包括应用合约链的子链)之间的相互协作,为整个区块链电子票据平台提供独立执行不同业务的功能特性,从而可以在多链相互协作的前提下,构造一个安全且高效的多链体系。为便于理解,在该多链体系下,管理链、票据链和应用合约链(可选地,还可以包括应用合约链的子链)均是独立搭建的,即用于维护该管理链的共识节点不同于用于维护该票据链的共识节点,且不同于用于维护该应用合约链的共识节点(可选地,用于维护该管理链的共识节点还不同于用于维护该应用合约链的子链的共识节点)。比如,管理链上的节点设备可以用于执行管理业务(例如,注册业务和授权业务等)。又比如,票据链上的节点设备可以用于执行与电子票据相关联的票据业务(例如,电子票据开具业务等)。又比如,应用合约链可以用于执行与电子票据相关联的衍生业务(例如,企业资质识别业务等)。又比如,应用合约链的子链可以用于执行与电子票据相关联的专用衍生业务。
为便于理解,本申请实施例以N个业务接入链包括第一业务接入链和第二业务接入链为例,如第一业务接入链为票据链,第二业务接入链为应用合约链,以阐述本申请技术方案所涉及的跨链信息的校验过程。其中,如图2所示,该第一业务接入链(即票据链)所对应的区块链网络可以为图2所示的第一共识网络,该第一共识网络可以为上述图1所对应实施例中的共识网络100b;同理,该第二业务接入链(即应用合约链)所对应的区块链网络可以为图2所示的第二共识网络,该第二共识网络可以为上述图1所对应实施例中的共识网络100b。
应当理解,当第一业务接入链(即票据链)上的第一节点设备(例如,图2所示的共识节点10d)调用电子票据业务合约,为用户U1(即第一业务对象)开具了一张或者多张电子票据之后,可以将为该用户U1所开具的一张或者多张电子票据的票据标识信息反馈给该用户U1。这样,对于图2所示用户U1而言,可以进一步向第一节点设备提交用于将某张电子票据由第一业务接入链转移至第二业务接入链的目标任务(如跨链任务X1)。这里的票据标识信息用于唯一区分该第一节点设备(例如,图2所示的共识节点10d)为该用户U1所开具的各个电子票据。
比如,该用户U1(即第一业务对象)可以从接收到的这些电子票据的票据标识信息中,确定出用于进行跨链转移的目标电子票据(例如,电子票据P)的票据标识信息(即目标票据标识信息),从而可以通过该目标票据标识信息在该业务终端20a侧创建用于请求将该目标电子票据(例如,电子票据P,即第一交易资源)由第一业务接入链跨链转移到第二业务接入链(即应用合约链)的跨链任务X1,从而可以以交易的形式向图2所示的第一节点设备发送携带该跨链任务X1的第一跨链交易。
进一步的,如图2所示,该第一节点设备在从该第一跨链交易中获取到该跨链任务X1之后,可以将第一交易资源(即上述电子票据P)锁定之后,生成与该跨链任务X1相关联的跨链信息1(即第一跨链信息),进而可以执行图2所示的步骤S11,以将与该跨链任务X1相关联的跨链信息1(即第一跨链事件信息)发送给图2所示的跨链服务设备20b。这里的跨链服务设备20b可以为上述图1所示的服务终端110a。
此外,可以理解的是,由于本申请实施例提出可以在原链(例如,第一业务接入链)和目标链(例如,第二业务接入链)之间部署中继链(即中继区块链),进而可以通过该中继区块链来对来源于某个原链(比如,第一业务接入链)的所有跨链信息进行信息校验。同理,可以理解的是,本申请实施例可以通过该中继区块链来对来源于其他原链(比如,第二业务接入链)的所有跨链信息进行信息校验。这意味着,本申请实施例可以通过该中继区块链来对来源于不同原链(比如,第一业务接入链或者第二业务接入链)的所有跨链信息进行信息校验。
进一步的,如图2所示,该跨链服务设备20b可以进一步执行步骤S12,以将与该跨链任务X1相关联的跨链信息1(即第一跨链信息)转发给图2所示的中继共识网络,以通过该中继共识网络中的某个节点设备(例如,图2所示的中继节点设备,比如,共识节点11c)可以执行图2所示的步骤S13-S15。可以理解,此时的第一跨链信息来源于第一业务接入链。
可选地,当第二业务接入链(即应用合约链)上的第二节点设备(例如,图2所示的共识节点12d)调用税务应用合约,为用户U3(即业务对象A)对进行电子票据的退税业务之后,可以将为该用户U3所提供的一张或者多张电子票据的票据退税信息反馈给该用户U4(即业务对象B)。这样,对于图2所示用户U3而言,可以进一步向第二节点设备提交用于将某张电子票据的票据退税信息由第二业务接入链转移至第一业务接入链的目标任务(如跨链任务X2)。这里的票据退税信息用于唯一区分该第一节点设备(例如,图2所示的共识节点10d)为该用户U3所提供的各个电子票据的退税结果。
比如,该用户U3可以从接收到的这些电子票据的票据标识信息中,确定出用于进行跨链转移的目标电子票据(例如,电子票据P)的票据退税信息(即目标票据退税信息),从而可以通过该目标票据退税信息在该用户U3的业务终端侧创建用于请求将该目标票据退税信息(例如,票据退税信息P,即第二交易资源)由第二业务接入链跨链转移到第一业务接入链(即票据链)的跨链任务X2,从而可以以交易的形式向图2所示的第二节点设备发送携带该跨链任务X2的第二跨链交易。
进一步的,如图2所示,该第二节点设备在从该第二跨链交易中获取到该跨链任务X2之后,可以将第二交易资源(即上述票据退税信息P)锁定之后,生成与该跨链任务X2相关联的跨链信息2(即第二跨链信息),进而可以执行图2所示的步骤S21,以将与该跨链任务X2相关联的跨链信息2(即第二跨链事件信息)发送给图2所示的跨链服务设备20b。
进一步的,如图2所示,该跨链服务设备20b可以进一步执行步骤S22,以将与该跨链任务X2相关联的跨链信息2(即第二跨链信息)转发给图2所示的中继共识网络,以通过该中继共识网络中的某个节点设备(例如,图2所示的中继节点设备,比如,共识节点11c)可以执行图2所示的步骤S23-S25。可以理解,此时的第二跨链信息来源于第二业务接入链。
具体的,中继节点设备可以从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息。比如,中继节点设备在执行步骤S13的过程中,可以从接入链注册合约中获取用于对跨链信息1(第一跨链信息)进行信息校验的目标业务数据信息1(第一目标业务数据信息)。又如,中继节点设备在执行步骤S23的过程中,可以从接入链注册合约中获取用于对跨链信息2(第二跨链信息)进行信息校验的目标业务数据信息2(第二目标业务数据信息)。
其中,目标业务数据信息通过数据同步组件从业务接入链上同步得到。一个业务接入链对应一个数据同步组件。此处以N个业务接入链包括第一业务接入链和第二业务接入链为例,第一业务接入链对应第一数据同步组件,第一数据同步组件用于同步得到目标业务数据信息1。第二业务接入链对应第二数据同步组件,第二数据同步组件用于同步得到目标业务数据信息2。可以理解,当N个业务接入链包括第三业务接入链时,中继节点设备中会部署第三业务接入链对应的第三数据同步组件,在接收到来源于第三业务接入链的跨链信息3时,处理过程与对跨链信息1、2的处理过程相同。
具体的,中继节点设备可以通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果。比如,中继节点设备在执行步骤S14的过程中,可以通过目标业务数据信息1中的历史已确认区块高度和历史已确认区块的默克尔树根,对跨链信息1进行信息校验,得到信息校验结果1。又如,中继节点设备在执行步骤S24的过程中,可以通过目标业务数据信息2中的历史已确认区块高度和历史已确认区块的默克尔树根,对跨链信息2进行信息校验,得到信息校验结果2。
具体的,中继节点设备可以若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。比如,中继节点设备在执行步骤S15的过程中,若信息校验结果1指示信息校验成功,则对跨链信息1进行信息审批。又如,中继节点设备在执行步骤S25的过程中,若信息校验结果2指示信息校验成功,则对跨链信息2进行信息审批。
其中,中继节点设备可以调用跨链审批合对N个跨链信息进行信息审批,得到信息审批结果。进一步的,该中继节点设备可以在基于该第一跨链信息(或第二跨链信息)对应的信息审批结果确定该跨链任务X1(或跨链任务X2)为合法任务的情况下,生成该合法任务对应的第一审批通过交易,进而可以在将该第一审批通过交易上链至中继区块链(比如,图2所示的区块链11e)时,生成与该跨链任务X1(或跨链任务X2)相关联的第一跨链确认信息,即第一跨链确认事件信息(或第二跨链确认信息,即第二跨链确认事件信息)。
进一步的,如图2所示,该中继节点设备可以将与该跨链任务X1(或跨链任务X2)相关联的第一跨链确认信息(或第二跨链确认信息)发送给跨链服务设备20b,以使该跨链服务设备20b可以将与该跨链任务X1(或跨链任务X2)相关联的第一跨链确认信息(或第二跨链确认信息)转发给第二共识网络中的第二节点设备(或第一共识网络中的第一节点设备)。
可以理解,第二节点设备(或第一节点设备)可以在对该第一跨链确认信息(或第二跨链确认信息)进行信息验证之后,将锁定的第一交易资源(或第二交易资源)释放给用户U2(或用户U4)。具体的,第二节点设备(或第一节点设备)可以在该第二业务接入链(或第一业务接入链)上生成与锁定的第一交易资源(或第二交易资源)具有相同交易资源内容的第一交易映射资源(或第二交易映射资源),即与电子票据P具有相同数据内容的电子票据P’(与票据退税信息P具有相同数据内容的票据退税信息P’),进而可以将所生成的第一交易映射资源(或第二交易映射资源)进行释放。在这样,对于用户U2(或用户U4)而言,可以通过另一业务终端从第二业务接入链(或第一业务接入链)上提取到第一交易映射资源(或第二交易映射资源),从而可以通过上述分阶段执行跨链任务的各个过程,来安全且可靠地实现将该用户U1(或用户U3)在第一业务接入链(或第二业务接入链)上的第一交易资源(或第二交易资源)跨链转移至第二业务接入链(第二业务接入链)上的用户U2(或用户U4)的现象。换言之,本申请实施例可以在通过第一业务接入链、中继区块链以及第二业务接入链中的节点设备来分阶段执行该跨链任务X1(或跨链任务X2),可以在跨链转移电子票据(或票据退税信息)的过程中,通过基于合并共识的跨链信息校验的方式,来提升跨链资产流动的效率。
可选地,用户U2在获取到该电子票据P’之后,可以通过另一业务终端(如用户U2对应的第二业务终端)向图2所示的第二节点设备发送用于进一步执行与该电子票据(例如,电子票据P’)相关联的衍生业务的衍生业务执行请求,比如,这里的衍生业务具体可以为对开具该的电子票据P’的开票企业的企业资质进行识别的企业资质识别服务。
具体的,第二节点设备可以在接收到用户U2通过第二业务终端发送的衍生业务执行请求之后,可以基于衍生业务执行请求中所携带的由管理链颁发的对象授权凭证,生成该衍生业务执行请求对应的授权获取请求,进而可以将该授权获取请求转发给上述管理链,以使管理链上的节点设备可以基于该授权获取请求(比如,该授权获取请求中所携带的用户U2的对象授权凭证),授权该第二节点设备从管理链上获取在第一业务接入链上开具的目标电子票据(例如,电子票据P)中的核心票据信息,此时,第二节点设备可以将该衍生业务执行请求中所携带的电子票据P’的核心票据信息与当前授权获取到的电子票据P中的核心票据信息进行信息比对,进而可以在两者信息比对一致的情况下,进一步基于该电子票据P’的核心票据信息中的开票企业信息,识别开具该的电子票据P的开票企业的企业资质,从而可以基于识别的企业资质动态调整该开票企业的开票权限。比如,当累计到该开票企业的开票总额度或者开票总数量达到开票阈值时,通过该第二业务接入链(即应用合约链)上的衍生业务合约,冻结该开票企业的开票权限。
可选地,在一个或者多个可实现方式中,当上述业务场景为上述信息共享场景时,该第一交易资源还可以为上述需要在管理链(即第一业务接入链)和应用合约链(即第二业务接入链)之间跨链转移(跨链共享)的电子票据P中的核心票据信息,即此时该电子票据P中的核心票据信息可以视为在该信息共享场景下的信息共享类型的数据资源,此时,跨链任务X1可以为用户U1所请求的将自己在第一业务接入链(例如,管理链)上的该信息共享类型的数据资源(例如,上述电子票据P中的核心票据信息)由第一业务接入链跨链转移至第二业务接入链(例如,应用合约链);此时,将该信息共享类型的数据资源(例如,上述电子票据P中的核心票据信息)由第一业务接入链跨链转移至第二业务接入链的具体过程,可以参见上述图2所对应实施例中的相关描述,这里将不再继续进行赘述。
以此类推,上述第一交易资源还可以为在业务场景为跨链转账场景下的某种资产类型的数据资源(例如,10美元),应当理解,此时,跨链任务X1可以为用户U1所请求的将自己在第一业务接入链上的该资产类型的数据资源(例如,10美元)由第一业务接入链跨链转移至第二业务接入链,此时,将该资产类型的数据资源(例如,10美元)由第一业务接入链跨链转移至第二业务接入链的具体过程,可以参见上述图2所对应实施例中的相关描述,这里将不再继续进行赘述。
可以理解,当接入中继区块链的业务接入链有N个时,每个业务接入链均可通过对应的节点设备发送跨链信息,不同业务接入链对应的节点设备发送的跨链信息的时间可以不同,当接收到任意业务接入链对应的节点设备发送的一个跨链信息时,均按照上述图2所对应实施例中的相关描述所指示的具体过程执行,由此实现N个业务接入链中任两个业务接入链之间的跨链资源转移。
其中,如图3所示,图3是本申请实施例提供的一种区块链电子票据平台的场景示意图。如图3所示,本申请技术方案所涉及的区块链网络可以用于区块链电子票据平台。比如在区块链电子票据流转场景下,该区块链电子票据平台是由业务层、路由代理层以及核心共识网络层组成,其中,业务层所对应的网络为业务网络(即上述见证网络),核心共识网络层所对应的网络为核心共识网络(即上述共识网络),路由代理层所对应的网络为用于隔离业务网络和共识网络的路由网络,这里的路由代理层和核心共识网络层用于构成图3所示的税务专网。
可以理解的是,当本申请实施例所涉及的区块链被用于政务机构(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,可以采用本申请实施例中的“业务网络—核心共识网络” (即前述分层链网络)这一分层区块链结构,以适配相关产业区块链网络布局的具体要求(如内外网,业务网、办公网分隔等),同时可以保证核心共识算法的高效执行。
可以理解的是,当区块链被用于政务机构(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,可以采用本申请实施例中的“业务网络—核心共识网络” (即前述分层链网络)这一分层区块链结构,以适配相关产业区块链产线现实网络布局的具体要求(如内外网,业务网、办公网分隔等),同时可以保证核心共识算法的高效执行。
其中,如图3所示,业务层处于上述见证网络(即业务网络)中,该业务层中的业务节点可以包括电子税局对应的税局设备、企业用户对应的企业终端以及消费用户对应的消费者终端。其中,电子税局可以是指税局专网中的地方税局,企业用户可以为公有云中的开票方终端所对应的开票服务商、报销方终端所对应的报销服务商或者专用终端所对应的零售企业(例如,KA企业,即大型零售客户和重点零售客户等企业)等,消费者用户可以为私有云中的支付服务端所对应的支付服务商、流转服务端所对应的流转服务商或者专用终端所对应的零售企业等。其中,流转服务端可以用于临时为消费者用户保存待流转的某张电子票据。
其中,如图3所示,路由代理层中的任意一个路由节点均可以用于对业务层和核心共识网络层进行网络隔离。其中,每个路由节点可以具有点对点服务(即Peer To Peer服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在点对点网络中的服务,基于一类特定的网络协议,点对点网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点具有的基本功能,可以用于节点之间的通信。与证书缓存相关联的证书,可以指公钥证书体系(Public Key Infrastructure,PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(Certificate Authority,CA)。认证服务可以用于验证接收到的数据的数据格式、节点合法性等。可以理解的是,在本申请实施例中,路由节点可以将业务层中的某个业务节点针对上述电子票据P所提交的票据开具请求转发至共识节点。
其中,可以理解的是,在该区块链电子票据平台中包括多条区块链,这里的多条区块链具体可以包括图3所示的核心链1、核心链2、…以及核心链N。可以理解的是,这里的核心链1、核心链2、…以及核心链N分别为不同区域的税局(例如,不同区域的地方税局)所维护的区块链。在该区块链电子票据平台中,每条核心链所对应的核心共识网络具体可以为上述多链架构下的区块链,也就是说,该多条核心链均可作为中继链所关联的业务接入链,任两个核心链之间的资源跨链转移通过中继区块链实现。如图3所示,在该核心共识网络中的每个共识节点上均部署有权限合约,这里的权限合约存储了关于电子票据的整个生命周期的流转逻辑,比如电子票据的票据状态、流转流程、数据的访问权限、电子票据申领条件、电子票据开具条件等等。此外,如图3所示,共识节点不仅可以用于提供数据缓存服务的高速缓存(也可以称之为缓存),还可以用于存储通过区块打包服务所打包得到的区块,这些功能可以为后续验证与跨链任务相关联的跨链信息的正确性提供支持。可以理解的是,本方案可以实现不同区块链(例如,核心链1与核心链2)之间的跨链转移。比如,核心链1可以用于记录属于某个票据号段区间的电子票据相关的交易信息,核心链2可以用于记录冲红的电子票据相关的交易信息。在需要记录电子票据相关的数据时,可根据业务节点设备的权限,来确定要记录至的区块链,然后由维护该区块链的共识网络中的共识节点设备来记录。
为便于理解,进一步的,请参见图4,图4是本申请实施例提供的一种在区块链电子票据平台中的多链体系的场景示意图。如图4所示,该多链体系中部署有管理链、票据链、应用合约链和应用合约链对应的子链。前述多条区块链具体可以为上述多链架构下的区块链,也就是说,该管理链、票据链、应用合约链和应用合约链对应的子链均可作为业务接入链,任两个区块链之间的资源跨链转移可通过中继区块链实现。应当理解,这里的管理链独立于票据链、应用合约链,和子链,即这多条独立搭建的区块链之间是彼此相互独立的,但是这多条独立搭建的区块链之间可以通过跨链的方式进行数据交互,即这多链之间可以进行跨链交互。
比如,如图4所示的管理链上部署有全局管理信息合约和税务元数据管理合约。其中,全局管理信息合约可用于跨链读取其他区块链上的数据信息,税务元数据管理合约可用于对上述区块链电子票据平台中的相关元数据信息进行数据管理,比如,可以管理更新管理链上的合约模板。个人用户或企业用户(公共网络参与方)可以通过管理链网络入口接入管理链网络中的节点设备。政务部门内部参与方可以通过管理链全量SPV节点从管理链上同步相关数据信息(比如全量区块链账本)至税务管理部门。
比如,如图4所示的票据链上部署有全局信息跨链合约、电子票据清分合约、电子票据SPV权限合约、电子票据业务合约。其中,全局信息跨链合约可用于跨链读取其他区块链上的数据信息。电子票据清分合约可用于执行交易清分业务。电子票据SPV权限合约可用于存储票据链的数据清分权限。电子票据业务合约可用于执行与电子票据相关的业务,比如电子票据开具业务等。可以构建票据链相关联的局部共识子链(比如局部共识子链1、局部共识子链2),该局部共识子链(比如局部共识子链1、局部共识子链2)所关联的局部票据SPV节点(比如局部票据链SPV节点1、局部票据链SPV节点2)可以通过票据链网络入口清分到与局部共识子链相关联的数据信息。政务部门内部参与方可以通过票据链全量SPV节点从票据链上同步相关数据信息至电子票据数据中心。
比如,如图4所示的应用合约链上部署有全局信息跨链合约、应用链SPV权限合约、税务应用合约、通用数据清分合约。其中,全局信息跨链合约可用于跨链读取其他区块链上的数据信息。通用数据清分合约可用于执行交易清分业务。应用链SPV权限合约可用于存储应用合约链的数据清分权限。税务应用合约可用于执行与电子票据相关的税务业务,比如电子票据退税业务等,可以由税务应用合约中部署的数据清分接口调用通用数据清分合约进行数据清分。
此时,可以构建应用合约链对应的子链用于执行应用合约链上的相关联业务。如子链上部署有全局信息跨链合约、子链SPV权限合约、专用税务应用合约、通用数据清分合约。其中,全局信息跨链合约可用于跨链读取其他区块链上的数据信息。通用数据清分合约可用于执行交易清分业务。子链SPV权限合约可用于存储子链的数据清分权限。专用税务应用合约可用于执行与电子票据相关的特定税务业务,可以由专用税务应用合约中部署的数据清分接口调用通用数据清分合约进行数据清分。政务部门内部参与方可以通过应用链全量SPV节点从应用合约链上同步相关数据信息至政务协作部门或联盟链伙伴(如业务关联部门)。
此外,可以构建应用合约链相关联的局部共识子链,该局部共识子链所关联的局部应用链SPV节点可以通过应用链网络入口(或票据链网络入口)清分到与局部共识子链相关联的数据信息。相应地,可以构建子链相关联的局部共识子链,该局部共识子链所关联的局部子链SPV节点可以通过应用链网络入口(或票据链网络入口)清分到与局部共识子链相关联的数据信息。
应当理解,在本申请实施例中,不仅可以将票据链(即第一业务接入链)上所产生的大量的电子票据(即上述票据资产类型的数据资源),跨链转移至应用合约链(即第二业务接入链),还可以将票据链(即第一业务接入链)上所产生的这些电子票据中的部分授权可见的票据信息(也可以称之为核心票据信息,即上述信息共享类型的数据资源),跨链转移(也可以称之为跨链共享)至应用合约链(即第二业务接入链)。
进一步的,请参见图5,图5是本申请实施例提供的一种基于多区块链的信息处理方法的流程示意图,如图5所示,方法可以由上述提及的中继区块链相关联的中继节点设备来执行,比如,该中继节点设备可以为上述图1所示的共识网络200a中任意一个区块链节点。方法具体可以包括以下步骤S101-步骤S104:
S101、接收来源于N个业务接入链的N个跨链信息。
一个跨链信息来源于一个业务接入链。
其中,N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的。N为大于1的正整数。可以理解,N个业务接入链在通过接入链注册合约进行注册之前为N个业务区块链。
其中,以N个业务接入链包括第一业务接入链,第一业务接入链在通过接入链注册合约进行注册之前为第一业务区块链为例,对第一业务接入链进行注册可以是,在接收到与第一业务区块链相关联的第一节点设备发送的第一接入注册请求时,基于第一接入注册请求确定第一业务区块链的链标识;基于第一业务区块链的链标识调用接入链注册合约,将第一业务区块链的链标识,添加至接入链注册合约所管理的接入链标识信息中,并将第一业务区块链作为通过接入链注册合约进行注册后的第一业务接入链。
也就是说,中继节点设备在接收到第一节点设备发送的第一接入注册请求,且确定第一业务区块链具备接入权限时,将第一业务区块链的链标识,添加至接入链注册合约所管理的接入链标识信息中。
相应地,以N个业务接入链包括第二业务接入链,第二业务接入链在通过接入链注册合约进行注册之前为第二业务区块链为例,对第二业务接入链进行注册可以是,在接收到与第二业务区块链相关联的第二节点设备发送的第二接入注册请求时,基于第二接入注册请求确定第二业务区块链的链标识;基于第二业务区块链的链标识调用接入链注册合约,将第二业务区块链的链标识,添加至接入链注册合约所管理的接入链标识信息中,并将第二业务区块链作为通过接入链注册合约进行注册后的第二业务接入链。
因此,接入链标识信息中包括N个业务区块链的链标识。在中继节点设备对一个业务接入链进行注册后,会为该所注册的业务接入链配置数据同步组件。N个业务区块链中的每个业务区块链对应一个数据同步组件。数据同步组件用于从对应业务区块链上同步区块数据信息,该区块数据信息可以是业务区块链上的区块的全量信息也可以是不同信息。从业务区块链上所同步到区块数据信息至少包括所同步到的区块的区块高度和默克尔树根。
其中,数据同步组件是用原生代码实现的对业务接入链进行数据同步和数据验证的服务,这样对于不同的业务接入链可以灵活实现各自的数据同步逻辑,数据同步组件随着业务接入链的增加而同态添加。这样可以无需以交易的时候调用轻节点合约同步对应业务接入链上的数据信息,且不用将同步到的数据信息通过轻节点合约写入中继区块链上,从而可以节省链上空间,对业务接入链的数据同步可以在链下进行。可选地,中继节点设备可以通过数据同步组件自己进行数据信息的同步,也可以通过数据同步组件指示其他的链下设备进行数据信息的同步。
其中,跨链信息是与跨链任务相关的信息,此处以跨链任务用于指示将第一业务对象在第一业务接入链上的第一交易资源,跨链转移至第二业务接入链上的第二业务对象为例。应当理解,在本申请实施例中,该第一交易资源比如可以是上述区块链电子票据流转场景下的票据资产类型的数据资源、上述跨链转账场景下的账户资产类型的数据资源以及上述跨链信息共享场景下的信息共享类型的数据资源中的任意一种或者多种。
此时中继节点设备则会接收到来源于第一业务接入链的跨链信息。可以理解,N个业务接入链中的任两个业务接入链均可实现跨链资源转移,因此每个业务接入链所关联的节点设备均可因跨链任务而发起跨链信息。也就是说,中继节点任务可以接收到来源于N个业务接入链中的任意业务接入链的跨链信息。可以理解,接收来源于不同业务接入链的跨链信息的时间不同,在接收到来源于任一业务接入链的跨链信息时,均表示执行了步骤S101,并基于接收到的跨链信息继续执行步骤S102-S104。
比如,当某个业务对象(例如,上述第一业务对象)需要在第一业务接入链与第二业务接入链之间跨链转移整张电子票据(例如,上述电子票据P)时,可以将该需要转移的电子票据作为上述第一交易资源,进而可以在该第一业务对象所对应的业务终端(即第一业务终端)中创建用于请求跨链转移该第一交易资源(例如,上述电子票据P)的第一跨链任务,进而可以以交易的形式将该第一跨链任务添加至用于发送给第一节点设备的第一跨链交易。
这样,对于第一节点设备而言,可以在接收到该第一业务终端提交的第一跨链交易之后,从该第一跨链交易中获取到该第一跨链任务,以在将该第一跨链任务写入到票据链上,进而可以在将第一交易资源锁定之后,得到与第一业务接入链上的第一跨链任务相关联的第一跨链信息,从而可以将该第一跨链信息发送给中继节点设备,以使该中继节点设备可以执行上述步骤S101。
可以理解,第一业务接入链所关联的跨链任务(将第一业务接入链上的第一交易资源转移给其他业务接入链)统称的第一跨链任务、所关联的跨链交易统称为第一跨链交易、所关联的跨链信息统称为第一跨链信息。相应地,第二业务接入链所关联的跨链任务(将第二业务接入链上的第二交易资源转移给其他业务接入链)统称的第二跨链任务、所关联的跨链交易统称为第二跨链交易、所关联的跨链信息统称为第二跨链信息。以此类推,第N业务接入链所关联的跨链任务(将第N业务接入链上的第N交易资源转移给其他业务接入链)统称的第N跨链任务、所关联的跨链交易统称为第N跨链交易、所关联的跨链信息统称为第N跨链信息。
S102、从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息。
其中,在接收来源于一个业务接入链的跨链信息(比如跨链信息X)时,从接入链注册合约中获取用于对该跨链信息X进行信息校验的目标业务数据信息(比如目标业务数据信息X),并基于该目标业务数据信息X执行后续步骤S103-S104。
其中,N个目标业务数据信息是通过中继节点设备上的N个数据同步组件,分别从N个业务接入链上所同步到的。一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息。也就是说,可以通过数据同步组件从对应的业务接入链上同步区块数据信息,并基于该同步的区块数据信息确定所同步到的目标业务数据信息。
此外,一个目标业务数据信息是基于接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的。一个历史已确认数据信息包括历史已确认区块高度和历史已确认区块高度所对应的历史已确认区块的默克尔树根。也就是说,接入链注册合约中管理有所有业务接入链的历史已确认数据信息,一个业务接入链的历史已确认数据信息包括该业务接入链上的所有已确认过的区块高度以及所有已确认到的区块高度对应的区块(即已确认过的区块)的默克尔树根。可以理解,一个历史已确认区块高度对应一个历史已确认区块的默克尔树根。接入链注册合约用于管理各个业务接入链的历史已确认区块高度及该历史已确认区块高度对应的默克尔树根。比如,接入链注册合约所管理的第一业务接入链的历史已确认区块高度包括0-1,则接入链注册合约还管理历史已确认区块高度0对应的历史已确认区块的默克尔树根(即历史已确认区块高度0在第一业务链上对应的区块的的默克尔树根)、历史已确认区块高度1对应的历史已确认区块的默克尔树根(即历史已确认区块高度1在第一业务链上对应的区块的的默克尔树根)。可以理解,历史已确认区块为业务接入链的历史已确认区块高度在该业务接入链上的区块。
其中,历史已确认区块高度是由中继节点设备基于同步到的N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的。也就是说,此前在通过数据同步组件从对应的业务接入链上同步历史区块数据信息(即历史已确认区块高度是由中继节点设备基于同步到的N个业务接入链的区块数据信息所构成的历史合并共识交易所确定的,即历史区块数据信息,该历史区块数据信息包括用于更新历史业务数据信息的历史更新业务数据信息),并基于该同步的历史区块数据信息确定所同步到的历史业务数据信息,这些历史业务数据信息可以构成历史合并共识交易,用于进行业务接入链的区块高度确认,即通过该历史合并共识交易可以确定此前已确认过的历史已确认区块高度。历史业务数据信息为此前接收到的历史跨链信息时,所获取到的用于校验历史跨链信息的信息。
其中,与业务接入链的区块高度确认、合并共识交易等相关的具体执行逻辑可以参见下述实施例的相关描述。
例如,以N个业务接入链包括第一业务接入链为例,在接收到来源于第一业务接入链的第一跨链信息时(接收时间戳为T1),从接入链注册合约中获取用于对第一跨链信息进行信息校验的第一目标业务数据信息。该第一目标业务数据信息可以包括截止至T1之前,第一业务接入链上所确认过的区块高度(即为历史已确认区块高度)以及已确认过的区块(即为历史已确认区块)的默克尔树根。在T1之前所构成的合并共识交易即为历史合并共识交易。在T1之前所同步的业务数据信息即为历史业务数据信息。
在一些实施例中,N个业务接入链包括第一业务接入链;来源于第一业务接入链的跨链信息为第一跨链信息;第一业务接入链对应的数据同步组件为第一数据同步组件;由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息;第一跨链信息包括第一业务接入链的链标识。
因此,获取N个目标业务数据信息可以是:调用中继区块链上的跨链信息确认合约,从接入链注册合约中获取与第一业务接入链的链标识相关联的历史已确认区块高度,以及与第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根;将与第一业务接入链的链标识相关联的历史已确认区块高度,以及与第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根,作为第一目标业务数据信息。
也就是说,可以根据第一业务接入链的链标识从接入链注册合约中获取第一业务接入链所对应的所有历史已确认区块高度和所有历史已确认区块高度所对应的历史已确认区块的默克尔树根,以作为第一目标业务数据信息。
S103、通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果。
其中,对每个跨链信息进行信息校验的过程和原理相同。
其中,以N个业务接入链包括第一业务接入链和第二业务接入链为例,此时来源于第一业务接入链的跨链信息为第一跨链信息。第一跨链信息是与第一业务接入链相关联的第一节点设备基于第一跨链任务将第一业务接入链上的第一交易资源锁定之后所生成的。第一跨链任务用于指示将第一业务对象在第一业务接入链上的第一交易资源,跨链转移至第二业务接入链上的第二业务对象。第一跨链信息是第一节点设备在将与第一跨链任务相关联的第一跨链交易打包至第一目标区块,且将第一目标区块添加至第一业务接入链时所确定的。第一跨链信息中包括第一目标区块的区块高度、第一跨链交易的默克尔树路径。第一业务接入链对应的数据同步组件为第一数据同步组件。由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息。
因此,对第一跨链信息进行信息校验可以是:从第一目标业务数据信息包括的历史已确认区块高度中,获取历史最大已确认区块高度,将获取到的历史最大已确认区块高度作为第一参考区块高度;将第一跨链信息中的第一目标区块的区块高度作为第一比对区块高度;对第一参考区块高度和第一比对区块高度进行高度比对,得到第一高度比对结果;基于第一高度比对结果,对第一跨链信息进行信息校验,得到第一跨链信息对应的信息校验结果。
其中,基于第一高度比对结果进行信息校验可以是,若第一高度比对结果指示第一参考区块高度大于或等于第一比对区块高度,则从第一目标业务数据信息包括的历史已确认区块的默克尔树根中,获取第一比对区块高度所对应的历史已确认区块的默克尔树根,将获取到的第一比对区块高度所对应的历史已确认区块的默克尔树根作为待比对默克尔树根;基于第一跨链信息中的第一跨链交易的默克尔树路径确定用于比对待比对默克尔树根的默克尔树根副本;对默克尔树根副本和待比对默克尔树根进行信息比对,得到第一信息比对结果;若第一信息比对结果指示默克尔树根副本和待比对默克尔树根一致,则生成对第一跨链信息进行信息校验的校验成功信息;基于校验成功信息,得到第一跨链信息对应的信息校验结果。
可以理解,若第一高度比对结果指示第一参考区块高度小于第一比对区块高度,则生成对第一跨链信息进行信息校验的第一校验失败信息;基于第一校验失败信息,得到第一跨链信息对应的信息校验结果。该第一校验失败信息用于指示因为区块高度原因所导致的信息校验失败。即第一比对区块高度所指示的第一目标区块未进行中继区块链确认。
可以理解,若第一信息比对结果指示默克尔树根副本和待比对默克尔树根不一致,则生成对第一跨链信息进行信息校验的第二校验失败信息;基于第二校验失败信息,得到第一跨链信息对应的信息校验结果。该第二校验失败信息用于指示因为默克尔树根原因所导致的信息校验失败。
例如,如图6所示;图6是本申请实施例提供的一种跨链信息的信息校验场景示意图;N个业务接入链包括业务接入链1和业务接入链2,接入链注册合约中管理有业务接入链1的历史已确认数据信息1和业务接入链2的历史已确认数据信息2,历史已确认数据信息1包括业务接入链1的历史已确认区块高度(如区块高度0-k)以及每个历史已确认区块高度对应的历史已确认区块的默克尔树根(如默克尔树根y0-yk);历史已确认数据信息2包括业务接入链2的历史已确认区块高度(如区块高度0-h)以及每个历史已确认区块高度对应的历史已确认区块的默克尔树根(如默克尔树根y0-yh);业务接入链1所关联的节点设备1将跨链交易X打包至目标区块X,且将目标区块X添加至业务接入链时对应得到的跨链信息X,业务接入链1所关联的节点设备1将跨链信息X发送给跨链服务设备,中继节点设备接收(S61)到由跨链服务设备转发的跨链信息X时,从接入链注册合约中获取(S62)用于对跨链信息X进行信息校验的目标业务数据信息X,该目标业务数据信息X包括历史已确认区块高度(如区块高度0-x1)以及历史已确认区块的默克尔树根(如默克尔树根y0-yx1),该跨链信息X包括目标区块X的区块高度m以及跨链交易X的默克尔树路径。
因此,中继节点设备从历史已确认区块高度(如区块高度0-k)中获取(S63)历史最大已确认区块高度,即区块高度k,对区块高度m和区块高度k进行高度比对(S64),得到高度比对结果X。
其中,(1)若高度比对结果X指示区块高度m大于区块高度k,则得到的对跨链信息X进行校验失败的信息。
其中,(2)若高度比对结果X指示区块高度m小于或等于区块高度k,则从默克尔树根y0-yx1中获取(S65)目标区块X的区块高度m对应的默克尔树根ym,通过跨链交易X的默克尔树路径和跨链交易X计算(S66)得到默克尔树根副本(ym’),对默克尔树根ym和默克尔树根ym’进行信息比对(S67),得到信息比对结果X。
其中,(3)若信息比对结果X指示默克尔树根ym和默克尔树根ym’一致,则得到的对跨链信息X进行校验成功的信息;(4)若信息比对结果X指示默克尔树根ym和默克尔树根ym’不一致,则得到的对跨链信息X进行校验失败的信息。
可以理解,以N个业务接入链包括第二业务接入链为例,此时来源于第二业务接入链的跨链信息为第二跨链信息。第二跨链信息是与第二业务接入链相关联的第二节点设备基于第二跨链任务将第二业务接入链上的第二交易资源锁定之后所生成的。第二跨链任务用于指示将第三业务对象在第二业务接入链上的第二交易资源,跨链转移至第一业务接入链上的第四业务对象。第二跨链信息是第二节点设备在将与第二跨链任务相关联的第二跨链交易打包至第二目标区块,且将第二目标区块添加至第二业务接入链时所确定的。第二跨链信息中包括第二目标区块的区块高度、第二跨链交易的默克尔树路径。第二业务接入链对应的数据同步组件为第二数据同步组件。由第二数据同步组件从第二业务接入链上所同步到的目标业务数据信息为第二目标业务数据信息,第二目标业务数据信息属于N个目标业务数据信息。
因此,对第二跨链信息进行信息校验可以是:从第二目标业务数据信息包括的历史已确认区块高度中,获取历史最大已确认区块高度,将获取到的历史最大已确认区块高度作为第二参考区块高度;将第二跨链信息中的第二目标区块的区块高度作为第二比对区块高度;对第二参考区块高度和第二比对区块高度进行高度比对,得到第二高度比对结果;基于第二高度比对结果,对第二跨链信息进行信息校验,得到第二跨链信息对应的信息校验结果。
其中,基于第二高度比对结果进行信息校验可以是,若第二高度比对结果指示第二参考区块高度大于或等于第二比对区块高度,则从第二目标业务数据信息包括的历史已确认区块的默克尔树根中,获取第二比对区块高度所对应的历史已确认区块的默克尔树根,将获取到的第二比对区块高度所对应的历史已确认区块的默克尔树根作为待比对默克尔树根;基于第二跨链信息中的第二跨链交易的默克尔树路径确定用于比对待比对默克尔树根的默克尔树根副本;对默克尔树根副本和待比对默克尔树根进行信息比对,得到第二信息比对结果;若第二信息比对结果指示默克尔树根副本和待比对默克尔树根二致,则生成对第二跨链信息进行信息校验的校验成功信息;基于校验成功信息,得到第二跨链信息对应的信息校验结果。
可以理解,若第二高度比对结果指示第二参考区块高度小于第二比对区块高度,则生成对第二跨链信息进行信息校验的第二校验失败信息;基于第二校验失败信息,得到第二跨链信息对应的信息校验结果。
可以理解,若第二信息比对结果指示默克尔树根副本和待比对默克尔树根不二致,则生成对第二跨链信息进行信息校验的第二校验失败信息;基于第二校验失败信息,得到第二跨链信息对应的信息校验结果。以此类推,每个业务接入链的跨链信息的信息校验过程同理。
S104、若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。
其中,对每个跨链信息的审批处理逻辑相同。此处以N个跨链信息包括第一跨链信息为例进行说明。可以是,通过中继区块链上的跨链信息确认合约,调用跨链审批合约对第一跨链信息进行信息审批,得到信息审批结果;若信息审批结果指示第一跨链信息所对应的第一跨链任务为第一合法任务,则生成第一合法任务对应的第一审批通过交易;在将第一审批通过交易写入至中继区块链时,得到第一审批通过交易对应的第一跨链确认信息,将第一跨链确认信息发送至与第二业务接入链相关联的第二节点设备,以使第二节点设备在获取到中继区块链上的中继业务数据信息时,通过中继业务数据信息对第一跨链确认信息进行信息验证,且在信息验证成功时将锁定的第一交易资源释放给第二业务对象。
其中,具体的,可以理解的是,第一跨链信息为与跨链任务相关联的第一跨链审批交易中的事件信息;第一跨链审批交易为第一节点设备基于第一业务接入链与中继区块链之间的第一跨链协议,对第一跨链信息进行交易组装所得到的;此时,中继节点设备可以获取跨链服务设备转发的与第一业务接入链上的跨链任务相关联的第一跨链审批交易,应当理解,这里的第一跨链审批交易具体可以为与该第一跨链任务相关联的跨链审批交易,用于指示中继节点设备对第一跨链信息进行信息确认和信息审批;进一步的,中继节点设备可以基于第一跨链协议对第一跨链审批交易进行交易解封处理,得到第一跨链审批交易的交易参数,将从第一跨链审批交易的交易参数中所获取到的与跨链任务相关联的跨链信息作为第一跨链信息。
也就是说,在通过跨链信息确认合约对第一跨链信息进行确认之后,可以调用跨链审批合约对第一跨链信息进行信息审批,在信息审批通过之后,可以生成第一跨链确认信息,并将第一跨链确认信息通过跨链服务设备发送给第二节点设备,由第二节点设备通过第一跨链确认信息执行相关跨链交易步骤,比如在第二业务接入链上铸造第一交易资源所对应的第一交易映射资源。可以理解,中继节点设备可以基于第一跨链协议生成第一跨链确认交易,第二节点设备将从第一跨链确认交易的交易参数中所获取到的与跨链任务相关联的跨链信息作为第一跨链确认信息。可选地,第一跨链交易可以称为第一跨链转出交易,第一跨链确认交易可以称为第一跨链转入交易。
可以理解,第二节点设备可以在第二业务链上部署中继区块链的轻节点合约,以用于从中继区块链上同步中继业务数据信息,并通过同步到的中继业务数据信息对第一跨链确认信息进行信息确认,在确认成功时,进行第一交易映射资源的铸造,从而实现第一业务接入链和第二业务接入链之间的跨链资源转移。
为便于理解,进一步的,请参见图7,图7是本申请实施例提供的一种分阶段执行跨链任务的场景示意图。如图7所示,用户U1(即第一业务对象)可以在授权访问到跨链服务前端(即一种用于对业务对象的数据资源进行资源管理的客户端)时,通过图7所示的业务终端40a中的跨链服务前端,以交易的形式向图7所示的节点设备71a发送携带跨链任务的跨链任务交易。应当理解,这里的跨链任务具体可以为在第一业务接入链和区块链之间跨链转移上述电子票据P(即第一交易资源)的目标任务,即这里的目标任务用于指示图7所示的节点设备71a(即第一节点设备)将该用户U1(即第一业务对象)在第一业务接入链上的第一交易资源(即上述电子票据P)转移至第二业务接入链。
其中,如图7所示,跨链服务前端可以用于负责与某个业务对象(如图7所示的用户U1)进行数据交互,比如,可以通过该跨链服务前端展示该用户U1所录入的跨链任务的任务信息(即任务详情信息)。应当理解,展示在该跨链服务前端的任务信息(即任务详情信息)具体可以包括:跨链任务所指示的跨链类型(例如,电子票据跨链转移类型)、提交跨链交易的第一业务对象的第一对象地址(即用户U1的用户账户所映射的账户地址)、第一交易资源的第一资源数量(例如,1张)、第一交易资源的资源类型(例如,票据资产类型)、与跨链任务相关的第二业务接入链的第二链标识(例如,图7所示的目标链的链标识)、第二业务对象在第二业务接入链上的第二对象地址(例如,用户U2的用户账户所映射的另一账户地址)等。
其中,可以理解的是,如图7所示的跨链服务前端具体可以为网页、应用程序(即APP,Application)、小程序等形式。应当理解,该跨链服务前端还可以用于在提交跨链任务的过程中,对该跨链任务的任务详情信息进行跨链交易组装,以组装得到图7所示的携带跨链任务的跨链交易。应当理解,在本申请实施例中,跨链服务前端还可以用于展示该跨链任务的任务执行情况或者其他信息。
如图7所示,用于维护原链(即第一业务接入链,比如,上述票据链)的节点设备71a上部署有跨链业务合约、存管管理合约、包含资产存管合约A和资产存管合约B的资产存管合约集合、包含跨链资产合约A2和跨链资产合约B2以及跨链应用合约的跨链资产合约集合等。同理,用于维护目标链(即第二业务接入链,比如,上述应用合约链)的节点设备75a上也部署有跨链业务合约、存管管理合约、包含资产存管合约A和资产存管合约B的资产存管合约集合、包含跨链资产合约A2和跨链资产合约B2以及跨链应用合约的跨链资产合约集合等。
其中,为便于进行区别,本申请实施例可以将在第一业务接入链上所部署的跨链业务合约统称为第一跨链业务合约,并可以将在第二业务接入链上所部署的另一跨链业务合约统称为第二跨链业务合约。
同理,本申请实施例可以将在第一业务接入链上所部署的用于与第一跨链业务合约交互的存管管理合约统称为第一存储管理合约,并可以将在第二业务接入链上所部署的用于与第二跨链业务合约交互的另一存管管理合约统称为第二存储管理合约。进一步的,如图7所示,本申请实施例还可以将与该第一存储管理合约进行数据交互的资产存管合约集合统称为第一资源存储合约集合,并将与该第二存储管理合约进行数据交互的另一资产存管合约集合统称为第二资源存储合约集合。
以此类推,本申请实施例还可以将在第一业务接入链上所部署的用于与第一跨链业务合约交互的任务处理器统称为第一任务处理器,并可以将在第二业务接入链上所部署的用于与第二跨链业务合约交互的任务处理器统称为第二任务处理器。进一步的,本申请实施例还可以将与该第一任务处理器进行数据交互的跨链资产合约集合统称为第一跨链资产合约集合,并可以将与该第二任务处理器进行数据交互的另一跨链资产合约集合统称为第二跨链资产合约集合。
其中,如图7所示,该第一任务处理器具体可以包括用于处理第一跨链类型(例如,上述电子票据跨链转移类型)的跨链任务的资产处理器A1,用于处理第二跨链类型(例如,电子资产跨链转账类型)的另一跨链任务的资产处理器A2以及用于处理第三跨链类型(例如,共享信息跨链转移类型)的又一跨链任务的通用信息处理器。
应当理解,该资产存管合约集合(即第一资源存储合约集合)中的资产存储合约A可以用于在执行上述电子票据P所对应的跨链任务的过程中,通过资产处理器A1将存储在该跨链资产合约A2中的该电子票据P进行锁定并存储,这意味着对于图7所示的用于维护原链(即第一业务接入链)的节点设备71a,可以通过第一跨链业务合约(比如,图7所示部署在节点设备71a上的跨链业务合约)调用资产处理器A1,进而可以通过该资产处理器A1所生成的资源锁定请求,调用第一跨链资源合约(比如,图7所示部署在节点设备71a上的跨链资产合约A2),将第一交易资源(比如,上述电子票据P)锁定至第一资源存储合约(比如,图7所示部署在节点设备71a上的资产存管合约A)。
其中,图7所示的第一跨链业务合约和第二跨链业务合约均包括中继链探测与消息确认功能以及跨链业务管理功能。
其中,该跨链业务管理功能,可以用于管理在原链上跨链执行跨链任务的相关过程(例如,跨链任务获取过程和跨链任务执行过程)。比如,节点设备71a可以通过跨链业务管理功能对来自于业务终端70a的跨链交易进行交易校验,进而可以在交易校验成功时,将该跨链交易写入该原链(即第一业务接入链)上的跨链业务合约(即第一跨链业务合约)。进一步的,节点设备71a可以通过该跨链业务管理功能来与原链(即第一业务接入链)上的存管管理合约进行对接,以在跨链执行跨链任务的过程中合理管理对存管管理合约的调用,以确保跨链任务执行的可控制性。即本申请实施例可以在确定跨链交易为合法交易的情况下,通过第一跨链业务合约调用资产处理器A1执行跨链任务,以通过该资产处理器A1生成携带资产存储合约A的合约地址的资源锁定请求,从而可以将该资源锁定请求发送给图7所示的跨链资产合约A2,进而可以通过该跨链资产合约A2所获取到的资源锁定请求中所携带的资产存储合约A的合约地址,将电子票据P锁定至该资产存储合约A,以进行资产冻结。
其中,可以理解的是,图7所示的存管管理合约可以用于管理相应的资产存管合约(例如,资产存管合约A和资产存管合约B),如,可以用于管理相应资产存管合约(例如,资产存管合约A和资产存管合约B)的部署,与相应资产类型或者跨链事件类型的绑定,资产存管合约可操作者的权限分配等。
其中,中继链探测与消息确认功能中的消息确认功能可以用于与原链上的存管管理合约进行数据交互,这样,在该存管管理合约所管理的资产存储合约执行了资源锁定操作之后,可以生成针对该资源锁定操作对应的交易资源锁定事件,该节点设备71a可以通过该跨链业务合约(即第一跨链业务合约)调用存管管理合约(即第一存储管理合约),从资产存储合约A(即第一资源存储合约)中获取到该交易资源锁定交易,以生成与上述跨链任务相关联的目标跨链交易,进而可以在将目标跨链交易打包至某个区块(即第一目标区块)之后,将打包得到的第一目标区块上链至该原链(即第一业务接入链),以得到用于发送给中继节点设备(例如,图7所示的节点设备73a)的与原链(即第一业务接入链)上的跨链任务相关联的第一跨链信息。
此外,中继链探测与消息确认功能中的中继链探测功能可以用于在分阶段执行该跨链任务的过程中,自动探测来自于中继节点设备通过数据同步组件发送的数据信息同步请求(也可以称之为数据清分请求),这样,对于节点设备71a而言,可以将基于数据信息同步请求将第一业务接入链上的数据信息下发给中继节点设备,以使中继节点设备可以基于接收到的数据信息更新所部署的接入链注册合约中的历史已确认数据信息,对历史已确认数据信息的更新方式可以参见下述实施例的相关描述。
由此可见,本申请实施例无需将上述需要转移的电子票据直接锁定在跨链业务合约中,而是可将该跨链业务合约(比如,第一跨链业务合约)所提供的跨链服务和资产存管合约(例如,图7所示的资产存储合约A)所提供的资产保管服务进行解耦处理,使得跨链服务和资产保管服务可以彼此相互独立,这样,对于原链上的跨链业务合约(比如,第一跨链业务合约)而言,并不能直接或者随意操作跨链过程中关于跨链任务所指示的数据资源(比如,上述电子票据)的资源质押(即资源锁定),从而可以提升原链上资源质押的安全性和可靠性。可以理解的是,资产存管合约的存在,可以确保跨链服务方和资产保管方二者相互独立,这样,跨链服务方不得随意操作跨链过程中关于数据资源(比如,上述电子票据)的资源质押。
其中,链下审批业务或者链下审批服务是指在中继区块链上的中继节点设备完成链上审批的情况下,需要根据跨链审批交易Tx1所指示的跨链类型,从参与进行链上审批的一个或者多个审批机构中,判定是否存在与链下审批业务相关联的审批机构,如果存在,则将与链下审批业务相关联的审批机构称之为链上审批机构,进而可以将该链上审批机构所绑定的与链下审批业务相关联的审批机构作为图7所示的链下审批机构,进而可以通过该链下审批机构所对应的链下审批业务设备来进行链下的风险分析与管理,这样,当发现已自动审批完成的跨链任务(即处于审批完成状态的跨链任务)确实为非法任务时,可以对在原链(即第一业务接入链)上的资产存管合约(例如,资产存管合约A)中所锁定的数据资源(比如,上述电子票据P)进行相应的风险管理操作(如锁定或者转移)。
其中,如图7所示,跨链服务设备72a所提供的跨链中继服务主要包括多链监测功能、跨链交易转发功能。其中,多链监测功能是指可以自动对加入跨链交易协议的多条区块链上的节点设备所发生的交易进行交易监测。
比如,如图7所示,该跨链服务节点设备72a可以通过该多链监测功能对来自于原链(即第一业务接入链)上的跨链审批交易Tx1(即上述第一跨链审批交易)进行交易监测,进而可以在监测到该跨链审批交易Tx1(即上述第一跨链审批交易)时,通过上述跨链交易转发功能将该跨链审批交易Tx1(即上述第一跨链审批交易)直接转发给图7所示的中继链(即前述中继区块链)上的中继节点设备(例如,图7所示的节点设备73a),以使中继节点设备(例如,图7所示的节点设备73a),可以基于第一业务接入链与中继区块链之间的第一跨链协议,对进一步对该跨链审批交易Tx1(即上述第一跨链交易)进行交易解封处理,以从该第一跨链交易的交易参数中,解析得到与跨链任务相关联的跨链信息(即上述第一跨链信息),以便于可以在该中继节点设备上进一步执行上述步骤S102-S104。
又比如,如图7所示,该跨链服务节点设备72a可以通过该多链监测功能对来自于中继链(即中继区块链)上的审批通过交易Tx2进行交易监测,进而可以在监测到该审批通过交易Tx2时,通过上述跨链交易转发功能将该审批通过交易Tx2直接转发给图7所示的目标链(即前述第二业务接入链)上的节点设备75a(即上述第二节点设备)。
其中,中继节点设备在接收到与跨链任务相关联的跨链信息时,需要对该跨链信息进行信息校验,比如通过跨链信息确认合约从接入链注册合约中获取用于对跨链信息进行信息校验的目标业务数据信息,在通过目标业务数据信息对跨链信息进行信息校验成功时,通过跨链审批合约对跨链信息进行信息审批。其中,中继节点设备中的合并共识引擎可用于进行中继区块链上的区块的打包、共识和上链,且在中继区块链出块的同时实现对业务接入链的区块高度确认。中继节点设备中的数据同步组件(比如第一业务接入链对应的第一数据同步组件、第二业务接入链对应的第二数据同步组件、等等,一个业务接入链对应一个数据同步组件)用于从对应业务接入链上同步相关数据信息,可以合并共识引擎从数据同步组件中获取待确认区块高度,并在通过待确认区块高度确定目标已确认区块高度时,将目标已确认区块高度写入接入链注册合约,以实现对目标业务数据信息的更新。
由此可见,该中继节点设备(例如,上述图7所示的节点设备73a)可以验证来自该原链的第一跨链审批交易(例如,上述图7所示的跨链审批交易Tx1)中的第一跨链信息的正确性。换言之,此时,中继节点设备(例如,上述图7所示的节点设备73a)可以在进行信息审批之前,为确保跨链任务进一步执行的可靠性,可以确认来自原链的消息(即第一跨链事件信息)正确性。
应当理解,本申请实施例在确定上述跨链消息(即第一跨链信息)为合法跨链信息后,可以进一步将该消息(即第一跨链事件信息)写入至该节点设备73a上所部署的跨链信息确认合约,以便于可以通过该跨链信息确认合约调用相应的跨链审批合约,对第一跨链信息进行信息审批。
应当理解,由于本申请实施例所对应的中继节点设备可以用于维护整个中继区块链,因此,对于该中继区块链所对应的任意一个中继节点设备(例如,上述图7所示的节点设备73a、…、节点设备73n)而言,均部署有当前接入该中继区块链(即图7所示的中继链)的所有业务接入链的数据同步组件,以及部署跨链信息确认合约、接入链注册合约、合并共识引擎、跨链审批合约等等。
例如,如图8所示,图8是本申请实施例提供的一种基于多区块链的信息处理方法的交互时序图;其中,这里的多区块链包括第一业务接入链、第二业务接入链以及中继区块链,该方法由与第一业务接入链相关联的第一节点设备、跨链服务设备、与中继区块链相关联的中继节点设备以及与第二业务接入链相关联的第二节点设备交互执行,这里的第一节点设备可以为上述图2所对应实施例中的共识节点10d;与此同时,这里的中继节点设备可以为上述图2所对应实施例中的共识节点11c,该中继节点设备上部署有接入链注册合约、第一业务接入链对应的第一数据同步组件和跨链信息确认合约。同理,这里的第二节点设备可以为上述图2所对应实施例中的共识节点12d。如图8所示,该方法至少可以包括步骤S81-步骤S813。
其中:S81、第一节点设备可以获取第一业务对象通过第一业务终端提交的跨链任务。其中,跨链任务用于指示将第一业务对象在第一业务接入链上的第一交易资源,跨链转移至第二业务接入链上的第二业务对象。S82、第一节点设备可以将第一交易资源锁定之后,得到与第一业务接入链上的跨链任务相关联的第一跨链信息。其中,第一节点设备上部署有第一跨链业务合约、第一跨链资源合约以及第一资源存储合约。第一节点设备可以将跨链任务写入第一跨链业务合约,并在通过第一跨链业务合约调用第一跨链资源合约,将第一交易资源锁定至第一资源存储合约之后,得到与第一业务接入链上的跨链任务相关联的第一跨链事件信息。S83、第一节点设备可以将第一跨链信息发送给跨链服务设备。S84、跨链服务设备可以进一步将第一跨链信息转发至中继节点设备。S85、中继节点设备可以从接入链注册合约中获取用于对第一跨链信息分别进行信息校验的第一目标业务数据信息。其中,第一目标业务数据信息是由第一数据同步组件从第一业务接入链上同步到的。S86、中继节点设备通过第一目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对第一跨链信息进行信息校验,得到信息校验结果。S87、若信息校验结果指示信息校验成功,则中继节点设备对第一跨链信息进行信息审批,得到信息审批结果。S88、若信息审批结果指示第一跨链信息所对应的跨链任务为合法任务,则中继节点设备可以生成合法任务对应的第一审批通过交易。S89、中继节点设备可以在将第一审批通过交易写入至中继区块链时,得到第一审批通过交易对应的第一跨链确认信息。S810、中继节点设备可以将第一跨链确认信息发送给跨链服务设备。S811、跨链服务设备可以进一步将第一跨链确认信息转发至与第二节点设备。S812、第二节点设备可以通过从中继区块链上所获取到的中继区块数据信息,对第一跨链确认信息进行信息验证,得到信息校验结果。其中,第二节点设备上同样部署有第二跨链业务合约、第二跨链资源合约以及第二资源存储合约。第二节点设备可以通过从中继区块链所同步来的中继区块数据信息(例如,区块账本数据信息等),来对该第一跨链确认信息进行信息验证,进而可以在信息验证正确后将该第一跨链确认信息写入至第二跨链业务合约,可以验证该第一跨链确认信息的信息来源的正确性,比如,本申请实施例可以通过中继区块数据信息判定该第一跨链确认信息是否来自中继区块链,且跨链审批合约是否进行了正确的审批操作(这里的审批操作可以包括但不限于上述链上审批业务对应的操作以及链下审批业务对应的操作)。S813、第二节点设备可以在信息校验结果指示信息验证成功时,将锁定的第一交易资源释放给第二业务对象。比如第二节点设备可以通过第二跨链业务合约调用第二资源存储合约,将锁定在第一资源存储合约中的第一交易资源释放给第二跨链资源合约中的第二业务对象。
本申请实施例所涉及的多区块链包括中继区块链和N个业务接入链(比如业务接入链A和业务接入链B),N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数。应当理解,本申请实施例所涉及的中继节点设备可以用于接收来源于任一业务接入链的跨链信息,以参与跨链资源转移的过程(比如来源于业务接入链A的跨链信息用于指示将业务接入链A上的交易资源转移至业务接入链B)。中继节点设备可以从接入链注册合约中获取用于对接收到的跨链信息进行信息校验的目标业务数据信息,并通过该目标业务数据信息对N个跨链信息进行信息校验,得到信息校验结果,若信息校验结果指示信息校验成功,则执行后续跨链操作,比如对接收到的跨链信息进行信息审批。其中,目标业务数据信息是通过中继节点设备上的数据同步组件所同步到的,通过数据同步组件可以不用以交易的形式在轻节点合约中对同步到的数据信息进行信息验证,也就是说,无需为每个业务接入链部署一个轻节点合约,同时通过数据同步组件同步和验证业务接入链上的数据信息可以在链下进行,同步到的数据信息和验证过程不会记录在中继链上,由此可以节省中继链的链上空间和链上资源,并减少在中继链上所需要执行的交易数量,同时,在对N个业务接入链的区块高度进行确认时,是通过所有业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的,该历史合约共识交易包含针对所有业务接入链的待确认的信息,这样可以通过一个合并共识交易对N个业务接入链完成一次区块高度确认,无需通过中继链上为各个接入链部署的轻节点合约多次重复进行各个业务接入链的区块高度确认,这样可以提高在中继链上对业务接入链的区块高度确认效率,从而提高在中继链上对来源于业务接入链的跨链信息的确认效率,有助于提升跨链资源转移的效率。
进一步的,请参见图9,图9是本申请实施例提供的一种基于多区块链的信息处理方法的流程示意图,如图9所示,方法可以由上述提及的中继区块链相关联的中继节点设备来执行,比如,该中继节点设备可以为上述图1所示的共识网络200a中任意一个区块链节点。方法具体可以包括以下步骤S201-步骤S207:
S201、接收来源于N个业务接入链的N个跨链信息。
S202、从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息。
S203、通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果;
S204、若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。其中,步骤S201-S204的具体实施方式可以参见上述实施例相关描述,在此不做赘述。
S205、获取由N个数据同步组件所同步到的N个目标业务数据信息中的N个历史最大同步区块高度,将获取到的N个历史最大同步区块高度作为N个目标区块高度。
可以理解,中继节点设备可以一边在接收到来源于业务接入链的跨链信息,并对该跨链信息进行信息校验和信息审批的同时,一边从业务接入链上同步数据信息以对业务接入链上的区块高度进行确认。
其中,可以理解,一个目标业务数据信息中的历史最大同步区块高度用于表征当前从业务接入链上同步到的最大区块高度,因此,可以将历史最大同步区块高度作为目标区块高度,以用于从业务接入链上继续同步在区块高度大于目标区块高度的区块数据信息。可以理解,由一个数据同步组件所同步到的区块数据信息中的一个历史最大同步区块高度为一个数据同步组件对应的业务数据接入链所关联的目标区块高度。
其中,每个业务接入链的区块高度确认过程和原理相同,此处以N个业务接入链包括的第一业务接入链为例对区块高度确认过程进行说明。第一业务接入链对应的数据同步组件为第一数据同步组件;由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息。第一目标业务数据信息属于从第一业务接入链上所同步到的第一区块数据信息。
因此,中继节点设备获取由第一数据同步组件从第一业务接入链上所同步到的第一区块数据信息中的第一历史最大同步区块高度,将获取到的第一历史最大同步区块高度作为第一目标区块高度。
可以理解的,当前从第一业务接入链上同步到的最大区块高度可以通过数据同步组件确定,数据同步组件中记录有从第一业务接入链上同步到的第一区块数据信息(其包括所同步到的目标业务数据信息),可以从同步到的第一区块数据信息中获取所同步到的最大区块高度。可以将当前所同步到的最大区块高度作为第一历史最大同步区块高度。
相应地,N个业务接入链包括第二业务接入链。第二业务接入链对应的数据同步组件为第二数据同步组件;由第二数据同步组件从第二业务接入链上所同步到的目标业务数据信息为第二目标业务数据信息,第二目标业务数据信息属于N个目标业务数据信息。第二目标业务数据信息属于从第二业务接入链上所同步到的第二区块数据信息。
因此,中继节点设备获取由第二数据同步组件从第二业务接入链上所同步到的第二区块数据信息中的第二历史最大同步区块高度,将获取到的第二历史最大同步区块高度作为第二目标区块高度。
S206、基于N个目标区块高度生成N个数据信息同步请求,并通过N个数据同步组件将N个数据信息同步请求发送至与N个业务接入链相关联的节点设备。
因此,一个目标区块高度对应一个数据信息同步请求,并通过一个数据同步组件将一个数据信息同步请求发送至与一个业务接入链相关联的节点设备。
其中,中继节点设备可以基于第一目标区块高度生成第一数据信息同步请求,并通过第一数据同步组件将第一数据信息同步请求发送至与第一业务接入链相关联的第一节点设备,以使第一节点设备基于第一目标区块高度,在第一业务接入链上查找不同于第一目标区块高度的第一目标最大同步区块高度,将第一目标最大同步区块高度与第一目标区块高度之间的区块,确定为待同步给中继节点设备的第一业务区块,基于第一业务区块确定用于更新第一目标业务数据信息的第一更新业务数据信息。
其中,第一节点设备可以在确定第一业务链上的最大区块高度大于第一目标区块高度时,将最大区块高度作为第一目标最大同步区块高度,此时第一目标最大同步区块高度与第一目标区块高度之间的区块可以理解为是没有同步给中继节点设备的区块。或者,第一节点设备可以在确定在第一目标区块高度对应的区块之后生成的区块的数量大于或等于目标数量时,将第一目标区块高度与目标数量的求和结果作为第一目标最大同步区块高度。此时,表示将在第一目标区块高度对应的区块之后生成的目标数量个区块同步给中继节点设备。或者,第一节点设备可以在确定第一业务链上的待处理区块高度大于第一目标区块高度时,将待处理区块高度作为第一目标最大同步区块高度。待处理区块高度可以是第一业务链上的最大区块高度与缓冲区块高度之间的差值。
例如,第一节点设备在接收到第一数据信息同步请求时,基于第一数据信息同步请求中的第一参考高度(比如为x1),将第一业务链上的最大区块高度(比如为x2)作为查找到的不同于第一目标区块高度的第一目标最大同步区块高度(即x2);或者,将第一参考高度与目标数量(比如为x3)的求和结果作为查找到的不同于第一目标区块高度的第一目标最大同步区块高度(即x1+x3);或者;将第一参考高度与目标数量(比如为x3)的求和结果作为查找到的不同于第一目标区块高度的第一目标最大同步区块高度(即x1+x3);或者将第一业务链上的最大区块高度与缓冲区块高度(比如为x4)的求差结果作为查找到的不同于第一目标区块高度的第一目标最大同步区块高度(即x2-x4)。
其中,可以将第一目标最大同步区块高度(即从第一业务链上同步到的区块高度)与第一目标区块高度之间的区块,确定为待同步给中继节点设备的第一业务区块,并通过第一业务区块中的区块数据信息确定待同步给中继节点设备的第一同步数据信息,该第一同步数据信息包括用于更新第一目标业务数据信息的第一更新业务数据信息。该第一更新业务数据信息可以包括第一业务区块的区块高度、第一业务区块的默克尔树根等等,此处不做限定。第一同步数据信息中还可以包括第一业务区块的区块头、区块账本数据等等,此处不做限定。也就是说,该第一同步数据信息为第一业务区块中的部分或全部区块数据信息。可以通过数据同步组件从第一业务链上同步第一区块数据信息。第一更新业务数据信息属于从第一业务链上同步到的第一业务区块的第一区块数据信息。
可以理解,当无法查找到不同于第一目标区块高度的第一目标最大同步区块高度时,生成数据同步失败信息,并将数据同步失败信息返回给中继节点设备,该表示,此时无法对第一业务链进行新的区块高度确认。
相应地,中继节点设备可以基于第二目标区块高度生成第二数据信息同步请求,并通过第二数据同步组件将第二数据信息同步请求发送至与第二业务接入链相关联的第二节点设备,以使第二节点设备基于第二目标区块高度,在第二业务接入链上查找不同于第二目标区块高度的第二目标最大同步区块高度,将第二目标最大同步区块高度与第二目标区块高度之间的区块,确定为待同步给中继节点设备的第二业务区块,基于第二业务区块确定用于更新第二目标业务数据信息的第二更新业务数据信息。
因此,中继节点设备可以从接入链注册合约中获取一个业务接入链同步到的最大区块高度(也就是历史最大已确认区块高度),以作为该业务接入链对应的目标区块高度。也可以是,从数据同步组件中获取一个业务接入链同步到的最大区块高度,以作为该业务接入链对应的目标区块高度。可选地,中继节点设备可以周期性地基于每次获取到的最新目标区块高度生成每个业务接入链的数据信息同步请求,或者每次对业务接入链完成一次区块高度确认时,生成一个数据信息同步请求,以同步业务接入链上的区块数据信息。
S207、接收N个业务接入链相关联的节点设备返回的N个更新业务数据信息,并通过中继节点设备上配置的合并共识引擎,将N个更新业务数据信息写入接入链注册合约中。
因此,一个目标区块高度对应一个数据信息同步请求,并通过一个数据同步组件将一个数据信息同步请求发送至与一个业务接入链相关联的节点设备。可以接收一个业务接入链相关联的节点设备返回的一个更新业务数据信息,并将该更新业务数据信息写入接入链注册合约中。
可以理解,不同业务接入链独立进行区块高度确认,在生成一个业务接入链的数据信息同步请求时,将该数据信息同步请求发送给该业务接入链所关联的节点设备,并接收到该节点设备所返回的更新业务数据信息,以及通过中继节点设备上配置的合并共识引擎将该更新业务数据信息写入接入链注册合约中。
也就是说,可以接收一个业务接入链相关联的节点设备返回的一个同步数据信息,并在对同步信息数据进行信息验证,且信息验证成功后,将该更新业务数据信息写入接入链注册合约中。
可选地,以第一业务接入链为例,第一更新业务数据信息包括第一业务区块的区块高度以及第一业务区块的默克尔树根。中继节点设备将第一更新业务数据信息写入接入链注册合约中可以是,通过合并共识引擎,将第一更新业务数据信息包括的第一业务区块的区块高度中的第一目标最大同步区块高度作为第一业务接入链的第一待确认区块高度,从第一更新业务数据信息包括的第一业务区块的默克尔树根中,获取第一待确认区块高度对应的第一待确认区块的默克尔树根;通过第一待确认区块高度和第一待确认区块的默克尔树根构建目标合并共识交易;将目标合并共识交易打包至中继区块,且将中继区块添加至中继区块链时,将从接入链注册合约中获取到的第一业务接入链的历史最大已确认区块高度作为第一更新区块高度,将第一更新区块高度与第一待确认区块高度之间的区块高度作为第一目标已确认区块高度,并将第一更新区块高度与第一待确认区块高度之间的区块的默克尔树根作为第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根;将第一目标已确认区块高度更新至接入链注册合约中所管理的第一业务接入链上的历史已确认数据信息包括的历史已确认区块高度中,并将第一目标已确认区块的默克尔树根更新至接入链注册合约中所管理的第一业务接入链上的历史已确认数据信息包括的历史已确认区块的默克尔树根中。
可以理解,第一待确认区块高度和第一待确认区块的默克尔树根(或者关联信息)会添加至目标合并共识交易中,以基于该目标合并共识交易对所添加的第一待确认区块高度和第一待确认区块的默克尔树根进行确认。
此时,表示第一业务接入链的区块高度确认到第一待确认区块高度,因此将第一业务接入链上已确认到的高度(第一目标业务数据信息包括的历史已确认区块高度中的历史最大已确认区块高度)与第一待确认区块高度作为此次已确认过的区块高度,并写入接入链注册合约中。将第一业务接入链上已确认到的区块(第一目标业务数据信息包括的历史已确认区块高度中的历史最大已确认区块高度对应的历史已确认区块)与第一待确认区块高度对应的区块之间的区块作为此次已确认过的区块,并将已确认过的区块的默克尔树根写入接入链注册合约中。
可以理解,此次已确认过的区块高度在写入接入链注册合约后,即为历史已确认区块高度,此次已确认过的区块的默克尔树根写入接入链注册合约后,即为历史已确认区块的默克尔树根。此次已确认过的区块高度和此次已确认过的区块的默克尔树根属于同步到的历史业务数据信息,该历史业务数据信息中的第一待确认区块高度和第一待确认区块的默克尔树根可以构建合并共识交易(即历史合并共识交易)。
可以理解,可以通过第一更新业务数据信息进行第一业务链的新的区块高度的确认,并将确认过的区块高度(比如区块高度y11-y41)和该确认过的区块高度对应的区块(即确认过的区块)的默克尔树根(比如默克尔树根y12-y42)写入接入链注册合约中,以实现对接入链注册合约中记录的第一业务接入链的历史已确认区块高度和历史已确认区块的默克尔树根的更新。这样,在下一次接收到来源于第一业务接入链的跨链信息(跨链信息Y)时,从接入链注册合约中所获取到用于校验跨链信息Y的第一目标业务数据信息(第一目标业务数据信息Y)即为更新后的第一目标业务数据信息,即此时第一目标业务数据信息Y中的历史已确认区块高度包括区块高度y11-y41,第一目标业务数据信息Y中的历史已确认区块的默克尔树根包括默克尔树根y12-y42。
也就是将第一业务链所关联的历史最大已确认区块高度与第一待确认区块高度之间的区块高度(包括第一目标已确认区块高度)更新在接入链注册合约中,以及将位于第一业务链所关联的历史最大已确认区块高度与第一待确认区块高度之间的区块(包括第一目标已确认区块)的默克尔树根更新在接入链注册合约中。
可以理解,当目标合并共识交易打包至中继区块,且将中继区块添加至中继区块链时,表示中继区块链所关联的各个中继节点设备对第一待确认区块高度和第一待确认区块的默克尔树根进行了共识,且各个中继节点设备均对第一待确认区块高度和第一待确认区块的默克尔树根进行了确认,此时可以将所同步到的第一业务区块的区块高度作为第一目标已确认区块高度,并将第一业务区块的默克尔树根作为第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根。此时更新后的接入链注册合约中记录的第一业务接入链上的历史已确认数据信息包括的历史已确认区块高度为0-目标合并共识交易中所记录的第一业务接入链的确认区块高度y;更新后的接入链注册合约中记录的第一业务接入链上的历史已确认数据信息包括的历史已确认区块的默克尔树根为区块高度0对应的区块的默克尔树根-目标合并共识交易中所记录的第一业务接入链的确认区块高度y对应的确认区块的默克尔树根。
其中,可以理解,中继节点设备在将交易池中的交易打包至提议区块时,需要构建提议区块中的第一个交易(基础交易,coinbase),可以将第一待确认区块高度和第一待确认区块的默克尔树根添加至基础交易中,以作为目标合并共识交易。也就是说,在构建基础交易时,可以获取各个业务接入链对应的待确认区块高度和待确认区块的默克尔树根,并添加到基础交易中,以实现对各个业务接入链的区块高度合并确认。当未获取到业务接入链对应的待确认区块高度和待确认区块的默克尔树根时,表示此时没有从业务接入链上同步到最新高度,无法对该业务接入链进行区块高度确认。
可以理解,各个业务接入链对应的待确认区块高度即为从业务接入链上所同步到的最大高度(且此时的最大高度大于接入链注册合约中所记录的历史最大已确认区块高度),各个业务接入链对应的待确认区块的默克尔树根即为从业务接入链上所同步到的最大高度对应的区块的默克尔树根。
其中,构建目标合并共识交易可以是:基于第一待确认区块高度和第一待确认区块的默克尔树根,确定第一业务接入链对应的第一节点数据信息;对第一业务接入链对应的第一节点数据信息进行哈希计算,得到第一业务接入链对应的第一节点哈希信息;将第一业务接入链对应的第一节点哈希信息作为用于构建合并共识树的叶子节点;基于叶子节点构建合并共识树,并基于合并共识树构造目标合并共识交易。
可以理解,对于每个业务接入链,若在构建目标合并共识交易时,可以获取到待确认区块高度和待确认区块的默克尔树根,则可以基于所获取到的待确认区块高度和待确认区块的默克尔树根确定对应业务接入链所对应的节点哈希信息,以作为叶子节点。一个叶子节点对应一个具有待确认区块高度和待确认区块的默克尔树根的业务接入链。其中,通过叶子节点构建合并共识树的方式与构建默克尔树的方式相同。
其中,N个业务接入链关联有初始合并共识数组,初始合并共识数组用于构建目标合并共识交易;初始合并共识数组中包括N个业务接入链所关联的N个数组元素,一个业务接入链关联一个数组元素;第一业务接入链所关联的数组元素被配置为第一元素值。
因此,基于合并共识树构造目标合并共识交易可以是,在将第一业务接入链对应的第一节点哈希信息作为用于构建合并共识树的叶子节点时,在初始合并共识数组中,将第一业务接入链所关联的数组元素由第一元素值更新配置为第二元素值,得到更新合并共识数组;基于合并共识树和更新合并共识数组构造目标合并共识交易。
可以理解,对于每个业务接入链,若在构建目标合并共识交易时,可以获取到待确认区块高度和待确认区块的默克尔树根(也就是从业务接入链上同步了区块数据信息,即数据同步组件中所记录的最大同步高度大于接入链注册合约中所记录的最大已确认区块高度),即对于业务接入链,可以作为合并共识树的叶子节点时,则可以将所获取到待确认区块高度和待确认区块的默克尔树根的业务接入链所关联的数组元素由第一元素值更新配置为第二元素值,作为叶子节点的业务接入链所关联的数组元素由第一元素值更新配置为第二元素值。
可以理解,在对业务接入链进行接入注册时,会在初始合并共识数组中配置所接入的业务接入链所关联的数组元素。此时,初始合并共识数组中的数组元素均为第一元素值。当获取到一个业务接入链的待确认区块高度和待确认区块的默克尔树根时,即表示一个业务接入链具有对应的节点哈希信息,也就是一个业务接入链具有对应的叶子节点,可以在初始合并共识数组中将该业务接入链所关联的数组元素由第一元素值更新配置为第二元素值。
可以理解,在将合并共识树和更新合并共识数组添加到所构建的基础交易中时,将包含合并共识树和更新合并共识数组的基础交易作为目标合并共识交易。可以理解,当更新合并共识数据中的一个数组元素为第二元素值时,表示该数组元素所关联的业务接入链对应的待确认区块高度和待确认区块的默克尔树根以添加至目标合并共识交易中,且目标合并共识交易中的合并共识树用于记录该关联的业务接入链所对应添加的待确认区块高度和待确认区块的默克尔树根的相关信息。
例如,在打包提议区块时,会构建提议区块的基础交易,在构建基础交易时,通过合并共识引擎从数据同步组件中获取N个业务接入链(比如第一业务接入链、第二业务接入链、第三业务接入链)的最新同步高度和最新同步高度对应的区块的默克尔树根,即获取N个业务接入链的待确认区块高度(大于接入链注册合约中所记录的历史最大已确认区块高度)以及待确认区块的默克尔树根,若获取到第一业务接入链的第一待确认区块高度和第一待确认区块的默克尔树根,以及获取到第二业务接入链的第二待确认区块高度和第二待确认区块的默克尔树根,且未获取到第三业务接入链的第三待确认区块高度和第三待确认区块的默克尔树根,则将第一业务接入链的第一待确认区块高度和第一待确认区块的默克尔树根作为第一业务接入链对应的第一节点数据信息,将第二业务接入链的第二待确认区块高度和第二待确认区块的默克尔树根作为第二业务接入链对应的第二节点数据信息,对第一业务接入链对应的第一节点数据信息进行哈希计算,得到第一业务接入链对应的第一节点哈希信息,并对第二业务接入链对应的第二节点数据信息进行哈希计算,得到第二业务接入链对应的第二节点哈希信息;将第一业务接入链对应的第一节点哈希信息和第二业务接入链对应的第二节点哈希信息,作为用于构建合并共识树的叶子节点,基于叶子节点构建合并共识树,并将合并共识树写入所构建的基础交易中,将包含合并共识树的基础交易作为目标合并共识交易(交易H1)。此时,可以通过交易H1对第一业务链和第二业务链的区块高度进行确认,所确认到的区块高度即为第一待确认区块高度和第二待确认区块高度。
因此,初始合并共识数组中包括第一业务接入链所关联的第一数组元素、第二业务接入链所关联的第二数组元素、第三业务接入链所关联的第三数组元素;初始合并共识数组中的数组元素均为第一元素值(比如为0),当第一业务接入链对应的第一节点哈希信息作为用于构建合并共识树的叶子节点时,将第一数组元素从第一元素值更新配置为第二元素值(比如为1),并将第二数组元素从第一元素值更新配置为第二元素值,由此得到更新合并共识数组。
其中,可以将第一业务接入链所关联的第一数组元素的元素标号、第一待确认区块高度、第一待确认区块的默克尔树根确定第一业务接入链对应的第一节点数据信息。或者,将第一待确认区块高度、第一待确认区块的默克尔树根确定第一业务接入链对应的第一节点数据信息。在此不做限定。
例如,如图10所示,图10是本申请实施例提供的一种目标合并共识交易的示意图;其中,打包提议区块(即中继区块)时,构建提议区块中的第一个交易(基础交易),并在构建基础交易时,从数据同步组件中获取业务接入链的待确认区块高度和待确认区块的默克尔树根(比如获取到第一业务接入链的第一待确认区块高度和第一待确认区块的默克尔树根、第二业务接入链的第二待确认区块高度和第二待确认区块的默克尔树根、第三业务接入链的第三待确认区块高度和第三待确认区块的默克尔树根、第四业务接入链的第四待确认区块高度和第三待确认区块的默克尔树根),由此得到第一业务接入链对应的第一节点数据信息(L1)、第二业务接入链对应的第二节点数据信息(L2)、第三业务接入链对应的第三节点数据信息(L3),以及第四业务接入链对应的第四节点数据信息(L4);对第一节点数据信息进行哈希计算得到第一节点哈希信息(H(L1))、对第二节点数据信息进行哈希计算得到第二节点哈希信息(H(L2))、对第三节点数据信息进行哈希计算得到第三节点哈希信息(H(L3)),以及对第四节点数据信息进行哈希计算得到第四节点哈希信息(H(L4));将第一节点哈希信息、第二节点哈希信息、第三节点哈希信息、第四节点哈希信息作为叶子节点,以构建合并共识树;以业务接入链为10个为例,初始合并共识数组中包括10个数组元素,该10个数组元素均为第一元素值(比如为0),如第一业务接入链所关联的数组元素是10个数组元素中的第2个数组元素、第二业务接入链所关联的数组元素是10个数组元素中的第3个数组元素、第三业务接入链所关联的数组元素是10个数组元素中的第5个数组元素、第四业务接入链所关联的数组元素是10个数组元素中的第8个数组元素;将初始合并共识数组中,第2个数组元素、第3个数组元素、第5个数组元素、第8个数组元素从第一元素值更新配置为第二元素值;将合并共识树和更新合并共识数组添加至基础交易中,得到合并共识交易(TA),并在对提议区块(中继区块)进行区块共识并上链中继区块链时,表示完成对第一业务接入链、第二业务接入链、第三业务接入链和第四业务接入链的区块共识。提议区块包括多个业务交易(TA、TX1、TX2、TX3),以及为该多个业务交易所构建的默克尔树(包括多个叶子节点,由业务交易的哈希计算结果构成,比如多个叶子节点为H(TX)、H(TX1)、H(TX2)、H(TX3);其中,H(XX)表示对数据XX进行哈希计算,通过该多个叶子节点确定中继区块对应的默克尔树)。
又如,如图11-图12所示,图11-图12是本申请实施例提供的一种区块高度确认的示意图;其中,每个业务接入链的区块高度确认过程相同,此处以第一业务接入链为例,第一业务接入链的第一数据同步组件中包括从第一业务接入链上所同步到的第一区块数据信息,比如可以包括历史所同步到的区块的区块高度和默克尔树根;从第一数据同步组件所同步到的第一区块数据信息中获取第一历史最大同步区块高度(比如u1),并将第一历史最大同步区块高度作为第一目标区块高度,基于第一目标区块高度生成第一数据信息同步请求并发送给第一节点设备,由第一节点设备基于第一目标区块高度,在第一业务接入链上查找不同于第一目标区块高度的第一目标最大同步区块高度(u2),将第一目标最大同步区块高度与第一目标区块高度之间的区块,确定为待同步给中继节点设备的第一业务区块,基于第一业务区块确定用于更新第一目标业务数据信息的第一更新业务数据信息,中继节点设备接收第一节点设备返回的第一更新业务数据信息,可以理解,第一更新业务数据信息为从第一节点设备中不断同步到的第一业务链上的数据信息。第一业务区块为从第一节点设备中不断同步到的第一业务链上的区块。
比如,如图11,中继节点设备在t1时刻从第一数据同步组件所同步的第一区块数据信息中所获取到的从第一节点设备上所同步到的最大高度为u1(第一目标区块高度1),则基于u1生成第一数据信息同步请求1,此时中继链上的区块高度为0-v1,将第一数据信息同步请求1发送给第一节点设备,第一节点设备确定业务接入链1的第一目标最大同步区块高度u2,将第一目标最大同步区块高度u2与第一目标区块高度u1之间的区块,确定为待同步给中继节点设备的第一业务区块1,并基于第一业务区块1确定用于更新第一目标业务数据信息的第一更新业务数据信息1;中继节点设备在t2(t2大于t1)时刻从第一数据同步组件所同步的第一区块数据信息中所获取到的从第一节点设备上所同步到的最大高度为u2(第一目标区块高度2),则基于u2生成第一数据信息同步请求,此时中继链上的区块高度为0-v2(v2>v1),将第一数据信息同步请求发送给第一节点设备,第一节点设备确定业务接入链1的第一目标最大同步区块高度u3,将第一目标最大同步区块高度u3与第一目标区块高度u2之间的区块,确定为待同步给中继节点设备的第一业务区块2,并基于第一业务区块2确定用于更新第一目标业务数据信息的第一更新业务数据信息2。
因此,如图12,接入链注册合约中管理有第一业务接入链(即业务接入链1)的历史已确认区块高度(0-k)和历史已确认区块的默克尔树根(y0-yk)。当在T1时刻,当打包交易至提议区块时,会构建提议区块中的基础交易,可以通过合并共识引擎从第一更新业务数据信息(即从第一业务链上同步到的第一区块数据信息)包括的第一业务区块的区块高度中的第一目标最大同步区块高度作为第一业务接入链的第一待确认区块高度(ux1),即当前所同步到的第一业务接入链的最新区块高度,从第一更新业务数据信息包括的第一业务区块的默克尔树根中,获取第一待确认区块高度对应的第一待确认区块的默克尔树根(yx1),通过第一待确认区块高度和第一待确认区块的默克尔树根构建目标合并共识交易1,在对目标合并共识交易1完成共识后,将接入链注册合约所管理的第一业务接入链的历史已确认区块高度中的最大区块高度作为第一更新区块高度(k),将第一更新区块高度与第一待确认区块高度之间的区块高度作为第一目标已确认区块高度(k-ux1),将第一更新区块高度与第一待确认区块高度之间的区块的默克尔树根作为第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根(yk-yx1),将第一目标已确认区块高度(k-ux1)更新至接入链注册合约中,即此时接入链注册合约中管理的第一业务接入链的历史已确认区块高度为0-ux1;将第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根(yk-yx1)更新至接入链注册合约中,即此时接入链注册合约中管理的第一业务接入链的历史已确认区块的默克尔树根为y0-yx1。
此时目标合并共识交易1为历史合并共识交易,历史已确认区块高度(0-ux1)和历史已确认区块的默克尔树根(y0-yx1)为接入链注册合约中管理的第一业务接入链的历史已确认数据信息,也即从同步到的第一业务接入链的历史业务数据信息,该历史业务数据信息构成了历史合并共识交易。
此时,若接收到来源于第一业务接入链的跨链信息1,所获取到的第一目标业务数据信息1包括历史已确认区块高度(0-ux1)和历史已确认区块的默克尔树根(y0-yx1)。
后续,当在T2时刻,当打包交易至提议区块时,会构建提议区块中的基础交易,可以构建提议区块中的基础交易时,通过合并共识引擎从第一更新业务数据信息包括的第一业务区块的区块高度中的第一目标最大同步区块高度作为第一业务接入链的第一待确认区块高度(ux2),即当前所同步到的第一业务接入链的最新区块高度,从第一更新业务数据信息包括的第一业务区块的默克尔树根中,获取第一待确认区块高度对应的第一待确认区块的默克尔树根(yx2),通过第一待确认区块高度和第一待确认区块的默克尔树根构建目标合并共识交易2,在对目标合并共识交易2完成共识后,将接入链注册合约所管理的第一业务接入链的历史已确认区块高度中的最大区块高度作为第一更新区块高度(ux1),将第一更新区块高度与第一待确认区块高度之间的区块高度作为第一目标已确认区块高度(ux1-ux2),将第一更新区块高度与第一待确认区块高度之间的区块的默克尔树根作为第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根(yx1-yx2),将第一目标已确认区块高度(ux1-ux2)更新至接入链注册合约中,即此时接入链注册合约中管理的第一业务接入链的历史已确认区块高度为0-ux2;将第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根(yx1-yx2)更新至接入链注册合约中,即此时接入链注册合约中管理的第一业务接入链的历史已确认区块的默克尔树根为y0-yx2。
此时,若接收到来源于第一业务接入链的跨链信息1,所获取到的第一目标业务数据信息2包括历史已确认区块高度(0-ux2)和历史已确认区块的默克尔树根(y0-yx2)。第一目标业务数据信息2相较于第一目标业务数据信息1,在经历了新的一轮区块高度确认后,得到了更新。
因此,本申请可以在使用中继链进行跨链的模式下,引入合并共识技术,将中继链的信息确认和合并共识融合,使得中继链在跨链确认的过程中可以使用中继链进行原生跨链确认。这样可以将中继链改造为可对多个业务接入链进行合并共识的区块链。由此,可以将各个业务接入链的区块高度确认放到中继链所关联的各个中继节点设备中进行,抛开了需要使用轻节点合约的模式。这样,在业务接入链的区块高度确认过程中,实现起来可以更加灵活,对于接入异构链的中继链跨链设计尤为有效和重要,无需实现轻节点合约进行业务接入链的确认,对业务接入链的确认过程可以在数据同步组件中通过原生代码实现,同时,从业务接入链上同步到的区块数据信息不会写入中继链,有效降低中继链的链上空间。
可以理解,中继节点设备中部署有合并共识引擎、每个业务接入链的数据同步组件、接入链注册合约和跨链信息确认合约。其中,合并共识引擎可以用于中继链上的区块共识,以及在区块共识时,实现对业务接入链的区块高度确认,也就是说,在区块共识时,可以从各个业务接入链的数据同步组件中读取最新同步高度以及最新同步区块的默克尔树根,在读取到最新同步高度以及最新同步区块的默克尔树根时,构建合并共识树和更新初始合并共识数组,以构建合并共识交易,在对合并共识交易完成区块高度时,将读取到的最新同步高度以及最新同步区块的默克尔树根写入接入链注册合约中。可以理解,中继节点设备对跨链信息的信息校验和区块高度的确认是分开逻辑,即是异步的。中继节点设备中的数据同步组件用于同步业务接入链上的区块数据信息,一个业务接入链对应一个数据同步组件。可知,接入链注册合约用于对业务区块链进行接入注册以将业务区块链作为中继链的业务接入链,以及管理所接入的业务接入链的历史已确认区块高度和历史已确认区块的默克尔树根。跨链信息确认合约用于对跨链信息进行确认和审批。
本申请实施例所涉及的多区块链包括中继区块链和N个业务接入链(比如业务接入链A和业务接入链B),N个业务接入链为通过中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数。应当理解,本申请实施例所涉及的中继节点设备可以用于接收来源于任一业务接入链的跨链信息,以参与跨链资源转移的过程(比如来源于业务接入链A的跨链信息用于指示将业务接入链A上的交易资源转移至业务接入链B)。中继节点设备可以从接入链注册合约中获取用于对接收到的跨链信息进行信息校验的目标业务数据信息,并通过该目标业务数据信息对N个跨链信息进行信息校验,得到信息校验结果,若信息校验结果指示信息校验成功,则执行后续跨链操作,比如对接收到的跨链信息进行信息审批。其中,目标业务数据信息是通过中继节点设备上的数据同步组件所同步到的,通过数据同步组件可以不用以交易的形式在轻节点合约中对同步到的数据信息进行信息验证,也就是说,无需为每个业务接入链部署一个轻节点合约,同时通过数据同步组件同步和验证业务接入链上的数据信息可以在链下进行,同步到的数据信息和验证过程不会记录在中继链上,由此可以节省中继链的链上空间和链上资源,并减少在中继链上所需要执行的交易数量,同时,在对N个业务接入链的区块高度进行确认时,是通过所有业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的,该历史合约共识交易包含针对所有业务接入链的待确认的信息,这样可以通过一个合并共识交易对N个业务接入链完成一次区块高度确认,无需通过中继链上为各个接入链部署的轻节点合约多次重复进行各个业务接入链的区块高度确认,这样可以提高在中继链上对业务接入链的区块高度确认效率,从而提高在中继链上对来源于业务接入链的跨链信息的确认效率,有助于提升跨链资源转移的效率。
进一步的,请参见图13,图13是本申请实施例提供的一种基于多区块链的信息处理装置的结构示意图。如图13所示,基于多区块链的信息处理装置1可应用于计算机设备。应当理解,该基于多区块链的信息处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于多区块链的信息处理装置1可以为一个应用软件;可以理解的是,该基于多区块链的信息处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图13所示,基于多区块链的信息处理装置1可以包括:跨链信息接收模块11、数据信息获取模块12、跨链信息校验模块13、跨链信息审核模块14;其中:
跨链信息接收模块11,用于接收来源于N个业务接入链的N个跨链信息;一个跨链信息来源于一个业务接入链;
数据信息获取模块12,用于从接入链注册合约中获取用于对N个跨链信息分别进行信息校验的N个目标业务数据信息;N个目标业务数据信息是通过中继节点设备上的N个数据同步组件,分别从N个业务接入链上所同步到的;一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息;一个目标业务数据信息是基于接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的;一个历史已确认数据信息包括历史已确认区块高度和历史已确认区块高度所对应的历史已确认区块的默克尔树根;历史已确认区块高度是由中继节点设备基于同步到的N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的;
跨链信息校验模块13,用于通过N个目标业务数据信息中的历史已确认区块高度和历史已确认区块的默克尔树根,对N个跨链信息进行信息校验,得到信息校验结果;
跨链信息审核模块14,用于若信息校验结果指示信息校验成功,则对N个跨链信息进行信息审批。
其中,N个业务接入链包括第一业务接入链,第一业务接入链在通过接入链注册合约进行注册之前为第一业务区块链;
跨链信息接收模块11还包括:
注册请求接收单元111,用于在接收到与第一业务区块链相关联的第一节点设备发送的第一接入注册请求时,基于第一接入注册请求确定第一业务区块链的链标识;
链标识添加单元112,用于基于第一业务区块链的链标识调用接入链注册合约,将第一业务区块链的链标识,添加至接入链注册合约所管理的接入链标识信息中,并将第一业务区块链作为通过接入链注册合约进行注册后的第一业务接入链。
其中,N个业务接入链包括第一业务接入链;来源于第一业务接入链的跨链信息为第一跨链信息;第一业务接入链对应的数据同步组件为第一数据同步组件;由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息;第一跨链信息包括第一业务接入链的链标识;
数据信息获取模块12包括:
数据信息获取单元121,用于调用中继区块链上的跨链信息确认合约,从接入链注册合约中获取与第一业务接入链的链标识相关联的历史已确认区块高度,以及与第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根;
数据信息获取单元121,还用于将与第一业务接入链的链标识相关联的历史已确认区块高度,以及与第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根,作为第一目标业务数据信息。
其中,N个业务接入链包括第一业务接入链和第二业务接入链;来源于第一业务接入链的跨链信息为第一跨链信息;第一跨链信息是与第一业务接入链相关联的第一节点设备基于第一跨链任务将第一业务接入链上的第一交易资源锁定之后所生成的;第一跨链任务用于指示将第一业务对象在第一业务接入链上的第一交易资源,跨链转移至第二业务接入链上的第二业务对象;第一跨链信息是第一节点设备在将与第一跨链任务相关联的第一跨链交易打包至第一目标区块,且将第一目标区块添加至第一业务接入链时所确定的;第一跨链信息中包括第一目标区块的区块高度、第一跨链交易的默克尔树路径;第一业务接入链对应的数据同步组件为第一数据同步组件;由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息;
跨链信息校验模块13包括:
区块高度获取单元131,用于从第一目标业务数据信息包括的历史已确认区块高度中,获取历史最大已确认区块高度,将获取到的历史最大已确认区块高度作为第一参考区块高度;
区块高度获取单元131,还用于将第一跨链信息中的第一目标区块的区块高度作为第一比对区块高度;
区块高度比对单元132,用于对第一参考区块高度和第一比对区块高度进行高度比对,得到第一高度比对结果;
信息校验单元133,用于基于第一高度比对结果,对第一跨链信息进行信息校验,得到第一跨链信息对应的信息校验结果。
其中,信息校验单元133还用于:
若第一高度比对结果指示第一参考区块高度小于第一比对区块高度,则生成对第一跨链信息进行信息校验的第一校验失败信息;
基于第一校验失败信息,得到第一跨链信息对应的信息校验结果。
其中,信息校验单元133包括:
数据信息获取子单元1331,用于若第一高度比对结果指示第一参考区块高度大于或等于第一比对区块高度,则从第一目标业务数据信息包括的历史已确认区块的默克尔树根中,获取第一比对区块高度所对应的历史已确认区块的默克尔树根,将获取到的第一比对区块高度所对应的历史已确认区块的默克尔树根作为待比对默克尔树根;
树根副本确定子单元1332,用于基于第一跨链信息中的第一跨链交易的默克尔树路径确定用于比对待比对默克尔树根的默克尔树根副本;
信息比对子单元,用于对默克尔树根副本和待比对默克尔树根进行信息比对,得到第一信息比对结果;
信息校验子单元1333,用于若第一信息比对结果指示默克尔树根副本和待比对默克尔树根一致,则生成对第一跨链信息进行信息校验的校验成功信息;
信息校验子单元1333,还用于基于校验成功信息,得到第一跨链信息对应的信息校验结果。
其中,信息校验单元133还包括:
若第一信息比对结果指示默克尔树根副本和待比对默克尔树根不一致,则生成对第一跨链信息进行信息校验的第二校验失败信息;
基于第二校验失败信息,得到第一跨链信息对应的信息校验结果。
其中,跨链信息审核模块14包括:
信息审批单元141,用于通过中继区块链上的跨链信息确认合约,调用跨链审批合约对第一跨链信息进行信息审批,得到信息审批结果;
通过交易生成单元142,用于若信息审批结果指示第一跨链信息所对应的第一跨链任务为第一合法任务,则生成第一合法任务对应的第一审批通过交易;
跨链信息发送单元143,用于在将第一审批通过交易写入至中继区块链时,得到第一审批通过交易对应的第一跨链确认信息,将第一跨链确认信息发送至与第二业务接入链相关联的第二节点设备,以使第二节点设备在获取到中继区块链上的中继业务数据信息时,通过中继业务数据信息对第一跨链确认信息进行信息验证,且在信息验证成功时将锁定的第一交易资源释放给第二业务对象。
其中,N个业务接入链包括第一业务接入链;第一业务接入链对应的数据同步组件为第一数据同步组件;由第一数据同步组件从第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,第一目标业务数据信息属于N个目标业务数据信息;第一目标业务数据信息属于从第一业务接入链上所同步到的第一区块数据信息;
数据信息获取模块12还包括:
历史高度获取单元122,用于获取由第一数据同步组件从第一业务接入链上所同步到的第一区块数据信息中的第一历史最大同步区块高度,将获取到的第一历史最大同步区块高度作为第一目标区块高度;
同步请求生成单元123,用于基于第一目标区块高度生成第一数据信息同步请求,并通过第一数据同步组件将第一数据信息同步请求发送至与第一业务接入链相关联的第一节点设备,以使第一节点设备基于第一目标区块高度,在第一业务接入链上查找不同于第一目标区块高度的第一目标最大同步区块高度,将第一目标最大同步区块高度与第一目标区块高度之间的区块,确定为待同步给中继节点设备的第一业务区块,基于第一业务区块确定用于更新第一目标业务数据信息的第一更新业务数据信息;
数据信息接收单元124,用于接收第一节点设备返回的第一更新业务数据信息,并通过中继节点设备上配置的合并共识引擎,将第一更新业务数据信息写入接入链注册合约中。
其中,第一更新业务数据信息包括第一业务区块的区块高度以及第一业务区块的默克尔树根;
数据信息接收单元124包括:
业务信息获取子单元1241,用于通过合并共识引擎,将第一更新业务数据信息包括的第一业务区块的区块高度中的第一目标最大同步区块高度作为第一业务接入链的第一待确认区块高度,从第一更新业务数据信息包括的第一业务区块的默克尔树根中,获取第一待确认区块高度对应的第一待确认区块的默克尔树根;
共识交易构建子单元1242,用于通过第一待确认区块高度和第一待确认区块的默克尔树根构建目标合并共识交易;
区块确认子单元1243,用于将目标合并共识交易打包至中继区块,且将中继区块添加至中继区块链时,将从接入链注册合约中获取到的第一业务接入链的历史最大已确认区块高度作为第一更新区块高度,将第一更新区块高度与第一待确认区块高度之间的区块高度作为第一目标已确认区块高度,并将第一更新区块高度与第一待确认区块高度之间的区块的默克尔树根作为第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根;
数据更新子单元1244,用于将第一目标已确认区块高度更新至接入链注册合约中所管理的第一业务接入链上的历史已确认数据信息包括的历史已确认区块高度中,并将第一目标已确认区块的默克尔树根更新至接入链注册合约中所管理的第一业务接入链上的历史已确认数据信息包括的历史已确认区块的默克尔树根中。
其中,共识交易构建子单元1242具体用于:
基于第一待确认区块高度和第一待确认区块的默克尔树根,确定第一业务接入链对应的第一节点数据信息;
对第一业务接入链对应的第一节点数据信息进行哈希计算,得到第一业务接入链对应的第一节点哈希信息;
将第一业务接入链对应的第一节点哈希信息,作为用于构建合并共识树的叶子节点;
基于叶子节点构建合并共识树,并基于合并共识树构造目标合并共识交易。
其中,N个业务接入链关联有初始合并共识数组,初始合并共识数组用于构建目标合并共识交易;初始合并共识数组中包括N个业务接入链所关联的N个数组元素,一个业务接入链关联一个数组元素;第一业务接入链所关联的数组元素被配置为第一元素值;
共识交易构建子单元1242具体用于:
在将第一业务接入链对应的第一节点哈希信息作为用于构建合并共识树的叶子节点时,在初始合并共识数组中,将第一业务接入链所关联的数组元素由第一元素值更新配置为第二元素值,得到更新合并共识数组;
基于合并共识树和更新合并共识数组构造目标合并共识交易。
其中,跨链信息接收模块11、数据信息获取模块12、跨链信息校验模块13、跨链信息审核模块14的具体实现方式,可以参见上述实施例中的相关描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
进一步地,请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备1400可以为业务终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为服务器为例,该计算机设备1400可以包括:处理器1401,网络接口1404和存储器1405,此外,该计算机设备1400还可以包括:用户接口1403,和至少一个通信总线1402。其中,通信总线1402用于实现这些组件之间的连接通信。其中,用户接口1403还可以包括标准的有线接口、无线接口。网络接口1404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1405可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1405可选的还可以是至少一个位于远离前述处理器1401的存储装置。如图14所示,作为一种计算机可读存储介质的存储器1405中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1400中的网络接口1404还可以提供网络数据交互功能。在图14所示的计算机设备1400中,网络接口1404可提供网络数据交互功能;而用户接口1403主要用于为用户提供输入的接口;而处理器1401可以用于调用存储器1405中存储的设备控制应用程序,以执行上述图3和图9所对应实施例中对基于多区块链的信息处理方法的描述,还可以执行前文图13所对应实施例中对基于多区块链的信息处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
具体实现中,本申请实施例中所描述的装置、处理器、存储器等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于多区块链的信息处理装置1所执行的计算机程序,且计算机程序包括计算机指令,当处理器执行计算机指令时,能够执行前文图3、图9所对应实施例中对基于多区块链的信息处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3、图9所对应实施例中对基于多区块链的信息处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (16)
1.一种基于多区块链的信息处理方法,其特征在于,所述多区块链包括中继区块链和N个业务接入链;所述N个业务接入链为通过所述中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数;所述方法由与所述中继区块链相关联的中继节点设备执行;所述方法包括:
接收来源于所述N个业务接入链的N个跨链信息;一个跨链信息来源于一个业务接入链;
从所述接入链注册合约中获取用于对所述N个跨链信息分别进行信息校验的N个目标业务数据信息;所述N个目标业务数据信息是通过所述中继节点设备上的N个数据同步组件,分别从所述N个业务接入链上所同步到的;一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息;一个目标业务数据信息是基于所述接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的;一个历史已确认数据信息包括历史已确认区块高度和所述历史已确认区块高度所对应的历史已确认区块的默克尔树根;所述历史已确认区块高度是由所述中继节点设备基于同步到的所述N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的;
通过所述N个目标业务数据信息中的所述历史已确认区块高度和所述历史已确认区块的默克尔树根,对所述N个跨链信息进行信息校验,得到信息校验结果;
若所述信息校验结果指示信息校验成功,则对所述N个跨链信息进行信息审批。
2.根据权利要求1所述的方法,其特征在于,所述N个业务接入链包括第一业务接入链,所述第一业务接入链在通过所述接入链注册合约进行注册之前为第一业务区块链;
所述方法还包括:
在接收到与所述第一业务区块链相关联的第一节点设备发送的第一接入注册请求时,基于所述第一接入注册请求确定所述第一业务区块链的链标识;
基于所述第一业务区块链的链标识调用所述接入链注册合约,将所述第一业务区块链的链标识,添加至所述接入链注册合约所管理的接入链标识信息中,并将所述第一业务区块链作为通过所述接入链注册合约进行注册后的所述第一业务接入链。
3.根据权利要求1所述的方法,其特征在于,所述N个业务接入链包括第一业务接入链;来源于所述第一业务接入链的跨链信息为第一跨链信息;所述第一业务接入链对应的数据同步组件为第一数据同步组件;由所述第一数据同步组件从所述第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,所述第一目标业务数据信息属于所述N个目标业务数据信息;所述第一跨链信息包括所述第一业务接入链的链标识;
所述从所述接入链注册合约中获取用于对所述N个跨链信息分别进行信息校验的N个目标业务数据信息,包括:
调用所述中继区块链上的跨链信息确认合约,从所述接入链注册合约中获取与所述第一业务接入链的链标识相关联的历史已确认区块高度,以及与所述第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根;
将与所述第一业务接入链的链标识相关联的历史已确认区块高度,以及与所述第一业务接入链的链标识相关联的历史已确认区块高度所对应的历史已确认区块的默克尔树根,作为所述第一目标业务数据信息。
4.根据权利要求1所述的方法,其特征在于,所述N个业务接入链包括第一业务接入链和第二业务接入链;来源于所述第一业务接入链的跨链信息为第一跨链信息;所述第一跨链信息是与所述第一业务接入链相关联的第一节点设备基于第一跨链任务将所述第一业务接入链上的第一交易资源锁定之后所生成的;所述第一跨链任务用于指示将第一业务对象在所述第一业务接入链上的第一交易资源,跨链转移至所述第二业务接入链上的第二业务对象;所述第一跨链信息是所述第一节点设备在将与所述第一跨链任务相关联的第一跨链交易打包至第一目标区块,且将所述第一目标区块添加至所述第一业务接入链时所确定的;所述第一跨链信息中包括所述第一目标区块的区块高度、所述第一跨链交易的默克尔树路径;所述第一业务接入链对应的数据同步组件为第一数据同步组件;由所述第一数据同步组件从所述第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,所述第一目标业务数据信息属于所述N个目标业务数据信息;
所述通过所述N个目标业务数据信息中的所述历史已确认区块高度和所述历史已确认区块的默克尔树根,对所述N个跨链信息进行信息校验,得到信息校验结果,包括:
从所述第一目标业务数据信息包括的所述历史已确认区块高度中,获取历史最大已确认区块高度,将获取到的历史最大已确认区块高度作为第一参考区块高度;
将所述第一跨链信息中的所述第一目标区块的区块高度作为第一比对区块高度;
对所述第一参考区块高度和所述第一比对区块高度进行高度比对,得到第一高度比对结果;
基于所述第一高度比对结果,对所述第一跨链信息进行信息校验,得到所述第一跨链信息对应的信息校验结果。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一高度比对结果指示所述第一参考区块高度小于所述第一比对区块高度,则生成对所述第一跨链信息进行信息校验的第一校验失败信息;
基于所述第一校验失败信息,得到所述第一跨链信息对应的信息校验结果。
6.根据权利要求4所述的方法,其特征在于,所述基于所述第一高度比对结果,对所述第一跨链信息进行信息校验,得到所述第一跨链信息对应的信息校验结果,包括:
若所述第一高度比对结果指示所述第一参考区块高度大于或等于所述第一比对区块高度,则从所述第一目标业务数据信息包括的所述历史已确认区块的默克尔树根中,获取所述第一比对区块高度所对应的历史已确认区块的默克尔树根,将获取到的所述第一比对区块高度所对应的历史已确认区块的默克尔树根作为待比对默克尔树根;
基于所述第一跨链信息中的所述第一跨链交易的默克尔树路径确定用于比对所述待比对默克尔树根的默克尔树根副本;
对所述默克尔树根副本和所述待比对默克尔树根进行信息比对,得到第一信息比对结果;
若所述第一信息比对结果指示所述默克尔树根副本和所述待比对默克尔树根一致,则生成对所述第一跨链信息进行信息校验的校验成功信息;
基于所述校验成功信息,得到所述第一跨链信息对应的信息校验结果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第一信息比对结果指示所述默克尔树根副本和所述待比对默克尔树根不一致,则生成对所述第一跨链信息进行信息校验的第二校验失败信息;
基于所述第二校验失败信息,得到所述第一跨链信息对应的信息校验结果。
8.根据权利要求4所述的方法,其特征在于,所述对所述N个跨链信息进行信息审批,包括:
通过所述中继区块链上的跨链信息确认合约,调用跨链审批合约对所述第一跨链信息进行信息审批,得到信息审批结果;
若所述信息审批结果指示所述第一跨链信息所对应的所述第一跨链任务为第一合法任务,则生成所述第一合法任务对应的第一审批通过交易;
在将所述第一审批通过交易写入至所述中继区块链时,得到所述第一审批通过交易对应的第一跨链确认信息,将所述第一跨链确认信息发送至与所述第二业务接入链相关联的第二节点设备,以使所述第二节点设备在获取到所述中继区块链上的中继业务数据信息时,通过所述中继业务数据信息对所述第一跨链确认信息进行信息校验,且在信息校验成功时将锁定的第一交易资源释放给所述第二业务对象。
9.根据权利要求1所述的方法,其特征在于,所述N个业务接入链包括第一业务接入链;所述第一业务接入链对应的数据同步组件为第一数据同步组件;由所述第一数据同步组件从所述第一业务接入链上所同步到的目标业务数据信息为第一目标业务数据信息,所述第一目标业务数据信息属于所述N个目标业务数据信息;所述第一目标业务数据信息属于从所述第一业务接入链上所同步到的第一区块数据信息;
所述方法还包括:
获取由所述第一数据同步组件从所述第一业务接入链上所同步到的第一区块数据信息中的第一历史最大同步区块高度,将获取到的所述第一历史最大同步区块高度作为第一目标区块高度;
基于所述第一目标区块高度生成第一数据信息同步请求,并通过所述第一数据同步组件将所述第一数据信息同步请求发送至与所述第一业务接入链相关联的第一节点设备,以使所述第一节点设备基于所述第一目标区块高度,在所述第一业务接入链上查找不同于所述第一目标区块高度的第一目标最大同步区块高度,将所述第一目标最大同步区块高度与所述第一目标区块高度之间的区块,确定为待同步给所述中继节点设备的第一业务区块,基于所述第一业务区块确定用于更新所述第一目标业务数据信息的第一更新业务数据信息;
接收所述第一节点设备返回的所述第一更新业务数据信息,并通过所述中继节点设备上配置的合并共识引擎,将所述第一更新业务数据信息写入所述接入链注册合约中。
10.根据权利要求9所述的方法,其特征在于,所述第一更新业务数据信息包括所述第一业务区块的区块高度以及所述第一业务区块的默克尔树根;
所述通过所述中继节点设备上配置的合并共识引擎,将所述第一更新业务数据信息写入所述接入链注册合约中,包括:
通过所述合并共识引擎,将所述第一更新业务数据信息包括的所述第一业务区块的区块高度中的所述第一目标最大同步区块高度作为所述第一业务接入链的第一待确认区块高度,从所述第一更新业务数据信息包括的所述第一业务区块的默克尔树根中,获取所述第一待确认区块高度对应的第一待确认区块的默克尔树根;
通过所述第一待确认区块高度和所述第一待确认区块的默克尔树根构建目标合并共识交易;
将所述目标合并共识交易打包至中继区块,且将所述中继区块添加至所述中继区块链时,将从所述接入链注册合约中获取到的所述第一业务接入链的历史最大已确认区块高度作为第一更新区块高度,将所述第一更新区块高度与所述第一待确认区块高度之间的区块高度作为所述第一目标已确认区块高度,并将所述第一更新区块高度与所述第一待确认区块高度之间的区块的默克尔树根作为所述第一目标已确认区块高度对应的第一目标已确认区块的默克尔树根;
将所述第一目标已确认区块高度更新至所述接入链注册合约中所管理的所述第一业务接入链上的历史已确认数据信息包括的所述历史已确认区块高度中,并将所述第一目标已确认区块的默克尔树根更新至所述接入链注册合约中所管理的所述第一业务接入链上的历史已确认数据信息包括的所述历史已确认区块的默克尔树根中。
11.根据权利要求10所述的方法,其特征在于,所述通过所述第一待确认区块高度和所述第一待确认区块的默克尔树根构建目标合并共识交易,包括:
基于所述第一待确认区块高度和所述第一待确认区块的默克尔树根,确定所述第一业务接入链对应的第一节点数据信息;
对所述第一业务接入链对应的第一节点数据信息进行哈希计算,得到所述第一业务接入链对应的第一节点哈希信息;
将所述第一业务接入链对应的第一节点哈希信息,作为用于构建合并共识树的叶子节点;
基于所述叶子节点构建所述合并共识树,并基于所述合并共识树构造所述目标合并共识交易。
12.根据权利要求11所述的方法,其特征在于,所述N个业务接入链关联有初始合并共识数组,所述初始合并共识数组用于构建所述目标合并共识交易;所述初始合并共识数组中包括所述N个业务接入链所关联的N个数组元素,一个业务接入链关联一个数组元素;所述第一业务接入链所关联的数组元素被配置为第一元素值;
所述基于所述合并共识树构造所述目标合并共识交易,包括:
在将所述第一业务接入链对应的第一节点哈希信息作为用于构建所述合并共识树的叶子节点时,在所述初始合并共识数组中,将所述第一业务接入链所关联的数组元素由所述第一元素值更新配置为第二元素值,得到更新合并共识数组;
基于所述合并共识树和所述更新合并共识数组构造所述目标合并共识交易。
13.一种基于多区块链的信息处理装置,其特征在于,所述多区块链包括中继区块链和N个业务接入链;所述N个业务接入链为通过所述中继区块链上的接入链注册合约进行注册后所得到的;N为大于1的正整数;所述装置运行在与所述中继区块链相关联的中继节点设备中;所述装置包括:
跨链信息接收模块,用于接收来源于所述N个业务接入链的N个跨链信息;一个跨链信息来源于一个业务接入链;
数据信息获取模块,用于从所述接入链注册合约中获取用于对所述N个跨链信息分别进行信息校验的N个目标业务数据信息;所述N个目标业务数据信息是通过所述中继节点设备上的N个数据同步组件,分别从所述N个业务接入链上所同步到的;一个数据同步组件用于获取一个业务接入链上的一个目标业务数据信息;一个目标业务数据信息是基于所述接入链注册合约中所管理的一个业务接入链上的一个历史已确认数据信息所确定的;一个历史已确认数据信息包括历史已确认区块高度和所述历史已确认区块高度所对应的历史已确认区块的默克尔树根;所述历史已确认区块高度是由所述中继节点设备基于同步到的所述N个业务接入链的历史业务数据信息所构成的历史合并共识交易所确定的;
跨链信息校验模块,用于通过所述N个目标业务数据信息中的所述历史已确认区块高度和所述历史已确认区块的默克尔树根,对所述N个跨链信息进行信息校验,得到信息校验结果;
跨链信息审核模块,用于若所述信息校验结果指示信息校验成功,则对所述N个跨链信息进行信息审批。
14.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
16.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311101693.9A CN116827957B (zh) | 2023-08-30 | 2023-08-30 | 基于多区块链的信息处理方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311101693.9A CN116827957B (zh) | 2023-08-30 | 2023-08-30 | 基于多区块链的信息处理方法、装置、设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116827957A true CN116827957A (zh) | 2023-09-29 |
CN116827957B CN116827957B (zh) | 2023-11-07 |
Family
ID=88118853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311101693.9A Active CN116827957B (zh) | 2023-08-30 | 2023-08-30 | 基于多区块链的信息处理方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116827957B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408848A (zh) * | 2023-12-15 | 2024-01-16 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于区块链的高校实验教学管理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258846A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN113179272A (zh) * | 2021-04-28 | 2021-07-27 | 杭州丽冠科技有限公司 | 基于智能合约的区块链跨链交互方法、装置和计算机可读存储介质 |
CN114567643A (zh) * | 2020-11-27 | 2022-05-31 | 腾讯科技(深圳)有限公司 | 跨区块链的数据流转方法、装置及相关设备 |
WO2022141059A1 (zh) * | 2020-12-29 | 2022-07-07 | 合肥达朴汇联科技有限公司 | 区块链信息跨链交互方法、系统、电子设备及存储介质 |
WO2022242425A1 (zh) * | 2021-05-18 | 2022-11-24 | 京东科技控股股份有限公司 | 区块链跨链服务管理方法及装置 |
WO2023005500A1 (zh) * | 2021-07-27 | 2023-02-02 | 腾讯科技(深圳)有限公司 | 跨链交易处理方法、装置、电子设备以及存储介质 |
CN115730935A (zh) * | 2021-08-30 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN116308368A (zh) * | 2023-05-24 | 2023-06-23 | 国网区块链科技(北京)有限公司 | 一种中继区块链跨链数据安全存储方法、装置及相关设备 |
-
2023
- 2023-08-30 CN CN202311101693.9A patent/CN116827957B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258846A1 (zh) * | 2019-06-28 | 2020-12-30 | 创新先进技术有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN114567643A (zh) * | 2020-11-27 | 2022-05-31 | 腾讯科技(深圳)有限公司 | 跨区块链的数据流转方法、装置及相关设备 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
WO2022141059A1 (zh) * | 2020-12-29 | 2022-07-07 | 合肥达朴汇联科技有限公司 | 区块链信息跨链交互方法、系统、电子设备及存储介质 |
CN113179272A (zh) * | 2021-04-28 | 2021-07-27 | 杭州丽冠科技有限公司 | 基于智能合约的区块链跨链交互方法、装置和计算机可读存储介质 |
WO2022242425A1 (zh) * | 2021-05-18 | 2022-11-24 | 京东科技控股股份有限公司 | 区块链跨链服务管理方法及装置 |
WO2023005500A1 (zh) * | 2021-07-27 | 2023-02-02 | 腾讯科技(深圳)有限公司 | 跨链交易处理方法、装置、电子设备以及存储介质 |
CN115730935A (zh) * | 2021-08-30 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN116308368A (zh) * | 2023-05-24 | 2023-06-23 | 国网区块链科技(北京)有限公司 | 一种中继区块链跨链数据安全存储方法、装置及相关设备 |
Non-Patent Citations (1)
Title |
---|
张志威;王国仁;徐建良;杜小勇;: "区块链的数据管理技术综述", 软件学报, no. 09, pages 283 - 305 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408848A (zh) * | 2023-12-15 | 2024-01-16 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于区块链的高校实验教学管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116827957B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493050B (zh) | 基于区块链主链加并行多子链的转账方法 | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
CN111598566A (zh) | 基于混合跨链的网络支付系统 | |
EP3545665B1 (en) | System and method for detecting replay attack | |
US11689372B2 (en) | Secure, energy-efficient public blockchain | |
EP4332870A1 (en) | Transaction data processing method and apparatus, computer device and storage medium | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN112685505A (zh) | 一种交易数据处理方法、装置、计算机设备及存储介质 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN114006920A (zh) | 一种基于联盟链的地质灾害应急指挥系统 | |
CN113765675A (zh) | 一种交易数据处理方法、装置、设备以及介质 | |
Zhu et al. | A study on the challenges and solutions of blockchain interoperability | |
WO2024093593A1 (zh) | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN118368341A (zh) | 一种基于分层链网络的数据处理方法、装置、设备及介质 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
CN117917681A (zh) | 基于多区块链的资产转移方法、装置、设备、介质及产品 | |
CN117668104A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN116186786A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN117061538A (zh) | 一种基于区块链网络的共识处理方法及相关装置 | |
CN116708463B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN116760632B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
US20240205032A1 (en) | Blockchain data processing method, apparatus, and device, computer-readable storage medium, and computer program product | |
CN116886444B (zh) | 跨链数据处理方法、装置、计算机、存储介质及程序产品 | |
CN117056084B (zh) | 基于分层区块链网络的数据处理方法、装置、设备及介质 | |
WO2024216966A1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40093141 Country of ref document: HK |