CN117938867A - 一种多区块链数据处理方法、装置、设备、介质及产品 - Google Patents
一种多区块链数据处理方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN117938867A CN117938867A CN202211303327.7A CN202211303327A CN117938867A CN 117938867 A CN117938867 A CN 117938867A CN 202211303327 A CN202211303327 A CN 202211303327A CN 117938867 A CN117938867 A CN 117938867A
- Authority
- CN
- China
- Prior art keywords
- service
- chain
- network
- subnet
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种多区块链数据处理方法、装置、设备、介质及产品,该方法包括:在获取到业务对象通过业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;在凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络。采用本申请,可以在多区块链架构的基础上组建用于执行临时业务的业务子网络,减少主链空间的浪费,还可以提高业务子网络的创建效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种多区块链数据处理方法、装置、设备、介质及产品。
背景技术
目前,为了解决基于单链结构构建的区块链系统存在的性能扩展不足、数据混杂严重等问题,出现了架设在三链结构上的区块链系统。例如,在区块链电子票据相关的业务场景下,一种区块链电子票据系统可以包括三条区块链,分别为管理链、票据链和应用合约链,每条区块链均有其各自的特点和工作范围,三者互相结合,形成了一个管理更简洁、数据更清晰、流程更高效、扩展性更好的区块链系统。
发明人在实践中发现,在一些特殊的业务场景下,现有的三链架构也不能完全满足业务形态需要,例如,对于会产生大量临时数据、不重要数据的临时业务,在应用合约链上运行时,对应的临时业务执行结果会极大地占用应用合约链的主链空间,导致主链空间的浪费。
发明内容
本申请实施例提供了一种多区块链数据处理方法、装置、设备、介质及产品,可以在多区块链架构的基础上组建用于执行临时业务的业务子网络,减少主链空间的浪费,此外,通过复用多区块链系统中已有的共识节点来组建业务子网络,可以提高业务子网络的创建效率。
本申请实施例一方面提供了一种多区块链数据处理方法,多区块链包含目标链、第一链和第二链;目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络;方法由与多区块链相关联的子网创建服务器执行,方法包括:
在获取到业务对象通过业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;子网创建请求凭证是由目标链网络中的目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的;
通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;
在凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络。
本申请实施例一方面提供了一种多区块链数据处理方法,多区块链包含目标链、第一链和第二链;目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络;方法由与多区块链相关联的业务终端执行,方法包括:
接收业务对象所请求的临时业务,基于临时业务向目标链网络中的目标共识节点发送业务授权请求;业务授权请求用于指示目标共识节点在配置得到与临时业务相关联的业务授权凭证时,将业务授权凭证作为注册业务授权凭证写入目标链;
将目标共识节点返回的业务授权凭证作为子网创建请求凭证,基于子网创建请求凭证生成用于发送给与多区块链相关联的子网创建服务器的子网创建请求;子网创建请求用于指示子网创建服务器在获取到目标链上的注册业务授权凭证时,对子网创建请求凭证进行校验,且在校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,第一验证节点和第二验证节点用于共同组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络。
本申请实施例一方面提供了一种多区块链数据处理装置,多区块链包含目标链、第一链和第二链;目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络;装置运行在与多区块链相关联的子网创建服务器上,装置包括:
凭证获取模块,用于在获取到业务对象通过业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;子网创建请求凭证是由目标链网络中的目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的;
凭证校验模块,用于通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;
子网组建模块,用于在凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络。
其中,上述凭证校验模块包括:
交易发送单元,用于基于子网创建请求向目标共识节点发送凭证校验交易,以使目标共识节点基于凭证校验交易调用目标链上的子网管理合约,从目标链上读取与临时业务相关联的注册业务授权凭证;注册业务授权凭证包括目标共识节点为业务对象配置的子网注册授权码;
凭证比对单元,用于将子网注册授权码与子网创建请求凭证中的子网构建请求码进行比对,得到比对结果;当比对结果指示子网注册授权码与子网构建请求码一致时,确定子网创建请求凭证校验成功,将校验成功时的子网创建请求凭证作为凭证校验结果。
其中,注册业务授权凭证包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;子网注册配置信息包括临时业务对应的业务子网络的网络标识、业务子网络所包含的验证节点的节点数量以及业务对象申请的跨链权限;业务子网络所包含的验证节点的节点数量为M,M为大于1的正整数;跨链权限包括用于在第一链与业务子网络对应的业务子链之间进行数据跨链转移的第一跨链转移权限,以及用于在第二链与业务子链之间进行数据跨链转移的第二跨链转移权限;
上述子网组建模块具体用于将从第一链网络中获取到的与第一跨链转移权限相关联的M1个共识节点均作为第一验证节点,且将从第二链网络中所获取到的与第二跨链转移权限相关联的M2个共识节点均作为第二验证节点,通过获取到的M1个第一验证节点和M2个第二验证节点组建具有网络标识的业务子网络;M1和M2均为正整数,且M=M1+M2。
其中,上述装置还包括:
创建响应模块,用于在业务子网络组建完成时,向业务对象返回子网创建成功响应信息;
子网启动模块,用于在接收到业务对象对应的业务终端基于子网创建成功响应信息发送的子网启动指令时,基于子网启动指令向目标共识节点发送子网启动交易,以使目标共识节点基于子网启动交易调用目标链上的子网管理合约,从目标链上获取与业务子网络相关联的创世区块信息;创世区块信息包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;
创世块生成模块,用于将目标共识节点返回的创世区块信息发送至业务子网络中的验证节点,以使验证节点将创世区块信息写入业务子网络对应的业务子链。
其中,上述装置还包括:
子网关停模块,用于在接收到与子网创建服务器相关联的业务管理对象发送的子网关停指令时,基于子网关停指令向业务子网络中的验证节点发送业务终止交易,以使验证节点在对业务终止交易验证成功时,停止执行临时业务,且将业务子链发送至子网创建服务器;子网关停指令包括业务结束指令和业务变更指令;
数据备份模块,用于对接收到的业务子链进行备份。
本申请实施例一方面提供了一种多区块链数据处理装置,多区块链包含目标链、第一链和第二链;目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络;装置运行在与多区块链相关联的业务终端上,装置包括:
业务授权模块,用于接收业务对象所请求的临时业务,基于临时业务向目标链网络中的目标共识节点发送业务授权请求;业务授权请求用于指示目标共识节点在配置得到与临时业务相关联的业务授权凭证时,将业务授权凭证作为注册业务授权凭证写入目标链;
请求生成模块,用于将目标共识节点返回的业务授权凭证作为子网创建请求凭证,基于子网创建请求凭证生成用于发送给与多区块链相关联的子网创建服务器的子网创建请求;子网创建请求用于指示子网创建服务器在获取到目标链上的注册业务授权凭证时,对子网创建请求凭证进行校验,且在校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,第一验证节点和第二验证节点用于共同组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络。
其中,上述业务授权模块包括:
请求确定单元,用于基于临时业务生成子网注册配置信息,通过业务对象的私钥信息对子网注册配置信息进行签名,得到对象签名信息,基于子网注册配置信息、对象签名信息以及私钥信息对应的公钥信息确定业务授权请求;
请求发送单元,用于将业务授权请求发送至目标链网络中的目标共识节点,以使目标共识节点在通过业务授权请求中的公钥信息确定对象签名信息验签成功时,基于从业务授权请求中获取到的子网注册配置信息调用目标链上的子网管理合约,为业务对象配置与临时业务相关联的业务授权凭证。
其中,上述装置还包括:
指令发送模块,用于在业务子网络组建完成时,接收子网创建服务器返回的子网创建成功响应信息,基于子网创建成功响应信息向子网创建服务器发送子网启动指令,以使子网创建服务器基于子网启动指令向目标共识节点发送子网启动交易;子网启动交易用于指示目标共识节点调用目标链上的子网管理合约,从目标链上获取与业务子网络相关联的创世区块信息;创世区块信息包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;创世区块信息用于写入业务子网络对应的业务子链。
其中,上述装置还包括:
数据提取模块,用于向业务子网络中的验证节点发送数据提取请求;数据提取请求用于指示验证节点在接收到子网创建服务器返回的备份成功消息时,将业务子网络对应的业务子链上具有最大区块高度的区块中的区块数据作为与业务对象相关联的目标提取数据;且用于接收验证节点基于数据提取请求返回的目标提取数据。
其中,第一链网络和业务子网络是由与多区块链相关联的第一跨链中继隔离的;上述装置还包括:
第一请求模块,用于在业务子网络启动后,基于临时业务向第一链网络中的第一共识节点发送第一跨链资源转出请求;第一跨链资源转出请求用于指示第一共识节点将与临时业务相关联的第一资源由第一链转移至业务子网络对应的业务子链;
第一响应模块,用于获取从业务子链上探测到的针对第一跨链资源转出请求所得到的第一资源转移成功响应信息;第一资源转移成功响应信息用于表征成功将第一资源由第一链转移至业务子链,且业务子链上存在第一资源对应的第一映射资源;第一映射资源为在第一链上锁定第一资源时,由业务子链上的第一资源映射合约所铸造得到的与第一资源具有相同资源内容的资源;
第一执行模块,用于基于第一资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第一业务执行请求,以使验证节点基于第一业务执行请求,调用业务子链上的第一临时业务合约获取第一资源映射合约中的第一映射资源,基于第一映射资源执行临时业务。
其中,第二链网络和业务子网络是由与多区块链相关联的第二跨链中继隔离的;上述装置还包括:
第二请求模块,用于在业务子网络启动后,基于临时业务向第二链网络中的第二共识节点发送第二跨链资源转出请求;第二跨链资源转出请求用于指示第二共识节点将与临时业务相关联的第二资源由第二链转移至业务子网络对应的业务子链;
第二响应模块,用于获取从业务子链上探测到的针对第二跨链资源转出请求所得到的第二资源转移成功响应信息;第二资源转移成功响应信息用于表征成功将第二资源由第二链转移至业务子链,且业务子链上存在第二资源对应的第二映射资源;第二映射资源为在第二链上锁定第二资源时,由业务子链上的第二资源映射合约所铸造得到的与第二资源具有相同资源内容的资源;
第二执行模块,用于基于第二资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第二业务执行请求,以使验证节点基于第二业务执行请求,调用业务子链上的第二临时业务合约获取第二资源映射合约中的第二映射资源,基于第二映射资源执行临时业务。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,多区块链可以包含目标链、第一链和第二链,其中,目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络。可以理解,在区块链电子票据相关的场景下,目标链、第一链和第二链可以分别为管理链、票据链和应用合约链。与该多区块链相关联的子网创建服务器可以在获取到业务对象通过业务终端发送的子网创建请求时,获取该子网创建请求中携带的子网创建请求凭证,这里的子网创建请求凭证是由目标链网络中的目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的。进一步的,子网创建服务器可以通过目标链上的与该临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,以得到凭证校验结果;随后,可以在该凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,进而可以通过获取到的第一验证节点和第二验证节点组建临时业务对应的业务子网络,其中,该业务子网络独立于目标链网络、第一链网络和第二链网络。由此可见,本申请实施例提供了一种多区块链架构(例如,包含目标链、第一链和第二链的三链架构)中的子网协议,该子网协议旨在强调可以在多区块链架构的基础上,根据业务需要即时构建出业务子网络,以用于独立处理一些会产生较大数据量或者指定用途的临时业务,这样,由于这些临时业务不在第一链或第二链上运行,其对应的临时业务执行结果由业务子网络对应的业务子链进行存储和销毁,因此可以减少主链空间的浪费。此外,在业务对象获得目标链授权的前提下,子网创建服务器可以通过复用第一链网络和第二链网络中已有的共识节点进行业务子网络的快速搭建,而不需要业务对象自行提供业务子网络的验证节点,从而可以节省额外的验证节点资源开销,并提升多区块链系统中共识节点的利用率,同时可以提高业务子网络的创建效率以及安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络的分层结构示意图;
图2是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图;
图3是本申请实施例提供的一种组建业务子网络的场景示意图;
图4是本申请实施例提供的一种多区块链数据处理方法;
图5是本申请实施例提供的一种多区块链数据处理方法;
图6是本申请实施例提供的一种数据跨链的场景示意图;
图7是本申请实施例提供的一种数据跨链的场景示意图;
图8是本申请实施例提供的一种区块链电子票据场景下的交互示意图;
图9是本申请实施例提供的一种多区块链数据处理方法的交互流程示意图;
图10是本申请实施例提供的一种区块链电子票据场景下的系统架构图;
图11是本申请实施例提供的一种多区块链数据处理装置的结构示意图;
图12是本申请实施例提供的一种多区块链数据处理装置的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图;
图14是本申请实施例提供的一种多区块链数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种区块链网络的分层结构示意图。如图1所示的分层结构可应用于多种业务场景下的区块链系统,例如,该区块链系统可以为区块链电子票据系统,也可以为区块链电子文件系统。在该区块链系统所对应的区块链网络中,可包含部署在公网中的业务网络、和部署在私有云中的多个共识网络。如图1所示,这里的业务网络可以为图1所示的业务网络100a,且这里的多个共识网络具体可以包含图1所示的共识网络100a、共识网络200a和共识网络300a。
在如图1所示的业务网络400a中,可以部署有多个业务节点,这里的多个业务节点具体可以包含图1所示的业务节点110a、业务节点110b、业务节点110c、业务节点110d、业务节点110e、业务节点110f、业务节点110g、…、业务节点110n。其中,需要注意的是,这里将不对部署在该业务网络400a中的业务节点的数量进行限定。应当理解,处于业务网络400a中的业务节点不需要参与记账。此外,如图1所示,对于运行在该业务网络400a中的各个业务节点而言,均可以通过网络通信的形式访问上述多个共识网络中的一个或者多个,这里将不对各业务对象通过相应业务节点访问到的共识网络的数量进行限定。可以理解的是,各个共识网络之间也可以通过网络通信的形式进行数据交互。
应当理解,在如图1所示的共识网络100a中,可以部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点10a、共识节点10b、共识节点10c和共识节点10d。需要注意的是,这里将不对部署在该共识网络100a中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络100a中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链10e。
同理,在如图1所示的共识网络200a中,可以部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点11a、共识节点11b、共识节点11c和共识节点11d。需要注意的是,这里将不对部署在该共识网络200a中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络200a中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链11e。
以此类推,在如图1所示的共识网络300a中,可以部署有多个共识节点,这里的多个共识节点具体可以包含图1所示的共识节点12a、共识节点12b、共识节点12c和共识节点12d。需要注意的是,这里将不对部署在该共识网络300a中的共识节点的数量进行限定。此外,如图1所示,对于运行在该共识网络300a中的多个共识节点而言,共同维护的区块链具体为图1所示的区块链12e。
为便于理解,本申请实施例可以将位于上述区块链系统中的业务节点和共识节点统称为区块链节点(可简称为节点),并可以将参与构成上述区块链系统的共识网络100a、共识网络100b和共识网络100c统称为核心共识网络,并可以将上述核心共识网络中的各个节点统称为核心节点。
可以理解的是,本申请实施例可以通过路由网络(图1中未画出)对上述业务网络和核心共识网络进行网络隔离。例如,可以通过路由网络中的路由节点,对点对点(Peer ToPeer,简称P2P)网络进行网络分层,以形成“业务网络—核心共识网络”这样的分层结构,进而能够提高区块链上数据的保密性和安全性。其中,路由网络中的路由节点的节点数量可以为一个或者多个,在此不做限定。
应当理解,本申请实施例所涉及的区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链。
比如,共识网络100a中的每个节点(比如,共识节点10a、共识节点10b、共识节点10c和共识节点10d等核心节点)上所存储的区块链均为区块链10e,这里的区块链10e可以为上述区块链系统中的目标链(例如,具体可以为区块链电子票据系统中的管理链,或者可以为区块链电子文件系统中的管理链),且该目标链所对应的核心共识网络(即共识网络100a)可以为目标链网络(例如,具体可以为管理链对应的管理链网络),该目标链网络中的共识节点(或者核心节点)可以统称为目标共识节点(例如,具体可以为管理链网络中的管理共识节点)。又比如,共识网络200a中的每个节点(比如,共识节点11a、共识节点11b、共识节点11c和共识节点11d等核心节点)上所存储的区块链均为区块链11e,这里的区块链11e可以为上述区块链系统中的第一链(例如,具体可以为区块链电子票据系统中的票据链,或者可以为区块链电子文件系统中的文件链),且该第一链所对应的核心共识网络(即共识网络200a)可以为第一链网络(例如,具体可以为票据链对应的票据链网络,或者可以为文件链对应的文件链网络),该第一链网络中的共识节点(或者核心节点)可以统称为第一共识节点(例如,具体可以为票据链网络中的票据共识节点,或者可以为文件链网络中的文件共识节点)。又比如,共识网络300a中的每个节点(比如,共识节点12a、共识节点12b、共识节点21c和共识节点12d等核心节点)上所存储的区块链均为区块链12e,这里的区块链12e可以为上述区块链系统中的第二链(例如,具体可以为区块链电子票据系统中的应用合约链,或者可以为区块链电子文件系统中的应用合约链),且该第二链所对应的核心共识网络(即共识网络300a)可以为第二链网络(例如,具体可以为应用合约链对应的应用合约链网络),该第二链网络中的共识节点(或者核心节点)可以统称为第二共识节点(例如,具体可以为应用合约链网络中的应用共识节点)。
在上述区块链系统中,核心节点可以负责对应区块链所在的核心共识网络中的共识,也就是说核心节点可以为对应区块链所在核心共识网络中的共识节点。对于上述三个核心共识网络中的任意一个核心共识网络而言,将核心共识网络中的交易数据写入对应区块链账本(例如,分布式数据库)的具体过程可以为,用户客户端发送交易数据至某个业务节点,随后该交易数据以接力棒的方式在上述区块链网络内的业务网络中的业务节点之间传递,直到上述区块链网络内的相应核心共识网络中的共识节点(例如,共识网络200a中的共识节点11b)收到该交易数据,此时,共识节点(例如,共识网络200a中的共识节点11b)再将该交易数据打包进区块,以便于后续可以与其他共识节点之间进行共识,从而可以在共识通过后,将共识通过的区块写入自己所在的核心共识网络(例如,共识网络200a)的分布式数据库。
可选的,可以理解的是,本申请实施例还可以在共识通过后,通过自己所在核心共识网络(例如,共识网络200a)的存储层将携带该交易数据的区块和与该区块关联的其他多个区块并行写入分布式数据库,这样可以从根源上突破区块链的区块链结构的限制,进而可以有效地提升数据存储的存储效率。
其中,可以理解的是,在上述区块链系统中,可以在相应核心共识网络的区块链上部署智能合约,该智能合约在区块链系统中可以理解为是一种由各区块链节点(即各共识节点)执行的代码,通过该智能合约可以执行任意逻辑并得到结果。比如,用户可以通过用户客户端发起一个交易业务请求的方式,调用相应核心共识网络(例如,上述共识网络200a)的区块链(例如,上述区块链11e)上已经部署的智能合约。
具体的,业务网络中的业务节点可以将该交易业务请求发送至相应核心共识网络中的共识节点(例如,图1所示的共识节点11a),以通过相应核心共识网络的链入口对该发送交易业务请求的用户进行身份鉴权,且在身份鉴权成功时允许将该用户所发送的交易业务请求发送至相应核心共识网络中的其他共识节点(例如,图1所示的共识节点11b),以调用这些共识节点(例如,图1所示的共识节点11a和共识节点11b)中运行的智能合约执行该用户所请求的交易业务。可以理解,在区块链电子票据相关的业务场景下,这里的交易业务可以包括票据业务、与票据业务相关联的票据衍生业务。在区块链电子文件相关的业务场景下,这里的交易业务可以包括文件业务、与文件业务相关联的文件衍生业务。
应当理解,在上述核心共识网络(例如,上述共识网络200a)的区块链(例如,上述区块链11e)上可以部署一个或多个智能合约,这些智能合约可以通过合约调用地址、合约标识号(Identity document,ID)或合约名称来进行区分,而用户客户端发起的交易业务请求中,也可以携带智能合约的合约调用地址或者合约标识号或合约名称,以此指定需要运行的智能合约。而在上述区块链系统中,若用户客户端所指定的智能合约为需要跨链读取数据的智能合约(即跨链读取合约),则各个共识节点会通过该跨链读取合约所指定的链标识请求从对应区块链上进行数据的读取,最后各个共识节点会互相验证基于跨链读取到的信息执行交易后所得到的各交易执行结果是否一致(也就是进行共识),若一致则可以将交易执行结果存入各自的本地缓存和本地存储中,并可以将上述交易业务的交易执行结果返回至用户客户端。注意,这里的本地缓存为在存储层中创建的系统内存,这里的本地存储为在存储层中所创建的用于进行数据存储的硬盘空间。这样,当核心共识网络中的某个共识节点出现宕机(即down机)或者系统故障时,并不会因为系统内存中的数据消失而造成无法进行数据读取的现象,即该共识节点还可以通过在该存储层中创建的本地存储来进行数据的读取。
应当理解,在上述区块链系统中,任意一个共识网络(例如,共识网络100a、共识网络200a或者共识网络300a)中的任意两个区块链节点之间可以形成点对点网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为区块链节点,其中,每个区块链节点均可以包括硬件层、中间层、操作系统层和应用层。
其中,可以理解的是,本申请实施例可以通过上述目标链网络中的目标共识节点为接入该区块链网络的任意一个角色(例如,任意一个个人用户、任意一个企业、任意一个机构等实体对象)配置一个区块链节点。所以,在如图1所示的业务网络400a中,业务节点110a、业务节点110b、业务节点110c、业务节点110d、…、业务节点110n可以分别与需要接入该区块链网络中的相应角色之间存在一一对应关系。
可以理解的是,在上述共识网络100a被作为上述目标链网络时,位于该目标链网络中的共识节点(例如,上目标共识节点,该目标共识节点可以为图1所示的共识节点10a)可以为通过目标链网络入口而接入该目标链网络中的相应角色(或者相应对象)提供注册业务和授权业务,进而可以在该目标链网络中对需要接入上述区块链网络(例如,上述目标链网络、第一链网络或者第二链网络)中的相应角色(即相应对象)进行身份管理和权限管理。除此之外,位于该目标链网络中的目标共识节点还可以用于对上述区块链系统中的相关元数据信息进行数据管理,比如,在区块链电子票据系统中,其管理链网络中的管理共识节点可以管理更新管理链上的合约模板(应当理解,管理链上的合约模板具体可以包含部署在管理链上的智能合约的管理合约模板和部署在应用合约链上的智能合约的应用合约模板),管理更新记录在管理链上的票据模板,管理更新与该票据模板相关联的计税规则等、控制票据链所对应链入口处的访问流量、控制各链上参与共识的共识节点的数量等。又比如,在区块链电子文件系统中,其管理链网络中的管理共识节点可以管理更新记录在管理链上的文件模板,管理更新与该文件模板相关联的签发规则、验证规则等、控制文件链所对应链入口处的访问流量、控制各链上参与共识的共识节点的数量等。
比如,当开发者和业务参与方需要在应用合约链上部署某个衍生业务(例如票据衍生业务或文件衍生业务)对应的智能合约时,可以在通过应用合约链对应的链入口(即应用合约链入口)接入该应用合约链网络的情况下,进一步通过应用合约链上的跨链读取合约中的合约模板读取方法,从该合约模板读取方法所指示的管理链上读取该衍生业务对应的应用合约模板,以在该应用合约链上基于读取到的应用合约模板部署该衍生业务对应的智能合约。这样,当后续业务参与方需要在该应用合约链上执行衍生业务时,则可以利用已经部署好的衍生业务对应的智能合约来执行相应衍生业务。
应当理解,在上述共识网络200a被作为上述区块链电子票据系统中的票据链网络时,位于票据链网络中的共识节点(例如,上述票据共识节点,该票据共识节点可以为图1所示的共识节点11b)可以用于提供票据业务,这里的票据业务可以包含但不限于电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务。可选的,在上述共识网络200a被作为上述区块链电子文件系统中的文件链网络时,位于文件链网络中的共识节点(例如,上述文件共识节点,该文件共识节点可以为图1所示的共识节点11b)可以用于提供文件业务,这里的文件业务可以包含但不限于电子文件开具业务、电子文件流转业务、电子文件修正业务、电子文件归档业务等与电子文件相关的业务,其中,该电子文件可以包括但不限于电子合同、电子公文、电子处方、电子证书等各类形式的电子文件。
此外,还可以理解的是,在上述共识网络300a被作为上述区块链电子票据系统中的应用合约链网络时,位于该应用合约链网络中的共识节点(例如,上述应用共识节点,该应用共识节点可以为图1所示的共识节点12b)可以用于提供与前述票据业务相关联的票据衍生业务(例如,信贷业务、进出亏业务、企业资质业务、征信业务、社交业务、赊购业务和退税业务、抽奖业务等)。可选的,在上述共识网络300a被作为上述区块链电子文件系统中的应用合约链网络时,位于该应用合约链网络中的共识节点(例如,上述应用共识节点,该应用共识节点可以为图1所示的共识节点12b)可以用于提供与前述文件业务相关联的文件衍生业务(例如,机构合作业务、企业资质业务、处方统计业务、资格审查业务、政务管理业务等)。
其中,可以理解的是,由于每个实体对象均可以对应一个区块链节点,所以,本申请实施例可以以实体对象为上述企业用户(即前述企业)为例,此时,与每个企业用户相关联的区块链节点可以为同一区块链节点(例如,上述图1所示的业务节点110c可以与多个企业用户所对应的用户终端进行数据交互)。比如,在上述区块链电子票据系统中,可以将每个企业用户所请求的票据业务(比如,电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务)统称为一笔交易业务。其中,在上述企业用户为请求通过票据链网络(例如,上述共识网络200a)进行开票的开票企业A时,可以通过图1所示的业务节点110c与上述共识网络200a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易;同理,开票企业B也可以通过图1所示的业务节点110c与上述共识网络200a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易;以此类推,开票企业C也可以通过图1所示的业务节点110c与上述共识网络200a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易。
为便于理解,本申请实施例可以以交易业务为票据业务(比如,电子票据开具业务)为例,当与某个实体对象(例如,开票企业A)相关联的业务节点接收到与交易业务相关联的交易业务请求时,可以将该实体对象所发起的交易业务请求转发给票据链网络(例如,上述共识网络200a)中的某个票据共识节点,以通过该票据共识节点对该实体对象所发起的交易业务请求进行合法性验证。这样,该票据共识节点可以在合法性验证通过时,将该实体对象所请求的交易业务(比如,上述票据业务)添加至交易池,以便于后续可以将与该交易业务(比如,上述票据业务)相关联的交易数据打包成区块,以在共识网络200a中的共识节点之间进行区块共识,从而可以在区块共识通过后,将该区块的块数据写入至本地缓存和本地存储,以便于后续可以基于上述分布式存储实现多个区块的块数据的并行存储。
为便于理解,进一步的,请参见图2,图2是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图。该区块链电子票据平台可以为上述区块链电子票据系统中的具体业务平台,应当理解,在该区块链电子票据平台中,为降低在链上数据存储的混杂度,提出了一种基于区块链电子票据的多链体系,且该多链体系主要涉及图2所示的区块链电子票据三链网络。如图2所示,该区块链电子票据三链网络中部署有管理链(即上述目标链)、票据链(即上述第一链)和应用合约链(即上述第二链)。其中,可以理解的是,在以区块链作为区块链电子票据核心数据流转的业务场景中,可以通过管理链、票据链和应用合约链之间的相互协作,为整个区块链电子票据平台提供独立执行不同业务的功能特性,从而可以在三链相互协作的前提下,构造一个安全且高效的业务流系统。应当理解,这里以多链系统为三链体系为例,在该三链系统下,管理链、票据链和应用合约链均是独立搭建的,即用于维护该管理链的共识节点不同于用于维护该票据链的共识节点,且不同于用于维护该应用合约链的共识节点。
如图2所示,部署在区块链电子票据三链网络中的管理链独立于票据链和应用合约链,即这三条独立搭建的区块链之间是彼此相互独立的,但是这三条独立搭建的区块链之间可以通过跨链的方式进行数据交互,即这三链之间可以进行跨链交互。比如,在如图2所示的票据链上部署有第一跨链读取合约的情况下,参与维护该票据链的共识节点(即上述第一共识节点)则可以通过该第一跨链读取合约,跨链读取管理链上的业务关联信息来进行业务权限的确认。又比如,在如图2所示的应用合约链上部署有第二跨链读取合约的情况下,参与维护该应用合约链的共识节点(即上述第二共识节点)可以通过该第二跨链读取合约,跨链读取管理链上的业务关联信息来进行业务权限的确认,还可以通过该第二跨链读取合约,跨链读取票据链上的核心数据(比如,票据链上的电子票据中的票据信息)来执行相应的票据衍生业务(比如,可以通过从票据链上所读取到的票据信息来执行上述征信业务,以得到某个企业的企业征信信息)。
比如,这里的管理链可以用于为整个区块链电子票据平台提供管理功能特性,这里的票据链可以为整个区块链电子票据平台提供不同业务权限类型的票据业务的功能特性。应当理解,在本申请实施例中,为确保写入票据链中的电子票据的安全性和独立性,本申请实施例提出可以通过独立于管理链和票据链的另一区块链(即图2所示的应用合约链)来提供更加规范、灵活和功能完备的票据衍生业务,即这里的应用合约链则可以为整个区块链电子票据平台提供基于电子票据中核心数据来开展票据衍生业务的功能特性。
为便于理解,这里以管理链所在的核心共识网络(即上述管理链网络)为上述图1所示的共识网络100a为例,此时,参与维护该管理链的共识节点可以为上述管理共识节点。如图2所示,该管理链上部署有多个智能合约,这些智能合约可以运行在管理共识节点上。可以理解的是,这里的多个智能合约具体可以包含图2所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约。应当理解,该管理链上所部署的这些智能合约是由图2所示的内部参与方(即税务管理部门)分别通过自己链(即管理链)上部署的相应管理合约模板所确定的。
可以理解的是,前述税务管理部门可以通过该部署在管理链网络中的管理共识节点行使管理职责。比如,这里的管理职责具体可以包含对政务部门内部的信息(比如,税务管理部门内部人员的信息)进行管理、对整体业务的业务逻辑规则(例如,应用合约链上所运行的用于执行衍生业务的业务逻辑的衍生业务合约)进行管理、对整体业务的元数据信息(例如,三链体系下的各链入口处的访问流量)进行管理、对整体业务的参与者(比如,个人用户、企业用户、税务业务参与方等实体对象)进行身份管理和权限管理等。应当理解,在整体业务所对应的区块链网络中,由该管理共识节点所维护的管理链是相对更稳定、数据规模最小、但安全性最高的区块链。
此外,为便于理解,这里以图2所示的票据链所在的核心共识网络(即上述票据链网络)为上述图1所示的共识网络200a为例,此时,参与维护该票据链的共识节点可以为上述第一共识节点(这里也可称为票据共识节点)。如图2所示,该票据链上部署有多个智能合约,这些智能合约可以运行在第一共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约和第一跨链读取合约。同理,应当理解,该票据链上所部署的这些智能合约是由图2所示的内部参与方(例如,与电子票据数据中心相关联的税务部门)通过管理链上部署的相应票据业务合约模板所确定的。
可以理解的是,该部署在票据链网络中的第一共识节点可以通过票据链维护电子票据在全生命周期内的业务逻辑,比如,可以通过该票据链管理所有开具的电子票据的全生命周期。比如,这里的电子票据的全生命周期包含电子票据的开具、电子票据的流转和电子票据的报销等。应当理解,在整体业务所对应的区块链网络中,由该第一共识节点所维护的票据链具有高性能、低延迟的特点。
同理,为便于理解,这里以应用合约链所在的核心共识网络(即上述应用合约链网络)为上述图1所示的共识网络300a为例,此时,参与维护该应用合约链的共识节点可以为上述第二共识节点(这里也可称为应用共识节点)。如图2所示,该应用合约链上部署有多个智能合约,这些智能合约具体可以运行在第二共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2所示的虚拟机兼容合约、开放合约部署合约、衍生业务合约和第二跨链读取合约。
可以理解的是,该部署在应用合约链网络中的第二共识节点可以通过应用合约链承载可变化的票据业务所对应的票据衍生业务,比如,这里的票据衍生业务可以具体可以包含上述征信业务、上述资质识别业务等。应当理解,在整体业务所对应的区块链网络中,由该第二共识节点所维护的应用合约链,可以支持图2所示的政务协作部门和联盟链伙伴(即图2所示的业务关联部门),通过图2所示的税务应用合约(开放合约部署合约)间接调用第二跨链读取合约,以利用跨链读取到的管理上的应用合约模板来开发与票据衍生业务相关的智能合约(例如,图2所示的衍生业务合约),并可以经过税务管理部门审核后将该衍生业务合约部署在应用合约链上。应当理解,部署在应用合约链上的智能合约可以通过虚拟机兼容合约实现智能合约的灵活升级和变化,应当理解,在整体业务所对应的区块链网络中,该第二共识节点可以通过应用合约链上的第二跨链读取合约实现跨链交互,比如,可以通过第二跨链读取合约从票据链上读取上述核心数据来执行衍生业务。这意味着由该第一共识节点所维护的应用合约链,相较于管理链和票据链而言,具有最高的开放度,且支持复杂的智能合约逻辑,参与方较多且不断动态变化,性能相对低于票据链。
其中,可以理解的是,在图2所示的区块链电子票据三链网络中,管理链所采用的共识算法,不同于票据链所采用的共识算法,也不同于应用合约链所采用的共识算法。
具体的,1.1)与管理链相关联的共识算法为一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,通过该PBFT共识算法可以立即确定某个待上链的提议区块的状态。应当理解,该管理链为上述管理链网络中的区块链,在该管理链网络中的共识节点(即上述管理共识节点)可以由图2所示的税务管理部门参与进行管理。
应当理解,与该管理链相关联的内部参与方可以为图2所示的税务管理部门,比如,该税务管理部门在作为内部参与方参接入该管理链时,可以通过管理链上的内部管理合约对该税务管理部门的一些内部状态进行管理,比如,可以对该税务管理部门中的各人员进行管理,比如,可以在税务管理部门的这些人员中配置特定的税务管理人员、税务开发人员、税务审计人员等。此外,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对该三链体系中的一些参数进行管理,比如,通过该内部管理合约可以对图2所示的票据链入口处的访问流量所对应的访问流量参数进行限制,例如,可以通过分时访问机制控制票据链入口处的某些特定时间段内的访问流量不大于访问流量阈值。又比如,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对参与共识的各链上的共识节点的数量所对应的节点数量参数进行限定。
1.2)与票据链相关联的共识算法为另一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为TBFT(Tower Byzantine Fault Tolerance,塔式拜占庭容错)共识算法,该TBFT共识算法是一种拜占庭容错算法,可以在拜占庭节点数(即票据链网络中的作恶节点数)小于票据链网络的节点总数1/3的情况下,保证整个票据链网络系统的安全运行。应当理解,处于票据链网络中的共识节点可以由前述税务管理部门参与进行管理,比如,税务管理部门中的特定税务人员可以通过上述管理链中的内部管理合约控制该票据链网络中的共识节点的数量。又比如,税务管理部门中的特定税务人员所对应的税局终端可以参与构成该票据链网络。
应当理解,上述TBFT共识算法与PBFT共识算法的最大区别在于:PBFT共识算法有一个固定的leader节点(即主节点)用于打包交易池中的交易,当leader节点故障的时候会使用view-change子协议(即一种主节点切换子协议)更换leader节点;而在TBFT共识算法中,leader节点是基于轮换机制而轮换的,比如,在当前节点被作为leader节点时,每提交X个区块(X的值可以配置),则会自动将该leader节点轮换成下一个节点。这意味着在该票据链对应的票据链网络中的共识节点可以用于连续出块。
1.3)与应用合约链相关联的共识算法为又一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为PoS(proof-of-stake,权益证明)共识算法,通过该权益证明共识算法可以维护该应用合约链所在应用合约链网络的网络安全性,且通过该权益证明共识算法可以立即确定某个待上链的提议区块的状态。可以理解的是,在该应用合约链网络中的共识节点可以由图2所示的税务管理部门和政务协作部门以及大型参与机构(即前述联盟链中的大型企业,该大型企业即为前述图2所示的业务关联部门)等共同参与进行管理。比如,税务管理部门中的税务人员(比如,图2所示的税务业务参与方)可以通过应用合约链网络中的共识节点跨链读取前述票据链上所写入的电子票据的票据信息,以通过跨链读取到的票据信息执行与前述票据业务相关联的票据衍生业务。比如,可以通过跨链读取到的票据信息对请求开票的开票企业进行资质识别或者征信识别,以得到该开票企业的资质数据或者征信数据。应当理解,如图2所示,这里的税务业务参与方在通过图2所示的应用合约链入口接入应用合约链网络时,可以调用该图2所示的应用合约链上的第二跨链读取合约,从图2所示的票据链上读取基于票据衍生业务所请求的电子票据中的核心数据,以利用读取到的核心数据在该应用合约链上开展相应的票据衍生业务。
应当理解,在本申请实施例中,无需将票据链上所产生的大量的电子票据直接跨链转移至应用合约链,而是将票据链上所产生的这些电子票据中的部分授权可见的票据信息(即前述核心数据)跨链转移至应用合约链,这样可以从根源上确保票据链上所记录的这些电子票据的隐私性和安全性。
由此可见,对于请求接入上述应用合约链中的税务业务参与方而言,可以根据所请求的票据衍生业务的不同,从票据链上跨链读取到不同的核心数据(即可以从上述电子票据中获取到不同数据内容的票据信息)。
应当理解,针对该区块链电子票据三链网络中的智能合约而言,存在以下区别:
2.1)应当理解,如图2所示的管理链上可支持特定语言智能合约引擎,上述管理共识节点通过该特定语言智能合约引擎可以在管理链上部署特定语言智能合约,比如,可以在管理链上部署上述图2所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约等。应当理解,这些智能合约可以由税务管理部门中的特定税务管理人员开发和管理。
2.2)如图2所示的票据链上内置有特定票据业务逻辑的智能合约,这些智能合约(例如,上述图2所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约和第一跨链读取合约)可以随着票据业务的更新而进行升级。比如,本申请实施例可以通过从管理链上所读取到的元数据信息更新电子票据开具合约中的票据业务逻辑,进而可以根据更新后的电子票据开具合约来更新处理上述票据业务。这意味着该票据链不支持独立的智能合约引擎,自然也就不支持在该票据链上部署与票据业务无关的其他合约。这样做的好处是让该票据链仅运行与电子票据相关的业务逻辑,且不受其他智能合约的影响,从而可以使该票据链的运行更加独立稳定,更抗攻击。
2.3)该应用合约链上支持多语言、图灵完备面向开发者的智能合约,比如,如图2所示,开发者在通过应用合约链入口接入该应用合约链时,可以通过虚拟机兼容合约兼容主流的EVM虚拟机,以便于可以在兼容的虚拟机上部署运行各种新的业务合约,比如,可以在应用合约链上部署与票据衍生业务(例如,上述抽奖业务)相关联的衍生业务合约。又比如,可以在应用合约链上部署与另一票据衍生业务(例如,上述退税业务)相关联的衍生应用合约。
应当理解,如上述图2所示,在区块链电子票据三链网络中,并未在管理链上部署跨链读取合约,故而此时,该管理链并不具备跨链能力。由于图2所示的票据链和应用合约链上均部署有跨链读取合约,故而具备跨链能力。
具体的,与票据链相关联的共识节点(例如,上述第一共识节点)可以通过图2所示的第一跨链读取合约从管理链读取部分管理链信息,比如,可以从管理链读取用于存入票据链入口处的授权对象的注册数据信息;又比如,可以从管理链上读取用于对某个实体对象的业务权限进行确认的第一业务关联信息,还可以从管理链上读取用于开具电子票据(例如,电子发票)时的票据关键信息。
其中,这里的票据关键信息是指在确定业务权限为开票权限类型时,基于该票据业务中的电子票据业务从管理链上所读取到的授权可见的辅助元数据信息(例如,管理上所记录的更新后的电子票据模板)。
此外,与应用合约链相关联的共识节点(例如,上述第二共识节点)可以通过图2所示的第二跨链读取合约从管理链读取部分管理链信息,比如,可以从管理链上读取用于存入图2所示的应用合约链入口的授权对象的业务参与许可凭证,也可以从管理链读取用于对请求执行票据衍生业务的实体对象进行业务鉴权的第二业务关联信息,还可以从票据链读取部分票据链信息(例如,从票据链读取与票据衍生业务相关联的电子票据中的部分授权可见的票据信息)。应当理解,第二共识节点从管理链读取到的部分管理链信息和部分票据链信息均可以用于开展上述票据衍生业务。
应当理解,如图2所示,在区块链电子票据三链网络中,与管理链相关联的公开网络参与方可以为图2所示的个人用户和企业用户。同理,如图2所示,与票据链相关联的公开网络参与方可以为图2所示的各地电子票据数据流系统。这里的各地电子票据数据流系统具体包含各地方电子票据业务开具系统(例如,各地方税局系统),电子票据开票服务商,大型企业财税相关系统等。同理,如图2所示,与应用合约链相关联的公开网络参与方可以为图2所示的税务业务参与方和开发者。
具体的,3.1)与管理链相关联的链入口可以为图2所示的管理链入口。当图2所示的个人用户(例如,用户A)和企业用户(例如,企业B)等作为公开网络参与方时,可以通过该管理链入口接入管理链,进而可以通过该管理链进行身份注册和身份授权等业务。3.2)与票据链相关联的链入口可以为图2所示的票据链入口。当图2所示的各地方电子票据数据流系统(例如,大型企业用户)等作为公开网络参与方时,可以通过该票据链入口接入票据链,进而可以通过该票据链执行电子票据开具业务、电子票据流转业务、电子票据红冲业务和电子票据归档业务。3.3)与应用合约链相关联的链入口可以为图2所示的应用合约链入口。当图2所示的税务业务参与方和开发者等作为公开网络参与方时,可以通过该应用合约链入口接入应用合约链,进而可以通过在应用合约链上部署衍生业务合约,以通过部署的衍生业务合约执行与电子票据相关的票据衍生业务。应当理解,图2所示的开发者还可以在接入应用合约链的情况下,在该应用合约链上部署其他票据衍生业务(或者探索业务)所对应的衍生业务合约,这里将不对部署在应用合约链上的衍生业务合约的合约数量进行限定。
其中,可以理解的是,图2所示的管理链入口具体可以为税务管理部门入口,通过该税务管理部门入口可以对需要接入管理链的个人、法人以及实体等进行身份识别和业务引导。
其中,可以理解的是,图2所示的票据链入口具体可以为电子票据业务入口,通过该电子票据业务入口可以接收某个实体对象(例如,第一实体对象,该第一实体对象可以为上述企业B)所请求开具的电子票据的交易业务数据(也可以称之为交易数据)。这样,在上述第一共识节点通过该电子票据业务入口接收到前述企业B提交的交易业务数据时,还可以通过该电子票据业务入口校验该交易业务数据的数据发送方(即作为第一实体对象的企业B)的接入身份和接入权限是否满足管理链中身份权限合约状态要求,进而可以在校验通过时,确定作为第一实体对象的企业B为授权对象,进而可以通过票据链上的第一跨链读取合约从管理链上读取前述第一业务关联信息确定该作为授权对象的企业B的业务权限。应当理解,通过第一业务关联信息可以进一步判断作为授权对象的企业B的业务权限是否满足管理链中对象权限管理合约的状态要求。
比如,上述第一共识节点通过该电子票据业务入口可以判断数据发送方(即企业B)的接入身份和接入权限是否满足管理链中的对象身份管理合约和内部管理合约的合约状态要求,进而可以在确定满足管理链中的对象身份管理合约和内部管理合约的合约状态要求时,确定完成对需要接入该票据链的数据发送方(即前述企业B)的身份鉴权。由此可见,上述图2所示的票据链入口处存储有从管理链同步来的各个授权对象的注册数据信息,这里的注册数据信息可以包含但不限于对象接入身份注册信息和对象接入权限注册信息。比如,这里的对象接入身份信息可以用于识别当前请求接入该票据链的第一实体对象(即前述企业B)是否为授权对象。这里的对象接入权限注册信息包含由管理共识节点通过内部管理合约为该票据链的电子票据业务入口所配置的请求累计阈值(例如,最大并发请求累积量)。上述第一业务关联信息则可以用于表征作为授权对象的该第一实体对象(即前述企业B)具体具备访问票据链上的哪些票据业务合约的权限。
其中,可以理解的是,图2所示的应用合约链入口具体可以为税务衍生业务入口,通过该税务衍生业务入口可以接收某个实体对象(例如,第二实体对象,该第二实体对象可以为图2所示的税务业务参与方)所请求参与的与票据业务相关联的票据衍生业务。应当理解,在图2所示的税务业务参与方和开发者可以在获得税务管理部门发放的授权对象的业务参与许可凭证后,可以通过该应用合约链入口对第二实体对象(例如,税务业务参与方或者开发者)提交的业务参与许可凭证进行验证,进而可以在验证成功时允许该第二实体对象接入该应用合约链,以在该应用合约链上执行与前述票据业务相关联的票据衍生业务。
其中,如图2所示,参与维护管理链的内部参与方可以为图2所示的税务管理部门,这里的税务管理部门主要用于在管理链上进行内部状态参数的配置与管理,还可以用于对上述元数据信息(例如,税务元数据)进行变更上链(如可以更新电子票据模板,更新计税规则等),以及可以对于该管理链上所维护的各类业务参与方的身份和权限进行管理(如冻结企业开票资质,限制企业开票额度等)。
其中,如图2所示,参与维护票据链的内部参与方可以为图2所示的电子票据数据中心,这里的电子票据数据中心具体可以为电子发票数据中心,该电子票据数据中心(比如,电子发票数据中心)可以用于对票据链上所记录的海量的账本数据(例如,基于上述实时票据业务流所产生的电子票据流等)进行链下备份、统计、数据分析和审查等工作。具体的,通过该电子票据数据中心可以统计分时开票数量,进而可以基于统计到的分时开票数量对风险票据(例如,风险发票)、风险企业进行判定,还可以对相关金融经济数据进行数据分析等。
其中,如图2所示,参与维护应用合约链的内部参与方可以为图2所示的政务协作部门和业务关联部门。应当理解,参与维护应用合约链的内部参与方除了税务管理部门之外,系统联盟链中的其他部门(即前述政务协作部门)和参与方(即前述业务关联部门)均可以在接入该应用合约链的情况下,进一步通过该应用合约链上的衍生业务合约执行相应的票据衍生业务。可以理解的是,图2所示的政务协作部门和业务关联部门等作为税务业务参与方,接入应用合约链的好处是可以在支持完备的智能合约声明周期中灵活运行各类可扩展的票据衍生业务,以确保业务变化的灵活性,同时不需要直接接触上述票据链上的电子票据的核心数据,从而保证了票据链上的数据隐私和核心数据安全。这意味着本申请实施例所涉及的第二共识节点可以在应用合约链上的第二跨链读取合约(具体的,可以通过第二跨链读取合约中的跨链读取方法),对票据链上针对当前票据衍生业务所部分授权可见的票据链数据进行读取,比如,可以从票据链上跨链读取与当前票据衍生业务相关的核心数据(这里的核心数据可以为上述电子票据流所涉及的各电子票据中的票据信息,对于电子票据为电子发票而言,这里的票据数据具体可以为部分授权可见的发票数据),以通过读取到的核心数据来确保上述第二实体对象所请求的票据衍生业务,可以在该应用合约链上进行有效的开展。
在一些可实现的其他实施例中,为增加位于票据链上的电子票据的数据隐私性,第二共识节点还可以通过第二跨链读取合约中的跨链授权方法所指示的目标链标识(比如,这里的目标链标识为票据链对应的链标识),请求该票据链所对应的第一共识节点在该票据链上读取与该票据衍生业务相关联的电子票据(例如,C企业所开具的电子票据),进而可以在读取到的电子票据的票据信息中,将与票据衍生业务相关联的票据信息作为前述授权可见的核心数据返回给第二共识节点。应当理解,此时,对于第二共识节点而言,无法得知该电子票据中与该票据衍生业务无关的其他票据信息,更无法触及到该票据链上与该票据衍生业务无关的其他电子票据(例如,D企业所开具的电子票据),这样,可以确保存储在该票据链上的所存储票据数据的隐私安全性和可靠性。
其中,可以理解的是,在图2所示的区块链电子票据三链网络中,均可以内置相应的智能合约。
其中,4.1)对于管理链上内置的智能合约而言,如图2所示,内置在管理链上的对象身份管理合约具体可以为用户管理合约,通过该用户管理合约可以管理整个三链体系下的接入者(比如,公开网络参与方)和参与者(比如,内部参与方)的身份。应当理解,这里的接入者和参与者具体可以包含税务管理人员(简称管理员)、政务协作部门、地方税局、开票服务商、报销服务商、税务审查部门等。此外,内置在管理链上的对象权限管理合约具体可以为企业身份管理合约,通过该企业身份管理合约可以对某些企业的业务权限和税务状态等进行管理。同理,内置在管理链上的元数据管理合约具体可以为税务元数据管理合约,通过该税务元数据管理合约可以对税务规则等元数据信息进行管理,如可以集中管理三链体系下的合约模块,计税逻辑,最新政策规则等。以此类推,内置在管理链上的内部管理合约则可以用于对税务管理部门的一些内部状态进行管理,并可以对三链体系下的各链上的一些内部参数进行管理,如,可以通过该内部管理合约对上述票据链入口(比如,电子发票业务入口)处的访问流量参数进行限制,以及对三链体系下的共识节点数量参数进行限制等。
其中,4.2)对于票据链上内置的智能合约而言,如图2所示,内置在票据链上的智能合约可以包含跨链读取合约和与电子票据生命周期相关联的票据业务合约。这里的跨链读取合约可以为图2所示的第一跨链读取合约,且这里的票据业务合约具体可以包含图2所示的用于提供电子票据开票业务的电子票据开具合约,用于提供电子票据流转业务的电子票据流转合约、用于提供电子票据红冲业务的电子票据红冲合约以及用于提供电子票据归档业务的电子票据归档合约。其中,第一跨链读取合约可以用于跨链读取管理链上的元数据信息,以更新该票据链上的一些业务参数。比如,具体可以在跨链读取到的元数据信息为更新后的电子票据模板的情况下,对该票据链上的电子票据模板的模板参数进行更新。由此可见,管理链上的部分管理链信息(比如,该管理链上的元数据信息)对运行有第一跨链读取合约的第一共识节点和运行有第二跨链读取合约的第二共识节点是授权可见的。
其中,4.3)对于应用合约链上内置的智能合约而言,如图2所示,内置在票据链上的智能合约可以包含另一跨链读取合约(即第二跨链读取合约),还可以包含由税务衍生业务参与方(即衍生业务对象,例如,图2所示的税务业务参与方)参与部署的各类合约(例如,图2所示的虚拟机兼容合约、税务应用合约和衍生业务合约等)。比如,这里的衍生业务合约具体可以为基于电子票据的征信业务合约,通过该征信业务合约可以分析得到某个企业的征信数据。又比如,这里的衍生业务合约具体还可以是为鼓励开票所部署的链上抽奖业务合约和人才激励合约以及退税业务合约等。其中,可以理解的是,这里的第二跨链读取合约,可以用于跨链读取管理链上的元数据信息(例如,与退税业务相关联的最新政策规则),以更新该应用合约链的一些业务参数(例如,可以更新该应用合约链上所部署的退税业务合约的合约参数),此外,这里的第二跨链读取合约,还可以用于跨链读取票据链上部分授权可见的票据信息,以通过跨链读取到的部分授权可见的票据信息来执行该应用合约链上的票据衍生业务的业务逻辑等。
应当理解,对于上述图2所示的管理链而言,主要用于处理数据量较小、状态较恒定的管理性业务流,整个管理链的开放性相对较低,可以用于对一些税务数据进行内部管理。而对于上述图2所示的票据链而言,可以用于处理一些数据量长期处于高频请求状态的实时票据业务流,该整个票据链的开放性相对较高,可以允许与电子票据本身生命周期中的相关权威机构参与相应的票据业务,比如,可以允许与代理服务商对应的共识节点为当前请求开票的某个用户开具电子票据。此外,对于图2所示的应用合约链而言,数据量的大小可以无需限定、业务变化的频率波动相对较大,主要是可以通过该应用合约链处理各类合作业务、票据衍生业务、探索性业务等。应当理解,该应用合约链具有最高的开放性,可以运行由管理链授权的参与者在该应用合约链上部署智能合约、运行探索性的票据衍生业务等。应当理解,在本申请实施例中,考虑到应用合约链具有较高的开放性和业务变更的灵活性,所以,内置在应用合约链上智能合约在执行时可以有更多的合约安全限制。比如,可以对合约执行步数进行限制(例如,对于上述图2所示的衍生业务合约而言,可以限定当前实体对象(即上述第二实体对象)具体能够访问衍生业务合约中哪些合约方法),并可以对访问该衍生业务合约所需要消耗的存储资源数据等进行限制(即应用合约上的智能合约的调用需要消耗一定数量的存储资源数据)。
其中,可以理解的是,本申请实施例所涉及的三链体系下的共识节点可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的共识节点在跨链获取实体对象(例如,上述个人用户或者企业用户)的注册数据信息、业务参与许可凭证、电子票据中的票据信息,或者业务授权凭证、电子处方中的处方信息、电子证书中的证书信息等数据时,可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示实体对象当前正在搜集注册数据信息、业务参与许可凭证、电子票据中的票据信息等数据,仅仅在获取到实体对象对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等实体对象的业务数据(例如,用户的开票信息、征信信息、退税信息等,企业的进出亏、企业资质等信息,用户或企业的合同信息、证书信息、处方信息等),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等实体对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,本申请提供的方法还可以应用于基于多区块链的区块链电子文件平台,该区块链电子文件平台可以为上述区块链电子文件系统中的具体业务平台,应当理解,在该区块链电子文件平台中,为降低在链上数据存储的混杂度,同样可以提出一种基于区块链电子文件的多链体系,且该多链体系主要涉及区块链电子文件三链网络,该区块链电子文件三链网络的具体结构可以参考图2所示的区块链电子票据三链网络,例如,该区块链电子文件三链网络中同样可以部署有管理链(即上述目标链)、文件链(即上述第一链)和应用合约链(即上述第二链)。在以区块链作为区块链电子文件核心数据流转的业务场景中,可以通过管理链、文件链和应用合约链之间的相互协作,为整个区块链电子文件平台提供独立执行不同业务的功能特性,其具体的功能特性可以参见上述对区块链电子票据三链网络的阐述,这里不再进行赘述。
比如,在该应用合约链上部署有相应的跨链读取合约(例如,跨链读取合约H)的情况下,参与维护该应用合约链的共识节点(即上述第二共识节点)可以通过该跨链读取合约H,跨链读取管理链上的业务关联信息(例如,业务关联信息A)来进行业务权限的确认,还可以通过该跨链读取合约H,跨链读取文件链上的核心数据(比如,文件链上的电子处方中的处方信息)来执行相应的文件衍生业务(比如,可以通过从文件链上所读取到的处方信息来执行上述处方统计业务,以得到某个医院的用药信息)。
可以理解的是,在一些特殊的业务场景下,图1所示的基于三链架构的区块链网络也不能完全满足业务形态需要,例如,对于一些会产生大量临时数据、不重要数据的局部业务,或者,一些用于处理某种特定数据的专用型业务或特殊业务,如果都集中在同一区块链(例如应用合约链)上运行则会对该区块链造成很大的负担,基于此,本申请实施例提供了一种在区块链多链架构中创建业务子网络以及与业务子网络进行交互的子网协议,其中,这里以多链架构为三链架构为例,该子网协议指示了业务子链的创建和运行方法,可以在核心共识网络中搭建独立于目标链、第一链和第二链的业务子链。上述业务子网络是指在三链基础上,出于临时业务的需要,即时构建出来的一个网络,在业务执行完毕后也可以进行数据提取和销毁;业务子链是指业务子网络中的区块链,在业务子网络执行临时业务后,可以将得到的临时业务执行结果写入该业务子链。为便于理解,本申请实施例可以将针对临时业务发起子网创建请求的实体对象(例如,个人用户、企业用户、机构等)统称为业务对象,这里的临时业务可以指会产生大量临时数据、不重要数据的局部业务,也可以指专门处理某类交易的专用型业务或者其他特殊业务,该临时业务可以为与前述票据业务或票据衍生业务相关联的临时业务(例如,票据统计业务、税务审计业务、信贷审查业务、进出亏分析业务、企业资质比对业务、征信分析业务、社交业务、赊购分析业务和退税审查业务、中奖核对业务等),也可以为与前述文件业务或文件衍生相关联的临时业务(例如,合作风险预测业务、企业资质审查业务、基于处方统计结果的药品采购业务、资格认证激励业务、文件敏感信息检测业务等)。
此外,本申请实施例引入了与上述多区块链(包含目标链、第一链和第二链)相关联的子网创建服务器,该子网创建服务器可以根据子网业务需求,在第一链网络和第二链网络中选择某些共识节点来组成临时业务对应的业务子网络。为便于区分,可以将用于组建该业务子网络的共识节点统称为验证节点,这里的验证节点可用于执行临时业务,其中,验证节点又可以包括第一验证节点和第二验证节点,本申请实施例可以将从第一链网络中所获取到的共识节点统称为第一验证节点,类似的,将从第二链网络中所获取到的共识节点统称为第二验证节点。此外,本申请实施例还可以将业务对象对应的用户终端称为业务终端。
其中,上述子网创建服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,上述业务终端可以包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能车载等可以发送子网创建请求的智能终端。
为便于理解,进一步的,请参见图3,图3是本申请实施例提供的一种组建业务子网络的场景示意图。如图3所示的用户30A可以为上述业务对象,即此时,用户30A为具有子网创建需求的实体对象。该用户30A的业务终端30B可以为该业务对象对应的业务节点(例如,上述图1所示的业务网络400a中的业务节点),也可以为与该业务节点相关联的终端设备,这里不做限定。此外,子网创建服务器30C可以为上述子网创建服务器,该子网创建服务器30C与如图3所示的多区块链相关联,本申请实施例涉及的多区块链具体包括目标链网络31对应的目标链31e、第一链网络32对应的第一链32e以及第二链网络33对应的第二链33e,其中,目标链网络31、第一链网络32以及第二链网络33之间彼此独立。可以理解,在目标链网络31中可以部署多个共识节点,例如,这里的多个共识节点具体可以包括共识节点31a、共识节点31b、共识节点31c和共识节点31d,这多个共识节点用于共同维护目标链31e。类似的,在第一链网络32中可以部署多个共识节点,例如,这里的多个共识节点具体可以包括共识节点32a、共识节点32b、共识节点32c和共识节点32d,这多个共识节点用于共同维护第一链32e。类似的,在第二链网络33中可以部署多个共识节点,例如,这里的多个共识节点具体可以包括共识节点33a、共识节点33b、共识节点33c和共识节点33d,这多个共识节点用于共同维护第二链33e。
可以理解,当用户30A希望创建业务子网络来执行临时业务A(该临时业务A可以为与票据业务相关联的临时业务A1或者与文件业务相关联的临时业务A2)时,可以先基于该临时业务A向目标链31e申请创建业务子网络来执行临时业务A的权限,在获得授权后才可申请创建相应的业务子网络。其中,目标链网络31中的共识节点(即上述目标共识节点,例如,共识节点31a)可以为该临时业务A配置相应的业务授权凭证(例如,授权码),随后目标链网络31中的共识节点可以将该业务授权凭证作为注册业务授权凭证(例如,注册业务授权凭证301c)写入目标链31e,此外,还可以将该业务授权凭证返回给用户30A的业务终端30B,业务终端30B可以将接收到的业务授权凭证作为子网创建请求凭证(例如,子网创建请求凭证301b)。
进一步,业务终端30B可以基于该子网创建请求凭证301b生成子网创建请求(例如,子网创建请求301a),并可以将该子网创建请求301a发送至子网创建服务器30C。随后,子网创建服务器30C可以向目标链31e进行上述业务子网络的授权验证,具体来说,子网创建服务器30C可以获取该子网创建请求301a中携带的子网创建请求凭证301b,且可以从目标链31e上获取与上述临时业务A相关联的注册业务授权凭证301c,进而可以通过注册业务授权凭证301c对子网创建请求凭证301b进行校验,以得到对应的凭证校验结果(例如,凭证校验结果301d)。
可以理解,在上述凭证校验结果301d指示校验成功时,表示用户30A具备创建业务子网络的权限(可称为子网创建权限),此时,子网创建服务器30C可以从上述第一链网络32中获取一定数量的共识节点作为第一验证节点,且可以从上述第二链网络33中获取一定数量的共识节点作为第二验证节点,本申请实施例对获取的第一验证节点和第二验证节点的数量均不做限定。其中,用户30A可以在向目标链31e申请子网创建权限时,指定组建业务子网络所需的验证节点的节点数量,例如,可以指定需要的验证节点的总数为M(M为大于1的正整数),或者,可以分别指定需要的第一验证节点的数量为M1(M1为正整数)以及需要的第二验证节点的数量为M2(M2为正整数),这里的M=M1+M2,本申请实施例对此不做限定。
如图3所示,假设用户30A指定M1=2,且M2=2,则子网创建服务器30C可以从第一链网络32中随机获取2个共识节点(例如,共识节点32a和共识节点32b)作为第一验证节点,且可以从第二链网络33中随机获取2个共识节点(例如,共识节点33a和共识节点33b)作为第二验证节点,进而可以通过获取到的第一验证节点和第二验证节点组建上述临时业务A对应的业务子网络(例如,业务子网络34),可以理解,该业务子网络34独立于上述目标链网络31、第一链网络32和第二链网络33。此时,该业务子网络34中的验证节点(包括共识节点32a、共识节点32b、共识节点33a和共识节点33b)可用于共同维护业务子链34e。
可以理解,业务子网络34中的每个验证节点在执行临时业务A的同时,仍然会并行处理其原来的业务,例如,共识节点32a可以并行执行临时业务A和第一链32e对应的业务(例如,票据业务);又例如,共识节点33a可以并行执行临时业务A和第二链33e对应的业务(例如,票据衍生业务)。
可以理解,该业务子链34e上存储有与业务子网络34相关联的创世区块信息(即业务子链34e的创世区块所包含的信息,例如包含用户30A在向目标链31e申请子网创建权限时所提交的相关注册信息)。此外,业务子网络34中的验证节点可以从第一链32e和第二链33e上跨链读取与临时业务A相关联的资源(例如,与临时业务A相关联的电子票据或者该电子票据中的票据信息),并可基于得到的资源执行临时业务A,得到临时业务A的临时业务执行结果,随后可以将该临时业务执行结果写入上述业务子链34e。
可以理解,当用户30A发起其他临时业务(例如,临时业务B)时,可以通过类似过程创建新的业务子网络来处理临时业务B,这里不再进行赘述。其中,可以创建一个业务子网络来处理一个临时业务,或者,也可以创建多个业务子网络来处理一个临时业务,本申请实施例对业务子网络的数量不进行限定。
上述可知,子网创建服务器30C可以在三链架构的基础上,根据业务需要即时构建出业务子网络34,以便独立处理临时业务A,从而可以减少主链空间的浪费,且为用户30A提供数据独立隔离和隐私性。此外,在用户30A获得目标链31e授权的前提下,子网创建服务器30C可以通过复用第一链网络32和第二链网络33中已有的共识节点进行业务子网络的快速搭建,而不需要用户30A自行提供业务子网络的验证节点,从而可以节省额外的验证节点资源开销,同时可以提高业务子网络的创建效率以及安全性。
其中,组建临时业务对应的业务子网络的具体过程和在该业务子网络对应的业务子链上执行临时业务的具体过程,可以参见如下图4-图10所对应的实施例。
进一步的,请参见图4,图4是本申请实施例提供的一种多区块链数据处理方法。如图4所示,该方法可以由与多区块链相关联的子网创建服务器执行,比如,该子网创建服务器可以为上述图3所示的子网创建服务器30C。该方法具体可以包括以下步骤S101-步骤S103:
步骤S101,在获取到业务对象通过业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;子网创建请求凭证是由目标链网络中的目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的;
可以理解的是,本申请实施例中的多区块链包含目标链、第一链和第二链,目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络。其中,在不同的业务场景下,可以对应于功能不同的三条区块链,例如,在电子票据相关的业务场景下,上述目标链可以为应用于区块链电子票据系统的管理链(也可称为第一管理链),对应的目标链网络可以为该区块链电子票据系统中的管理链网络(也可称为第一管理链网络);上述第一链可以为应用于区块链电子票据系统的票据链,对应的第一链网络可以为该区块链电子票据系统中的票据链网络;上述第二链可以为应用于区块链电子票据系统的应用合约链(也可称为第一应用合约链),对应的第二链网络可以为该区块链电子票据系统中的应用合约链网络(也可称为第一应用合约链网络)。又例如,在电子文件相关的业务场景下,上述目标链可以为应用于区块链电子文件系统的管理链(也可称为第二管理链),对应的目标链网络可以为该区块链电子文件系统中的管理链网络(也可称为第二管理链网络);上述第一链可以为应用于区块链电子文件系统的文件链,对应的第一链网络可以为该区块链电子文件系统中的文件链网络;上述第二链可以为应用于区块链电子文件系统的应用合约链(也可称为第二应用合约链),对应的第二链网络可以为该区块链电子文件系统中的应用合约链网络(也可称为第二应用合约链网络)。本申请实施例对具体的业务场景不进行限定。
可以理解的是,当业务对象希望创建新的业务子网络来处理临时业务时,可以先向目标链申请子网创建权限,具体来说,可以由业务终端基于业务对象所请求的临时业务向目标链网络中的目标共识节点(可以为目标链网络中的任意一个共识节点,例如上述图1所示的共识网络200a中的共识节点11a)发送业务授权请求,以使该目标共识节点基于该业务授权请求,调用目标链上部署的子网管理合约为业务对象配置与该临时业务相关联的业务授权凭证,进一步,目标共识节点可以将该业务授权凭证作为注册业务授权凭证写入目标链,且可以将该业务授权凭证返回给业务终端。这里的业务授权凭证具体可以为目标共识节点为业务对象配置的专属授权码,该授权码可用于指示业务对象获得了目标共识节点授予的子网创建权限,该授权码可以为由一串数字和/或字母所组成的符号序列,这里对授权码的具体形式不进行限定。其中,上述业务授权请求可以携带有基于临时业务所确定的子网注册配置信息,该子网注册配置信息可以包含与申请创建的业务子网络相关的基本信息、权限信息等。
进一步地,业务终端可以将接收到的业务授权凭证作为子网创建请求凭证,也就是说,该子网创建请求凭证是由上述目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的。随后业务终端可以基于该子网创建请求凭证生成用于发送给子网创建服务器的子网创建请求。相应的,子网创建服务器在获取到业务对象通过业务终端发送的子网创建请求时,可以从该子网创建请求中获取其携带的子网创建请求凭证,后续可以通过该子网创建请求凭证向目标链进行相应的授权验证,验证成功后,子网创建服务器才会根据子网业务需求来组建业务子网络。
其中,在电子票据相关的业务场景下,上述子网创建服务器可以由税务管理部门运营。可选的,在电子文件相关的业务场景下,上述子网创建服务器可以由文件管理部门(例如,颁发电子证书的权威机构或组织)运营。
可以理解,上述子网管理合约是由目标链对应的内部参与方(如税务管理部门或文件管理部门)通过该目标链上部署的管理合约模板所确定的。通过该子网管理合约可以对个人用户/企业/机构等实体对象的子网创建权限(或业务权限)、子网运行状态、子网注册数据和跨链权限等进行管理,例如可以集中管理多区块链体系下与业务子链相关联的合约模块、业务子链出块规则等。
步骤S102,通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;
可以理解,在构建一个新的业务子网络(例如,业务子网络C)之前,子网创建服务器会向目标链进行该业务子网络的授权验证,具体的,子网创建服务器可以基于上述子网创建请求向目标共识节点发送凭证校验交易,例如,可以基于该子网创建请求中携带的子网创建请求凭证,生成用于请求从目标链上获取与该子网创建请求凭证相对应的注册业务授权凭证的凭证校验交易,并将该凭证校验交易发送给目标共识节点。相应的,目标共识节点在接收到该凭证校验交易时,可以调用目标链上的子网管理合约,从该目标链上读取与临时业务相关联的注册业务授权凭证。其中,该凭证校验交易可以包含子网管理合约对应的合约调用地址和合约调用名称,将该凭证校验交易写入该合约调用地址和合约调用名称所指示的目标链上的子网管理合约,通过调用该子网管理合约中的凭证读取方法,可以获取到目标链上存储的注册业务授权凭证。
其中,该注册业务授权凭证可以包括目标共识节点为业务对象配置的子网注册授权码(例如,授权码D1),类似的,上述子网创建请求凭证可以包括目标共识节点为业务对象配置的子网构建请求码(例如,授权码D2),通过注册业务授权凭证对子网创建请求凭证进行校验的过程可以为:将子网注册授权码与子网构建请求码进行比对,得到比对结果。可以理解,当该比对结果指示子网注册授权码与子网构建请求码一致时(例如,授权码D1与授权码D2相同),可以确定子网创建请求凭证校验成功,进而可以将校验成功时的子网创建请求凭证作为凭证校验结果。反之,当该比对结果指示子网注册授权码与子网构建请求码不一致时(例如,授权码D1与授权码D2不相同),可以确定子网创建请求凭证校验失败。
可选的,还可以在目标链上对子网创建请求凭证进行校验,具体的,子网创建服务器可以基于子网创建请求向目标共识节点发送凭证校验交易,该凭证校验交易可以包含子网创建请求凭证中的子网构建请求码(例如,授权码D2)。在目标共识节点接收到该凭证校验交易时,可以调用目标链上的子网管理合约(如具体可以为子网管理合约中的凭证校验方法),从目标链上读取与临时业务相关联的注册业务授权凭证,进而可以将上述子网构建请求码与注册业务授权凭证中的子网注册授权码(例如,授权码D1)进行比对,得到比对结果,并可以将该得到比对结果返回给子网创建服务器。当该比对结果指示子网注册授权码与子网构建请求码一致时(例如,授权码D1与授权码D2相同),子网创建服务器可以确定子网创建请求凭证校验成功,进而可以将校验成功时的子网创建请求凭证作为凭证校验结果。
步骤S103,在凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络。
可以理解,在对子网创建请求凭证校验成功后,子网创建服务器可以确定当前的业务对象具备子网创建权限,此时可以通过复用第一链网络中的共识节点和第二链网络中的共识节点来组建临时业务对应的业务子网络。
可以理解的是,上述注册业务授权凭证可以包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;该子网注册配置信息包括业务对象针对业务子网络所指定的信息,具体可以包括临时业务对应的业务子网络的网络标识(例如网络名称、网络ID等)、业务子网络所包含的验证节点的节点数量以及业务对象申请的跨链权限。其中,该业务子网络所包含的验证节点的节点数量为M,M为大于1的正整数。这里的跨链权限可以包括用于在第一链与业务子网络对应的业务子链之间进行数据跨链转移的第一跨链转移权限,以及用于在第二链与业务子链之间进行数据跨链转移的第二跨链转移权限。此外,子网注册配置信息还可以包括子链出块规则(例如,交易打包时间、交易打包数量、子链出块时间)等其他与业务子网络相关的信息。
可以理解,通过第一跨链转移权限可以将与临时业务相关联的第一资源由第一链转移至业务子链,且在业务子链上基于该第一资源执行临时业务所得到的临时业务执行结果也可以原路返回至第一链进行存储;同理,通过第二跨链转移权限可以将与临时业务相关联的第二资源由第二链转移至业务子链,且在业务子链上基于该第二资源执行临时业务所得到的临时业务执行结果也可以原路返回至第二链进行存储。可选的,上述业务对象申请的跨链权限也可以包括第一跨链读取权限和第二跨链读取权限,通过第一跨链读取权限可以将与临时业务相关联的第一资源由第一链转移至业务子链,但是后续得到的临时业务执行结果不能写入第一链;类似的,通过第二跨链读取权限可以将与临时业务相关联的第二资源由第二链转移至业务子链,但是后续得到的临时业务执行结果不能写入第二链,这样,可以避免业务子链上的数据对第一链和第二链产生干扰。
具体的,子网创建服务器将从第一链网络中获取到的与第一跨链转移权限相关联的M1个共识节点(即第一共识节点)均作为第一验证节点,且将从第二链网络中所获取到的与第二跨链转移权限相关联的M2个共识节点(即第二共识节点)均作为第二验证节点,进而可以通过获取到的M1个第一验证节点和M2个第二验证节点组建具有网络标识的业务子网络。其中,M1和M2均为正整数,且M=M1+M2。其中,子网创建服务器可以采用随机选取的方式获取第一验证节点和第二验证节点,可选的,这里对获取到的第一验证节点的节点数量和第二验证节点的节点数量均不进行限制,只要满足M=M1+M2即可,此外,第一验证节点的节点数量小于或等于第一链网络所含的共识节点的数量,且第二验证节点的节点数量小于或等于第二链网络所含的共识节点的数量。又或者,可选的,业务对象也可以直接在子网注册配置信息中指定业务子网络所包含的第一验证节点的节点数量(例如,M1个)和第二验证节点的节点数量(例如,M2个),本申请实施例对此不做限定。
为便于理解,请再次参见图3,假设用户30A希望创建一个业务子网络来执行票据统计业务(例如,实时统计开票企业A的开票数量),并向目标链网络31中的目标共识节点(例如,共识节点31a)提交了相关的子网注册配置信息301e,且在该子网注册配置信息301e中指定了该业务子网络的网络标识(例如,网络标识为X1),且指定了该业务子网络X1所包含的第一验证节点的节点数量为M1=2,该业务子网络X1所包含的第二验证节点的节点数量为M2=2,同时还指定了用户30A申请的跨链权限,则子网创建服务器30C基于子网注册配置信息301e,在第一链网络32(例如票据链网络)中随机选取2个共识节点(例如,共识节点32a、共识节点32b)作为第一验证节点,同时可以在第二链网络33(例如应用合约链网络)中随机选取2个共识节点(例如,共识节点33a、共识节点33b)作为第二验证节点,进而可以通过共识节点32a、共识节点32b、共识节点33a和共识节点33b组建得到业务子网络X1(即业务子网络34)。
可选的,上述子网注册配置信息也可以为独立于注册业务授权凭证的信息,则目标共识节点可以在接收到凭证校验交易时,将目标链上读取到的注册业务授权凭证和子网注册配置信息一并返回给子网创建服务器。
可以理解,在业务子网络组建成功后,可以对该业务子网络进行启动,以使该业务子网络中的验证节点开始子网共识,并执行上述临时业务。具体的,在业务子网络组建完成时,子网创建服务器可以向业务对象返回子网创建成功响应信息,该子网创建成功响应信息用于指示业务子网络组建成功。进一步,业务对象对应的业务终端接收到该子网创建成功响应信息时,可以基于该子网创建成功响应信息生成用于指示启动上述业务子网络的子网启动指令,并将该子网启动指令发送给子网创建服务器。在子网创建服务器接收到该子网启动指令时,可以基于该子网启动指令向目标共识节点发送子网启动交易,以使目标共识节点基于该子网启动交易调用目标链上的子网管理合约(具体可以为子网管理合约中的创世信息读取方法),以便从目标链上获取与业务子网络相关联的创世区块信息。这里的创世区块信息是指业务子链的创世区块(即第一个区块)所包含的信息,其中,该创世区块信息具体可以包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息,可选的,该创世区块信息还可以包括注册业务授权凭证,业务对象可以通过该注册业务授权凭证与业务子网络进行数据交互。进一步地,子网创建服务器可以将目标共识节点返回的创世区块信息发送至业务子网络中的验证节点,以使验证节点将创世区块信息写入业务子网络对应的业务子链。
为便于理解,请再次参见图3,在通过上述描述的子网启动过程对图3中的业务子网络34进行启动后,业务子网络34对应的业务子链33e上会存储有对应的创世区块信息(例如,创世区块信息301f),该创世区块信息301f中可包含上述子网注册配置信息301e。可以理解,业务子网络34中的验证节点可以执行上述票据统计业务,例如,业务子网络34中的第一验证节点(例如,共识节点32a)可以基于配置的第一跨链转移权限,从第一链32e上读取开票企业A所开具的电子票据,并可对开票企业A在某个时间段内的开票数量进行统计,随后可以将最终的统计结果返回给第一链32e,当第一链网络32中的共识节点(例如,共识节点32d)检测到该统计结果大于开票数量阈值时,可以限制开票企业A后续的开票行为。
可以理解的是,在临时业务结束或者发生变更时,与子网创建服务器相关联的业务管理对象(例如,上述税务管理部门或文件管理部门)可以触发子网创建服务器,向业务子网络中的验证节点发送业务终止交易。具体的,在接收到业务管理对象发送的子网关停指令时,子网创建服务器可以基于该子网关停指令向业务子网络中的验证节点发送业务终止交易,以使验证节点在对业务终止交易验证成功时,停止执行上述临时业务,且将业务子链发送至子网创建服务器。其中,上述子网关停指令可以包括用于指示临时业务已经结束的业务结束指令以及用于指示临时业务发生变更(例如,从统计开票企业A的开票数量变更为统计企业B的开票数量)的业务变更指令。随后,子网创建服务器可以对接收到的业务子链进行备份。可以理解,后续在对业务子链的数据提取也结束之后,上述业务子网络中的验证节点各自下线关停(即不再执行上述临时业务,也不再保留业务子链副本),但这些共识节点仍会执行原来在各自的区块链上所执行的业务(例如票据业务或者票据衍生业务)。
为便于理解,请再次参见图3,在上述票据统计业务执行完毕后,与图3中的子网创建服务器30C相关联的业务管理对象(例如,用户30D)会向子网创建服务器30C发送子网关停指令(子网关停指令301g),进而子网创建服务器30C可以通过配置的服务私钥信息对该子网关停指令301g进行签名,从而得到服务签名信息301h,基于该子网关停指令301g和服务签名信息301h生成业务终止交易(例如,业务终止交易301i),随后,可以将该业务终止交易301i发送至业务子网络34中的某个验证节点(例如,共识节点32a),该共识节点32a会通过服务私钥信息对应的服务公钥信息对该业务终止交易301i中的服务签名信息301h进行验签,还可以将该业务终止交易301i广播至业务子网络34中的其他验证节点(例如,共识节点32a、共识节点32b、共识节点33a、共识节点33b)进行验签,即所有验证节点参与对业务终止交易301i进行共识,最终可以基于所有验证节点的验签结果得到业务终止交易301i的交易验证结果。其中,上述服务私钥信息和服务公钥信息可以为子网创建服务器30C通过目标链31e上的对象身份管理合约进行身份注册后得到的,且子网创建服务器30C可以为该服务公钥信息申请对应的公钥证书(可称为第一公钥证书),并可以将该第一公钥证书提交到目标链31e上,这样,业务子网络34中的验证节点就可以从目标链31e上读取到该第一公钥证书,并可以获取该第一公钥证书中的服务公钥信息对上述服务签名信息301h进行验签。
可选的,当得到的验签成功结果的数量大于第一数量阈值时,可以确定业务终止交易301i验证成功。这里对第一数量阈值的取值不做限定,例如,可以取值为所有验证节点的节点数量的2/3。进一步地,在业务终止交易301i验证成功时,业务子网络34中的所有验证节点均停止执行上述票据统计业务,并可以将当前最新的业务子链34e发送给子网创建服务器30C进行备份,其中,业务子链34e上可以存储上述开票企业A在多个指定时间段内的开票数量,这样,后续需要获取与开票企业A相关的票据统计数据的时候,可以从子网创建服务器30C上获取。
可以理解,本申请实施例中的公钥证书,可以指公钥证书体系(PKI,Public KeyInfrastructure),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(CA,Certificate Authority)。基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码、x509证书、CA证书签发中心等等。
上述可知,本申请实施例可以在多区块链架构的基础上,根据业务需要即时构建出业务子网络,以用于独立处理一些会产生较大数据量或者指定用途的临时业务,这样,由于这些临时业务不在第一链或第二链上运行,其对应的临时业务执行结果由业务子网络对应的业务子链进行存储和销毁,因此可以减少主链空间的浪费,且可为业务对象提供更高独立性能、数据独立隔离和隐私性更高的业务子链。此外,在业务对象获得目标链授权的前提下,子网创建服务器可以通过复用第一链网络和第二链网络中已有的共识节点进行业务子网络的快速搭建,而不需要业务对象自行提供业务子网络的验证节点,从而可以为业务对象提供高效的子链创建方式,也可节省额外的验证节点资源开销,并提升多区块链系统中共识节点的利用率,同时可以提高业务子网络的创建效率以及安全性。
进一步的,请参见图5,图5是本申请实施例提供的一种多区块链数据处理方法。如图5所示,该方法可以由与多区块链相关联的业务终端执行,比如,该业务终端可以为上述图3所示的业务终端30B。该方法具体可以包括以下步骤S201-步骤S202:
步骤S201,接收业务对象所请求的临时业务,基于临时业务向目标链网络中的目标共识节点发送业务授权请求;业务授权请求用于指示目标共识节点在配置得到与临时业务相关联的业务授权凭证时,将业务授权凭证作为注册业务授权凭证写入目标链;
可以理解的是,本申请实施例中的多区块链包含目标链、第一链和第二链,目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络。其中,对于目标链、第一链和第二链的说明可以参见上述图4所对应实施例中的步骤S101中的相关描述,这里不再进行赘述。
具体的,业务终端可以接收业务对象所请求的临时业务,进而可以基于该临时业务生成子网注册配置信息,该子网注册配置信息可以包括业务对象在申请创建该临时业务对应的业务子网络时,针对该业务子网络所指定的信息,包括但不限于业务子网络的网络标识(例如网络名称、网络ID等)、业务子网络所包含的验证节点的节点数量、业务对象申请的跨链权限、子链出块规则(例如,交易打包时间、交易打包数量、子链出块时间)等。例如,在上述临时业务为税务审计业务时,业务对象可以在对应的子网注册配置信息中指定该税务审计业务对应的业务子网络的网络标识为X2,且可以指定业务子网络X2需要的验证节点的节点数量为10个(例如,具体包括5个第一验证节点和5个第二验证节点),且向目标链申请第一跨链转移权限(例如,用于从第一链上获取与用户B相关联的票据信息)和第二跨链转移权限(例如,用于从第二链上获取与用户B相关联的退税信息)。这样,后续在成功组建业务子网络X2后,业务子网络X2中的验证节点可以基于获取到的与用户B相关联的票据信息,对与该用户B相关联的退税信息进行审查,即核实用户B是否退税正确。
进一步地,业务终端可以通过业务对象的私钥信息对上述生成的子网注册配置信息进行签名,以得到对象签名信息,进而可以基于子网注册配置信息、对象签名信息以及上述私钥信息对应的公钥信息确定业务授权请求,例如,可以按照指定的封装格式,将上述子网注册配置信息、对象签名信息以及公钥信息封装为具有该封装格式的业务授权请求。随后,业务终端可以将该业务授权请求发送至目标链网络中的目标共识节点,以使目标共识节点在通过业务授权请求中的公钥信息确定对象签名信息验签成功时,可以基于从业务授权请求中获取到的子网注册配置信息调用目标链上的子网管理合约,为业务对象配置与临时业务相关联的业务授权凭证。其中,目标链网络中的每个目标共识节点均可以通过业务授权请求中的公钥信息对上述对象签名信息进行验签,并可以基于所有目标共识节点的验签结果确定对象签名信息的签名验证结果。可选的,当得到的验签成功结果的数量大于第二数量阈值时,可以确定上述对象签名信息验签成功,这里对第二数量阈值的取值不做限定,例如,可以取值为所有目标共识节点的节点数量的2/3。
其中,可以理解的是,目标共识节点可以在上述对象签名信息验签成功时,将从业务授权请求中获取到的子网注册配置信息写入目标链上的子网管理合约,并可以调用该子网管理合约中的业务授权方法,为业务对象配置与临时业务相关联的业务授权凭证,进而可以将该业务授权凭证作为注册业务授权凭证写入目标链。
其中,业务对象的私钥信息和公钥信息可以为业务对象预先通过目标链上的对象身份管理合约进行身份注册后得到的。可选的,目标共识节点在生成该私钥信息和公钥信息后,可以将该公钥信息写入目标链,这样,上述业务授权请求可以不需要携带该公钥信息,而是在目标共识节点获取到该业务授权请求时,调用对象身份管理合约从目标链上读取该公钥信息,并可以基于读取到的该公钥信息对该业务授权请求中的对象签名信息进行验签。
步骤S202,将目标共识节点返回的业务授权凭证作为子网创建请求凭证,基于子网创建请求凭证生成用于发送给与多区块链相关联的子网创建服务器的子网创建请求。
可以理解,业务终端在接收到上述目标共识节点返回的业务授权凭证时,可以将该业务授权凭证作为子网创建请求凭证,进而可以基于该子网创建请求凭证生成用于发送给上述子网创建服务器的子网创建请求。其中,可选的,业务终端也可以通过业务对象配置的私钥信息对该子网创建请求凭证进行签名,得到凭证签名信息,进而可以将子网创建请求凭证、凭证签名信息以及该私钥信息对应的公钥信息确定子网创建请求。后续子网创建服务器在接收到该子网创建请求时,可以先通过该子网创建请求中的公钥信息对该凭证签名信息进行验签,在凭证签名信息验签成功时,可以从该子网创建请求中获取其携带的子网创建请求凭证,后续子网创建服务器可以在获取到目标链上的注册业务授权凭证时,对该子网创建请求凭证进行校验,并可以在校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,这里的第一验证节点和第二验证节点可用于共同组建临时业务对应的业务子网络。其中,业务子网络独立于目标链网络、第一链网络和第二链网络。子网创建服务器对子网创建请求凭证进行校验以及获取第一验证节点和第二验证节点的具体过程,可以参见上述图4所对应的实施例,这里不再进行赘述。
可以理解的是,在上述业务子网络组建完成时,业务终端可以接收子网创建服务器返回的子网创建成功响应信息,并基于该子网创建成功响应信息向子网创建服务器发送子网启动指令,以使子网创建服务器基于子网启动指令向目标共识节点发送子网启动交易。其中,该子网启动交易用于指示目标共识节点调用目标链上的子网管理合约,从目标链上获取与业务子网络相关联的创世区块信息。这里的创世区块信息可以包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;该创世区块信息用于写入业务子网络对应的业务子链。其具体过程可以参见上述图4所对应实施例中的步骤S103,这里不再进行赘述。
可以理解的是,业务终端可以向业务子网络中的验证节点发送用于提取业务子链上最新数据的数据提取请求,其中,在接收到子网创建服务器返回的备份成功消息时(可选条件),验证节点可以先对该数据提取请求进行请求校验,在校验成功时,可以基于该数据提取请求将业务子链上具有最大区块高度的区块中的区块数据作为与业务对象相关联的目标提取数据,并将该目标提取数据返回给业务终端。可以理解,这里的目标提取数据是指业务子链上最新区块的区块数据(例如,在实时票据统计业务中,可以为最终的票据统计结果)。相应的,业务终端可以接收上述验证节点基于数据提取请求返回的目标提取数据。其中,备份成功消息是子网创建服务器在对业务子链备份成功时所确定的。
可以理解,在子网创建服务器成功备份业务子链,且业务终端获取到上述目标提取数据时,表示数据读取期结束,则各验证节点可以删除自身存储的业务子链副本,并各自下线关停,从而避免长期存储执行临时业务所产生的大量数据,且为相关共识节点节省链上空间。
可以理解的是,在业务子网络组建启动后,业务子网络中的各验证节点可以从第一链和第二链上读取与临时业务相关联的资源来执行临时业务。为便于理解,下面将分别对业务子链与第一链之间的跨链交互以及业务子链与第二链之间的跨链交互进行阐述。
在一种实施方式中,第一链网络和业务子网络是由与多区块链相关联的第一跨链中继隔离的,该第一跨链中继可以为独立的中继服务器,也可以为多个中继服务器构成的中继服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解,在业务子网络启动后,业务终端可以基于临时业务向第一链网络中的第一共识节点发送第一跨链资源转出请求,其中,该第一跨链资源转出请求用于指示第一共识节点将与临时业务相关联的第一资源由第一链转移至业务子网络对应的业务子链。在本申请实施例中,第一资源可以为与临时业务相关联的电子票据或该电子票据中部分授权可见的票据信息,也可以为与临时业务相关联的电子文件或该电子文件中部分授权可见的文件信息(例如,电子证书中的证书信息),这里不做限定。
进一步,业务终端可以获取从业务子链上探测到的针对第一跨链资源转出请求所得到的第一资源转移成功响应信息;该第一资源转移成功响应信息用于表征成功将第一资源由第一链转移至业务子链,且业务子链上存在第一资源对应的第一映射资源;该第一映射资源为在第一链上锁定第一资源时,由业务子链上的第一资源映射合约所铸造得到的与第一资源具有相同资源内容的资源。
进一步地,业务终端可以基于上述第一资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第一业务执行请求,以使验证节点可以基于第一业务执行请求,调用业务子链上的第一临时业务合约获取第一资源映射合约中的第一映射资源,随后基于第一映射资源执行临时业务。
为便于理解,请一并参见图6,图6是本申请实施例提供的一种数据跨链的场景示意图。如图6所示,在进行数据跨链前,业务对象可以向目标链申请跨链转移第一资源的权限,以获得相应的业务授权凭证,并可将获得的业务授权凭证作为子网创建请求凭证(例如,授权码X),具体实现过程可以参加上述步骤S201,这里不再赘述。其中,目标共识节点也会将该业务授权凭证作为注册业务授权凭证(例如,授权码X’)写入目标链。
在上述业务子网络启动后,业务终端可以基于临时业务确定第一跨链转出交易,进而可以基于该第一跨链转出交易和上述子网创建请求凭证(例如,授权码X)生成第一跨链资源转出请求,将该第一跨链资源转出请求发送至第一共识节点。该第一跨链资源转出请求用于指示第一共识节点将与临时业务相关联的第一资源P(例如,票据资产P)由第一链(例如,票据链)转移至业务子链。其中,业务对象还可以在该第一跨链资源转出请求中指定第一资源P跨链的用途(例如,只能读取第一资源P的资源内容,只能用于红冲,可用于转移等)。第一共识节点可以将第一跨链资源转出请求中携带的第一跨链转出交易写入第一链上的第一资源跨链桥合约(例如,第一票据跨链桥合约),第一资源跨链桥合约可以基于第一跨链转出交易向目标共识节点发送用于校验第一跨链资源转出请求中的子网创建请求凭证的第一转出权限验证请求,以使目标共识节点基于该第一转出权限验证请求,调用目标链上的子网管理合约从目标链上获取注册业务授权凭证(例如,授权码X’)。进一步,第一共识节点可以通过调用第一资源跨链桥合约来对注册业务授权凭证(例如,授权码X’)和第一跨链资源转出请求中的子网创建请求凭证(例如,授权码X)进行比对,得到第一比对结果。
在第一比对结果指示凭证校验成功(即授权码X’与授权码X一致)时,第一共识节点可以调用第一链上的第一资源合约(例如,票据资产合约),在第一链上锁定第一资源P,此时第一资源P不能在第一链上被操作和改变。此外,在第一跨链转出交易执行完成后,第一资源跨链桥合约还可以生成第一跨链转出交易对应的第一跨链事件,该第一跨链事件可被第一跨链中继所探测到。
在第一跨链中继读取到第一跨链事件时,可以对第一跨链事件和第一跨链转出交易进行验证,并在验证成功时,构建第一跨链转出交易对应的第一跨链转入交易,并可将该第一跨链转入交易发送至业务子网络中与第一跨链转移权限相关联的验证节点(即业务子网络中的任意第一验证节点)。其中,在构建交易时,可以将第一资源P、第一跨链转移权限等参数填入第一跨链转入交易。随后,第一验证节点可以将该第一跨链转入交易写入业务子链上的第二资源跨链桥合约(例如,第二票据跨链桥合约),即可以基于接收到的第一跨链转入交易的来源(即第一链)调用业务子链上的第二资源跨链桥合约,进而可以在对第一跨链转入交易验证成功(即验证该第一跨链转入交易的来源为第一链)时,基于第一跨链转入交易中的交易参数(例如第一资源P、第一跨链转移权限等),调用第二资源跨链桥合约所指示的第一资源映射合约(例如,票据资产映射合约),在业务子链上铸造与第一资源P具有相同资源内容的第一映射资源WP(例如,票据映射资产WP),并可以为第一映射资源WP赋予相关权限限制或业务使用范围(例如,只能读取第一映射资源WP的部分资源内容,只能用于红冲,只可用于征信等)。可以理解,第一验证节点在接收到第一跨链转入交易时,也可以将该第一跨链转入交易广播至其他验证节点(例如,第二验证节点)进行类似的处理。
进一步地,在成功将第一资源P由第一链转移至业务子链,且业务子链上存在第一资源P对应的第一映射资源WP时,第一验证节点可以生成针对上述第一跨链资源转出请求的第一资源转移成功响应信息,并可将第一资源转移成功响应信息写入业务子链。因此,在业务终端在业务子链上探测到第一资源转移成功响应信息时,可确认第一资源P跨链转移完成。随后,业务终端可以基于第一资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第一业务执行请求(可携带第一临时业务合约的合约名称和合约地址),进而验证节点可以基于该第一业务执行请求,调用业务子链上的第一临时业务合约(例如,税务审计合约)来获取第一资源映射合约中的第一映射资源WP,且可以基于第一映射资源WP执行该临时业务(例如,税务审计业务),例如,可以在该临时业务中使用第一映射资源WP来进行类似红冲、退税、征信等不同的业务。
类似的,在一种实施方式中,第二链网络和业务子网络是由与多区块链相关联的第二跨链中继隔离的,该第二跨链中继可以为独立的中继服务器,也可以为多个中继服务器构成的中继服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解,在业务子网络启动后,业务终端可以基于临时业务向第二链网络中的第二共识节点发送第二跨链资源转出请求,其中,第二跨链资源转出请求用于指示第二共识节点将与临时业务相关联的第二资源由第二链转移至业务子网络对应的业务子链。在本申请实施例中,第二资源可以为与临时业务相关联的通用资产,例如,可以为与临时业务相关联的通用票据关联资产(例如,征信信息、税务信息等)或该通用票据关联资产中部分授权可见的资产关联信息,也可以为与临时业务相关联的通用文件关联资产(例如,资质信息、处方统计结果等)或该通用文件关联资产中部分授权可见的文件关联信息,这里不做限定。
进一步,业务终端可以获取从业务子链上探测到的针对第二跨链资源转出请求所得到的第二资源转移成功响应信息;该第二资源转移成功响应信息用于表征成功将第二资源由第二链转移至业务子链,且业务子链上存在第二资源对应的第二映射资源;该第二映射资源为在第二链上锁定第二资源时,由业务子链上的第二资源映射合约所铸造得到的与第二资源具有相同资源内容的资源。
进一步地,业务终端可以基于第二资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第二业务执行请求,以使验证节点基于第二业务执行请求,调用业务子链上的第二临时业务合约获取第二资源映射合约中的第二映射资源,随后基于第二映射资源执行临时业务。
为便于理解,请一并参见图7,图7是本申请实施例提供的一种数据跨链的场景示意图。如图7所示,在进行数据跨链前,业务对象可以向目标链申请跨链转移第二资源的权限,以获得相应的业务授权凭证,并可将获得的业务授权凭证作为子网创建请求凭证(例如,授权码X),具体实现过程可以参加上述步骤S201,这里不再赘述。其中,目标共识节点也会将该业务授权凭证作为注册业务授权凭证(例如,授权码X’)写入目标链。
在上述业务子网络启动后,业务终端可以基于临时业务确定第二跨链转出交易,进而可以基于该第二跨链转出交易和上述子网创建请求凭证(例如,授权码X)生成第二跨链资源转出请求,将该第二跨链资源转出请求发送至第二共识节点。该第二跨链资源转出请求用于指示第二共识节点将与临时业务相关联的第二资源Q(例如,征信信息Q)由第二链(例如,应用合约链)转移至业务子链。其中,业务对象还可以在该第二跨链资源转出请求中指定第二资源Q跨链的用途(例如,只能读取第二资源Q的资源内容,只能用于审查,可用于转移等)。第二共识节点可以将第二跨链资源转出请求中携带的第二跨链转出交易写入第二链上的第三资源跨链桥合约(例如,第一通用跨链桥合约),第三资源跨链桥合约可以基于第二跨链转出交易向目标共识节点发送用于校验第二跨链资源转出请求中的子网创建请求凭证的第二转出权限验证请求,以使目标共识节点基于该第二转出权限验证请求,调用目标链上的子网管理合约从目标链上获取注册业务授权凭证(例如,授权码X’)。进一步,第二共识节点可以通过调用第三资源跨链桥合约来对注册业务授权凭证(例如,授权码X’)和第二跨链资源转出请求中的子网创建请求凭证(例如,授权码X)进行比对,得到第二比对结果。
在第二比对结果指示凭证校验成功(即授权码X’与授权码X一致)时,第二共识节点可以调用第二链上的第二资源合约(例如,衍生业务合约),在第二链上锁定第二资源Q,此时第二资源Q不能在第二链上被操作和改变。此外,在第二跨链转出交易执行完成后,第三资源跨链桥合约还可以生成第二跨链转出交易对应的第二跨链事件,该第二跨链事件可被第二跨链中继所探测到。
在第二跨链中继读取到第二跨链事件时,可以对第二跨链事件和第二跨链转出交易进行验证,并在验证成功时,构建第二跨链转出交易对应的第二跨链转入交易,并可将该第二跨链转入交易发送至业务子网络中与第二跨链转移权限相关联的验证节点(即业务子网络中的任意第二验证节点)。其中,在构建交易时,可以将第二资源Q、第二跨链转移权限等参数填入第二跨链转入交易。随后,第二验证节点可以将该第二跨链转入交易写入业务子链上的第四资源跨链桥合约(例如,第二通用跨链桥合约),即可以基于接收到的第二跨链转入交易的来源(即第二链)调用业务子链上的第四资源跨链桥合约,进而可以在对第二跨链转入交易验证成功(即验证该第二跨链转入交易的来源为第二链)时,基于第二跨链转入交易中的交易参数(例如第二资源Q、第二跨链转移权限等),调用第四资源跨链桥合约所指示的第二资源映射合约(例如,通用资产映射合约),在业务子链上铸造与第二资源Q具有相同资源内容的第二映射资源WQ(例如,通用映射资产WQ),并可以为第二映射资源WQ赋予相关权限限制或业务使用范围(例如,只能读取第二映射资源WQ的部分资源内容,只能用于红冲,只可用于征信等)。可以理解,第二验证节点在接收到第二跨链转入交易时,也可以将该第二跨链转入交易广播至其他验证节点(例如,第一验证节点)进行类似的处理。
进一步地,在成功将第二资源Q由第二链转移至业务子链,且业务子链上存在第二资源Q对应的第二映射资源WQ时,第二验证节点可以生成针对上述第二跨链资源转出请求的第二资源转移成功响应信息,并可将第二资源转移成功响应信息写入业务子链。因此,在业务终端在业务子链上探测到第二资源转移成功响应信息时,可确认第二资源Q跨链转移完成。随后,业务终端可以基于第二资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第二业务执行请求(可携带第二临时业务合约的合约名称和合约地址),进而验证节点可以基于该第二业务执行请求,调用业务子链上的第二临时业务合约(例如,税务审计合约)来获取第二资源映射合约中的第二映射资源WQ,且可以基于第二映射资源WQ执行该临时业务(例如,税务审计业务),例如,可以在该临时业务中使用第二映射资源WQ来进行类似红冲、退税、征信等不同的业务。
可以理解的是,当上述第一资源P以及第二资源Q均跨链转移完成时,业务子链上存在第一资源P对应的第一映射资源WP以及第二资源Q对应的第二映射资源WQ,则业务终端可以在业务子链上探测到第一资源转移成功响应信息和第二资源转移成功响应信息。业务终端可以基于第一资源转移成功响应信息以及第二资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第三业务执行请求(可携带第三临时业务合约的合约名称和合约地址),进而验证节点可以基于该第三业务执行请求,调用业务子链上的第三临时业务合约(例如,退税复核合约)来分别调用上述第一临时业务合约和第二临时业务合约,以获取第一资源映射合约中的第一映射资源WP以及第二资源映射合约中的第二映射资源WQ,且可以基于第一映射资源WP以及第二映射资源WQ执行该临时业务(例如,退税复核业务)。
可以理解,本申请实施例还可以支持将执行临时业务所得到的临时业务执行结果(例如,统计电子票据所得到的开票数量、统计电子处方所得到的药品信息等)原路转移回对应的第一链或第二链,其转移过程与上述将相关资源从第一链或第二链转移至业务子链的过程类似,这里不再进行赘述。例如,验证节点可以将临时业务对应的最终结果返回给其它相关链,例如,可以将基于电子票据的审计结果返回给管理链,以使管理共识节点基于该审计结果找到有问题的电子票据,并将其提取出来发送给票据链,以便进行红冲之类的业务(即可以实现不同区块链之间的反向交互)。
由此可见,本申请实施例可以在多区块链架构的基础上,根据业务需要即时构建出业务子网络,以用于独立处理一些会产生较大数据量或者指定用途的临时业务,这样,由于这些临时业务不在第一链或第二链上运行,其对应的临时业务执行结果由业务子网络对应的业务子链进行存储和销毁,因此可以减少主链空间的浪费。此外,在业务对象获得目标链授权的前提下,子网创建服务器可以通过复用第一链网络和第二链网络中已有的共识节点进行业务子网络的快速搭建,而不需要业务对象自行提供业务子网络的验证节点,从而可以节省额外的验证节点资源开销,并提升多区块链系统中共识节点的利用率,同时可以提高业务子网络的创建效率以及安全性。
为便于理解,进一步地,请参见图8,图8是本申请实施例提供的一种区块链电子票据场景下的交互示意图。如图8所示,在区块链电子票据场景下,本申请实施例可以通过管理链授权,通过复用票据链和应用合约链的验证者(即共识节点)进行快速节点搭建,还可以提供业务子链与票据链和应用合约链的资产状态跨链能力。下面将对创建和运行业务子链(例如,子网X对应的业务子链)的主要参与方和它们各自对应的功能进行说明。可以理解,在区块链电子文件场景下的各参与方的交互过程与此类似,因此不再进行赘述。
(1)管理链:该链上部署有子网管理合约,用户(即业务对象)在启动一个新的业务子网络之前,需要从税务管理部门获得授权后,才可以向管理链申请创建业务子网络(例如,网络标识为subnetX的业务子网络,可简称子网X),且可以将相关创世区块信息写入子网X对应的业务子链中。
(2)子网创建服务器(也可称为subnet创建服务):在向管理链获得授权后,用户可以向子网创建服务器请求创建子网X,子网创建服务器由税务管理部门运营,且可以向管理链进行子网X的授权验证,验证成功后,子网创建服务器会根据子网业务需求,在验证者节点网络(包括票据链网络和应用合约链网络)中有条件地随机选择票据链验证者(即票据共识节点)、应用合约链验证者(即应用共识节点)以及通用验证者(即通用共识节点,通常由用户或者外部机构加入构成),组成验证者子网的网络(即业务子网络,例如子网X)。当业务子网络中的验证节点启动后,业务子网络中的验证节点即开始子网共识,例如执行与票据业务相关联的临时业务(比如,统计电子票据的数量)。
(3)票据链:管理票据资产的全生命周期和状态,部署有票据资产合约和第一票据跨链桥合约,可以和票据资产跨链服务(也可称为票据数据跨链服务)进行票据资产的跨链交互。
(4)应用合约链:管理电子票据和税务衍生业务合约相关的数据(即通用资产,例如征信信息、退税信息等),部署有第一通用跨链桥合约(也可称为应用链资产通用跨链桥合约),可以和通用资产跨链服务(也可称为应用链数据跨链服务)进行衍生业务相关的通用资产的跨链交互。
(5)票据资产跨链服务(即上述第一跨链中继):用于票据链和业务子链之间的票据资产跨链转移,只有票据链验证者有权限可以访问票据资产跨链服务。因此如果对应的业务子链需要进行票据票资产跨链后进行相关联的业务,则需要在创建业务子网络时指定需要有票据链验证者参与。
(6)通用资产跨链服务(即上述第二跨链中继):用于应用合约链中的一些通用数据和状态与业务子链之间进行跨链转移。只有应用合约链验证者可以访问通用资产跨链服务。因此,如果对应的业务子链需要进行应用合约链上的相关通用资产和状态跨链后进行相关联的业务,则需要在创建业务子网络时指定需要有应用合约链验证者参与。
可以理解,在本申请实施例中,用户需要创建一个业务子链时,只需要向管理链注册子网的基本信息和相关权限信息(如是否需要票据跨链等),而不需要自行提供业务子网络的验证者节点(可简称验证者,即共识节点)。系统的子网创建服务器会根据用户需要(即用户提交的子网注册配置信息),选择当前在票据链网络以及应用合约链网络中存在的验证者节点,为该用户组成业务子网络。
上述可知,由于复用了票据链和应用合约链相关的验证者节点,这些验证者节点本身也有实时同步票据链和应用合约链的链上账本数据,因此通过数据跨链服务,可以很便捷地完成票据链和应用合约链到业务子链之间的数据跨链。另外,本申请实施例可以为用户提供便捷的子链使用方式,也省去了额外的验证者节点资源开销。
图8中的数据跨链服务(包括票据资产跨链服务和通用资产跨链服务)完成了票据链和应用合约链中的相关资产和状态数据到业务子链之间的跨链转移。其中,使用数据跨链功能前,首先需要在创建业务子链时将相关的跨链权限申请提交到管理链中,此外,跨链权限也会写入到业务子链的创世区块信息中,需要注意的是,该跨链权限在整个业务子链的生命周期中是不可更改的。可以理解,数据跨链服务只有在验证了权限之后才会为业务子链提供跨链服务。
其中,在执行数据跨链转移时,数据跨链服务需要与业务子链的创世区块中已经部署好的资产跨链桥合约(包括第二票据跨链桥合约和第二通用跨链桥合约),以及票据链上的第一票据跨链桥合约,应用合约链上的第一通用跨链桥合约进行交互。需要注意的是,第二票据跨链桥合约和第二通用跨链桥合约在业务子链中无法自主更新。
可以理解,业务子链在开始运行后作为一个独立的区块链来运行。在临时业务结束或者发生变更情况时,可以由管理部门(例如税务管理部门)触发子网创建服务器,向子网X中发送业务终止交易。该业务终止交易被确认后,子网X不再创建新的区块。此时用户可以提取其业务子链上的最终数据(即目标提取数据,例如临时业务合约的最终数据状态),读取期结束后子网X中的各验证者节点(即子网X中的各验证节点)各自下线关停。此外,子网X的账本数据可以由子网创建服务器进行一次备份,子网X中的各验证者节点不再保留其账本数据副本。
可以理解,本申请实施例中的业务子链的优势点在于:首先,可以简化其启动流程,用户注册后可直接复用票据链和应用合约链对应的共识节点,省去了用户自行提供验证节点的困难以及避免了不安全性。其次,提供了有效的跨链服务和跨链协议,业务子链可以在安全授权下,与票据链和应用合约链上的业务数据进行跨链交互,使用户可以便捷地在业务子链中运行临时业务(例如,发票税务衍生业务)。
由此可见,业务子网络可以让用户在应用合约链之外更加独立的拥有自己的独立业务子链,独立的业务子链可以为用户提供更高独立性能、数据独立隔离和隐私性更高的服务。同时,对于会产生大量临时数据、不重要数据的临时业务,业务子链可以作为临时业务链,其运行的大量账本数据不会侵占应用合约链的主链空间,也能够为用户和管理系统节省了大量成本。
进一步地,请参见图9,图9是本申请实施例提供的一种多区块链数据处理方法的交互流程示意图。如图9所示,该方法可以由与多区块链相关联的业务终端、目标链网络中的目标共识节点以及与多区块链相关联的子网创建服务器共同执行,其中,该业务终端可以为上述图3所示的业务终端30B,该目标共识节点可以为上述图3所示的目标链网络31中的任意一个共识节点,例如,共识节点31a,子网创建服务器可以为上述图3所示的子网创建服务器30C。该方法至少可以包括以下步骤:
步骤S301,业务终端基于业务对象所请求的临时业务向目标链网络中的目标共识节点发送业务授权请求;
步骤S302,目标共识节点基于业务授权请求配置与临时业务相关联的业务授权凭证,将业务授权凭证作为注册业务授权凭证写入目标链,且将业务授权凭证返回给业务终端;
步骤S303,业务终端将目标共识节点返回的业务授权凭证作为子网创建请求凭证,基于子网创建请求凭证生成子网创建请求,将子网创建请求发送给子网创建服务器;
步骤S304,子网创建服务器在获取到业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;
步骤S305,子网创建服务器通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;
步骤S306,在凭证校验结果指示校验成功时,子网创建服务器将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络。
上述步骤的具体实现过程可以参见上述图4所对应的实施例以及上述图5所对应的实施例,这里不再进行赘述。此外,对采用相同方法的有益效果描述,也不再进行赘述。
为便于理解,进一步地,请参见图10,图10是本申请实施例提供的一种区块链电子票据场景下的系统架构图。如图10所示,本申请实施例中的业务层、路由代理层以及核心共识网络层组成了整个完整区块链业务体系。图8所示的核心链1、核心链2、…以及核心链N分别为不同区域的税局所维护的目标区块链。
可以理解的是,当区块链被用于政务机构(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。
其中,业务层处于见证网络(即业务网络)中,该业务层中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指税局专网中的地方税局,企业用户可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,该业务网络中的业务节点主要用于执行交易业务,不参与记账共识。可以理解的是,业务节点能够在执行临时业务时,生成用于向中继节点发送的交易数据。
其中,路由代理层中的N个中继节点(即路由节点)可以用于对业务层和核心共识网络层进行网络隔离。其中,每个中继节点可以具有点对点服务(即P2P服务)、路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点具有的基本功能,可以用于节点之间的通信。与证书缓存相关联的证书,可以指公钥证书体系(PKI,Public Key Infrastructure),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(CA,Certificate Authority)。认证服务可以用于验证接收到的数据的数据格式、节点合法性等。可以理解的是,在本申请实施例中,中继节点可以将业务节点生成的交易数据转发至共识节点。
其中,核心共识网络层中的共识节点(即记账节点)可以为税务专网中的可信节点。可以理解的是,每个共识节点均具有打包出块的能力,即可以对中继节点发送的交易数据进行打包出块,以成功写入核心共识网络层中的目标区块链中。
其中,上述核心共识网络层可以包括管理链网络、票据链网络、应用合约链网络,基于此,上述每个目标区块链均可以为包含管理链、票据链以及应用合约链的多区块链。可以理解的是,业务对象可以将通过与业务终端相关联的业务节点,将基于与电子票据相关联的临时业务所确定的业务授权请求(例如,业务授权请求A)发送至核心共识网络层中的目标共识节点,以便获得相应的业务授权凭证,其中,该目标共识节点为核心共识网络层包含的目标链网络中的共识节点。进一步,在业务对象获得授权后,可以向某个目标区块链中的管理链申请在上述核心共识网络层中创建业务子网络(例如,业务子网络B),且该业务子网络由票据链网络中的第一验证节点和应用合约链网络中的第二验证节点组成。通过该业务子网络与票据链网络、应用合约链网络之间的跨链交互,可以获取与上述临时业务相关联的资源来执行该临时业务。由此可见,本申请实施例在多区块链架构的基础上组建用于执行临时业务的业务子网络,可以减少主链空间的浪费,此外,通过复用多区块链系统中已有的共识节点来组建业务子网络,可以提高业务子网络的创建效率。
请参见图11,是本申请实施例提供的一种多区块链数据处理装置的结构示意图。该多区块链可以包含目标链、第一链和第二链,这里的目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络,多区块链数据处理装置1可应用于与多区块链相关联的子网创建服务器中,例如,该子网创建服务器可以为上述图3所对应实施例中的子网创建服务器30C。应当理解,该多区块链数据处理装置1可以是运行于子网创建服务器(比如,前述子网创建服务器30C)的一个计算机程序(包括程序代码),例如该多区块链数据处理装置1可以为一个应用软件;其中,该装置可以用于执行本申请实施例提供的多区块链数据处理方法中的相应步骤。如图11所示,多区块链数据处理装置1可以包括:凭证获取模块11、凭证校验模块12、子网组建模块13、创建响应模块14、子网启动模块15、创世块生成模块16、子网关停模块17、数据备份模块18;
凭证获取模块11,用于在获取到业务对象通过业务终端发送的子网创建请求时,获取子网创建请求中携带的子网创建请求凭证;子网创建请求凭证是由目标链网络中的目标共识节点接收到业务对象通过业务终端发送的临时业务所确定的;
凭证校验模块12,用于通过目标链上的与临时业务相关联的注册业务授权凭证,对子网创建请求凭证进行校验,得到凭证校验结果;
其中,该凭证校验模块12可以包括:交易发送单元121、凭证比对单元122;
交易发送单元121,用于基于子网创建请求向目标共识节点发送凭证校验交易,以使目标共识节点基于凭证校验交易调用目标链上的子网管理合约,从目标链上读取与临时业务相关联的注册业务授权凭证;注册业务授权凭证包括目标共识节点为业务对象配置的子网注册授权码;
凭证比对单元122,用于将子网注册授权码与子网创建请求凭证中的子网构建请求码进行比对,得到比对结果;当比对结果指示子网注册授权码与子网构建请求码一致时,确定子网创建请求凭证校验成功,将校验成功时的子网创建请求凭证作为凭证校验结果。
其中,交易发送单元121、凭证比对单元122的具体实现方式,可以参见上述图4所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
子网组建模块13,用于在凭证校验结果指示校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,通过第一验证节点和第二验证节点组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络;
其中,注册业务授权凭证包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;子网注册配置信息包括临时业务对应的业务子网络的网络标识、业务子网络所包含的验证节点的节点数量以及业务对象申请的跨链权限;业务子网络所包含的验证节点的节点数量为M,M为大于1的正整数;跨链权限包括用于在第一链与业务子网络对应的业务子链之间进行数据跨链转移的第一跨链转移权限,以及用于在第二链与业务子链之间进行数据跨链转移的第二跨链转移权限;
上述子网组建模块13具体用于将从第一链网络中获取到的与第一跨链转移权限相关联的M1个共识节点均作为第一验证节点,且将从第二链网络中所获取到的与第二跨链转移权限相关联的M2个共识节点均作为第二验证节点,通过获取到的M1个第一验证节点和M2个第二验证节点组建具有网络标识的业务子网络;M1和M2均为正整数,且M=M1+M2。
创建响应模块14,用于在业务子网络组建完成时,向业务对象返回子网创建成功响应信息;
子网启动模块15,用于在接收到业务对象对应的业务终端基于子网创建成功响应信息发送的子网启动指令时,基于子网启动指令向目标共识节点发送子网启动交易,以使目标共识节点基于子网启动交易调用目标链上的子网管理合约,从目标链上获取与业务子网络相关联的创世区块信息;创世区块信息包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;
创世块生成模块16,用于将目标共识节点返回的创世区块信息发送至业务子网络中的验证节点,以使验证节点将创世区块信息写入业务子网络对应的业务子链;
子网关停模块17,用于在接收到与子网创建服务器相关联的业务管理对象发送的子网关停指令时,基于子网关停指令向业务子网络中的验证节点发送业务终止交易,以使验证节点在对业务终止交易验证成功时,停止执行临时业务,且将业务子链发送至子网创建服务器;子网关停指令包括业务结束指令和业务变更指令;
数据备份模块18,用于对接收到的业务子链进行备份。
其中,凭证获取模块11、凭证校验模块12、子网组建模块13、创建响应模块14、子网启动模块15、创世块生成模块16、子网关停模块17、数据备份模块18的具体实现方式,可以参见上述图4所对应实施例中对步骤S101-步骤S103的描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
请参见图12,是本申请实施例提供的一种多区块链数据处理装置的结构示意图。该多区块链可以包含目标链、第一链和第二链,这里的目标链对应的目标链网络独立于第一链对应的第一链网络,且独立于第二链对应的第二链网络,多区块链数据处理装置2可应用于与多区块链相关联的业务终端中,例如,该业务终端可以为上述图3所对应实施例中的业务终端30B。应当理解,该多区块链数据处理装置2可以是运行于业务终端(比如,前述业务终端30B)的一个计算机程序(包括程序代码),例如该多区块链数据处理装置2可以为一个应用软件;其中,该装置可以用于执行本申请实施例提供的多区块链数据处理方法中的相应步骤。如图12所示,多区块链数据处理装置2可以包括:业务授权模块21、请求生成模块22、指令发送模块23、数据提取模块24、第一请求模块25、第一响应模块26、第一执行模块27、第二请求模块28、第二响应模块29、第二执行模块30;
业务授权模块21,用于接收业务对象所请求的临时业务,基于临时业务向目标链网络中的目标共识节点发送业务授权请求;业务授权请求用于指示目标共识节点在配置得到与临时业务相关联的业务授权凭证时,将业务授权凭证作为注册业务授权凭证写入目标链;
其中,该业务授权模块21可以包括:请求确定单元211、请求发送单元212;
请求确定单元211,用于基于临时业务生成子网注册配置信息,通过业务对象的私钥信息对子网注册配置信息进行签名,得到对象签名信息,基于子网注册配置信息、对象签名信息以及私钥信息对应的公钥信息确定业务授权请求;
请求发送单元212,用于将业务授权请求发送至目标链网络中的目标共识节点,以使目标共识节点在通过业务授权请求中的公钥信息确定对象签名信息验签成功时,基于从业务授权请求中获取到的子网注册配置信息调用目标链上的子网管理合约,为业务对象配置与临时业务相关联的业务授权凭证。
其中,请求确定单元211、请求发送单元212的具体实现方式,可以参见上述图5所对应实施例中对步骤S201的描述,这里将不再继续进行赘述。
请求生成模块22,用于将目标共识节点返回的业务授权凭证作为子网创建请求凭证,基于子网创建请求凭证生成用于发送给与多区块链相关联的子网创建服务器的子网创建请求;子网创建请求用于指示子网创建服务器在获取到目标链上的注册业务授权凭证时,对子网创建请求凭证进行校验,且在校验成功时,将从第一链网络中所获取到的共识节点作为第一验证节点,且将从第二链网络中所获取到的共识节点作为第二验证节点,第一验证节点和第二验证节点用于共同组建临时业务对应的业务子网络;业务子网络独立于目标链网络、第一链网络和第二链网络;
指令发送模块23,用于在业务子网络组建完成时,接收子网创建服务器返回的子网创建成功响应信息,基于子网创建成功响应信息向子网创建服务器发送子网启动指令,以使子网创建服务器基于子网启动指令向目标共识节点发送子网启动交易;子网启动交易用于指示目标共识节点调用目标链上的子网管理合约,从目标链上获取与业务子网络相关联的创世区块信息;创世区块信息包括业务对象通过业务终端向目标共识节点提交的子网注册配置信息;创世区块信息用于写入业务子网络对应的业务子链;
数据提取模块24,用于向业务子网络中的验证节点发送数据提取请求;数据提取请求用于指示验证节点在接收到子网创建服务器返回的备份成功消息时,将业务子网络对应的业务子链上具有最大区块高度的区块中的区块数据作为与业务对象相关联的目标提取数据;且用于接收验证节点基于数据提取请求返回的目标提取数据;
其中,第一链网络和业务子网络是由与多区块链相关联的第一跨链中继隔离的;
第一请求模块25,用于在业务子网络启动后,基于临时业务向第一链网络中的第一共识节点发送第一跨链资源转出请求;第一跨链资源转出请求用于指示第一共识节点将与临时业务相关联的第一资源由第一链转移至业务子网络对应的业务子链;
第一响应模块26,用于获取从业务子链上探测到的针对第一跨链资源转出请求所得到的第一资源转移成功响应信息;第一资源转移成功响应信息用于表征成功将第一资源由第一链转移至业务子链,且业务子链上存在第一资源对应的第一映射资源;第一映射资源为在第一链上锁定第一资源时,由业务子链上的第一资源映射合约所铸造得到的与第一资源具有相同资源内容的资源;
第一执行模块27,用于基于第一资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第一业务执行请求,以使验证节点基于第一业务执行请求,调用业务子链上的第一临时业务合约获取第一资源映射合约中的第一映射资源,基于第一映射资源执行临时业务。
其中,第二链网络和业务子网络是由与多区块链相关联的第二跨链中继隔离的;
第二请求模块28,用于在业务子网络启动后,基于临时业务向第二链网络中的第二共识节点发送第二跨链资源转出请求;第二跨链资源转出请求用于指示第二共识节点将与临时业务相关联的第二资源由第二链转移至业务子网络对应的业务子链;
第二响应模块29,用于获取从业务子链上探测到的针对第二跨链资源转出请求所得到的第二资源转移成功响应信息;第二资源转移成功响应信息用于表征成功将第二资源由第二链转移至业务子链,且业务子链上存在第二资源对应的第二映射资源;第二映射资源为在第二链上锁定第二资源时,由业务子链上的第二资源映射合约所铸造得到的与第二资源具有相同资源内容的资源;
第二执行模块30,用于基于第二资源转移成功响应信息向业务子网络中的验证节点发送用于执行临时业务的第二业务执行请求,以使验证节点基于第二业务执行请求,调用业务子链上的第二临时业务合约获取第二资源映射合约中的第二映射资源,基于第二映射资源执行临时业务。
其中,业务授权模块21、请求生成模块22、指令发送模块23、数据提取模块24、第一请求模块25、第一响应模块26、第一执行模块27、第二请求模块28、第二响应模块29、第二执行模块30的具体实现方式,可以参见上述图5所对应实施例中对步骤S201-步骤S202的描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
请参见图13,是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,计算机设备1000可以为用户终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为服务器为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图13所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行前文图4、图5、图9任一个所对应实施例中对该多区块链数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的多区块链数据处理装置1和多区块链数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图4、图5、图9任一个所对应实施例中对多区块链数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的多区块链数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图4、图5、图9任一个所对应实施例提供的方法。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图14,图14是本申请实施例提供的一种多区块链数据处理系统的结构示意图。该多区块链数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图11所对应实施例中的多区块链数据处理装置1,可以理解的是,该多区块链数据处理装置1a可以集成在上述图3所对应实施例中的子网创建服务器30C,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图12所对应实施例中的多区块链数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图3对应实施例中的业务终端30B,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的多区块链数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (16)
1.一种多区块链数据处理方法,其特征在于,所述多区块链包含目标链、第一链和第二链;所述目标链对应的目标链网络独立于所述第一链对应的第一链网络,且独立于所述第二链对应的第二链网络;所述方法由与所述多区块链相关联的子网创建服务器执行,所述方法包括:
在获取到业务对象通过业务终端发送的子网创建请求时,获取所述子网创建请求中携带的子网创建请求凭证;所述子网创建请求凭证是由所述目标链网络中的目标共识节点接收到所述业务对象通过所述业务终端发送的临时业务所确定的;
通过所述目标链上的与所述临时业务相关联的注册业务授权凭证,对所述子网创建请求凭证进行校验,得到凭证校验结果;
在所述凭证校验结果指示校验成功时,将从所述第一链网络中所获取到的共识节点作为第一验证节点,且将从所述第二链网络中所获取到的共识节点作为第二验证节点,通过所述第一验证节点和所述第二验证节点组建所述临时业务对应的业务子网络;所述业务子网络独立于所述目标链网络、所述第一链网络和所述第二链网络。
2.根据权利要求1所述的方法,其特征在于,所述通过所述目标链上的与所述临时业务相关联的注册业务授权凭证,对所述子网创建请求凭证进行校验,得到凭证校验结果,包括:
基于所述子网创建请求向所述目标共识节点发送凭证校验交易,以使所述目标共识节点基于所述凭证校验交易调用所述目标链上的子网管理合约,从所述目标链上读取与所述临时业务相关联的注册业务授权凭证;所述注册业务授权凭证包括所述目标共识节点为所述业务对象配置的子网注册授权码;
将所述子网注册授权码与所述子网创建请求凭证中的子网构建请求码进行比对,得到比对结果;
当所述比对结果指示所述子网注册授权码与所述子网构建请求码一致时,确定所述子网创建请求凭证校验成功,将校验成功时的所述子网创建请求凭证作为凭证校验结果。
3.根据权利要求1所述的方法,其特征在于,所述注册业务授权凭证包括所述业务对象通过所述业务终端向所述目标共识节点提交的子网注册配置信息;所述子网注册配置信息包括所述临时业务对应的业务子网络的网络标识、所述业务子网络所包含的验证节点的节点数量以及所述业务对象申请的跨链权限;所述业务子网络所包含的验证节点的节点数量为M,M为大于1的正整数;所述跨链权限包括用于在所述第一链与所述业务子网络对应的业务子链之间进行数据跨链转移的第一跨链转移权限,以及用于在所述第二链与所述业务子链之间进行数据跨链转移的第二跨链转移权限;
所述将从所述第一链网络中所获取到的共识节点作为第一验证节点,且将从所述第二链网络中所获取到的共识节点作为第二验证节点,通过所述第一验证节点和所述第二验证节点组建所述临时业务对应的业务子网络,包括:
将从所述第一链网络中获取到的与所述第一跨链转移权限相关联的M1个共识节点均作为第一验证节点,且将从所述第二链网络中所获取到的与所述第二跨链转移权限相关联的M2个共识节点均作为第二验证节点,通过获取到的M1个第一验证节点和M2个第二验证节点组建具有所述网络标识的所述业务子网络;M1和M2均为正整数,且M=M1+M2。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述业务子网络组建完成时,向所述业务对象返回子网创建成功响应信息;
在接收到所述业务对象对应的所述业务终端基于所述子网创建成功响应信息发送的子网启动指令时,基于所述子网启动指令向所述目标共识节点发送子网启动交易,以使所述目标共识节点基于所述子网启动交易调用所述目标链上的子网管理合约,从所述目标链上获取与所述业务子网络相关联的创世区块信息;所述创世区块信息包括所述业务对象通过所述业务终端向所述目标共识节点提交的子网注册配置信息;
将所述目标共识节点返回的所述创世区块信息发送至所述业务子网络中的验证节点,以使所述验证节点将所述创世区块信息写入所述业务子网络对应的业务子链。
5.根据权利要求1所述的方法,其特征在于,还包括:
在接收到与所述子网创建服务器相关联的业务管理对象发送的子网关停指令时,基于所述子网关停指令向所述业务子网络中的验证节点发送业务终止交易,以使所述验证节点在对所述业务终止交易验证成功时,停止执行所述临时业务,且将所述业务子链发送至所述子网创建服务器;所述子网关停指令包括业务结束指令和业务变更指令;
对接收到的所述业务子链进行备份。
6.一种多区块链数据处理方法,其特征在于,所述多区块链包含目标链、第一链和第二链;所述目标链对应的目标链网络独立于所述第一链对应的第一链网络,且独立于所述第二链对应的第二链网络;所述方法由与所述多区块链相关联的业务终端执行,所述方法包括:
接收业务对象所请求的临时业务,基于所述临时业务向所述目标链网络中的目标共识节点发送业务授权请求;所述业务授权请求用于指示所述目标共识节点在配置得到与所述临时业务相关联的业务授权凭证时,将所述业务授权凭证作为注册业务授权凭证写入所述目标链;
将所述目标共识节点返回的所述业务授权凭证作为子网创建请求凭证,基于所述子网创建请求凭证生成用于发送给与所述多区块链相关联的子网创建服务器的子网创建请求;所述子网创建请求用于指示所述子网创建服务器在获取到所述目标链上的所述注册业务授权凭证时,对所述子网创建请求凭证进行校验,且在校验成功时,将从所述第一链网络中所获取到的共识节点作为第一验证节点,且将从所述第二链网络中所获取到的共识节点作为第二验证节点,所述第一验证节点和所述第二验证节点用于共同组建所述临时业务对应的业务子网络;所述业务子网络独立于所述目标链网络、所述第一链网络和所述第二链网络。
7.根据权利要求6所述的方法,其特征在于,所述基于所述临时业务向所述目标链网络中的目标共识节点发送业务授权请求,包括:
基于所述临时业务生成子网注册配置信息,通过所述业务对象的私钥信息对所述子网注册配置信息进行签名,得到对象签名信息,基于所述子网注册配置信息、所述对象签名信息以及所述私钥信息对应的公钥信息确定业务授权请求;
将所述业务授权请求发送至所述目标链网络中的目标共识节点,以使所述目标共识节点在通过所述业务授权请求中的所述公钥信息确定所述对象签名信息验签成功时,基于从所述业务授权请求中获取到的所述子网注册配置信息调用所述目标链上的子网管理合约,为所述业务对象配置与所述临时业务相关联的业务授权凭证。
8.根据权利要求6所述的方法,其特征在于,还包括:
在所述业务子网络组建完成时,接收所述子网创建服务器返回的子网创建成功响应信息,基于所述子网创建成功响应信息向所述子网创建服务器发送子网启动指令,以使所述子网创建服务器基于所述子网启动指令向所述目标共识节点发送子网启动交易;所述子网启动交易用于指示所述目标共识节点调用所述目标链上的子网管理合约,从所述目标链上获取与所述业务子网络相关联的创世区块信息;所述创世区块信息包括所述业务对象通过所述业务终端向所述目标共识节点提交的子网注册配置信息;所述创世区块信息用于写入所述业务子网络对应的业务子链。
9.根据权利要求6所述的方法,其特征在于,还包括:
向所述业务子网络中的验证节点发送数据提取请求;所述数据提取请求用于指示所述验证节点在接收到所述子网创建服务器返回的备份成功消息时,将所述业务子网络对应的业务子链上具有最大区块高度的区块中的区块数据作为与所述业务对象相关联的目标提取数据;
接收所述验证节点基于所述数据提取请求返回的所述目标提取数据。
10.根据权利要求6所述的方法,其特征在于,所述第一链网络和所述业务子网络是由与所述多区块链相关联的第一跨链中继隔离的;所述方法还包括:
在所述业务子网络启动后,基于所述临时业务向所述第一链网络中的第一共识节点发送第一跨链资源转出请求;所述第一跨链资源转出请求用于指示所述第一共识节点将与所述临时业务相关联的第一资源由所述第一链转移至所述业务子网络对应的业务子链;
获取从所述业务子链上探测到的针对所述第一跨链资源转出请求所得到的第一资源转移成功响应信息;所述第一资源转移成功响应信息用于表征成功将所述第一资源由所述第一链转移至所述业务子链,且所述业务子链上存在所述第一资源对应的第一映射资源;所述第一映射资源为在所述第一链上锁定所述第一资源时,由所述业务子链上的第一资源映射合约所铸造得到的与所述第一资源具有相同资源内容的资源;
基于所述第一资源转移成功响应信息向所述业务子网络中的验证节点发送用于执行所述临时业务的第一业务执行请求,以使所述验证节点基于所述第一业务执行请求,调用所述业务子链上的第一临时业务合约获取所述第一资源映射合约中的所述第一映射资源,基于所述第一映射资源执行所述临时业务。
11.根据权利要求6所述的方法,其特征在于,所述第二链网络和所述业务子网络是由与所述多区块链相关联的第二跨链中继隔离的;所述方法还包括:
在所述业务子网络启动后,基于所述临时业务向所述第二链网络中的第二共识节点发送第二跨链资源转出请求;所述第二跨链资源转出请求用于指示所述第二共识节点将与所述临时业务相关联的第二资源由所述第二链转移至所述业务子网络对应的业务子链;
获取从所述业务子链上探测到的针对所述第二跨链资源转出请求所得到的第二资源转移成功响应信息;所述第二资源转移成功响应信息用于表征成功将所述第二资源由所述第二链转移至所述业务子链,且所述业务子链上存在所述第二资源对应的第二映射资源;所述第二映射资源为在所述第二链上锁定所述第二资源时,由所述业务子链上的第二资源映射合约所铸造得到的与所述第二资源具有相同资源内容的资源;
基于所述第二资源转移成功响应信息向所述业务子网络中的验证节点发送用于执行所述临时业务的第二业务执行请求,以使所述验证节点基于所述第二业务执行请求,调用所述业务子链上的第二临时业务合约获取所述第二资源映射合约中的所述第二映射资源,基于所述第二映射资源执行所述临时业务。
12.一种多区块链数据处理装置,其特征在于,所述多区块链包含目标链、第一链和第二链;所述目标链对应的目标链网络独立于所述第一链对应的第一链网络,且独立于所述第二链对应的第二链网络;所述装置运行在与所述多区块链相关联的子网创建服务器上,所述装置包括:
凭证获取模块,用于在获取到业务对象通过业务终端发送的子网创建请求时,获取所述子网创建请求中携带的子网创建请求凭证;所述子网创建请求凭证是由所述目标链网络中的目标共识节点接收到所述业务对象通过所述业务终端发送的临时业务所确定的;
凭证校验模块,用于通过所述目标链上的与所述临时业务相关联的注册业务授权凭证,对所述子网创建请求凭证进行校验,得到凭证校验结果;
子网组建模块,用于在所述凭证校验结果指示校验成功时,将从所述第一链网络中所获取到的共识节点作为第一验证节点,且将从所述第二链网络中所获取到的共识节点作为第二验证节点,通过所述第一验证节点和所述第二验证节点组建所述临时业务对应的业务子网络;所述业务子网络独立于所述目标链网络、所述第一链网络和所述第二链网络。
13.一种多区块链数据处理装置,其特征在于,所述多区块链包含目标链、第一链和第二链;所述目标链对应的目标链网络独立于所述第一链对应的第一链网络,且独立于所述第二链对应的第二链网络;所述装置运行在与所述多区块链相关联的业务终端上,所述装置包括:
业务授权模块,用于接收业务对象所请求的临时业务,基于所述临时业务向所述目标链网络中的目标共识节点发送业务授权请求;所述业务授权请求用于指示所述目标共识节点在配置得到与所述临时业务相关联的业务授权凭证时,将所述业务授权凭证作为注册业务授权凭证写入所述目标链;
请求生成模块,用于将所述目标共识节点返回的所述业务授权凭证作为子网创建请求凭证,基于所述子网创建请求凭证生成用于发送给与所述多区块链相关联的子网创建服务器的子网创建请求;所述子网创建请求用于指示所述子网创建服务器在获取到所述目标链上的所述注册业务授权凭证时,对所述子网创建请求凭证进行校验,且在校验成功时,将从所述第一链网络中所获取到的共识节点作为第一验证节点,且将从所述第二链网络中所获取到的共识节点作为第二验证节点,所述第一验证节点和所述第二验证节点用于共同组建所述临时业务对应的业务子网络;所述业务子网络独立于所述目标链网络、所述第一链网络和所述第二链网络。
14.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与所述存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使所述计算机设备执行权利要求1-11任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,该计算机指令适于由处理器读取并执行,以使具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211303327.7A CN117938867A (zh) | 2022-10-24 | 2022-10-24 | 一种多区块链数据处理方法、装置、设备、介质及产品 |
| PCT/CN2023/114959 WO2024082818A1 (zh) | 2022-10-20 | 2023-08-25 | 基于多区块链的跨链处理方法、装置、设备、系统及介质 |
| US18/388,502 US20240235860A9 (en) | 2022-10-20 | 2023-11-09 | Multi-blockchain-based cross-chain processing method and apparatus, device, system, and medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211303327.7A CN117938867A (zh) | 2022-10-24 | 2022-10-24 | 一种多区块链数据处理方法、装置、设备、介质及产品 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117938867A true CN117938867A (zh) | 2024-04-26 |
Family
ID=90765174
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211303327.7A Pending CN117938867A (zh) | 2022-10-20 | 2022-10-24 | 一种多区块链数据处理方法、装置、设备、介质及产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117938867A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118210757A (zh) * | 2024-05-20 | 2024-06-18 | 杭州政云数据技术有限公司 | 凭证处理方法、装置、设备及存储介质 |
| CN119997014A (zh) * | 2025-01-27 | 2025-05-13 | 西安华为技术有限公司 | 一种通信方法和通信装置 |
-
2022
- 2022-10-24 CN CN202211303327.7A patent/CN117938867A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118210757A (zh) * | 2024-05-20 | 2024-06-18 | 杭州政云数据技术有限公司 | 凭证处理方法、装置、设备及存储介质 |
| CN119997014A (zh) * | 2025-01-27 | 2025-05-13 | 西安华为技术有限公司 | 一种通信方法和通信装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN117917681B (zh) | 基于多区块链的资产转移方法、装置、设备、介质及产品 | |
| CN110599181B (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
| CN111598566A (zh) | 基于混合跨链的网络支付系统 | |
| US20240235860A9 (en) | Multi-blockchain-based cross-chain processing method and apparatus, device, system, and medium | |
| CN118041839A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
| CN116708463B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
| US20250007721A1 (en) | System and method for generating blockchain token support from a set of declarations | |
| CN118036021A (zh) | 基于多区块链的数据处理方法、装置、设备以及介质 | |
| CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
| US12425249B2 (en) | Dividing data storage and service operations among plural blockchains | |
| CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
| CN114202415A (zh) | 基于异构链的数据处理方法及装置 | |
| Yang et al. | DOT-M: A dual offline transaction scheme of central bank digital currency for trusted mobile devices | |
| CN117951217B (zh) | 基于多区块链的跨链配置方法、装置、设备、系统及介质 | |
| CN117931933B (zh) | 多区块链数据处理方法、装置、设备、系统以及介质 | |
| CN117992534B (zh) | 基于多区块链的数据跨链方法、相关设备、介质及产品 | |
| CN117061089B (zh) | 一种投票管理方法、装置、设备及存储介质 | |
| CN115705571B (zh) | 保护可审计的帐户的隐私的方法和系统 | |
| US20240257085A1 (en) | Token Account Payment Computing System | |
| CN118433196A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
| HK40092281A (zh) | 基於多区块链的信息处理方法、装置、设备以及介质 | |
| HK40092281B (zh) | 基於多区块链的信息处理方法、装置、设备以及介质 | |
| CN118057797A (zh) | 基于多区块链的数据处理方法、相关设备、介质及产品 | |
| CN120069873A (zh) | 基于可信执行环境的数据处理方法、装置、设备及介质 | |
| CN117909406A (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 |