CN116204110A - 基于区块链的区块处理方法、装置及设备、介质、产品 - Google Patents
基于区块链的区块处理方法、装置及设备、介质、产品 Download PDFInfo
- Publication number
- CN116204110A CN116204110A CN202111444707.8A CN202111444707A CN116204110A CN 116204110 A CN116204110 A CN 116204110A CN 202111444707 A CN202111444707 A CN 202111444707A CN 116204110 A CN116204110 A CN 116204110A
- Authority
- CN
- China
- Prior art keywords
- cross
- chain
- service
- consensus
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 5
- 238000012795 verification Methods 0.000 description 27
- 239000010410 layer Substances 0.000 description 24
- 230000008569 process Effects 0.000 description 24
- 239000003795 chemical substances by application Substances 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000011835 investigation Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 239000002355 dual-layer Substances 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 238000013475 authorization Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000002356 single layer Substances 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 239000000370 acceptor Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/123—Tax preparation or submission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了基于区块链的区块处理方法、装置及设备、介质、产品,该方法包括:若目标业务满足跨链共识条件,第一业务分支链的第一共识节点则针对目标业务生成跨链业务区块,基于第一业务分支链对跨链业务区块进行预提交处理,以及将跨链业务区块存储至第一业务分支链对应的第一跨链存储空间中;第二业务分支链的第二共识节点从第一跨链存储空间中获取跨链业务区块,对跨链业务区块进行跨链共识,将跨链共识结果存储至第二业务分支链对应的第二跨链存储空间中;第一共识节点从第二跨链存储空间中获取跨链共识结果,并基于跨链共识结果对预提交至第一业务分支链的跨链业务区块的状态进行设置。采用上述方式可以实现对跨链业务的跨链共识处理。
Description
技术领域
本申请涉及计算机技术领域,具体涉及区块链技术领域,尤其涉及基于区块链的区块处理方法、区块处理装置、计算机设备、计算机可读存储介质以及计算机程序产品。
背景技术
随着区块链技术的飞速发展,越来越多的用户或企业选择将数据存储至区块链网络,以防止数据被篡改。目前,区块链网络中是采用区块链来存储不同业务类型的数据;例如,区块链网络中可采用不同业务类型对应的业务分支链来存储不同业务类型对应的数据。而对于多链结构的区块链网络,如何实现对跨链业务的处理是有待解决的问题。
发明内容
本申请实施例提供了基于区块链的区块处理方法、装置及设备、介质、产品,可以实现对跨链业务的跨链共识处理,还可以提高跨链数据的获取效率以及存储安全性。
一方面,本申请实施例提供了一种基于区块链的区块处理方法,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述方法包括:
若目标业务满足跨链共识条件,则针对所述目标业务生成跨链业务区块;
基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及将所述跨链业务区块存储至所述第一跨链存储空间中;
从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果;其中,所述跨链共识结果是所述第二共识节点从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识得到的;
基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
一方面,本申请实施例提供了另一种基于区块链的区块处理方法,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述方法包括:
从所述第一跨链存储空间中获取跨链业务区块;其中,所述跨链业务区块是所述第一共识节点在目标业务满足跨链共识条件时,针对所述目标业务生成并存储至所述第一跨链存储空间中的;
对所述跨链业务区块进行跨链共识,确定跨链共识结果;
将所述跨链共识结果存储至所述第二跨链存储空间中,以便于所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识结果,基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
一方面,本申请实施例提供了一种基于区块链的区块处理装置,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述装置包括:
处理单元,用于若目标业务满足跨链共识条件,则针对所述目标业务生成跨链业务区块;
所述处理单元,还用于基于所述第一业务分支链对所述跨链业务区块进行预提交处理;
通信单元,用于将所述跨链业务区块存储至所述第一跨链存储空间中;
所述通信单元,还用于从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果;其中,所述跨链共识结果是所述第二共识节点从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识得到的;
所述处理单元,还用于基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,所述处理单元基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置时,具体用于:
若基于所述跨链共识结果确定所述跨链业务区块跨链共识通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为有效状态;若基于所述跨链共识结果确定所述跨链业务区块跨链共识未通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为无效状态。
在一实施例中,所述处理单元,还用于确定针对所述目标业务进行跨链共识的共识节点;
所述通信单元,还用于若针对所述目标业务进行跨链共识的共识节点包括所述第二业务分支链的业务共识节点,则从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果。
在一实施例中,所述通信单元,还用于向所述第二业务分支链的业务共识节点发送跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;所述跨链共识请求用于请求所述第二业务分支链的业务共识节点基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识。
在一实施例中,所述处理单元,还用于对所述跨链业务区块进行初始共识;
若初始共识结果指示所述跨链业务区块共识通过,则基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及触发所述通信单元将所述跨链业务区块存储至所述第一跨链存储空间中。
在一实施例中,所述通信单元,还用于接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第一共识节点对所述第二跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
一方面,本申请实施例提供了另一种基于区块链的区块处理装置,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述装置包括:
通信单元,用于从所述第一跨链存储空间中获取跨链业务区块;其中,所述跨链业务区块是所述第一共识节点在目标业务满足跨链共识条件时,针对所述目标业务生成并存储至所述第一跨链存储空间中的;
处理单元,用于对所述跨链业务区块进行跨链共识,确定跨链共识结果;
所述通信单元,还用于将所述跨链共识结果存储至所述第二跨链存储空间中,以便于所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识结果,基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,所述处理单元,还用于针对所述跨链共识结果生成跨链共识区块,基于所述第二业务分支链对所述跨链共识区块进行预提交处理;
所述通信单元,还用于从所述第一跨链存储空间中获取所述第一共识节点存储的关于所述跨链业务区块的状态设置结果;
所述处理单元,还用于基于所述状态设置结果对预提交至所述第二业务分支链的跨链共识区块的状态进行设置。
在一实施例中,所述通信单元所述跨链共识结果存储至所述第二跨链存储空间时,具体用于:将所述跨链共识区块存储至所述第二跨链存储空间;其中,所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识区块,并从所述跨链共识区块中提取所述跨链共识结果。
在一实施例中,所述通信单元,还用于:
接收所述第一共识节点发送的跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;响应所述跨链共识请求,基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块。
在一实施例中,所述通信单元,还用于接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第二共识节点对所述第一跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
一方面,本申请实施例提供了一种计算机设备,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,实现本申请实施例提供的基于区块链的区块处理方法。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现本申请实施例提供的基于区块链的区块处理方法。
相应地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现本申请实施例提供的基于区块链的区块处理方法。
相应地,本申请实施例还提供了一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的基于区块链的区块处理方法。
本申请实施例通过先将由第一业务分支链的第一共识节点生成的跨链业务区块预提交至第一业务分支链上,然后由第二业务分支链的第二共识节点对跨链业务区块进行跨链共识,最后由第一共识节点根据跨链共识结果对预提交至第一业务分支链的的跨链业务区块的状态进行设置,这样可以实现对跨链业务的跨链共识处理。另一方面,为不同业务分支链分配不同的专门用于存储跨链数据的专属存储空间,某业务分支链所涉及的跨链数据会存储至其专属存储空间中,这样需要基于该跨链数据进行处理的其他业务分支链的业务共识节点,可以直接从该专属存储空间中获取跨链数据,相对于直接从该某业务分支链上获取跨链数据,效率更高;再一方面,某业务分支链的业务共识节点要从其他业务分支链的专属存储空间中获取跨链数据时,需要先取得访问其他业务分支链的专属存储空间的权限,这样可以有效保证各业务分支链的专属存储空间中的存储数据的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的区块链的结构示意图;
图2示出了本申请一个示例性实施例提供的区块链网络的结构示意图;
图3示出了本申请一个示例性实施例提供的树状结构链的结构示意图;
图4示出了本申请一个示例性实施例提供的区块链网络的结构示意图;
图5示出了本申请一个示例性实施例提供的跨链处理过程的流程示意图;
图6示出了本申请一个示例性实施例提供的基于区块链的区块处理方法的流程示意图;
图7示出了本申请一个示例性实施例提供的一种双层区块链网络的架构示意图;
图8示出了本申请一个示例性实施例提供的一种双层区块链网络的架构示意图;
图9示出了本申请一个示例性实施例提供的一种双层区块链网络的架构示意图;
图10示出了本申请一个示例性实施例提供的基于区块链的区块处理装置的结构示意图;
图11示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及区块链(Blockchain),区块链是区块链技术的基础,所谓区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。一种区块链的结构示意图可参见图1,如图1所示,区块链101由多个区块组成,区块链的第一个区块称为创世区块(可简称为创世快),创世块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创世块的下一区块以创世块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链可由区块链网络所包含的区块链节点进行维护;其中,区块链网络可以理解为一个数据共享系统,是指用于进行区块链节点与区块链节点之间数据共享的系统,该数据共享系统的一种示例性结构可参见图2;如图2所示,数据共享系统中可包括多个区块链节点102,各个区块链节点102可以为接入至该区块链网络中的服务器,也可以为接入至该区块链网络中的用户终端(如客户端),这里对区块链节点102的具体形式不做限定。对于区块链网络中的每个区块链节点102,均具有与其对应的节点标识,而且区块链网络中的每个区块链节点102均可以存储有区块链网络中其它区块链节点102的节点标识,以便后续根据其它区块链节点102的节点标识,将生成的区块广播至数据共享系统中的其它区块链节点102。每个区块链节点102中可维护一个节点标识列表,将节点名称和节点标识对应存储至节点标识列表中;其中,节点标识列表可参见表1:
表1
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点X(X为正整数) | xx.xxx.xxx.xxx |
如表1所示,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其它任一种能够用于标识该节点的信息;例如,节点标识还可以是二进制序列码(如110001110),表1中仅以IP地址为例进行说明。当区块链网络中产生待验证区块时,区块链网络中运行共识机制的区块链节点(或称为共识节点)对该待验证区块进行共识,并在共识成功后通过节点标识列表中的节点标识,将该待验证区块同步至区块链网络中的各个区块链节点,实现在区块链网络中对数据的分布式存储。
在实际应用中,区块链网络中可以不止维护一条区块链,即区块链网络中可以维护多条区块链,每条区块链可以用于存储不同业务类型对应的业务数据。以税务场景为例,税务场景中涉及的业务可包括:发票业务、征信业务、进出亏业务、企业资质业务以及退税业务等等;为便于更好地管理不同业务类型对应的业务数据,可以在区块链网络中为每种业务类型创建一条区块链来存储对应的业务数据,便于对不同业务类型对应的业务数据的监管和维护。
当区块链网络中维护多条区块链时,多条区块链通常是形成树状结构链,所谓树状结构链可以简单理解为:基于业务主链以及根据业务主链派生(或称为分叉引申)的一个或多个业务分支链所形成的类似于树状的一种区块链结构。一种示例性的树状结构链的示意图可参见图3,如图3所示,树状结构链中包括业务主链103以及由业务主链103中派生的业务分支链,如业务分支链1031、业务分支链1032、业务分支链1033等等。下面对业务主链103和业务分支链分别进行简单介绍:
①业务主链103上可以包括各个业务分支链的注册信息,业务分支链的注册信息可包括但不限于:分支链的链标识、业务描述信息、监管节点的节点标识等信息;其中,链标识是业务分支链的唯一标识,通过该链标识可以在区块链网络中快速找到该业务分支链,业务描述信息是用于描述业务分支链对应的业务的相关信息,如业务的类型、业务的数据格式、业务的校验方式等等,监管节点的节点标识可是指具有对该业务分支链进行监管(如共识、存储等权限)的共识节点的节点标识。当然,根据实际应用场景不同,业务分支链的注册信息除包括上述描述内容外,还可以包括其他信息,本申请实施例对业务分支链的注册信息不作限定。
②业务分支链是从业务主链的某个区块高度派生得到的,业务分支链的创世块位于业务主链中。例如图3中,业务分支链1031的创世块为业务主链103中的区块A1、业务分支链1032的创世块为业务主链103中的区块A2、业务分支链1033的创世块为业务主链101中的区块A3。通过上述描述的这种从业务主链中分叉引申出不同业务类型对应的业务分支链的方式,可以有效保证业务主链作为所有业务分支链的信任根,且汇总了每个业务分支链的业务配置等全局信息,为后续监管和审查提供了便利。
下面以基于业务主链派生业务分支链1031为例,来对派生业务分支链的实现方式进行简单说明;具体地:当存在新建(或派生)业务分支链1031的事件时,可调用业务主链中存储的注册业务分支链的智能合约来派生业务分支链1031。首先,可基于待创建的业务分支链的业务配置信息(包括业务描述信息、存储分支链的其他共识节点的节点标识等)为业务分支链1031生成对应的链标识,并将业务分支链1031对应的链标识在业务主链中注册和公布;其次,基于链标识、业务描述信息、监管节点的节点标识生成业务分支链1031的创世块“区块A1”;最后,将创世块“区块A1”存储至业务主链,实现对业务分支链1031的派生。当成功派生业务分支链1031后,该业务分支链1031可运行自己的交易上链,如当后续存在业务类型属于业务分支链1031对应的业务类型的业务数据的上链请求时,可以将基于该业务数据生成的区块“区块B2”链接至创世块“区块A1”之后,实现将属于自己业务类型对应的交易数据(或称为业务数据)的上链。
上述描述的基于业务主链派生业务分支链的相关内容中,有如下几点值得说明:
①如果区块链网络中的配置信息发生变化,那么区块链网络中的业务主链和各个业务分支链均需将该变化后的配置信息进行上链,并只有业务主链和所有业务分支链均对该变化后的配置信息上链成功后,业务主链和各个业务分支链才运行各自的上链逻辑,如业务主链才执行派生业务分支链,业务分支链才执行运行数据上链。其中,区块链网络中的配置信息在不同应用场景中并不相同,例如,在税务场景中配置信息可包括但不限于:税务领域范畴的监管规则、计算法规改变、重要的区块链节点变化、链的证书颁发节点轮换等,本申请实施例对区块链网络中的配置信息的具体内容不作限定。
继续参见图3,假设当前业务主链103的最新区块高度为“区块A2”对应的区块高度、业务分支链1031的最新区块高度为“区块B4”对应的区块高度、业务分支链1032的最新区块高度为“区块C4”对应的区块高度;那么响应于区块链网络的配置信息发生变化,暂停业务主链103以及各个业务分支链的运行逻辑(如业务主链中派生业务分支链的派生逻辑,或业务分支链中将数据上链的上链逻辑),而是先基于变化的配置信息生成新的区块,并将该新的区块同步至业务主链和业务分支链1031以及业务分支链1032,例如,新的区块同步至业务主链103后业务主链103的最新区块高度更新为“区块A3”、业务分支链1031的最新区块高度更新为“区块B5”对应的区块高度、业务分支链1032的最新区块高度更新为“区块C5”对应的区块高度;在业务主链以及所有业务分支链均出块成功后,业务主链和各个业务分支链才继续执行各自的交易上链,如业务主链创建新的业务分支链1033,再如业务分支链1032新增“区块C6”。
②前述主要对区块链网络所包含的业务主链和业务分支链进行介绍,下面结合图4对区块链网络中存储业务主链和业务分支链的节点进行简单介绍。如图4所示,区块链网络中可以包括多个共识集群,每个共识集群可包括一个或多个共识节点,用于维护本集群内的链。为区分维护业务主链和业务分支链的共识集群,本申请实施例将区块链网络中包含的共识集群总体上划分为:主链共识集群和分链共识集群。其中,主链共识集群中包含的一个或多个主链共识节点用于维护业务主链,任一主链共识节点是具有业务主链的监管权限的共识节点,所谓对业务主链的监管权限可是指:能够对业务主链进行操作的权限等等,如从业务主链中派生业务分支链。分链共识集群中的包含一个或多个业务共识节点用于维护本集群内的业务分支链,任一业务共识节点是具有业务分支链的监管权限的共识节点,如业务共识节点1具有业务分支链1031的监管权限,业务共识节点2具有业务分支链1032的监管权限;所谓具有业务分支链的监管权限可是指:具有对待存储至业务分支链中的待验证区块进行共识的的权限等等。应当说明的是,主链共识节点中也可以维护全部或部分业务分支链,本申请实施例对此不作限定,且每个业务共识节点中除维护本集群内的业务分支链以外,还同步业务主链,只是不具有对业务主链的监管权限。
下面结合税务场景对区块链网络中存储业务主链和业务分支链的节点进行示例性介绍,假设税务场景中涉及发票业务、征信业务,且税务总局具有对所有税务业务的监管权限,那么在区块链网络中税务总局所使用的设备可以接入区块链网络中的主链共识集群,如税务总局所使用的设备可以作为主链共识集群中的一个主链共识节点;同理,具有发票业务的监管权限的发票税务局所使用的设备可以接入分链共识集群“发票共识集群”中,具有征信业务的监管权限的征信税务局所使用的设备可以接入分链共识集群“征信共识集群”。通过上述这种树状结构链可以将税务场景中多种业务类型下的业务进行分链存储和监管,有效区分不同业务类型的业务数据,保持每个业务分支链的业务数据的专一性,提高对业务数据的监管效率,便于对业务数据的维护。
③当区块链网络中任一共识集群中产生待验证区块时,该待验证区块可以由该任一共识集群中的共识节点对该待验证区块进行共识;这样不同的共识集群可以并行地执行对各自集群内待验证区块的共识,提高共识效率。另外,任一共识集群对本集群内产生的待验证区块进行共识时,除了验证该任一共识集群所包含的业务分支链外,还可以根据业务分支链在业务主链中的创世块找到业务主链,并验证从业务分支链的创世块的区块高度到业务主链的创世块这段区块高度区间内所有的区块,这提高区块验证的严谨性,确保链上存储的业务数据的安全性。当然,在业务分支链中历史上链的区块均已被验证成功的情况下,本申请实施例也支持只对新的待验证区块进行共识,特在此说明。
在实际应用中,当区块链网络中维护上述描述的树状结构链时,往往存在跨链处理的需求,包括:对于某类业务,需要进行跨链共识,该某类业务即为跨链业务。例如,在税务场景中涉及业务的跨链共识需求,假设税务场景对应的区块链网络中维护有发票业务对应的第一业务分支链,以及征信业务对应的第二业务分支链;假设为目标用户(如具有开票需求的任一用户)开具发票需要用对目标用户的征信进行共识(或者说验证),只有在征信共识通过之后才会让为目标用户已开具的发票生效;那么响应于目标用户的开票请求,首先在第一业务分支链为目标用户开具发票,此时发票虽然已开具完成但并未生效,不能正常使用,需要由第二业务分支链对目标用户的征信进行共识,当获悉第二业务分支链确定目标用户的征信共识通过时,第一业务分支链才会将为目标用户开具的发票设置为生效状态,只有生效的发票才能正常使用。
在上述跨链共识的过程中,涉及数据的跨链获取,包括:在第二业务分支链对目标用户的征信进行共识之前,需要从第一业务分支链获取目标用户的相关信息,以获取目标用户的征信数据进行共识;另外,在第一业务分支链将为目标用户开具的发票设置为生效状态之前,需要从第二业务分支链获取关于目标用户的征信的共识结果,等等。为跨链获取数据,可以对跨链数据所在的区块链进行跟踪,直接从跨链数据所在的区块链上获取所需的跨链数据,但此方式实现复杂,需要区块链之间进行大量的数据交互,获取跨链数据需要消耗大量的时间,效率低。
为实现跨链共识,以及提高跨链共识中跨链数据的获取效率,本申请实施例基于上述描述的树状结构链提出了一种区块处理方法。该区块处理方法所涉及的第一业务分支链和第二业务分支链可以是指:由业务主链派生出的两条不同的业务分支链。该区块处理方法的处理流程可参见图5,如图5所示:
假设业务分支链1031(即第一业务分支链)对于其涉及的业务的处理,需要参考业务分支链1032(即第二业务分支链)的对于该业务所涉及的全部或者部分特征的共识结果(或者说验证结果),即业务分支链1031和业务分支链1032之间会存在跨链交互,跨链交互必然存在获取跨链数据的过程。此时,业务分支链1031(具体是业务分支链1031的业务共识节点,如第一共识节点)需要向业务主链103(具体是业务主链103的主链共识节点)请求分配(或者说注册使用)专门用于存储业务分支链1031所涉及的跨链数据的跨链存储空间;业务分支链1032(具体是业务分支链1032的业务共识节点,如第二共识节点)也需要向业务主链103请求分配专门用于存储业务分支链1032所涉及的跨链数据的跨链存储空间。
业务主链103响应业务分支链1031的请求为业务分支链1031分配专属跨链存储空间B(即第一跨链存储空间),该专属跨链存储空间B挂载到业务分支链1031的业务共识节点中,业务分支链1031的业务共识节点对于该专属跨链存储空间B具有永久使用权;其他链的共识节点需要获取到访问权限之后才能访问该专属跨链存储空间B。业务主链103响应业务分支链1032的请求为业务分支链1032分配专属跨链存储空间C(即第二跨链存储空间),该专属跨链存储空间C挂载到业务分支链1032的业务共识节点中,业务分支链1032的业务共识节点对于该专属跨链存储空间C具有永久使用权,其他链的共识节点需要获取到访问权限之后才能访问该专属跨链存储空间C。该专属跨链存储空间B和C不同。
在可行的实施例中,可以是业务分支链1031向业务主链103,请求分配专门用于存储业务分支链1031所涉及的跨链数据的跨链存储空间,以及请求分配专门用于存储业务分支链1032所涉及的跨链数据的跨链存储空间;业务主链103响应业务分支链1031的请求为业务分支链1031分配专属跨链存储空间B,也为业务分支链1032分配专属跨链存储空间C。这样只需业务分支链1031向业务主链103发送请求,无需业务分支链1032向业务主链103发送请求,效率更高。
上述跨链存储空间可以是云存储空间,类似于云盘。上述跨链存储空间的表现形式可以是可挂载式跨链跟踪存储组件(ECFS,elastic cross-chain file system)。
需要说明的是,业务分支链1031和/或业务分支链1032可以是在完成业务分支链的初始化(或者说完成业务分支链的构建)之后,立即向业务主链103请求跨链存储空间,也可以是在涉及跨链业务或者跨链处理时,才向业务主链103请求跨链存储空间。
在获得分配的跨链存储空间之后,在业务分支链1031和1032开始各自的业务处理后,业务分支链1031和1032需要将自身链中跨链业务相关区块(包括:针对需要进行跨链共识的业务(以下简称为跨链业务)生成的区块,针对跨链业务的跨链共识结果生成的区块,等等)以及跨链业务区块的有效性证明,写入到各自注册使用的跨链存储空间(ECFS)中。该有效性证明包括:用于指示跨链业务区块中跨链业务的相关数据合法的指示信息,用于指示跨链业务区块初始共识通过的指示信息,等等。各业务分支链维护跨链存储空间需要保持和自身链上最新区块高度基本一致,即需要及时将自身链中跨链业务相关区块上传到自身的跨链存储空间中。业务主链103可以对各业务分支链(包括业务分支链1031和1032,等)及各业务分支链的跨链存储空间进行读取和抽查,如果对比得到如业务分支链1031的跨链存储空间没有有效维护,如:超过设定时间没有将跨链业务相关区块上传到自身的跨链存储空间,或者,没有及时将跨链业务相关区块上传到自身跨链存储空间的次数超过设定次数;业务主链可以回收业务分支链1031对于跨链存储空间B的使用权,此时业务分支链1031以及其他业务分支链均无法访问跨链存储空间B。
假设各业务分支链都正确维护了自身的跨链存储空间。则在进行跨链共识之前或者跨链共识的过程中,业务分支链1031向业务主链103申请跨链存储空间C(业务分支链1032的跨链存储空间)的访问权限,业务分支链1032向业务主链103申请跨链存储空间B(业务分支链1031的跨链存储空间)的访问权限。访问权限申请成功后,业务分支链1031的业务共识节点便有限时可权限挂载跨链存储空间C,挂载了跨链存储空间C之后,业务分支链1031就可以通过跨链存储空间C来跟踪业务分支链1032的跨链数据及数据状态,需要说明的是,跨链存储空间C对于业务分支链1031只是可读的。同理,访问权限申请成功后,业务分支链1032的业务共识节点便有限时可权限挂载跨链存储空间B,挂载了跨链存储空间B之后,业务分支链1032就可以通过跨链存储空间B来跟踪业务分支链1031的跨链数据及数据状态,需要说明的是,跨链存储空间B对于业务分支链1032也只是可读的。
在进行跨链共识处理时,业务分支链1031针对跨链业务(即满足跨链共识条件的目标业务)生成跨链业务区块X,并将跨链业务区块X预提交至业务分支链1031,预提交可以是指先将跨链业务区块存储至区块链上,但其状态为待定状态,其可能是有效的,也可能是无效的,需要后续进行设置。业务分支链1031还会将跨链业务区块X存储至跨链存储空间B中。业务分支链1032从跨链存储空间B中获取跨链业务区块X,并对跨链业务区块X进行跨链共识,得到跨链共识结果。业务分支链1032针对跨链共识结果生成跨链共识区块Y,并将跨链共识区块Y预提交至业务分支链1032,以及将跨链共识区块Y存储到跨链存储空间C中。业务分支链1031从跨链存储空间C中获取跨链共识区块Y,并从跨链共识区块Y中获取跨链业务区块X的跨链共识结果。
若基于跨链共识结果确定跨链业务区块X跨链共识通过,则将预提交至业务分支链1031的跨链业务区块X的状态设置为有效状态,可以是在业务分支链1031上的跨链业务区块X的后面添加用于针对跨链业务区块X进行状态声明的第一状态声明区块,该第一状态声明区块用于声明业务分支链1031上的跨链业务区块X有效。若基于跨链共识结果确定跨链业务区块X跨链共识未通过,则将预提交至业务分支链1031的跨链业务区块X的状态设置为无效状态,可以是在业务分支链1031上的跨链业务区块X的后面添加用于针对跨链业务区块X进行状态声明的第二状态声明区块,该第二状态声明区块用于声明业务分支链1031上的跨链业务区块X无效。
进一步的,业务分支链1031还会将跨链业务区块X的状态声明区块存储至跨链存储空间B中,业务分支链1032从跨链存储空间B中获取跨链业务区块X的状态声明区块,当该状态声明区块所声明的跨链业务区块X的状态与该跨链共识结果相匹配时,则将预提交至业务分支链1032的跨链共识区块Y的状态设置为有效状态,即表示业务分支链1031是基于业务分支链1032对跨链业务区块X的跨链共识结果,对预提交至业务分支链1031上的跨链业务区块X的状态进行的设置。同理,可以是在业务分支链1032上的跨链共识区块Y的后面添加用于针对跨链共识区块Y进行状态声明的第三状态声明区块,该第三状态声明区块用于声明业务分支链1032上的跨链共识区块Y有效。其中,相匹配包括:该跨链共识结果指示跨链业务区块X跨链共识未通过,且该状态声明区块所声明的跨链业务区块X的状态为无效状态;或者,该跨链共识结果指示跨链业务区块X跨链共识通过,且该状态声明区块所声明的跨链业务区块X的状态为有效状态。
当该状态声明区块所声明的跨链业务区块X的状态与该跨链共识结果不相匹配时,则将预提交至业务分支链1032的跨链共识区块Y的状态设置为无效状态,即表示业务分支链1031没有基于业务分支链1032对跨链业务区块X的跨链共识结果,对预提交至业务分支链1031上的跨链业务区块X的状态进行设置。同理,可以是在业务分支链1032上的跨链共识区块Y的后面添加用于针对跨链共识区块Y进行状态声明的第四状态声明区块,该第四状态声明区块用于声明业务分支链1032上的跨链共识区块Y无效。其中,不相匹配包括:该跨链共识结果指示跨链业务区块X跨链共识未通过,而该状态声明区块所声明的跨链业务区块X的状态为有效状态;或者,该跨链共识结果指示跨链业务区块X跨链共识通过,而该状态声明区块所声明的跨链业务区块X的状态为无效状态。
此情况可能是由于业务分支链1031获取到的业务分支链1032对跨链业务区块X的跨链共识结果,与业务分支链1032对跨链业务区块X的实际跨链共识结果不一致造成的,造成不一致的情况可能是存在对存储在跨链存储空间C中的跨链业务区块X的跨链共识结果的恶意篡改。针对此情况,业务主链可以在检查到业务分支链1032上的跨链共识区块Y的状态为无效状态时,基于业务分支链1032对跨链业务区块X的实际跨链共识结果,对预提交至业务分支链1031上的跨链业务区块X的状态进行重新设置。
进一步的,业务分支链1032还会将跨链共识区块Y的状态声明区块存储至跨链存储空间C中,至此,业务分支链1032完成对跨链业务的相关处理。若业务分支链1031从跨链存储空间C中获取到跨链共识区块Y的状态声明区块,则也可以确定完成对跨链业务的相关处理。在检测到跨链业务的相关处理完成之后,或者在检测到达到了访问权限的有效时间,可以由业务主链撤销业务分支链1031对跨链存储空间C的访问权限(或者可以由业务分支链1031主动放弃对跨链存储空间C的访问权限,后续访问需要重新申请),和/或,由业务主链撤销业务分支链1032对跨链存储空间B的访问权限(或者可以由业务分支链1032主动放弃对跨链存储空间B的访问权限,后续访问需要重新申请)。需要说明的是,如果在对跨链业务的相关处理完成之前,达到了业务分支链1031具备跨链存储空间C的访问权限的有效时间,或者达到了业务分支链1032具备跨链存储空间B的访问权限的有效时间,则业务分支链1031或者1032可以向业务主链103重新申请(或者说申请续期)对相应跨链存储空间的访问权限。
需要说明的是,为便于描述和理解,以上以区块链(包括业务主链、业务分支链)为执行主体对跨链共识的处理过程进行了介绍,可以理解的是,实际处理过程中,具体可以是由业务主链的主链共识节点执行上述业务主链的处理步骤,可以是由业务分支链的业务共识节点执行上述业务分支链的处理步骤。
本申请实施例基于树状结构链提供的区块处理方法,提出了结合可挂载式跨链跟踪存储组件(ECFS)实现跨链数据的获取的方式,可以在对跨链业务进行处理的过程实现跨链数据的的高速访问,相对于直接从区块链上获取跨链数据,数据获取效率大幅度提高。该方式利用了网络存储组件远程挂载和移除的特点,为跨链实现了灵活的消息跟踪机制,并且通过主链注册和有效期分配ECFS,可以有效保证ECFS的安全性和权限控制;另外,ECFS的出现使得实现跨链时业务分支链不需要在本链中主动去跟踪目标链,大量减少冗余数据,且要开始跨链处理时,可以立即挂载,立即验证,免去了按高度顺序同步验证的困难。在跨链处理结束后,目标链数据也能够迅速和本链脱离,实现信息的安全隔离和保护。
基于上述描述的跨链共识方案,本申请实施例提出更为详细的跨链共识方法,下面将结合附图对本申请实施例提出的跨链共识方法进行详细介绍。
请参阅图6,为本申请实施例提供的一种基于区块链的区块处理方法的流程示意图。该基于区块链的区块处理方法可以应用于上述描述的树状结构链,可以由主链共识节点(如图4所示的主链共识集群中的主链共识节点)、第一共识节点(如图4所示的业务共识节点1)和第二共识节点(如图4所示的业务共识节点2)联合执行实现,该主链共识节点可以是树状结构链中的业务主链(如图4所示的业务主链103)对应的所有共识节点中的任一个,该第一共识节点可以是树状结构链中的第一业务分支链(如图4所示的业务分支链1031)对应的所有业务共识节点中的任一个;该第二共识节点可以是树状结构链中的第二业务分支链(如图4所示的业务分支链1032)对应的所有业务共识节点中的任一个。下面以第一业务分支链对于其涉及的跨链业务的处理,需要参考第二业务分支链的业务共识节点对于该跨链业务所涉及的全部或者部分特征的共识结果(或者说验证结果)为例,对本申请实施例提供的基于区块链的区块处理方法进行说明。该基于区块链的区块处理方法包括但不限于如下步骤:
S601、第一共识节点获取目标业务。
本申请实施例中,该目标业务可以是第一业务分支链的业务共识节点能够处理的业务,可以理解成是一种交易,例如,可以是税务场景中的发票业务。该第一共识节点可以是当前阶段由第一业务分支链的所有业务共识节点推举出来的主节点,并且由推举的主节点对该目标业务进行处理。所谓主节点是指当前阶段负责出块(即生成区块)的共识节点。第一业务分支链的除第一共识节点之外的业务共识节点为当前阶段的从节点,从节点当前阶段负责对主节点生成的区块进行共识。当前阶段可以是指当前区块高度。
第一共识节点获取到目标业务之后,判断目标业务是否满足跨链共识条件。在一实施例中,若设定的共识规则指示对于第一业务分支链涉及的业务的处理,均需要参考其他业务分支链的业务共识节点对于该业务所涉及的全部或者部分特征的共识结果(或者说验证结果),则确定目标业务满足跨链共识条件。或者,若设定的共识规则指示第一业务分支链的业务共识节点对于该目标业务所属的业务类型的业务的处理,需要参考其他业务分支链的业务共识节点对于该业务类型的业务所涉及的全部或者部分特征的共识结果,则确定目标业务满足跨链共识条件。反之,则确定目标业务不满足跨链共识条件。
例如,在税务场景中,税务场景对应的区块链网络中维护有发票业务对应的第一业务分支链,以及征信业务对应的第二业务分支链;目标业务为开具发票,如果开具发票不仅需要第一业务分支链的业务共识节点对发票所涉及的数据(如,发票金额,发票时间,企业名称,纳锐人识别号等等)进行共识,还需要第二业务分支链对开票对象(如甲用户)的征信进行共识,则开具发票的业务为跨链业务,需要进行跨链共识。
若目标业务满足跨链共识条件,则表明目标业务为跨链业务,需要进行跨链共识处理,此时则执行步骤S202-S208。若目标业务不满足跨链共识条件,表明目标业务为普通业务,不需要进行跨链共识处理,此时则针对目标业务生成待上链业务区块,并触发第一业务分支链的所有业务共识节点对该待上链业务区块进行共识,若该待上链业务区块共识通过,则将待上链业务区块添加到第一业务分支链上。
S602、若目标业务满足跨链共识条件,第一共识节点则针对目标业务生成跨链业务区块。
在可行的实施例中,跨链业务区块可以与普通区块一样,包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,区块主体中存储有输入信息,该输入信息为目标业务的相关信息。在可行的实施例中,跨链业务区块可以与普通区块具备一定的区别,包括以下一种或者多种:在跨链业务区块中添加跨链标识,该跨链标识用于指示该区块为跨链区块,需要进行跨链共识处理;在跨链业务区块中添加目标区块链标识,该目标区块链标识包括需要对该跨链业务区块进行跨链共识的区块链的标识,当需要对该跨链业务区块进行跨链共识的包括第二业务分支链的业务共识节点,则可以将第二业务分支链的标识确定为该目标区块链标识。
S603、第一共识节点基于第一业务分支链对跨链业务区块进行预提交处理,以及将跨链业务区块存储至第一跨链存储空间中。
本申请实施例中,第一共识节点基于第一业务分支链对跨链业务区块进行预提交处理包括:将跨链业务区块预提交至第一业务分支链上。预提交是指先将生成的区块添加到区块链上,但该区块的状态为待定状态,即添加到区块链上的该区块可能是有效的,也可能是无效的,需要后续进行设置。
第一跨链存储空间是业务主链的主链共识节点(可以是业务主链的任一共识节点,也可以是业务主链的所有共识节点中设定的具备跨链存储空间分配权限的共识节点)为第一业务分支链的所有业务共识节点(包括第一共识节点),分配的专门用于存储第一业务分支链所涉及的跨链数据的跨链存储空间。其他链的共识节点需要获取到访问权限之后才能访问该第一跨链存储空间。该第一跨链存储空间可以是在完成第一业务分支链的初始化(或者说完成第一业务分支链的创建)之后,立即由第一业务分支链的业务共识节点向该主链共识节点请求分配的;也可以是在涉及对跨链业务的处理时,才由第一业务分支链的业务共识节点向该主链共识节点请求分配的。第一共识节点可以是在将跨链业务区块预提交至第一业务分支链之后,将跨链业务区块存储至第一跨链存储空间中;也可以是在将跨链业务区块预提交至第一业务分支链的同时,将跨链业务区块存储至第一跨链存储空间中。
在可行的一实施例中,第一跨链存储空间存在一条或者多条数据存储区块链,每一条区块链对应一条与第一业务分支链存在跨链共识关系的业务分支链。数据存储区块链可以是一种特殊的区块链,区块链上的相邻区块之间可以是不存在父子关系的,或者说区块之间相互独立,只是按照时间先后顺序添加到区块链上。当需要对跨链业务区块进行跨链共识的包括第二业务分支链的业务共识节点,则第一共识节点可以将跨链业务区块存储至第一跨链存储空间中第二业务分支链对应的数据存储区块链上。在可行的另一实施例中,第一跨链存储空间存分配成一个或者多个子存储空间,每一个子存储空间对应一条与第一业务分支链存在跨链共识关系的业务分支链。当需要对跨链业务区块进行跨链共识的包括第二业务分支链的业务共识节点,则第一共识节点可以将跨链业务区块存储至第一跨链存储空间中第二业务分支链对应的子存储空间中。采用上述存储方式,可以使得第二业务分支链的业务共识节点从第一跨链存储空间中快速获取需要进行跨链共识处理的该跨链业务区块(即跨链数据)。
在可行的实施例中,在生成跨链业务区块之后,第一共识节点可以触发第一业务分支链的所有业务共识节点对该跨链业务区块进行初始共识,若初始共识结果指示跨链业务区块共识通过,则基于第一业务分支链对跨链业务区块进行预提交处理,以及将跨链业务区块存储至第一跨链存储空间中。其中,对该跨链业务区块进行初始共识可以是对该跨链业务区块中的目标业务的相关信息进行共识。例如,在税务场景中,第一业务分支链为税务场景对应的区块链网络中维护的发票业务对应的区块链,目标业务为开具发票,则第一业务分支链的所有业务共识节点对该跨链业务区块进行初始共识,可以是对发票相关数据(如,发票金额,发票时间,企业名称,纳锐人识别号等等)进行共识。
S604、第二共识节点从第一跨链存储空间中获取跨链业务区块。
本申请实施例中,第二共识节点可以是第二业务分支链的任一业务共识节点,也可以是当前阶段由第二业务分支链的所有业务共识节点推举出来的主节点,所谓主节点是指当前阶段负责出块(即生成区块)的共识节点。第二业务分支链的除第二共识节点之外的业务共识节点为当前阶段的从节点,从节点当前阶段负责对主节点生成的区块进行共识。当前阶段可以是指当前区块高度。
第二共识节点从第一跨链存储空间中获取跨链业务区块之前,需要先获取第一跨链存储空间的访问权限。第二共识节点向业务主链的主链共识节点发送关于第一跨链存储空间的访问权限请求,以使得该主链共识节点响应该访问权限请求为第二共识节点分配对第一跨链存储空间的访问权限。第二共识节点可以是在主链共识节点为第一业务分支链的业务共识节点分配了第一跨链存储空间之后,立即向主链共识节点请求关于第一跨链存储空间的访问权限;第二共识节点也可以是在涉及对跨链业务的处理时,才向主链共识节点请求关于第一跨链存储空间的访问权限。第二共识节点在取得第一跨链存储空间的访问权限之后,从第一跨链存储空间中获取该跨链业务区块。需要说明的是,第一跨链存储空间对于第二共识节点只是可读的。
在一实施例中,第一共识节点确定针对目标业务进行跨链共识的共识节点,若针对目标业务进行跨链共识的共识节点包括第二业务分支链的业务共识节点,则向第二业务分支链的业务共识节点广播跨链共识请求。该跨链共识请求可以携带跨链业务区块的区块标识。第二共识节点接收到第一共识节点发送的跨链共识请求之后,如果当前已取得第一跨链存储空间的访问权限,第二共识节点则可以立即基于该区块标识从第一跨链存储空间中获取该跨链业务区块,可以是从第一跨链存储空间中第二业务分支链对应的区块链或者子存储空间获取该跨链业务区块。如果当前还未取得第一跨链存储空间的访问权限,第二共识节点则响应该跨链共识请求向主链共识节点发送关于第一跨链存储空间的访问权限请求,并在取得访问权限之后,基于该区块标识从第一跨链存储空间中获取该跨链业务区块,可以是从第一跨链存储空间中第二业务分支链对应的区块链或者子存储空间获取该跨链业务区块。可选的,该跨链共识请求还可以携带存储跨链业务区块的第一跨链存储空间的地址信息。
S605、第二共识节点对跨链业务区块进行跨链共识,确定跨链业务区块的跨链共识结果。
在一实施例中,第二共识节点获取到跨链业务区块之后,获取跨链业务区块中的目标业务所涉及的特定特征的特征数据,该特定特征与第二业务分支链所对应的业务相关,例如,第二业务分支链为税务场景对应的区块链网络中维护的征信业务对应的区块链,目标业务为开票业务,则该特定特征可以是开票对象的征信。基于该特征数据确定该特定特征的验证结果,该验证结果用于指示验证通过或者未通过,然后可以直接根据该验证结果确定跨链业务区块的跨链共识结果。若该验证结果指示验证通过,则生成用于指示跨链业务区块跨链共识通过的跨链共识结果;若该验证结果指示验证未通过,则生成用于指示跨链业务区块跨链共识未通过的跨链共识结果。
在另一实施例中,第二共识节点获取到跨链业务区块之后,获取跨链业务区块中的目标业务所涉及的特定特征,并将该特定特征广播给第二业务分支链的所有业务共识节点,由第二业务分支链的所有业务共识节点分别基于该特定特征的特征数据确定该特定特征的验证结果,并将验证结果返回给第二共识节点;第二共识节点统计接收到的各业务共识节点返回的验证结果,若超过设定比例(如2/3)的业务共识节点的验证结果指示验证通过,则基于该统计结果生成用于指示跨链业务区块跨链共识通过的跨链共识结果;反之,若超过该设定比例的业务共识节点的验证结果指示验证未通过,则基于该统计结果生成用于指示跨链业务区块跨链共识未通过的跨链共识结果。
例如,在税务场景中,第一业务分支链为税务场景对应的区块链网络中维护的发票业务对应的区块链,第二业务分支链为税务场景对应的区块链网络中维护的征信业务对应的区块链,目标业务为开具发票,则第一业务分支链的业务共识节点对该跨链业务区块进行初始共识,可以是对发票相关数据(如,发票金额,发票时间,企业名称,纳锐人识别号等等)进行共识;而第二业务分支链的业务共识节点对该跨链业务区块进行跨链共识,可以是对开票对象(如甲用户)的征信进行共识,此时上述特定特征可以是开票对象的征信,该特定特征的特征数据可以是开票对象的历史征信数据。若基于开票对象的历史征信数据确定开票对象信用良好且无不良(如犯罪)记录,则确定开票对象的征信验证通过;反之,则确定开票对象的征信验证未通过。
S606、第二共识节点将跨链业务区块的跨链共识结果存储至第二跨链存储空间中。
本申请实施例中,第二跨链存储空间是业务主链的主链共识节点(可以是业务主链的任一共识节点,也可以是业务主链的所有共识节点中设定的具备跨链存储空间分配权限的共识节点)为第二业务分支链的所有业务共识节点(包括第二共识节点),分配的专门用于存储第二业务分支链所涉及的跨链数据的跨链存储空间。其他链的共识节点需要获取到访问权限之后才能访问该第二跨链存储空间。该第一跨链存储空间可以是在完成第二业务分支链的初始化(即完成第二业务分支链的创建)之后,立即由第二业务分支链的业务共识节点向业务主链的主链共识节点请求分配的;也可以是在涉及对跨链业务的处理时,才由第二业务分支链的业务共识节点向业务主链的主链共识节点请求分配的。在其他可行的实施例中,还可以是第一业务分支链的业务共识节点向业务主链的主链共识节点请求分配第一业务分支链对应的跨链存储空间时,由第一业务分支链的业务共识节点一并向业务主链的主链共识节点请求分配第二业务分支链对应的跨链存储空间。
本申请实施例中,第二共识节点可以直接将跨链业务区块的跨链共识结果存储至第二跨链存储空间中,并且跨链共识结果可以携带目标标识,该目标标识用于指示该跨链共识结果为上述跨链业务区块的跨链共识结果。第二共识节点也可以针对跨链共识结果生成跨链共识区块,并将该跨链共识区块存储至第二跨链存储空间中,并且该跨链共识区块可以携带目标标识,该目标标识用于指示该跨链共识区块携带上述跨链业务区块的跨链共识结果。在可行的一实施例中,第二跨链存储空间存在一条或者多条数据存储区块链,每一条区块链对应一条与第二业务分支链存在跨链共识关系的业务分支链,则第二共识节点可以将跨链共识区块存储至第二跨链存储空间中第一业务分支链对应的数据存储区块链上。在可行的另一实施例中,第二跨链存储空间存分配成一个或者多个子存储空间,每一个子存储空间对应一条与第一业务分支链存在跨链共识关系的业务分支链,则第二共识节点可以将跨链共识区块或者跨链共识结果存储至第二跨链存储空间中第一业务分支链对应的子存储空间中。采用上述存储方式,可以使得第一业务分支链的业务共识节点从第二跨链存储空间中快速获取跨链业务区块的跨链共识结果。
S607、第一共识节点从第二跨链存储空间中获取跨链业务区块的跨链共识结果。
本申请实施例中,第一共识节点从第二跨链存储空间中获取跨链业务区块的跨链共识结果之前,需要先获取第二跨链存储空间的访问权限。第一共识节点向业务主链的主链共识节点发送关于第二跨链存储空间的访问权限请求,以使得该主链共识节点响应该访问权限请求为第一共识节点分配对第二跨链存储空间的访问权限。第一共识节点在取得第二跨链存储空间的访问权限之后,从第二跨链存储空间中获取该跨链业务区块的跨链共识结果。需要说明的是,第二跨链存储空间对于第一共识节点只是可读的。
在一实施例中,第一共识节点可以是在主链共识节点为第二业务分支链的业务共识节点分配了第二跨链存储空间之后,立即向主链共识节点请求关于第二跨链存储空间的访问权限。第一共识节点也可以是在涉及对跨链业务的处理时,才向主链共识节点请求关于第二跨链存储空间的访问权限;在可行的实施方式中,第一共识节点确定针对目标业务进行跨链共识的共识节点,若针对目标业务进行跨链共识的共识节点包括第二业务分支链的业务共识节点,则立即向主链共识节点请求第二跨链存储空间的访问权限。
在一实施例中,第一共识节点取得第二跨链存储空间的访问权限之后,可以每隔预设时间间隔查询第二跨链存储空间,以从第二跨链存储空间中获取跨链业务区块的跨链共识结果。在另一实施例中,第二共识节点将跨链业务区块的跨链共识结果存储到第二跨链存储空间之后,可以向第一业务分支链的共识节点(或者只向第一共识节点)发送用于指示跨链共识结果已上传的指示信息。第二共识节点在接收到该指示信息之后,且在取得第二跨链存储空间的访问权限的情况下,从第二跨链存储空间中获取跨链业务区块的跨链共识结果,这样可以大大减少第一共识节点无效访问第二跨链存储空间的次数,可节省软硬件资源,还可以避免出现第二跨链存储空间访问量过大导致访问拥堵的情况。
在可行的实施方式中,第一共识节点也可以是在接收到该指示信息之后,才向主链共识节点请求第二跨链存储空间的访问权限。另外,当第二共识节点存储到第二跨链存储空间中的是上述跨链共识区块,第一共识节点则从第二跨链存储空间中获取该跨链共识区块,并从该跨链共识区块中提取跨链业务区块的跨链共识结果。第一共识节点可以是从第二跨链存储空间中第一业务分支链对应的数据存储区块链或者子存储空间中获取该跨链共识区块。
S608、第一共识节点基于跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
本申请实施例中,若该跨链共识结果指示跨链业务区块跨链共识通过,则将预提交至第一业务分支链的跨链业务区块的状态设置为有效状态,可以是在第一业务分支链上的跨链业务区块的后面添加用于针对跨链业务区块进行状态声明的第一状态声明区块,该第一状态声明区块用于声明第一业务分支链上的跨链业务区块有效。此时该跨链业务区块生效,可以正常使用。若该跨链共识结果指示跨链业务区块跨链共识未通过,则将预提交至第一业务分支链的跨链业务区块的状态设置为无效状态,可以是在第一业务分支链上的跨链业务区块的后面添加用于针对跨链业务区块进行状态声明的第二状态声明区块,该第二状态声明区块用于声明第一业务分支链上的跨链业务区块无效。此时该跨链业务区块无效,不可以正常使用。在可行的实施例中,将预提交至第一业务分支链的跨链业务区块的状态设置为无效状态,还可以是将该跨链业务区块从第一业务分支链上删除。
在可行的实施例中,本申请实施例提供的基于区块链的区块处理方法除包括上述步骤S601-S608之外,还可以包括如下步骤:
第二共识节点针对跨链共识结果生成跨链共识区块之后,基于第二业务分支链对跨链共识区块进行预提交处理。其中,第二共识节点基于第二业务分支链对跨链共识区块进行预提交处理包括:将跨链共识区块预提交至第二业务分支链上。预提交是指先将生成的区块添加到区块链上,但该区块的状态为待定状态,即添加到区块链上的该区块可能是有效的,也可能是无效的,需要后续进行设置。
第一共识节点对跨链业务区块的状态设置完成后,可以将关于跨链业务区块的状态设置结果存储到第一跨链存储空间中。其中,该状态设置结果可以包括上述生成的用于针对跨链业务区块进行状态声明的状态声明区块(包括第一状态声明区块或者第二状态声明区块)。
第二共识节点从第一跨链存储空间中获取关于跨链业务区块的状态设置结果,并基于该状态设置结果对预提交至第二业务分支链的跨链共识区块的状态进行设置。在可行的实施例中,当该状态设置结果指示的(或者说状态声明区块所声明的)跨链业务区块的状态与该跨链共识结果相匹配时,则将预提交至第二业务分支链的跨链共识区块的状态设置为有效状态,即表示第一业务分支链的业务共识节点(或者说第一共识节点)是基于第二业务分支链的业务共识节点对跨链业务区块的跨链共识结果,对预提交至第一业务分支链上的跨链业务区块的状态进行设置的。同理,可以是在第二业务分支链上的跨链共识区块的后面添加用于针对跨链共识区块进行状态声明的第三状态声明区块,该第三状态声明区块用于声明第二业务分支链上的跨链共识区块有效。其中,相匹配包括:该跨链共识结果指示跨链业务区块跨链共识未通过,且该状态设置结果指示的跨链业务区块的状态为无效状态;或者,该跨链共识结果指示跨链业务区块跨链共识通过,且该状态设置结果指示的跨链业务区块的状态为有效状态。
在可行的实施例中,当该状态设置结果指示的(或者说状态声明区块所声明的)跨链业务区块的状态与该跨链共识结果不相匹配时,则将预提交至第二业务分支链的跨链共识区块的状态设置为无效状态,即表示第一业务分支链的业务共识节点(或者说第一共识节点)没有基于第二业务分支链的业务共识节点对跨链业务区块的跨链共识结果,对预提交至第一业务分支链上的跨链业务区块的状态进行设置。同理,可以是在第二业务分支链上的跨链共识区块的后面添加用于针对跨链共识区块进行状态声明的第四状态声明区块,该第四状态声明区块用于声明第二业务分支链上的跨链共识区块无效。其中,不相匹配包括:该跨链共识结果指示跨链业务区块跨链共识未通过,而该状态设置结果指示的跨链业务区块的状态为有效状态;或者,该跨链共识结果指示跨链业务区块跨链共识通过,而该状态设置结果指示的跨链业务区块的状态为无效状态。
此情况可能是由于第一共识节点获取到的第二业务分支链的业务共识节点对跨链业务区块的跨链共识结果,与第二业务分支链的业务共识节点对跨链业务区块的实际跨链共识结果不一致造成的,造成不一致的情况可能是诸如存在对存储在第二跨链存储空间中的跨链业务区块的跨链共识结果的恶意篡改。针对此情况,业务主链的主链共识节点可以在检查到第二业务分支链上的跨链共识区块的状态为无效状态时,基于第二业务分支链的业务共识节点对跨链业务区块的实际跨链共识结果,对第一业务分支链上的跨链业务区块的状态进行重新设置。
进一步的,第二共识节点对跨链共识区块的状态设置完成后,可以将关于跨链共识区块的状态设置结果存储到第二跨链存储空间中。其中,该状态设置结果可以包括上述生成的用于针对跨链共识区块进行状态声明的状态声明区块(包括第三状态声明区块或者第四状态声明区块)。至此,第二共识节点对跨链业务(或者说目标业务,亦或者说跨链业务区块)的相关处理完成。若第一共识节点从第二跨链存储空间中获取到跨链共识区块的状态设置结果,则也可以确定结束对跨链业务的相关处理。在检测到跨链业务的相关处理完成之后,或者在检测到达到了访问权限的有效时间,可以由业务主链的主链共识节点撤销第一业务分支链的业务共识节点(包括第一共识节点)对第二跨链存储空间的访问权限(或者可以由第一业务分支链的业务共识节点主动放弃对第二跨链存储空间的访问权限,后续访问需要重新申请),和/或,由业务主链的主链共识节点撤销第二业务分支链的业务共识节点(包括第二共识节点)对第一跨链存储空间的访问权限(或者可以由第二业务分支链的业务共识节点主动放弃对第一跨链存储空间的访问权限,后续访问需要重新申请)。
在一实施例中,在检测到满足第一访问权限撤销条件,包括:检测到跨链业务的相关处理完成,和/或检测到达到了达到了第一业务分支链的业务共识节点(包括第一共识节点)具备第二跨链存储空间的访问权限的有效时间,业务主链的主链共识节点撤销第一业务分支链的业务共识节点(包括第一共识节点)对第二跨链存储空间的访问权限,并生成用于指示主链共识节点撤销了第一业务分支链的业务共识节点(包括第一共识节点)对第二跨链存储空间的访问权限的第一权限撤销指示信息,然后将该第一权限撤销指示信息发送给第一业务分支链的业务共识节点(包括第一共识节点),以使得第一业务分支链的业务共识节点(包括第一共识节点)知悉其失去了对第二跨链存储空间的访问权限,后续访问第二跨链存储空间则需要重新申请访问权限。
类似的,在检测到满足第二访问权限撤销条件,包括:检测到跨链业务的相关处理完成,和/或检测到达到了达到了第二业务分支链的业务共识节点(包括第二共识节点)具备第一跨链存储空间的访问权限的有效时间,业务主链的主链共识节点撤销第二业务分支链的业务共识节点(包括第二共识节点)对第一跨链存储空间的访问权限,并生成用于指示主链共识节点撤销了第二业务分支链的业务共识节点(包括第二共识节点)对第一跨链存储空间的访问权限的第二权限撤销指示信息,然后将该第二权限撤销指示信息发送给第二业务分支链的业务共识节点(包括第二共识节点),以使得第二业务分支链的业务共识节点(包括第二共识节点)知悉其失去了对第一跨链存储空间的访问权限,后续访问第一跨链存储空间则需要重新申请访问权限。
需要说明的是,如果在对跨链业务的相关处理完成之前,达到了第一业务分支链的业务共识节点(包括第一共识节点)具备第二跨链存储空间的访问权限的有效时间,或者达到了第二业务分支链的业务共识节点(包括第二共识节点)具备第一跨链存储空间的访问权限的有效时间,则第一共识节点或者第二共识节点可以向业务主链的主链共识节点重新申请(或者说申请续期)对相应跨链存储空间的访问权限。
本申请实施例通过先将由第一业务分支链的第一共识节点生成的跨链业务区块预提交至第一业务分支链上,然后由第二业务分支链的第二共识节点对跨链业务区块进行跨链共识,最后由第一共识节点根据跨链共识结果对预提交至第一业务分支链的的跨链业务区块的状态进行设置,这样可以实现对跨链业务的跨链共识处理。另一方面,为不同业务分支链分配不同的专门用于存储跨链数据的专属存储空间,某业务分支链所涉及的跨链数据会存储至其专属存储空间中,这样需要基于该跨链数据进行处理的其他业务分支链的业务共识节点,可以直接从该专属存储空间中获取跨链数据,相对于直接从该某业务分支链上获取跨链数据,效率更高;再一方面,某业务分支链的业务共识节点要从其他业务分支链的专属存储空间中获取跨链数据时,需要先取得访问其他业务分支链的专属存储空间的权限,这样可以有效保证各业务分支链的专属存储空间中的存储数据的安全性。
前文介绍了由第一业务分支链的第一共识节点生成跨链业务区块,并且可以由第一业务分支链的业务共识节点对跨链业务区块进行初步共识,然后由第二业务分支链的业务共识节点(包括第二共识节点)对跨链业务区块进行跨链共识的方式,可以理解的是,还可以由两个或者两个以上的业务分支链的业务共识节点对跨链业务区块进行跨链共识。举例来说,例如,在税务场景中,第一业务分支链为税务场景对应的区块链网络中维护的发票业务对应的区块链,第二业务分支链为税务场景对应的区块链网络中维护的征信业务对应的区块链,第三业务分支链为税务场景对应的区块链网络中维护的企业资质业务对应的区块链,目标业务为开具发票,则第一业务分支链的业务共识节点对该跨链业务区块进行初始共识,可以是对发票相关数据(如,发票金额,发票时间,企业名称,纳锐人识别号等等)进行共识;而第二业务分支链的业务共识节点对该跨链业务区块进行跨链共识,可以是对开票对象(如甲公司)的征信进行共识,第三业务分支链的业务共识节点对该跨链业务区块进行跨链共识,可以是对开票对象(如甲公司)的企业资质进行共识。如果第二业务分支链的业务共识节点对该跨链业务区块的跨链共识结果,以及第三业务分支链的业务共识节点对该跨链业务区块的跨链共识结果均为通过,则第一业务分支链的业务共识节点将预提交至第一业务分支链的跨链业务区块的状态设置为有效状态。
需要说明的是,此情况的具体实现方式可参考前文描述的跨链共识方式,此处不再赘述。另外,可以理解的是,针对此情况,上述实施例中所描述的第二业务分支链可以是两个或者多个,分别对应不同的业务,第二共识节点、第二存储空间以及跨链共识结果等也可以是两个或者多个。
另外,值得注意的是,区块链网络可以包括单层、双层或多层网络,此处的“层”是指区块链网络所包含的子网络的数量;子网络的划分可以是出于业务需求、通信连接、安全性等方面的考虑;属于同一子网络中的区块链节点之间的互相访问有共识机制保证安全,而不同子网络中的区块链节点之间的互相访问需要额外加入身份管理和/或网络控制。例如,图2所示的区块链网络是一个单层区块链网络,该单层区块链网络中的各个区块链节点之间可通过共识机制实现安全访问和数据同步。在一种实现方式中,本申请实施例提供的基于区块链的区块处理方法可以是应用于图2所示的单层区块链网络中的,此实现方式下,本申请实施例提及的主链共识节点和业务共识节点是属于该单层区块链网络中的共识节点。
在其他可行的实现方式中,本申请实施例提出的基于区块链的区块处理方法除可以应用于前文描述的单层区块链网络(如只包含一个区块链网络)外,还可以应用于较为复杂的双层或多层区块链网络。举例来说,当区块链被应用于一些场景中时,例如:票据业务场景,政府或者商业机构等的数据存储场景等等;在这些场景下,区块链网络中并非所有的节点都有足够的资源和必要性成为参与区块链共识的节点。而出于对数据的安全性考虑,在区块链体系中涉及个人隐私或者国家安全的相关数据时,也不适用普遍的数据对等的区块链部署方式。为了适应业务需求(如内外网,业务网,办公网分隔等),并进一步提高数据的安全性和保密性,本申请实施例提供了一种双层链,通过P2P(Peer to Peer,点对点)网络形成“见证子网络-共识子网络”的双层网络架构,其中,P2P网络是一种点对点连接的网络,点对点连接的各个节点称为对等节点。P2P网络基于一类特定的网络协议,使得对等节点之间不需要一个中心节点来维护网络状态,每个节点通过和相邻节点之间的广播交互,来维护全网的节点状态及其与相邻节点的连接状态。
图7示出了本申请一个示例性实施例提供的一种双层区块链网络的架构图;如图7所示,该区块链网络包括见证子网络和共识子网络。其中:①见证子网络中包括一个或多个业务节点,即业务节点部署在处于公网的见证子网络中。见证子网络中的业务节点主要进行业务执行,不参与记账共识,并通过身份认证的方式从共识子网络中获得区块头数据和部分授权可见的区块数据。②共识子网络是区块链网络中的核心网络,用于对区块链网络进行记账共识。共识子网络中包括一个或多个共识节点(或称为记账节点),或者如前述图4所示的共识子网络中包含一个或多个共识集群,共识集群中部署运行区块链共识协议的共识节点,包括源共识节点和目标共识节点;基于此,前述提及的第一业务分支链和第二业务分支链之间的跨链共识处理是在双层网络架构中的共识子网络中进行的。通常来说,见证子网络和共识子网络处在不同网络环境下,见证子网络处于公有网络中,而共识子网络处于私有网络中。由于共识子网络处于相对安全的私有网络中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务节点处于公共网络中,可能会被其它不确定的网络终端访问,因此业务节点以及其它可能的节点接入共识子网络中的行为需要被严格控制。
进一步地,上述提及的见证子网络和共识子网络可以通过二者中间的路由代理网络(或称为路由边界网络)进行交互。具体地,路由代理网络属于区块链网络,路由代理网络用于对见证子网络和共识子网络进行网络隔离;路由代理网络中包含一个或多个路由代理节点,这样可以通过路由代理节点将见证子网络中业务节点发送的数据转发给共识子网络中的共识节点,可提高共识子网络中数据的安全性。在此实现方式下,本申请实施例提供的双层区块链网络的更为详细的架构示意图可参见图8。
如图8所示,区块链网络包括:业务层、路由代理层以及核心共识网络层,业务层、路由代理层以及核心共识网络层组成了整个完整区块链业务体系;其中,①业务层处于见证子网络中,业务层包括至少一个业务节点,该业务节点具体可以是SPV节点,SPV节点维持正常的无结构P2P网络,业务节点可以处理(地方税局)税务、票据(企业开票)、支付(企业资金流动)等业务。②核心共识网络层处于共识子网络中,核心共识网络层包括多个具有共识功能的共识节点,如共识节点801、共识节点802、共识节点803、……。③路由代理层中包括至少一个代理节点,代理节点可以提供路由服务、认证服务、证书缓存服务、点对点(P2P)服务等。业务层和核心共识网络层之间通过路由代理层进行信息交互,即业务层通过路由代理层向核心共识网络层提交业务操作交互,这样路由代理层对于业务层和核心共识网络层起到了隔离的作用。
正如前述对图4所示的相关描述可知,核心共识网络层(即共识子网络)中还可以包括多个共识集群,如图8所示的核心共识网络中可包括共识集群804,该共识集群804中可包括共识节点801以及共识节点802来维护本集群内的核心链1;本申请实施例对核心共识层是包含共识节点,还是包含共识集群不作限定,特在此说明。另外,在本申请实施例中根据共识集群维护的链是业务主链还是业务分支链,多个共识集群被划分为主链共识集群(或者说核心共识集群)和分链共识集群,关于主链共识集群和分链共识集群的相关内容可参见前述图4所示的具体实现的相关描述,在此不做赘述。
下面结合图9对双层网络架构进行介绍;如图9所示,区块链网络中包括见证子网络、路由代理网络以及共识子网络;其中,①见证子网络中的业务节点(如SPV节点)中动态配置有业务主链和/或一个或多个业务分支链的链标识,这样见证子网络中的业务节点可以通过链标识参与业务分支链的业务(如访问或存储与业务分支链同一业务类型的业务数据)。②同理,共识子网络中的业务主链还注册有见证子网络中业务节点的节点标识和地址,业务分支链可从业务主链中获取某个业务节点的节点标识和地址后,将业务分支链存储的业务数据同步至业务节点进行本地存储。③路由代理网络记录了共识子网络中共识节点的节点信息,节点信息可包括节点标识、存储的区块链(如业务主链或业务分支链)的链标识等信息;当路由代理网络中的路由代理节点遇到要向业务分支链发送业务数据时,可直接将业务数据转发至对应的业务共识节点;否则,路由代理节点还是将业务数据转发至维护业务主链的主链共识节点,并由主链共识节点根据业务主链上派生的各个业务分支链的链标识来对业务数据进行处理(如转发至对应的业务分支链等)。
当本申请实施例提供的基于区块链的区块处理方法应用于图9所示的双层网络架构时,可以由见证子网络中的业务节点向路由代理网络中的路由代理节点发送业务处理请求,该业务处理请求可包括待处理的目标业务;然后由路由代理网络中的路由代理节点根据记录的各业务分支链所对应的业务类型,确定与该目标业务的业务类型相匹配的业务分支链,并将目标业务发送给相匹配的业务分支链的业务共识节点,以对该目标业务进行处理,具体的处理过程可参考前文描述,此处不再赘述。
另外,本申请实施例涉及的数据共识,可以是采用如下几种共识算法中的任一中进行共识校验。
1)Pow(Proof-of-Work,工作量证明),是指系统(如前述的数据共享系统)为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认工作量。本质是谁做的工作多,谁就更有机会获得额外奖励。
2)Pos(proof-of-stake,权益证明),是Pow工作量证明的一种升级共识机制;具体地,谁持有电子资源的时间越长(持有电子资源的时间长度=持有电子资源的数量*持有电子资源的时间),谁更有机会获取区块的记账权,其中,电子资源可以是指以电子形式存储于电子账户中、且能够通过互联网进行流通的资源;根据每个节点所占电子资源的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。Pos权益证明在一定程度上缩短了共识达成的时间,但仍然需要挖矿。
3)DPos(Delegated Proof of Stake,委托权益证明)股份授权证明机制,是类似于董事会投票,持有电子资源的人投出一定数量的节点,代理他们进行验证和记账。为了激励更多人参与竞选,系统会生成少量电子资源作为奖励。DPos股份授权证明机制是让每一个持有比特股的人进行投票,由此产生101位代表,我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,DPos股份授权证明机制有点像是议会制度或人民代表大会制度。如果选出的代表不能履行他们的职责(当轮到他们时,没能生成区块),那么这些代表会被除名,网络会选出新的超级节点来取代他们。这使得DPos股份授权证明机制能够大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证,但整个共识机制还是依赖于电子资源。
4)pbft(Practical Byzantine Fault Tolerance,拜占庭容错算法),是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。具体地,假设节点总数为3f+1,f为拜赞庭错误节点,首先,当节点发现leader(如代表节点、记账节点或超级节点)作恶时,通过算法选举其他的replica(节点)为leader。其次,leader通过pre-prepare(预准备)消息把它选择的value(值)广播给其他replica节点,其他的replica节点如果接受则发送prepare(准备)消息,如果不接受则不发送。其次,一旦2f个节点接受prepare消息,则节点发送commit(确认)消息。最后,当2f+1个节点接受commit消息后,代表该value值被确定。上述过程使得pbft拜占庭容错算法能够共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证;并且,共识的时延大约在2~5秒钟,基本达到商用实时处理的要求,提高共识效率,可满足高频交易量的需求。
5)Paxos(一种分布式算法)算法,是一种两阶段算法,主要有三类角色,proposer(提议者)、acceptor(接受者)、learner(学习者)。proposer提出议案,acceptor同意或拒绝,learner则是获取达成共识后的最终值。Paxos算法包括两个阶段,分别为:①准备阶段:proposer选择一个提案编号n并将prepare(准备)请求发送给acceptors中的一个多数派;acceptor收到prepare请示后,如果提案的编号大于它已经回复的所有prepare请示,则acceptor将自己上次接受的提案回复给proposer,并承诺不再回复小于n的提案。②批准阶段:当一个proposer收到了多数acceptors对prepare请示的回复后,就进入批准阶段;它要向回复prepare请求的acceptors发送accept(接受)请求,包括编号n和value(如果没有已经接受的value,那么它可以自由决定value);在不违背自己向其他proposer的承诺的前提下,acceptor收到accept请求后即接受这个请求。
6)Raft(一种分布式共识算法)算法,包含三种角色,分别是:跟随者(follower),候选人(candidate)和领导者(leader)。一个节点在某一时刻只能是这三种状态的其中一种,这三种角色是可以随着时间和条件的变化而互相转换的。所有的节点初始状态都为follower,超时未收到心跳包的follower将变身candidate并广播投票请求,获得多数投票的节点将化身leader,这一轮投票的过程是谁先发出谁有利,每个节点只会给出一次投票。leader节点周期性给其他节点发送心跳包,leader节点失效将会引发新一轮的投票过程。
本申请实施例对具体采用哪一种或多种共识算法不作限定,在此说明。
另外,需要说明的是,用于执行上述方法实施例中各步骤的执行主体可以是由硬件构成,也可以是由软件构成,还可以是由软硬件结合构成。另外,在本申请的具体实施方式中,涉及到目标业务、发票相关数据、开票对象、特征数据、征信数据等相关的数据,所涉及使用到的数据均是经过用户授权的。当本申请以上实施例运用到具体产品或技术中时,所涉及使用到的数据需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参阅图10,为本申请实施例提供的一种基于区块链的区块处理装置的结构示意图。其中,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限。在可行的实施例中,本申请实施例中所描述的基于区块链的区块处理装置,可以对应于前文所述的第一共识节点,所述装置包括:
处理单元1001,用于若目标业务满足跨链共识条件,则针对所述目标业务生成跨链业务区块;
所述处理单元1001,还用于基于所述第一业务分支链对所述跨链业务区块进行预提交处理;
通信单元1002,用于将所述跨链业务区块存储至所述第一跨链存储空间中;
所述通信单元1002,还用于从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果;其中,所述跨链共识结果是所述第二共识节点从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识得到的;
所述处理单元1001,还用于基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,所述处理单元1001基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置时,具体用于:
若基于所述跨链共识结果确定所述跨链业务区块跨链共识通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为有效状态;若基于所述跨链共识结果确定所述跨链业务区块跨链共识未通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为无效状态。
在一实施例中,所述处理单元1001,还用于确定针对所述目标业务进行跨链共识的共识节点;
所述通信单元1002,还用于若针对所述目标业务进行跨链共识的共识节点包括所述第二业务分支链的业务共识节点,则从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果。
在一实施例中,所述通信单元1002,还用于向所述第二业务分支链的业务共识节点发送跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;所述跨链共识请求用于请求所述第二业务分支链的业务共识节点基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识。
在一实施例中,所述处理单元1001,还用于对所述跨链业务区块进行初始共识;
若初始共识结果指示所述跨链业务区块共识通过,则基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及触发所述通信单元1002将所述跨链业务区块存储至所述第一跨链存储空间中。
在一实施例中,所述通信单元1002,还用于接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第一共识节点对所述第二跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
在其他可行的实施例中,本申请实施例中所描述的基于区块链的区块处理装置,可以对应于前文所述的第二共识节点,所述装置包括:
通信单元1002,用于从所述第一跨链存储空间中获取跨链业务区块;其中,所述跨链业务区块是所述第一共识节点在目标业务满足跨链共识条件时,针对所述目标业务生成并存储至所述第一跨链存储空间中的;
处理单元1001,用于对所述跨链业务区块进行跨链共识,确定跨链共识结果;
所述通信单元1002,还用于将所述跨链共识结果存储至所述第二跨链存储空间中,以便于所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识结果,基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,所述处理单元1001,还用于针对所述跨链共识结果生成跨链共识区块,基于所述第二业务分支链对所述跨链共识区块进行预提交处理;
所述通信单元1002,还用于从所述第一跨链存储空间中获取所述第一共识节点存储的关于所述跨链业务区块的状态设置结果;
所述处理单元1001,还用于基于所述状态设置结果对预提交至所述第二业务分支链的跨链共识区块的状态进行设置。
在一实施例中,所述通信单元1002所述跨链共识结果存储至所述第二跨链存储空间时,具体用于:将所述跨链共识区块存储至所述第二跨链存储空间;其中,所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识区块,并从所述跨链共识区块中提取所述跨链共识结果。
在一实施例中,所述通信单元1002,还用于:
接收所述第一共识节点发送的跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;响应所述跨链共识请求,基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块。
在一实施例中,所述通信单元1002,还用于:接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第二共识节点对所述第一跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
可以理解的是,本申请实施例提供的基于区块链的区块处理装置的各功能单元的功能可根据上述方法实施例中的相关方法具体实现,其具体实现过程可以参照上述方法实施例中的相关描述,此处不再赘述。
在可行的实施例中,本申请实施例提供的基于区块链的区块处理装置可以采用软件方式实现,基于区块链的区块处理装置可以存储在存储器中,其可以是程序和插件等形式的软件,并包括一系列的单元,包括处理单元和通信单元;其中,处理单元和通信单元用于实现本申请实施例提供的基于区块链的区块处理方法。
在其它可行的实施例中,本申请实施例提供的基于区块链的区块处理装置也可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的基于区块链的区块处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的区块处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本申请实施例通过先将由第一业务分支链的第一共识节点生成的跨链业务区块预提交至第一业务分支链上,然后由第二业务分支链的第二共识节点对跨链业务区块进行跨链共识,最后由第一共识节点根据跨链共识结果对预提交至第一业务分支链的的跨链业务区块的状态进行设置,这样可以实现对跨链业务的跨链共识处理。另一方面,为不同业务分支链分配不同的专门用于存储跨链数据的专属存储空间,某业务分支链所涉及的跨链数据会存储至其专属存储空间中,这样需要基于该跨链数据进行处理的其他业务分支链的业务共识节点,可以直接从该专属存储空间中获取跨链数据,相对于直接从该某业务分支链上获取跨链数据,效率更高;再一方面,某业务分支链的业务共识节点要从其他业务分支链的专属存储空间中获取跨链数据时,需要先取得访问其他业务分支链的专属存储空间的权限,这样可以有效保证各业务分支链的专属存储空间中的存储数据的安全性。
请参阅图11,为本申请实施例提供的一种计算机设备的结构示意图。本申请实施例中所描述的计算机设备包括:处理器1101、通信接口1102及存储器1103。其中,处理器1101、通信接口1102及存储器1103可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
其中,处理器1101(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析用户向计算机设备所发送的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口1102可选的可以包括标准的有线接口、无线接口(如Wi-Fi、移动通信接口等),受处理器1101的控制用于收发数据。存储器1103(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1103既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器1103提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
在本申请实施例中,该计算机设备用于实现前文实施例中的基于区块链的区块处理方法,其中,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限。
在可行的实施例中,该计算机设备可以对应于前文所述的第一共识节点,此时,处理器1101通过运行存储器1104中的可执行程序代码,执行如下操作:
若目标业务满足跨链共识条件,则针对所述目标业务生成跨链业务区块;基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及通过通信接口1102将所述跨链业务区块存储至所述第一跨链存储空间中;通过通信接口1102从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果;其中,所述跨链共识结果是所述第二共识节点从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识得到的;基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,处理器1101基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置时,具体用于:若基于所述跨链共识结果确定所述跨链业务区块跨链共识通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为有效状态;若基于所述跨链共识结果确定所述跨链业务区块跨链共识未通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为无效状态。
在一实施例中,处理器1101还用于:确定针对所述目标业务进行跨链共识的共识节点;若针对所述目标业务进行跨链共识的共识节点包括所述第二业务分支链的业务共识节点,则通过通信接口1102从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果。
在一实施例中,处理器1101还用于:通过通信接口1102向所述第二业务分支链的业务共识节点发送跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;所述跨链共识请求用于请求所述第二业务分支链的业务共识节点基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识。
在一实施例中,处理器1101还用于:对所述跨链业务区块进行初始共识;若初始共识结果指示所述跨链业务区块共识通过,则基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及通过通信接口1102将所述跨链业务区块存储至所述第一跨链存储空间中。
在一实施例中,处理器1101还用于:通过通信接口1102接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第一共识节点对所述第二跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
在其他可行的实施例中,该计算机设备可以对应于前文所述的第二共识节点,此时,处理器1101通过运行存储器1104中的可执行程序代码,执行如下操作:
通过通信接口1102从所述第一跨链存储空间中获取跨链业务区块;其中,所述跨链业务区块是所述第一共识节点在目标业务满足跨链共识条件时,针对所述目标业务生成并存储至所述第一跨链存储空间中的;对所述跨链业务区块进行跨链共识,确定跨链共识结果;通过通信接口1102将所述跨链共识结果存储至所述第二跨链存储空间中,以便于所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识结果,基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
在一实施例中,处理器1101还用于:针对所述跨链共识结果生成跨链共识区块,基于所述第二业务分支链对所述跨链共识区块进行预提交处理;通过通信接口1102从所述第一跨链存储空间中获取所述第一共识节点存储的关于所述跨链业务区块的状态设置结果;基于所述状态设置结果对预提交至所述第二业务分支链的跨链共识区块的状态进行设置。
在一实施例中,所述处理器1101将所述跨链共识结果存储至所述第二跨链存储空间时,具体用于:通过通信接口1102将所述跨链共识区块存储至所述第二跨链存储空间;其中,所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识区块,并从所述跨链共识区块中提取所述跨链共识结果。
在一实施例中,处理器1101还用于:通过通信接口1102接收所述第一共识节点发送的跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;响应所述跨链共识请求通过通信接口1102基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块。
在一实施例中,处理器1101还用于:通过通信接口1102接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第二共识节点对所述第一跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
具体实现中,本申请实施例中所描述的处理器1101、通信接口1102及存储器1103可执行本申请实施例提供的基于区块链的区块处理方法中所描述的第一共识节点或第二共识节点的实现方式,也可执行本申请实施例提供的基于区块链的区块处理装置中所描述的实现方式,在此不再赘述。
本申请实施例通过先将由第一业务分支链的第一共识节点生成的跨链业务区块预提交至第一业务分支链上,然后由第二业务分支链的第二共识节点对跨链业务区块进行跨链共识,最后由第一共识节点根据跨链共识结果对预提交至第一业务分支链的的跨链业务区块的状态进行设置,这样可以实现对跨链业务的跨链共识处理。另一方面,为不同业务分支链分配不同的专门用于存储跨链数据的专属存储空间,某业务分支链所涉及的跨链数据会存储至其专属存储空间中,这样需要基于该跨链数据进行处理的其他业务分支链的业务共识节点,可以直接从该专属存储空间中获取跨链数据,相对于直接从该某业务分支链上获取跨链数据,效率更高;再一方面,某业务分支链的业务共识节点要从其他业务分支链的专属存储空间中获取跨链数据时,需要先取得访问其他业务分支链的专属存储空间的权限,这样可以有效保证各业务分支链的专属存储空间中的存储数据的安全性。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机实现如本申请实施例所述的基于区块链的区块处理方法。其具体实现方式可参考前文描述,此处不再赘述。
相应地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现本申请实施例提供的基于区块链的区块处理方法。
相应地,本申请实施例还提供了一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行本申请实施例提供的基于区块链的区块处理方法。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请部分实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种基于区块链的区块处理方法,其特征在于,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述方法包括:
若目标业务满足跨链共识条件,则针对所述目标业务生成跨链业务区块;
基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及将所述跨链业务区块存储至所述第一跨链存储空间中;
从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果;其中,所述跨链共识结果是所述第二共识节点从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识得到的;
基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
2.如权利要求1所述的方法,其特征在于,所述基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置,包括:
若基于所述跨链共识结果确定所述跨链业务区块跨链共识通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为有效状态;
若基于所述跨链共识结果确定所述跨链业务区块跨链共识未通过,则将预提交至所述第一业务分支链的跨链业务区块的状态设置为无效状态。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定针对所述目标业务进行跨链共识的共识节点;
若针对所述目标业务进行跨链共识的共识节点包括所述第二业务分支链的业务共识节点,则执行所述从所述第二跨链存储空间中获取关于所述跨链业务区块的跨链共识结果的步骤。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
向所述第二业务分支链的业务共识节点发送跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;所述跨链共识请求用于请求所述第二业务分支链的业务共识节点基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块,并对所述跨链业务区块进行跨链共识。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
对所述跨链业务区块进行初始共识;
若初始共识结果指示所述跨链业务区块共识通过,则执行所述基于所述第一业务分支链对所述跨链业务区块进行预提交处理,以及将所述跨链业务区块存储至所述第一跨链存储空间中的步骤。
6.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第一共识节点对所述第二跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
7.一种基于区块链的区块处理方法,其特征在于,所述区块链包括业务主链、第一业务分支链和第二业务分支链,所述第一业务分支链对应第一跨链存储空间,所述第二业务分支链对应第二跨链存储空间,所述业务主链的主链共识节点为所述第一业务分支链的第一共识节点分配了对所述第二跨链存储空间的访问权限,以及为所述第二业务分支链的第二共识节点分配了对所述第一跨链存储空间的访问权限,所述方法包括:
从所述第一跨链存储空间中获取跨链业务区块;其中,所述跨链业务区块是所述第一共识节点在目标业务满足跨链共识条件时,针对所述目标业务生成并存储至所述第一跨链存储空间中的;
对所述跨链业务区块进行跨链共识,确定跨链共识结果;
将所述跨链共识结果存储至所述第二跨链存储空间中,以便于所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识结果,基于所述跨链共识结果对预提交至所述第一业务分支链的跨链业务区块的状态进行设置。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
针对所述跨链共识结果生成跨链共识区块,基于所述第二业务分支链对所述跨链共识区块进行预提交处理;
从所述第一跨链存储空间中获取所述第一共识节点存储的关于所述跨链业务区块的状态设置结果;
基于所述状态设置结果对预提交至所述第二业务分支链的跨链共识区块的状态进行设置。
9.如权利要求8所述的方法,其特征在于,所述将所述跨链共识结果存储至所述第二跨链存储空间,包括:
将所述跨链共识区块存储至所述第二跨链存储空间;
其中,所述第一共识节点从所述第二跨链存储空间中获取所述跨链共识区块,并从所述跨链共识区块中提取所述跨链共识结果。
10.如权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:
接收所述第一共识节点发送的跨链共识请求;其中,所述跨链共识请求携带所述跨链业务区块的区块标识;
响应所述跨链共识请求,基于所述区块标识从所述第一跨链存储空间中获取所述跨链业务区块。
11.如权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:
接收所述主链共识节点发送的权限撤销指示信息;其中,所述权限撤销指示信息用于指示所述主链共识节点撤销了所述第二共识节点对所述第一跨链存储空间的访问权限;所述权限撤销指示信息是所述主链共识节点在检测到满足访问权限撤销条件时生成的,所述满足访问权限撤销条件包括:达到了访问权限的有效时间,或者,跨链业务区块的相关处理完成,或者,达到了访问权限的有效时间且跨链业务区块的相关处理完成。
12.一种基于区块链的区块处理装置,其特征在于,包括用于实现如权利要求1-6中任一项所述的基于区块链的区块处理方法的单元,或者包括用于实现如权利要求7-11中任一项所述的基于区块链的区块处理方法的单元。
13.一种计算机设备,其特征在于,包括:处理器、通信接口和存储器,所述处理器、所述通信接口和所述存储器相互连接,其中,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,实现如权利要求1-6中任一项所述的基于区块链的区块处理方法,或者,实现如权利要求7-11中任一项所述的基于区块链的区块处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当其在计算机上运行时,使得计算机实现如权利要求1-6中任一项所述的基于区块链的区块处理方法,或者,实现如权利要求7-11中任一项所述的基于区块链的区块处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现如权利要求1-6中任一项所述的基于区块链的区块处理方法,或者,实现如权利要求7-11中任一项所述的基于区块链的区块处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444707.8A CN116204110A (zh) | 2021-11-30 | 2021-11-30 | 基于区块链的区块处理方法、装置及设备、介质、产品 |
PCT/CN2022/126163 WO2023098327A1 (zh) | 2021-11-30 | 2022-10-19 | 基于区块链的区块处理方法、装置、设备、存储介质及程序产品 |
US18/347,893 US20230360046A1 (en) | 2021-11-30 | 2023-07-06 | Blockchain-based block processing method and apparatus, device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444707.8A CN116204110A (zh) | 2021-11-30 | 2021-11-30 | 基于区块链的区块处理方法、装置及设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204110A true CN116204110A (zh) | 2023-06-02 |
Family
ID=86511658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111444707.8A Pending CN116204110A (zh) | 2021-11-30 | 2021-11-30 | 基于区块链的区块处理方法、装置及设备、介质、产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230360046A1 (zh) |
CN (1) | CN116204110A (zh) |
WO (1) | WO2023098327A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117668576B (zh) * | 2023-11-22 | 2024-06-21 | 太极计算机股份有限公司 | 一种分层聚类共识构架的逻辑处理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11521290B2 (en) * | 2013-05-22 | 2022-12-06 | Patrick Damien O'Brien | Systems and methods for storing contract information on multiple blockchain ledgers |
CN107395664B (zh) * | 2017-05-22 | 2019-09-03 | 阿里巴巴集团控股有限公司 | 一种业务执行的方法及装置 |
CN107301536B (zh) * | 2017-06-12 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN109587131B (zh) * | 2018-11-29 | 2021-05-14 | 北京链化未来科技有限公司 | 一种区块链网络间数据通信方法和装置 |
CN109934592A (zh) * | 2019-03-22 | 2019-06-25 | 深圳市网心科技有限公司 | 一种区块链跨链通信方法、系统、电子设备及存储介质 |
CN112348672B (zh) * | 2019-08-07 | 2023-08-08 | 淘宝(中国)软件有限公司 | 跨链交易方法、装置、多区块链系统及计算设备 |
-
2021
- 2021-11-30 CN CN202111444707.8A patent/CN116204110A/zh active Pending
-
2022
- 2022-10-19 WO PCT/CN2022/126163 patent/WO2023098327A1/zh unknown
-
2023
- 2023-07-06 US US18/347,893 patent/US20230360046A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230360046A1 (en) | 2023-11-09 |
WO2023098327A1 (zh) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109327528B (zh) | 一种基于区块链的节点管理方法和装置 | |
CN109462587B (zh) | 区块链分层共识方法、区块链网络系统及区块链节点 | |
CN113395363B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN110458709B (zh) | 资源转移信息的传输方法和装置、存储介质、电子装置 | |
CN112422341B (zh) | 区块链网络的故障检测方法及相关设备 | |
CN112187866B (zh) | 一种基于共享存储的新型区块链共识方法 | |
CN112671908B (zh) | 网络管理方法、装置、电子设备及可读存储介质 | |
CN113079215A (zh) | 一种基于区块链的配电物联网无线安全接入方法 | |
Le et al. | A lightweight block validation method for resource-constrained iot devices in blockchain-based applications | |
CN116150260A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
US20230360046A1 (en) | Blockchain-based block processing method and apparatus, device, storage medium, and program product | |
US20230353394A1 (en) | Cross-blockchain transaction processing method and apparatus, computer device, computer storage medium, and computer program product | |
CN112417052B (zh) | 区块链网络中的数据同步方法、装置、设备及存储介质 | |
CN116112506A (zh) | 基于联盟链系统的交易信息处理方法、装置、介质及设备 | |
CN116961892A (zh) | 基于区块链的密钥生成方法、装置、电子设备和可读介质 | |
CN117061538A (zh) | 一种基于区块链网络的共识处理方法及相关装置 | |
CN115834512A (zh) | 一种数据共享方法、系统、电子设备及存储介质 | |
CN116233139A (zh) | 区块链系统的数据处理方法、装置、介质及电子设备 | |
CN115455460A (zh) | 一种基于区块链的数据存储方法、装置、设备及介质 | |
CN116846888A (zh) | 区块链网络的共识处理方法、装置、设备及存储介质 | |
CN116186786A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
CN116186749A (zh) | 基于区块链的业务处理方法、装置、电子设备和可读介质 | |
WO2021115554A1 (en) | A service based interface for establishing distributed consensus | |
CN116112496A (zh) | 一种基于区块链网络的跨链交互方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086910 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |