CN117992534A - 基于多区块链的数据跨链方法、相关设备、介质及产品 - Google Patents
基于多区块链的数据跨链方法、相关设备、介质及产品 Download PDFInfo
- Publication number
- CN117992534A CN117992534A CN202211306695.7A CN202211306695A CN117992534A CN 117992534 A CN117992534 A CN 117992534A CN 202211306695 A CN202211306695 A CN 202211306695A CN 117992534 A CN117992534 A CN 117992534A
- Authority
- CN
- China
- Prior art keywords
- transaction
- cross
- chain
- link
- resource
- 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
- 238000000034 method Methods 0.000 title claims abstract description 142
- 238000012545 processing Methods 0.000 claims abstract description 443
- 238000012546 transfer Methods 0.000 claims abstract description 255
- 238000010276 construction Methods 0.000 claims abstract description 209
- 238000001514 detection method Methods 0.000 claims abstract description 160
- 238000012795 verification Methods 0.000 claims abstract description 113
- 238000013507 mapping Methods 0.000 claims description 174
- 239000000523 sample Substances 0.000 claims description 57
- 239000012634 fragment Substances 0.000 claims description 46
- 230000003993 interaction Effects 0.000 claims description 39
- 230000001419 dependent effect Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 20
- 238000005266 casting Methods 0.000 claims description 18
- 230000006378 damage Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 36
- 230000009286 beneficial effect Effects 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 311
- 238000010586 diagram Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 8
- 238000013475 authorization Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 238000004080 punching Methods 0.000 description 5
- 238000012797 qualification Methods 0.000 description 5
- 238000011835 investigation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了基于多区块链的数据跨链方法、相关设备、介质及产品,可应用于区块链技术领域。其中方法包括:通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易;基于第一业务处理子链上的第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点。采用本申请有助于实现对通用业务场景下的业务数据进行链外部的数据跨链,且可以在链外部的数据跨链转移过程中确保数据跨链的安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及基于多区块链的数据跨链方法、相关设备、介质及产品。
背景技术
在一些多区块链的应用场景中,如基于三链结构的区块链电子发票系统,可以在这三链之间通过跨链中继进行链内部的定向数据转移。比如,在这三链中的票据链与应用合约链之间进行数据转移时,需要票据链上的共识节点将当前用于跨链转移至目标链的目标数据(例如,发票资产)作为一笔交易发送给跨链中继,以使该跨链中继可以进一步定向将该交易转发至目标链关联的共识节点。
然而,发明人在实践中发现,由于现有的区块链电子发票平台所涉及的票据链仅用于处理票据业务,因此,并不能将应用合约链上的一些通用的业务数据作为目标数据,再通过跨链中继反向转移至该票据链。基于此,发明人认为如何在不影响这三链原本业务处理逻辑的基础上,对一些通用业务场景下的业务数据进行链外部的数据跨链是一个亟待解决的技术问题。
发明内容
本申请实施例提供一种基于多区块链的数据跨链方法、相关设备、介质及产品,通过部署的多区块链来分别进行数据存储,可以降低各区块链上数据存储的混杂度,另外,通过多区块链之间的相互协作,还可以提升各链上所存储数据的安全性。
本申请实施例一方面提供了一种基于多区块链的数据跨链方法,方法跨链服务终端执行,方法包括:
通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易;
通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点,以使第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,目标共识节点包括与第一地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第一地址中存在第一转移交易资源时生成第一跨链交易探测信息中的一个交易探测信息;第一跨链交易探测信息中的一个交易探测信息对应于第一跨链交易事件中的一个交易事件;
基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易,包括:
从接收到的第一跨链交易事件中确定与N个管理组件相关联的交易事件的第一事件数量;第一事件数量是由与N个管理组件相关联的第一跨链交易探测信息中的交易探测信息的信息数量所确定的;第一事件数量小于或者等于N;
当第一事件数量达到N中的事件数量阈值时,获取与第一事件数量相等的信息数量对应的交易探测信息;
将获取到的第一跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第一探测资源,将各个第一探测资源进行交易对比,得到第一交易比对结果;
若第一交易对比结果指示比对成功,则生成用于确定各个第一探测资源均为第一转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易,包括:
从第一链上获取第一转移交易资源对应的依赖数据信息;
对依赖数据信息进行信息验证,且在信息验证成功时,基于依赖数据信息和第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,第一链上部署有用于与第一跨链程序进行数据交互的第一通用资源跨链桥合约;第一通用资源跨链桥合约用于指示第一共识节点在将目标交易资源转入第一地址时,指定第一跨链交易所对应的目标交易资源的资源用途;依赖数据信息包含资源用途;
基于依赖数据信息和第一转移交易资源构建第一跨链交易对应的第一跨链构造交易,包括:
将资源用途和第一转移交易资源作为交易参数,基于交易参数构建得到第一跨链交易对应的第一跨链构造交易。
其中,第二地址中部署有用于调用第一业务处理子链上的资源映射合约的合约名称和合约地址;第二共识节点用于在获取到第一跨链构造交易时,通过第二地址中的合约名称和合约地址调用资源映射合约,在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源。
其中,第二地址是由第一跨链程序中的第二私钥所确定的;第二私钥是由第一跨链程序中的主密钥所生成的;主密钥是由第一跨链程序所处的可信执行环境所确定的;方法还包括:
通过第一跨链程序中的第二私钥对第一跨链构造交易进行交易签名,得到第一跨链构造交易的交易签名信息;
在将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点时,将第一跨链构造交易的交易签名信息同步发送至第二共识节点,以使第二共识节点基于第二私钥对应的第二公钥对交易签名信息进行交易验签,且在交易验签成功时,得到第一跨链构造交易。
其中,方法还包括:
通过第一跨链程序接收目标共识节点基于第二跨链交易探测信息发送的第二跨链交易事件;第二跨链交易探测信息是由目标共识节点在探测到第一业务处理子链上的第二地址中存在与第一业务相关联的第二跨链交易的目标交易映射资源,且目标交易映射资源处于销毁状态时所生成的;第二跨链交易是第二共识节点基于第一业务对象提交的目标交易映射资源所确定的,且第二跨链交易用于指示将目标交易映射资源由第一业务处理子链转回至第一链;
将处于销毁状态的目标交易映射资源作为第二转移交易资源,基于第二跨链交易事件对第二转移交易资源进行验证,且在验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易;
通过第一跨链程序确定第一地址,基于第一地址将第二跨链构造交易发送至第一共识节点,以使第一共识节点通过第一地址在第一链上对第一转移交易资源进行解锁,得到目标交易资源。
其中,目标共识节点包括与第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第二地址中存在第二转移交易资源时生成第二跨链交易探测信息中的一个交易探测信息;第二跨链交易探测信息中的一个交易探测信息对应于第二跨链交易事件中的一个交易事件;
基于第二跨链交易事件对第二转移交易资源进行验证,且在验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易,包括:
从接收到的第二跨链交易事件中确定与N个管理组件相关联的交易事件的第二事件数量;第二事件数量是由与N个管理组件相关联的第二跨链交易探测信息中的交易探测信息的信息数量所确定的;第二事件数量小于或者等于N;
当第二事件数量达到N中的事件数量阈值时,获取与第二事件数量相等的信息数量对应的交易探测信息;
将获取到的第二跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第二探测资源,将各个第二探测资源进行交易对比,得到第二交易比对结果;
若第二交易对比结果指示比对成功,则生成用于确定各个第二探测资源均为第二转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易。
其中,源数据链包含第二链;与第二链进行数据交互的可信跨链程序为第二跨链程序;业务处理子链包含第二业务处理子链,第二业务处理子链是目标共识节点根据与第二业务对象相关联的第二业务创建的;方法还包括:
通过第二跨链程序接收目标共识节点基于第三跨链交易探测信息发送的第三跨链交易事件;第三跨链交易探测信息是由目标共识节点在探测到第二链上的第三地址中存在与第二业务相关联的第三跨链交易的目标票据资源,且目标票据资源处于锁定状态时所生成的;第三跨链交易是与第二链相关联的第三共识节点基于第二业务对象提交的目标票据资源所确定的,且第三跨链交易用于指示将目标票据资源由第二链转移至第二业务处理子链;
将处于锁定状态的目标票据资源作为第一转移票据资源,基于第三跨链交易事件对第一转移票据资源进行验证,且在验证成功时,基于第一转移票据资源构建第三跨链交易对应的第三跨链构造交易;
通过第二跨链程序确定第二业务处理子链上的第四地址,基于第四地址将第三跨链构造交易发送至与第二业务处理子链相关联的第四共识节点,以使第四共识节点通过第四地址在第二业务处理子链上铸造第三跨链构造交易对应的目标票据映射资源;目标票据映射资源与目标票据资源具有相同的资源数据内容。
其中,方法还包括:
通过第二跨链程序接收目标共识节点基于第四跨链交易探测信息发送的第四跨链交易事件;第四跨链交易探测信息是由目标共识节点在探测到第二业务处理子链上的第四地址中存在与第二业务相关联的第四跨链交易的目标票据映射资源,且目标票据映射资源处于销毁状态时所生成的;第四跨链交易是第四共识节点基于第二业务对象提交的目标票据映射资源所确定的,且第四跨链交易用于指示将目标票据映射资源由第二业务处理子链转回至第二链;
将处于销毁状态的目标票据映射资源作为第二转移票据资源,基于第四跨链交易事件对第二转移票据资源进行验证,且在验证成功时,基于第二转移票据资源构建第四跨链交易对应的第四跨链构造交易;
通过第二跨链程序确定第三地址,基于第三地址将第四跨链构造交易发送至第三共识节点,以使第三共识节点通过第三地址在第二链上对第一转移票据资源进行解锁,得到目标票据资源。
其中,第一地址是通过第一跨链程序中的第一私钥所确定的;第二地址是通过第一跨链程序中的第二私钥所确定的;第一私钥和第二私钥均是由第一跨链程序中的主密钥所生成的;第一私钥不同于第二私钥;目标共识节点包含N个管理组件;N为正整数;
方法还包括:
对主密钥进行密钥拆分,得到N个管理组件对应的N个的密钥片段;一个管理组件对应一个密钥片段;
将N个的密钥片段发送至目标共识节点,以使目标共识节点为N个管理组件中的每个管理组件分别配置一个密钥片段;一个管理组件用于对一个密钥片段进行密钥备份。
其中,方法还包括:
当可信跨链程序重启时,接收目标共识节点发送的M个密钥片段;M个密钥片段中的一个密钥片段来自于N个管理组件中的一个管理组件;M为小于或者等于N的正整数;
当M达到N对应的密钥数量阈值时,根据M个密钥片段构建得到主密钥。
本申请实施例一方面提供了一种基于多区块链的数据跨链方法,方法第一业务处理子链关联的第二共识节点执行,方法包括:
获取第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易;第一跨链构造交易是第一跨链程序在基于目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;转移交易资源为处于锁定状态的目标交易资源;第一跨链交易事件为目标共识节点基于第一跨链交易探测信息所发送的;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
通过第二地址确定用于进行资源映射的资源映射合约,调用资源映射合约在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,将目标交易映射资源写入第二地址;目标交易映射资源与目标交易资源具有相同的资源数据内容。
本申请实施例一方面提供了一种基于多区块链的数据跨链方法,方法目标链关联的目标共识节点执行,方法包括:
在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
基于第一跨链交易探测信息确定用于发送给第一跨链程序的第一跨链交易事件,将第一跨链交易事件发送给第一跨链程序,以使第一跨链程序基于第一跨链交易事件对转移交易资源进行验证,且在验证成功时,基于转移交易资源构建用于发送给与第一业务处理子链相关联的第二共识节点的第一跨链交易对应的第一跨链构造交易;转移交易资源为处于锁定状态的目标交易资源;第二共识节点用于在获取到第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
本申请实施例一方面提供了一种基于多区块链的数据跨链装置,装置运行在跨链服务终端上,装置包括:
事件接收模块,用于通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
数据处理模块,用于将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易;
数据发送模块,用于通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点,以使第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,目标共识节点包括与第一地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第一地址中存在第一转移交易资源时生成第一跨链交易探测信息中的一个交易探测信息;第一跨链交易探测信息中的一个交易探测信息对应于第一跨链交易事件中的一个交易事件;
数据处理模块包括:
事件数量确定单元,用于从接收到的第一跨链交易事件中确定与N个管理组件相关联的交易事件的第一事件数量;第一事件数量是由与N个管理组件相关联的第一跨链交易探测信息中的交易探测信息的信息数量所确定的;第一事件数量小于或者等于N;
交易探测信息获取单元,用于当第一事件数量达到N中的事件数量阈值时,获取与第一事件数量相等的信息数量对应的交易探测信息;
交易对比单元,用于将获取到的第一跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第一探测资源,将各个第一探测资源进行交易对比,得到第一交易比对结果;
交易验证单元,用于若第一交易对比结果指示比对成功,则生成用于确定各个第一探测资源均为第一转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,交易验证单元包括:
依赖数据获取单元,用于从第一链上获取第一转移交易资源对应的依赖数据信息;
信息验证单元,用于对依赖数据信息进行信息验证,且在信息验证成功时,基于依赖数据信息和第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,第一链上部署有用于与第一跨链程序进行数据交互的第一通用资源跨链桥合约;第一通用资源跨链桥合约用于指示第一共识节点在将目标交易资源转入第一地址时,指定第一跨链交易所对应的目标交易资源的资源用途;依赖数据信息包含资源用途;
信息验证单元,还用于将资源用途和第一转移交易资源作为交易参数,基于交易参数构建得到第一跨链交易对应的第一跨链构造交易。
其中,第二地址中部署有用于调用第一业务处理子链上的资源映射合约的合约名称和合约地址;第二共识节点用于在获取到第一跨链构造交易时,通过第二地址中的合约名称和合约地址调用资源映射合约,在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源。
其中,第二地址是由第一跨链程序中的第二私钥所确定的;第二私钥是由第一跨链程序中的主密钥所生成的;主密钥是由第一跨链程序所处的可信执行环境所确定的;
其中,数据发送模块包括:
交易签名单元,用于通过第一跨链程序中的第二私钥对第一跨链构造交易进行交易签名,得到第一跨链构造交易的交易签名信息;
签名发送单元,用于在将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点时,将第一跨链构造交易的交易签名信息同步发送至第二共识节点,以使第二共识节点基于第二私钥对应的第二公钥对交易签名信息进行交易验签,且在交易验签成功时,得到第一跨链构造交易。
其中,事件接收模块,还用于通过第一跨链程序接收目标共识节点基于第二跨链交易探测信息发送的第二跨链交易事件;第二跨链交易探测信息是由目标共识节点在探测到第一业务处理子链上的第二地址中存在与第一业务相关联的第二跨链交易的目标交易映射资源,且目标交易映射资源处于销毁状态时所生成的;第二跨链交易是第二共识节点基于第一业务对象提交的目标交易映射资源所确定的,且第二跨链交易用于指示将目标交易映射资源由第一业务处理子链转回至第一链;
数据处理模块,还用于将处于销毁状态的目标交易映射资源作为第二转移交易资源,基于第二跨链交易事件对第二转移交易资源进行验证,且在验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易;
数据发送模块,还用于通过第一跨链程序确定第一地址,基于第一地址将第二跨链构造交易发送至第一共识节点,以使第一共识节点通过第一地址在第一链上对第一转移交易资源进行解锁,得到目标交易资源。
其中,目标共识节点包括与第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第二地址中存在第二转移交易资源时生成第二跨链交易探测信息中的一个交易探测信息;第二跨链交易探测信息中的一个交易探测信息对应于第二跨链交易事件中的一个交易事件;
其中,数据处理模块包括:
事件数量确定单元,还用于从接收到的第二跨链交易事件中确定与N个管理组件相关联的交易事件的第二事件数量;第二事件数量是由与N个管理组件相关联的第二跨链交易探测信息中的交易探测信息的信息数量所确定的;第二事件数量小于或者等于N;
交易探测信息获取单元,还用于当第二事件数量达到N中的事件数量阈值时,获取与第二事件数量相等的信息数量对应的交易探测信息;
交易对比单元,还用于将获取到的第二跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第二探测资源,将各个第二探测资源进行交易对比,得到第二交易比对结果;
交易验证单元,还用于若第二交易对比结果指示比对成功,则生成用于确定各个第二探测资源均为第二转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易。
其中,源数据链包含第二链;与第二链进行数据交互的可信跨链程序为第二跨链程序;业务处理子链包含第二业务处理子链,第二业务处理子链是目标共识节点根据与第二业务对象相关联的第二业务创建的;
事件接收模块,还用于通过第二跨链程序接收目标共识节点基于第三跨链交易探测信息发送的第三跨链交易事件;第三跨链交易探测信息是由目标共识节点在探测到第二链上的第三地址中存在与第二业务相关联的第三跨链交易的目标票据资源,且目标票据资源处于锁定状态时所生成的;第三跨链交易是与第二链相关联的第三共识节点基于第二业务对象提交的目标票据资源所确定的,且第三跨链交易用于指示将目标票据资源由第二链转移至第二业务处理子链;
数据处理模块,还用于将处于锁定状态的目标票据资源作为第一转移票据资源,基于第三跨链交易事件对第一转移票据资源进行验证,且在验证成功时,基于第一转移票据资源构建第三跨链交易对应的第三跨链构造交易;
数据处理模块,还用于通过第二跨链程序确定第二业务处理子链上的第四地址,基于第四地址将第三跨链构造交易发送至与第二业务处理子链相关联的第四共识节点,以使第四共识节点通过第四地址在第二业务处理子链上铸造第三跨链构造交易对应的目标票据映射资源;目标票据映射资源与目标票据资源具有相同的资源数据内容。
其中,事件接收模块,还用于通过第二跨链程序接收目标共识节点基于第四跨链交易探测信息发送的第四跨链交易事件;第四跨链交易探测信息是由目标共识节点在探测到第二业务处理子链上的第四地址中存在与第二业务相关联的第四跨链交易的目标票据映射资源,且目标票据映射资源处于销毁状态时所生成的;第四跨链交易是第四共识节点基于第二业务对象提交的目标票据映射资源所确定的,且第四跨链交易用于指示将目标票据映射资源由第二业务处理子链转回至第二链;
数据处理模块,还用于将处于销毁状态的目标票据映射资源作为第二转移票据资源,基于第四跨链交易事件对第二转移票据资源进行验证,且在验证成功时,基于第二转移票据资源构建第四跨链交易对应的第四跨链构造交易;
数据处理模块,通过第二跨链程序确定第三地址,基于第三地址将第四跨链构造交易发送至第三共识节点,以使第三共识节点通过第三地址在第二链上对第一转移票据资源进行解锁,得到目标票据资源。
其中,第一地址是通过第一跨链程序中的第一私钥所确定的;第二地址是通过第一跨链程序中的第二私钥所确定的;第一私钥和第二私钥均是由第一跨链程序中的主密钥所生成的;第一私钥不同于第二私钥;目标共识节点包含N个管理组件;N为正整数;
其中,数据处理模块包括:
密钥拆分单元,用于对主密钥进行密钥拆分,得到N个管理组件对应的N个的密钥片段;一个管理组件对应一个密钥片段;
密钥发送单元,用于将N个的密钥片段发送至目标共识节点,以使目标共识节点为N个管理组件中的每个管理组件分别配置一个密钥片段;一个管理组件用于对一个密钥片段进行密钥备份。
其中,数据处理模块包括:
密钥接收单元,用于当可信跨链程序重启时,接收目标共识节点发送的M个密钥片段;M个密钥片段中的一个密钥片段来自于N个管理组件中的一个管理组件;M为小于或者等于N的正整数;
密钥接收单元,用于当M达到N对应的密钥数量阈值时,根据M个密钥片段构建得到主密钥。
本申请实施例一方面提供了一种基于多区块链的数据跨链装置,装置运行在第一业务处理子链关联的第二共识节点上,装置包括:
跨链构造交易获取模块,用于获取第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易;第一跨链构造交易是第一跨链程序在基于目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;转移交易资源为处于锁定状态的目标交易资源;第一跨链交易事件为目标共识节点基于第一跨链交易探测信息所发送的;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
资源铸造模块,用于通过第二地址确定用于进行资源映射的资源映射合约,调用资源映射合约在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,将目标交易映射资源写入第二地址;目标交易映射资源与目标交易资源具有相同的资源数据内容。
本申请实施例一方面提供了一种基于多区块链的数据跨链装置,装置运行在目标链关联的目标共识节点上,装置包括:
交易探测模块,用于在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
跨链交易事件发送单元,用于基于第一跨链交易探测信息确定用于发送给第一跨链程序的第一跨链交易事件,将第一跨链交易事件发送给第一跨链程序,以使第一跨链程序基于第一跨链交易事件对转移交易资源进行验证,且在验证成功时,基于转移交易资源构建用于发送给与第一业务处理子链相关联的第二共识节点的第一跨链交易对应的第一跨链构造交易;转移交易资源为处于锁定状态的目标交易资源;第二共识节点用于在获取到第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
本申请实施例一方面提供了一种基于多区块链的数据跨链系统,系统包括:目标链相关联的目标共识节点,跨链服务终端,第一链相关联的第一共识节点,第一业务处理子链相关联的第一共识节点;跨链服务终端用于隔离多区块链中的源数据链和业务处理子链;与第一链进行数据交互的可信跨链程序为第一跨链程序;第一业务处理子链是与多区块链中的目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;
目标共识节点,用于基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;
第一共识节点,用于基于第一业务对象提交的目标交易资源所确定第一跨链交易,第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
跨链服务终端,用于通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;
跨链服务终端,还用于将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易;
跨链服务终端,还用于通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点;
第二共识节点,用于通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
在本申请实施例中,多区块链中可以包括三链体系下的源数据链(即应用合约链和票据链)和管理链,还可以包括基于业务临时生成的用于进行业务处理的业务处理子链,该业务处理子链相对于该三链体系为外部区块链,本方案可以通过部署有可信跨链程序的跨链服务终端来实现源数据链(如应用合约链)与链外部(即业务处理子链)之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,通过部署的多区块链来分别进行数据存储,可以降低各区块链上数据存储的混杂度,另外,通过多区块链之间的相互协作,还可以提升各链上所存储数据的安全性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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统称为核心共识网络,并可以将上述核心共识网络中的各个节点统称为核心节点。
应当理解,本申请实施例所涉及的区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链。
比如,共识网络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)或合约名称来进行区分,而用户客户端发起的交易业务请求中,也可以携带智能合约的合约调用地址或者合约标识号或合约名称,以此指定需要运行的智能合约。
应当理解,在上述区块链电子票据系统中,任意一个共识网络(例如,共识网络100a、共识网络200a或者共识网络300a)中的任意两个区块链节点之间可以形成点对点(P2P,Peer To Peer)网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为区块链节点,其中,每个区块链节点均可以包括硬件层、中间层、操作系统层和应用层。
其中,可以理解的是,本申请实施例可以通过上述管理链网络中的管理共识节点为接入该区块链网络的任意一个角色(例如,任意一个个人用户、任意一个企业、任意一个机构等实体对象)配置一个区块链节点。所以,在如图1所示的业务网络400a中,业务节点110a、业务节点110b、业务节点110c、业务节点110d、…、业务节点110n可以分别与需要接入该区块链网络中的相应角色之间存在一一对应关系。
可以理解的是,在上述共识网络100a被作为上述管理链网络时,位于该管理链网络中的共识节点(例如,上述管理共识节点,该管理共识节点可以为图1所示的共识节点10a)可以为通过管理链网络入口而接入该管理链网络中的相应角色(或者相应对象)提供注册业务和授权业务,进而可以在该管理链网络中对需要接入上述区块链网络(例如,上述管理链网络、票据链网络或者应用合约链网络)中的相应角色(即相应对象)进行身份管理和权限管理。除此之外,位于该管理链网络中的管理共识节点还可以用于对上述区块链电子票据系统中的相关元数据信息进行数据管理,比如,可以管理更新管理链上的合约模板(应当理解,管理链上的合约模板具体可以包含部署在管理链上的智能合约的管理合约模板和部署在应用合约链上的智能合约的应用合约模板),管理更新记录在管理链上的票据模板,管理更新与该票据模板相关联的计税规则等、控制票据链所对应链入口处的访问流量、控制各链上参与共识的共识节点的数量等。
比如,当开发者和税务业务参与方需要在应用合约链上部署某个衍生业务对应的智能合约时,可以在通过应用合约链对应的链入口(即应用合约链入口)接入该应用合约链网络的情况下,从该合约模板读取方法所指示的管理链上读取该衍生业务对应的应用合约模板,以在该应用合约链上基于读取到的应用合约模板部署该衍生业务对应的智能合约。这样,当后续税务业务参与方需要在该应用合约链上执行衍生业务时,则可以利用已经部署好的衍生业务对应的智能合约来执行相应衍生业务。
应当理解,在上述共识网络200a被作为上述票据链网络时,位于票据链网络中的共识节点可以用于提供票据业务,这里的票据业务可以包含但不限于电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务。
此外,还可以理解的是,在上述共识网络300a被作为上述应用合约链网络时,位于应用合约链网络中的共识节点可以用于提供衍生业务(例如,信贷业务、进出亏业务、企业资质业务、社交业务、赊购业务和退税业务、抽奖业务等)。
其中,可以理解的是,由于每个实体对象均可以对应一个区块链节点,所以,本申请实施例可以以实体对象为上述企业用户(即前述企业)为例,此时,与每个企业用户相关联的区块链节点可以为同一区块链节点(例如,上述图1所示的业务节点110c可以与多个企业用户所对应的用户终端进行数据交互)。比如,在上述区块链电子票据系统中,可以将每个企业用户所请求的业务(比如,信贷业务、进出亏业务、企业资质业务、社交业务、赊购业务、退税业务、电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与业务)统称为一笔交易业务。其中,在上述企业用户为请求通过应用合约链网络(例如,上述共识网络300a)进行退税的退税企业A时,可以通过图1所示的业务节点110c与上述共识网络300a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易;同理,退税企业B也可以通过图1所示的业务节点110c与上述共识网络300a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易;以此类推,退税企业C也可以通过图1所示的业务节点110c与上述共识网络300a中的共识节点(例如,共识节点11b)进行数据交互,以请求完成相应的交易。
可以理解的是,当与上述业务对象相关联的业务共识节点接收到与交易业务请求时,可以将该业务对象所发起的交易业务请求转发给应用合约链关联的共识节点,以通过应用合约链关联的共识节点对该业务对象所发起的交易业务请求进行合法性验证。这样,应用合约链关联的共识节点可以在合法性验证通过时,对该交易业务进行处理。
为便于理解,进一步的,请参见图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.1)应当理解,如图2所示的管理链上可支持特定语言智能合约引擎,上述管理共识节点通过该特定语言智能合约引擎可以在管理链上部署特定语言智能合约,比如,可以在管理链上部署上述图2所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约等。应当理解,这些智能合约可以由税务管理部门中的特定税务管理人员开发和管理。
2.2)如图2所示的票据链上内置有特定票据业务逻辑的智能合约,这些智能合约(例如,上述图2所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约)可以随着票据业务的更新而进行升级。比如,本申请实施例可以通过从管理链上所读取到的元数据信息更新电子票据开具合约中的票据业务逻辑,进而可以根据更新后的电子票据开具合约来更新处理上述票据业务。这意味着该票据链不支持独立的智能合约引擎,自然也就不支持在该票据链上部署与票据业务无关的其他合约。这样做的好处是让该票据链仅运行与电子票据相关的业务逻辑,且不受其他智能合约的影响,从而可以使该票据链的运行更加独立稳定,更抗攻击。
2.3)该应用合约链上支持多语言、图灵完备面向开发者的智能合约,比如,如图2所示,开发者在通过应用合约链入口接入该应用合约链时,可以通过虚拟机兼容合约兼容主流的EVM虚拟机,以便于可以在兼容的虚拟机上部署运行各种新的业务合约,比如,可以在应用合约链上部署与衍生业务(例如,上述抽奖业务)相关联的衍生业务合约。又比如,可以在应用合约链上部署与另一衍生业务(例如,上述退税业务)相关联的衍生应用合约。
应当理解,区块链电子票据三链网络中票据链和应用合约链上均具备与管理链进行链内部跨链的跨链能力。应当理解,本申请实施例所涉及的链内部跨链的跨链能力具体是指可以在该区块链电子票据系统所涉及的主链(即票据链、应用合约链和管理链)之间进行数据转移。比如,可以将票据链上的票据资产转移至应用合约链。又比如,管理链上的一些元数据信息可以跨链转移至票据链或者应用合约链。
应当理解,如图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为授权对象。
其中,可以理解的是,图2所示的应用合约链入口具体可以为税务衍生业务入口,通过该税务衍生业务入口可以接收某个业务对象(例如,可以为图2所示的税务业务参与方)所请求参与的与票据业务相关联的衍生业务。应当理解,在图2所示的税务业务参与方和开发者可以在获得税务管理部门发放的授权对象的业务参与许可凭证后,可以通过该应用合约链入口对第二业务对象(例如,税务业务参与方或者开发者)提交的业务参与许可凭证进行验证,进而可以在验证成功时允许该第二业务对象接入该应用合约链,以在该应用合约链上执行与前述票据业务相关联的衍生业务。
其中,如图2所示,参与维护管理链的内部参与方可以为图2所示的税务管理部门,这里的税务管理部门主要用于在管理链上进行内部状态参数的配置与管理,还可以用于对上述元数据信息(例如,税务元数据)进行变更上链(如可以更新电子票据模板,更新计税规则等),以及可以对于该管理链上所维护的各类业务参与方的身份和权限进行管理(如冻结企业开票资质,限制企业开票额度等)。
其中,如图2所示,参与维护票据链的内部参与方可以为图2所示的电子票据数据中心,这里的电子票据数据中心具体可以为电子发票数据中心,该电子票据数据中心(比如,电子发票数据中心)可以用于对票据链上所记录的海量的账本数据(例如,基于上述实时票据业务流所产生的电子票据流等)进行链下备份、统计、数据分析和审查等工作。具体的,通过该电子票据数据中心可以统计分时开票数量,进而可以基于统计到的分时开票数量对风险票据(例如,风险发票)、风险企业进行判定,还可以对相关金融经济数据进行数据分析等。
其中,如图2所示,参与维护应用合约链的内部参与方可以为图2所示的政务协作部门和业务关联部门。应当理解,参与维护应用合约链的内部参与方除了税务管理部门之外,系统联盟链中的其他部门(即前述政务协作部门)和参与方(即前述业务关联部门)均可以在接入该应用合约链的情况下,进一步通过该应用合约链上的衍生业务合约执行相应的衍生业务。应当理解,为避免应用合约链上有限的链上空间的浪费,本申请实施例提出可以基于前述应用合约链上的某些衍生业务在该三链体系的基础上额外部署可随该衍生业务的启动而启动的业务子链,以便于可以将原本在应用合约链上执行的某些衍生业务通过额外部署的业务子链来进一步提升业务执行效率。
其中,可以理解的是,在图2所示的区块链电子票据三链网络中,均可以内置相应的智能合约。
其中,4.1)对于管理链上内置的智能合约而言,如图2所示,内置在管理链上的对象身份管理合约具体可以为用户管理合约,通过该用户管理合约可以管理整个三链体系下的接入者(比如,公开网络参与方)和参与者(比如,内部参与方)的身份。应当理解,这里的接入者和参与者具体可以包含税务管理人员(简称管理员)、政务协作部门、地方税局、开票服务商、报销服务商、税务审查部门等。此外,内置在管理链上的对象权限管理合约具体可以为企业身份管理合约,通过该企业身份管理合约可以对某些企业的业务权限和税务状态等进行管理。同理,内置在管理链上的元数据管理合约具体可以为税务元数据管理合约,通过该税务元数据管理合约可以对税务规则等元数据信息进行管理,如可以集中管理三链体系下的合约模块,计税逻辑,最新政策规则等。以此类推,内置在管理链上的内部管理合约则可以用于对税务管理部门的一些内部状态进行管理,并可以对三链体系下的各链上的一些内部参数进行管理,如,可以通过该内部管理合约对上述票据链入口(比如,电子发票业务入口)处的访问流量参数进行限制,以及对三链体系下的共识节点数量参数进行限制等。
同理,内置在管理链上的子网创建管理合约可以用于基于某个用户所请求的临时业务而临时创建独立于前述三主链的子链。这里的一个子链可以用于处理一个临时业务。
其中,应当理解,本申请实施例可以将该子链所对应的共识网络统称为子链共识网络。这意味着本申请实施例可以基于专用型业务或者特殊业务等临时业务的需要,在前述三链体系的基础上,即时构建出一个独立于前述三主链的子链,并可以在即时构建的子链上执行完前述专用型业务或者特殊业务的情况下,对该子链上的数据进行数据提取和销毁。为便于理解,本申请实施例可以将基于前述临时业务所创建的子链统称为业务处理子链。
其中,4.2)对于票据链上内置的智能合约而言,如图2所示,内置在票据链上的智能合约可以包含票据链通用资源跨链桥合约和与电子票据生命周期相关联的票据业务合约。该票据链通用资源跨链桥合约可以用于基于跨链交易将票据资源转移至票据链上的票据链中转地址,该票据链中转地址可以为能够被管理链的共识节点探测的地址,以便于管理链基于针对该票据中转地址的探测信息生成跨链交易事件,进而实现对票据链上资源的数据跨链。
其中,4.3)对于应用合约链上内置的智能合约而言,如图2所示,内置在票据链上的智能合约可以包含应用合约链通用资源跨链桥合约,还可以包含由税务衍生业务参与方(即衍生业务对象,例如,图2所示的税务业务参与方)参与部署的各类合约(例如,图2所示的虚拟机兼容合约、税务应用合约和衍生业务合约等)。比如,这里的衍生业务合约具体可以为基于电子票据的征信业务合约,通过该征信业务合约可以分析得到某个企业的征信数据。又比如,这里的衍生业务合约具体还可以是为鼓励开票所部署的链上抽奖业务合约和人才激励合约以及退税业务合约等。该应用合约链链用资源跨链桥合约可以用于基于跨链交易将票据资源转移至票据链上的应用合约链中转地址,该应用合约链中转地址可以为能够被管理链的共识节点探测的地址,以便于管理链基于针对该应用合约链中转地址的探测信息生成跨链交易事件,进而实现对应用合约链上的资源的数据跨链。
应当理解,对于上述图2所示的管理链而言,主要用于处理数据量较小、状态较恒定的管理性业务流,整个管理链的开放性相对较低,可以用于对一些税务数据进行内部管理。而对于上述图2所示的票据链而言,可以用于处理一些数据量长期处于高频请求状态的实时票据业务流,该整个票据链的开放性相对较高,可以允许与电子票据本身生命周期中的相关权威机构参与相应的票据业务,比如,可以允许与代理服务商对应的共识节点为当前请求开票的某个用户开具电子票据。此外,对于图2所示的应用合约链而言,数据量的大小可以无需限定、业务变化的频率波动相对较大,主要是可以通过该应用合约链处理各类合作业务、衍生业务、探索性业务等。应当理解,该应用合约链具有最高的开放性,可以运行由管理链授权的参与者在该应用合约链上部署智能合约、运行探索性的衍生业务等。应当理解,在本申请实施例中,考虑到应用合约链具有较高的开放性和业务变更的灵活性,所以,内置在应用合约链上智能合约在执行时可以有更多的合约安全限制。比如,可以对合约执行步数进行限制(例如,对于上述图2所示的衍生业务合约而言,可以限定当前业务对象(即上述第二业务对象)具体能够访问衍生业务合约中哪些合约方法),并可以对访问该衍生业务合约所需要消耗的存储资源数据等进行限制(即应用合约上的智能合约的调用需要消耗一定数量的存储资源数据)。
其中,可以理解的是,本申请实施例所涉及的三链体系下的共识节点可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的共识节点在跨链获取业务对象(例如,上述个人用户或者企业用户)的注册数据信息、业务参与许可凭证、电子票据中的票据信息等数据时,可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示业务对象当前正在搜集注册数据信息、业务参与许可凭证、电子票据中的票据信息等数据,仅仅在获取到业务对象对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等业务对象的业务数据(例如,用户的开票信息、征信信息、退税信息等,企业的进出亏、企业资质等信息),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等业务对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
进一步的,可以理解的是,基于上述多区块链的业务处理架构,本申请实施例,本申请实施例提出一种基于多区块链的数据跨链方案,该多区块链中可以包括源数据链(即应用合约链和票据链,也称第一链和第二链)和管理链(也称目标链),还可以包括用于进行业务处理的业务处理子链。该数据跨链方案可以由部署有可信跨链程序的跨链服务终端执行,用于实现三链体系下的源数据链(如应用合约链、票据链)与链外部即业务处理子链之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,通过部署的多区块链来分别进行数据存储,可以降低各区块链上数据存储的混杂度,另外,通过多区块链之间的相互协作,还可以提升各链上所存储数据的安全性。
在一种可能的实施方式中,本申请实施例还提供一种基于多区块链的数据跨链处理系统。请参见图3,图3是本申请实施例提供的一种基于多区块链的数据跨链处理系统的结构示意图。如图1所示,该基于多区块链的数据跨链处理系统可以包括管理链301关联的共识节点,票据链(也称发票链)302关联的共识节点,应用合约链303关联的共识节点,业务处理子链304关联的共识节点、跨链服务终端305以及用户终端306。
其中,该管理链301(也称目标链)关联的共识节点可以用于维护管理链上的数据。管理链关联的共识节点可以部署有子网创建管理合约,以用于管理业务处理子链的创建,此处不做赘述。管理链的共识节点还可以用于管理跨链服务终端的可信跨链程序的启动,可以理解的是,针对一个业务可以创建一个对应的业务处理子链,并启动一个用于实现源数据链(如智能合约链与票据链)与该业务处理子链进行数据链的可信跨链程序,以此保障三链体系内的区块链与外部区块链(即业务处理子链)之间的数据跨链的安全性。管理链关联的共识节点还可以部署有管理组件管理合约,以用于管理多个管理组件,以便于通过管理组件对源数据链如应用合约链上的应用合约链中转地址进行探测,并在管理组件生成交易探测信息后,管理链关联的共识节点可以向跨链服务终端发送跨链交易事件。
该票据链302(也称第二链)关联的共识节点可以用于维护票据链上的数据,如可以用于维护票据链上的发票数据的全生命周期和各项属性。该票据链上可以部署有票据业务合约,此处不做赘述。该票据链上还可以部署有票据链通用资源跨链桥合约,该票据链通用资源跨链桥合约可以用于指示票据链关联的共识节点与跨链服务终端中的可信跨链程序进行数据交互,完成票据链上数据与业务处理子链之间进行数据跨链。
该应用合约链303(也称第一链)关联的共识节点可以用于维护应用合约链上的数据,如部署业务相关的智能合约。应用合约链上部署的智能合约可以包括衍生业务合约,此处不做赘述。该应用合约链上还可以部署有通用资源跨链桥合约,该通用资源跨链桥合约可以用于指示应用合约链关联的共识节点与跨链服务终端中的可信跨链程序进行数据交互,完成应用合约链上数据与业务处理子链之间进行数据跨链。
该业务处理子链304关联的共识节点可以用于维护业务处理子链上的数据。业务处理子链可以由管理链关联的共识节点进行创建,即业务处理子链的创建需要通过管理链相关联的共识节点进行授权,进而管理关联的共识节点可以基于业务处理子链创建服务创建业务处理子链,所创建的业务处理子链的共识网络中的共识节点可以复用票据链或应用合约链关联的的共识网络中的节点,如图3中304所示的业务处理子链,可以通过确定该多个票据链验证者和应用合约链验证者来构成业务处理子链的共识网络,可以理解的是,在确定业务处理子链的共识网络时,可以根据票据链和应用合约链的共识网络中共识节点的空闲程度来确定业务处理子链关联的共识节点,如可以选择比较空闲的节点来作为业务处理子链的共识节点,从而可以减少较繁忙的节点的数据处理压力,进而有助于提升业务处理的效率。并且该业务处理子链上还可以部署有子链通用跨链桥合约,该子链通用资源跨链桥合约可以用于指示业务处理子链关联的共识节点与跨链服务终端中的可信跨链程序进行数据交互,完成业务处理子链与票据链或应用合约链之间进行数据跨链。该业务处理子链是由于专用型业务或者特殊业务的需要,即时构建出的一个子链,业务执行完成后也可以进行数据提取和销毁,通过构建业务处理子链去进行业务的处理,相较于直接基于源数据链进行业务处理,可以减少业务处理时,对源数据链上的空间的占用。
该跨链服务终端305可以部署有可信跨链程序,该可信跨链程序处于可信执行环境,从而可以保障数据跨链操作的安全性。该跨链服务终端用于隔离多区块链中的源数据链和业务处理子链,可以用于执行上述的基于多区块链的数据跨链方案以实现源数据链和业务处理子链之间的数据跨链。该跨链服务终端可以提供应用合约链跨链服务,以用于实现应用合约链与业务处理子链之间的数据跨链,还可以提供票据链跨链服务,以用于实现票据链与业务处理子链之间的数据跨链。该跨链服务终端提供跨链服务的核心技术为Intel SGX(software guard extensions,一种处理器技术),旨在以硬件安全为强制性保障,不依赖于固件和软件的安全状态,提供用户空间的可信执行环境,通过一组新的指令集扩展与访问控制机制,实现不同程序间的隔离运行,保障用户关键代码和数据的机密性与完整性不受恶意软件的破坏。不同于其他安全技术,SGX的可信计算基(trusted computingbase,简称TCB)仅包括硬件,避免了基于软件的TCB自身存在软件安全漏洞与威胁的缺陷,极大地提升了系统安全保障;此外,SGX可保障运行时的可信执行环境,恶意代码无法访问与篡改其他程序运行时的保护内容,进一步增强了系统的安全性。
该用户终端306可以用于与上述基于多区块链的数据跨链处理系统中的多区块链的共识节点进行交互。例如,用户终端可以向管理链的共识节点请求创建业务处理子链,如步骤S31、S32所示,以便于管理链可以基于子网管理创建合约创建业务处理子链;又如,可以向票据链或应用合约链的共识节点发起数据跨链转移请求,进行相关的业务合约调用,实现跨链转移资源至业务处理子链,如步骤S33、S34所示;又如可以与业务处理子链的共识节点进行业务交互,如步骤S35所示,等等,此处不做限制。
此处结合图示对基于多区块链的数据跨链处理系统中的数据处理过程进行介绍,此处以源数据链为第一链(即上述应用合约链),业务子处理子链为第一业务处理子链为例,对应用合约链与第一业务处理子链之间的数据跨链的过程进行阐述,请参见图4,图4是本申请实施例提供的一种基于多区块链的数据跨链处理过程的示意图。首先,管理链401(也称目标链)的共识节点中的管理组件402可以对应用合约链403和第一业务处理子链404进行探测,具体可探测应用合约链中的第一地址以及第一业务处理子链404的中的第二地址,该第一地址即为前述的一个应用合约链中转地址,该第二地址也相当于第一业务处理子链上用于与应用合约链的共识节点进行资源转移的中转地址。该管理链401的共识节点还可以部署有管理组件管理合约,以用于对管理组件进行管理,如可以用于配置管理组件用于探测的区块链地址;该管理链401的共识节点还可以部署有可信跨链程序管理合约,以用于与跨链服务终端进行数据交互,如可以在接收到第一业务对象请求创建对第一业务处理子链404时,通知跨链服务终端405启动用于实现第一业务处理子链与应用合约链之间的数据的第一跨链程序。当管理组件402探测到应用合约链中的第一地址中存在交易资源,且交易资源处于锁定状态,则管理链401的管理共识节点可以向跨链服务终端405发送跨链交易事件,进而跨链服务终端405可以通过第一跨链程序将第一地址中处于锁定状态的交易资源转移至第一业务处理子链404。当管理组件402中的探测到第一业务处理子链404中的第二地址中存在交易映射资源,且交易资源处于销毁状态,则管理链401的管理共识节点可以向跨链服务终端405发送跨链交易事件,进而跨链服务终端405可以通过第一跨链程序将第二地址中处于销毁状态的交易映射资源转回至应用合约链403。其中,基于跨链服务终端405进行跨链交易的具体过程,可以参见如下图5至图9所对应的实施例。
需要进行说明的是,本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据都是在用户同意并授权的情况下进行采集的,且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请的技术方案可运用在电子设备中,如上述的跨链服务终端。该电子设备可以是终端,也可以是服务器,或者也可以是用于进行数据处理的其他设备,本申请不做限定。可选的。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器、智能音箱、智能家电等。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的描述,本申请实施例提出一种基于多区块链的数据跨链方法。请参见图5,图5是本申请实施例提供的一种基于多区块链的数据跨链方法的流程示意图,该基于多区块链的数据跨链方法可以由跨链服务终端执行,该跨链服务终端部署的可信跨链程序可以为第一跨链程序。此处以源数据链为第一链(也称应用合约链),业务子处理子链为第一业务处理子链为例,对将资源从源数据链转移至业务处理子链的过程进行阐述。该基于多区块链的数据跨链方法可以包括以下步骤。
S501、通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链。
其中,可以理解的是,该第一跨链程序可以为用于实现第一链(也称应用合约链)与第一业务处理子链之间的数据跨链的可信跨链程序,该第一跨链程序处于可信执行环境中。该目标共识节点(也称管理共识节点)可以为上述目标链(即管理链)相关联的共识节点,此处不做赘述。
其中,应当理解,该第一跨链交易事件用于指示管理共识节点基于第一地址探测到将交易资源由应用合约链转移至第一业务处理子链的跨链交易,从而可以在通过第一跨链程序接收到该第一跨链交易事件后,执行该第一跨链交易事件所指示的跨链交易(即第一跨链交易)。该第一地址是通过第一跨链程序中的第一私钥所确定,即第一跨链程序可以通过第一私钥在应用合约链上确定一个对应的第一地址,该第一私钥是在可信执行环境中生成的,通过该第一地址作为跨链交易过程中的一个中转地址,降低了链上资源的跨链的需要满足的条件,使得一些通用的业务数据也能进行跨链转移,并且能够保障资源的跨链转移的安全性。其中,进而管理共识节点可以通过探测第一地址中的交易资源以及交易资源的状态,确定是否需要向第一跨链程序发送跨链交易事件。
其中,可以理解的是,管理共识节点在探测到应用合约链上的第一地址中存在需要进行跨链的交易资源时,生成第一跨链交易探测信息,该需要进行跨链的交易资源即为被转移至第一地址的目标交易资源,并且该目标交易资源处于锁定状态。进一步的,管理共识节点可以基于第一跨链交易探测信息确定用于发送给第一跨链程序的第一跨链交易事件,并将第一跨链交易事件发送给第一跨链程序,以便于跨链服务终端中的第一跨链程序可以基于该第一跨链交易事件的指示对目标交易资源进行数据跨链。
其中,可以理解的是,管理共识节点包括与第一地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第一地址中存在处于锁定状态的目标交易资源时生成第一跨链交易探测信息中的一个交易探测信息;第一跨链交易探测信息中的一个交易探测信息对应于第一跨链交易事件中的一个交易事件。也就是说,管理共识节点通过N个管理组件对第一地址中的交易资源以及交易资源的状态进行探测,管理组件在探测到第一地址中存在处于锁定状态的目标交易资源时生成第一跨链交易探测信息中的一个交易探测信息,以便于管理共识节点基于管理组件探测到的第一跨链交易探测信息向跨链服务终端发送第一跨链交易事件。
其中,应当理解,该第一业务处理子链是与多区块链中的管理链相关联的管理共识节点根据与第一业务对象相关联的第一业务创建的。该第一业务对象可以为请求执行第一业务的对象,该第一业务需要构建第一业务处理子链去进行第一业务的处理,以得到对应的业务处理结果,实现对第一业务的处理。在一个实施例中,管理共识节点接收到第一业务对象的业务子链创建请求,并对第一业务对象的业务权限进行验证,且在验证通过时,管理共识节点可以创建用于处理第一业务的第一业务处理子链。可以理解的是,该第一业务处理子链在要进行第一业务的处理时进行建立,从而将处理第一业务所需的数据从应用合约连上转移至第一业务处理子链,并基于第一业务处理子链进行业务处理,减少业务处理过程对第一业务处理子链上的空间占用,并且可以提升对第一业务的处理效率。
其中,应当理解,该目标交易资源可以为需要转移至第一业务处理子链的资源。该目标交易资源可以为应用合约链上的业务数据。比如,在一些场景中,该第一业务可以用于对该第一业务对象在一定时间内的征信数据进行处理以得到该第一业务对象的信用度,则该目标交易资源可以为第一业务对象在该一定时间内的征信数据。
其中,应当理解,当第一业务对象需要将应用合约链上的目标交易资源转移至第一业务处理子链进行处理时,第一业务对象可以向应用合约链关联的第一共识节点发起第一跨链交易,进而第一共识节点将第一业务对象的目标交易资源从应用合约链上的合约链用户地址转移至第一地址,并将目标交易资源调整为锁定状态。
可选的,可以理解的是,第一共识节点可以通过调用应用合约链上部署的第一通用资源跨链桥合约,将第一业务对象需要转移至第一业务处理子链的目标交易资源从应用合约链上的合约链用户地址转移至第一地址,并将转移至第一地址的目标交易资源确定为锁定状态,以便于后续跨链服务终端中的第一跨链程序可以将目标交易资源从第一地址转移至第一业务处理子链。处于锁定状态的目标交易资源不能用于构建其他交易。可以理解的是,本申请相当于通过第一地址作为资源的中转地址,便于跨链服务终端中的第一跨链程序基于管理共识节点针对该第一地址的交易探测信息快速检测到跨链交易,从而实现将目标交易映射资源从应用合约链跨链转移至第一业务处理子链。
S502、将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,该第一跨链构造交易用于指示将第一转移交易资源从第一链(也称应用合约链)上的第一地址转移至第一业务处理子链。可以理解的是,通过对第一转移交易资源进行验证,且仅在验证成功时才构建跨链构造交易,有助于保障数据跨链过程中交易资源的准确性和安全性。
其中,可以理解的是,基于第一跨链交易事件对第一转移交易资源进行验证,可以包括对第一跨链交易事件中的各个交易事件对应的交易探测信息相关联的交易资源进行对比验证,还可以包括对第一转移交易资源相关联的依赖数据信息进行验证,此处不做限制。
具体的,第一跨链程序可以从接收到的第一跨链交易事件中确定与N个管理组件相关联的交易事件的第一事件数量;第一事件数量是由与N个管理组件相关联的第一跨链交易探测信息中的交易探测信息的信息数量所确定的;第一事件数量小于或者等于N;进一步的,当第一事件数量达到N中的事件数量阈值时,获取与第一事件数量相等的信息数量对应的交易探测信息;进一步的,将获取到的第一跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第一探测资源,将各个第一探测资源进行交易对比,得到第一交易比对结果;进一步的,若第一交易对比结果指示比对成功,则生成用于确定各个第一探测资源均为第一转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,可以理解的是,事件数量阈值可以为预设的一个阈值,通常来说,事件数量阈值可以大于N的一半,从而保障跨链服务终端接收到的第一跨链交易事件中的准确性。比如,若仅有一个管理组件进行探测,若该管理组件对应的交易探测信息被篡改,则跨链服务终端接收到的跨链交易事件就会出现错误,从而导致跨链交易失败或出现错误,然而,通过多个管理组件进行探测并发送对应的交易事件,提升了交易事件被篡改的难度,保障跨链事件的准确性,比如,当确定接收到跨链交易事件中的超过事件数量阈值的交易事件指示对同一交易资源进行转移时,即使可能存在一个管理组件探测到的交易探测信息所对应的交易事件在传输过程中被篡改,仍能通过其余交易事件的指示确定需要对目标交易资源进行数据跨链,并且对每个管理组件探测到的交易探测信息所对应的交易事件在传输过程中均进行篡改的难度较大,由此保障了跨链服务终端能够准确地检测到跨链交易,提升数据跨链的准确定和安全性。
可以理解的是,该第一交易对比结果可以用于指示对比成功或者对比失败。若各个第一探测资源为相同交易资源,则第一交易对比结果指示对比成功,反之,若各个第一探测资源不为相同交易资源,则第一交易对比结果指示对比失败。由此可以通过对各个探测资源进行对比验证,确定所接收到的跨链交易事件中的存在大于或等于事件数量阈值的交易事件对应的交易探测信息关联交易资源均相同,且均为该第一转移交易资源,进而构建第一跨链构造交易,有助于提升第一跨链程序对第一跨链交易的检测的准确性,从而更能保障数据跨链的安全性。
例如,管理共识节点可以包括4个管理组件,事件数量阈值为3,则当检测到第一跨链交易事件中的交易事件的第一事件数量达到3时,可以对该3个交易事件对应的交易探测信息关联的交易资源进行对比验证,当验证到该3个交易事件对应的交易探测信息关联的交易资源相同,该相同的交易资源即为第一转移交易资源,进而可以基于该第一转移交易资源构造第一跨链构造交易。
具体的,跨链服务终端还可以从第一链上获取第一转移交易资源对应的依赖数据信息;进一步的,对依赖数据信息进行信息验证,且在信息验证成功时,基于依赖数据信息和第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,可以理解的是,该依赖数据信息可以包括第一转移交易资源可以包括的第一转移交易资源的资源用途。例如,该第一业务可以用于对该第一业务对象在一定时间内的征信数据进行处理以得到该第一业务对象的信用度,则该第一转移交易资源的资源用途可以为计算信用度,由此可以通过对依赖数据信息的信息验证,如验证第一转移交易资源是否包含了第一转移交易资源的资源用途所需要的数据,以确保第一转移交易资源的完整性。
可选的,可以理解的是,该依赖数据信息还可以包括第一转移交易的关联数据,例如,第一转移交易资源为第一业务对象在一定时间内的征信数据,该征信数据可以包含每笔贷款事务的贷款时间、还款时间等信息,则该征信数据的依赖数据信息可以包含每笔贷款事务的贷款资金用途以及所涉及的交易流水号等等信息,由此可以通过依赖数据信息验证征信数据的有效性和完整性。
其中,可以理解的是,应用合约链上部署有用于与第一跨链程序进行数据交互的第一通用资源跨链桥合约;第一通用资源跨链桥合约用于指示第一共识节点在将目标交易资源转入第一地址时,指定第一跨链交易所对应的目标交易资源的资源用途;依赖数据信息包含资源用途。具体的,跨链服务终端可以将资源用途和第一转移交易资源作为交易参数,基于交易参数构建得到第一跨链交易对应的第一跨链构造交易。由此可以使得第二共识节点在接收到该第一跨链构造交易进行解析后,通过第一跨链构造交易的交易参数确定资源用途,进而第二共识节点可以基于该资源用途确定对第一转移交易资源的业务处理方法。
其中,可以理解的是,第一通用资源跨链桥合约可以在第一业务对象提交第一跨链交易时被第一共识节点所调用,由此可以将需要跨链转移至第一业务处理子链的目标交易资源转移至第一地址,并且可以指定目标交易资源的资源用途。
S503、通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点,以使第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,可以理解的是,第二地址是由第一跨链程序中的第二私钥所确定的;第二私钥是由第一跨链程序中的主密钥所生成的;主密钥是由第一跨链程序所处的可信执行环境所确定的。该主密钥可以为在密钥的层次结构中,处于最高层的密钥,基于该主密钥可以生成第一私钥和第二私钥。并且,由于该主密钥是由第一跨链程序所处的可信执行环境所确定的,由此可以保证主密钥的安全性以及基于主密钥生成的第一私钥和第二私钥的安全性和隐私性,进而在一程度上保障整个数据跨链过程的安全性。
具体的,跨链服务终端可以通过第一跨链程序中的第二私钥对第一跨链构造交易进行交易签名,得到第一跨链构造交易的交易签名信息;进一步的,在将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点时,将第一跨链构造交易的交易签名信息同步发送至第二共识节点,以使第二共识节点基于第二私钥对应的第二公钥对交易签名信息进行交易验签,且在交易验签成功时,得到第一跨链构造交易。
其中,可以理解的是,跨链服务终端向第二共识节点发送第一跨链构造交易时,通过第二私钥进行对交易签名,进而第二共识节点可以对交易签名信息进行交易验证,由此可以验证该跨链构造交易是否为具有授权的跨链服务终端进行发送,并且可以验证到在该第一跨链构造交易的传输过程中是否被篡改。第二共识节点在基于对交易签名验签成功时,则表示该跨链构造交易为具有授权的跨链服务终端进行发送,并且在该第一跨链构造交易的传输过程中没有被篡改,进而才能够得到第一跨链构造交易,以实现对第一转移交易资源进行跨链转移。进一步可以理解的是,若第二共识节点在基于对交易签名验签失败时,则表示该跨链构造交易不为具有授权的跨链服务终端进行发送,或者在该第一跨链构造交易的传输过程中被篡改,进而不能得到第一跨链构造交易,以实现对第一转移交易资源进行跨链转移。可选的,若第二共识节点在基于对交易签名验签失败时,第二共识节点还可以向跨链服务终端返回用于交易验签失败的提示信息,以提示跨链服务终端该第一跨链构造交易验签失败。由此可以通过跨链服务终端的第二私钥进行交易签名,保障对第一跨链构造交易的安全性和合法性。
其中,可以理解的是,第二地址中部署有用于调用第一业务处理子链上的资源映射合约的合约名称和合约地址;第二共识节点用于在获取到第一跨链构造交易时,通过第二地址中的合约名称和合约地址调用资源映射合约,在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源。
其中,可以理解的是,该资源映射合约(具体为其中的资源铸造方法)可以用于铸造基于跨链构造交易所指示的转移交易资源对应的交易映射资源,如可以基于第一跨链构造交易所指示的第一转移交易资源铸造对应的目标交易映射资源。可以理解的是,通过第二地址将第一跨链构造交易发送至与第二共识节点,也就是通过第二地址中部署的资源映射合约的合约名称和合约地址将第一跨链构造交易发送至与第二共识节点。
进一步可以理解的是,第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,可以为在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,并将目标交易映射资源写入第二地址。
可选的,可以理解的是,第一私钥和第二私钥均是由第一跨链程序中的主密钥所生成的;第一私钥不同于第二私钥。具体的,跨链服务终端还可以对主密钥进行密钥拆分,得到N个管理组件对应的N个的密钥片段;一个管理组件对应一个密钥片段;将N个的密钥片段发送至目标共识节点,以使目标共识节点为N个管理组件中的每个管理组件分别配置一个密钥片段;一个管理组件用于对一个密钥片段进行密钥备份。
其中,可以理解的是,通过将主密钥拆分为N个密钥片段,进而通过每个管理组件分别备份一个密钥片段,可以保障第一跨链程序在重启后能够基于管理组件备份的密钥片段恢复主密钥,从而得到第一私钥和第二私钥,避免了第一跨链程序在掉电后密钥的丢失,从而提升跨链服务终端所提供的跨链服务的可靠性。可以理解的是,在基于第一业务启动该第一跨链程序时,该跨链服务终端即可以将主密钥发送至管理共识节点进行备份。比如,管理组件有4个,则可以将主密钥拆分为4个密钥片段:{x1、x2、x3、x4},在将该4个密钥片段发送至管理共识节点后,管理共识节点可以为每个管理组件配置一个密钥片段,如管理组件a被分配到密钥片段x1,如管理组件b被分配到密钥片段x2,如管理组件c被分配到密钥片段x3,如管理组件d被分配到密钥片段x4。
可选的,可以理解的是,当可信跨链程序重启时,接收目标共识节点发送的M个密钥片段;M个密钥片段中的一个密钥片段来自于N个管理组件中的一个管理组件;M为小于或者等于N的正整数;当M达到N对应的密钥数量阈值时,根据M个密钥片段构建得到主密钥。
其中,可以理解的是,该密钥数量阈值可以基于N进行确定。比如,该密钥数量阈值可以为N的目标占比。例如,该密钥数量阈值可以为N的3/4,则当N为4时,密钥数量阈值可以为3,当N为8时,密钥数量阈值可以为6。可以理解的是,该密钥数量阈值可以用于指示能够对主密钥进行恢复所需要的最少的密钥片段,该密钥数量阈值在进行密钥拆分时即可以确定,跨链服务终端在获取到大于或等于该密钥数量阈值的密钥片段时,才能够基于获取到的多个密钥片段恢复主密钥,此种对主密钥进行备份的方法也可以称为Shamir(一种密钥共享方法)方法。
其中,可以理解的是,第二共识节点在第一业务处理子链铸造了目标交易映射资源后,第二共识节点可以基于该目标交易资源进行对应的业务处理。可选的,第二共识节点可以将第二地址中的目标交易映射资源转移至第一业务对象在第一业务处理子链上对应的子链用户地址,进而第二共识节点可以基于第一业务对象的子链用户地址中的目标交易映射资源进行处理,第二共识节点如何对目标交易映射资源进行业务处理可以通过第一跨链构造交易中的资源用途进行指示;第二共识节点也可以不将目标交易映射资源转移至子链用户地址,而是直接基于第二地址中的目标交易映射资源进行处理,此处不做限制。
其中,可以理解的是,如上述,第二共识节点在基于目标交易映射资源进行业务处理后,可以对第一业务处理子链上的资源进行提取和销毁,并将目标交易映射资源返回应用合约链上。可选的,基于第一业务处理子链上的目标交易映射资源进行业务处理,可以得到第一业务对应的业务处理结果,并且可以将该业务处理结果写入第一业务处理子链,进一步的,在将第一业务处理子链上的资源返回至应用合约链时,还可以将得到业务处理结果发送至第一共识节点,以便于第一共识节点可以基于业务处理结果进行相应地响应。例如将业务处理结果发送至第一业务对象的用户终端,以便于第一业务对象明确第一业务的处理结果。又如,第一业务用于指示确定第一业务对象在一定时间内的信用度,则可以根据业务处理结果所指示的信用度对第一业务对象的贷款权限进行调整。
在本申请实施例中,多区块链中可以包括三链体系下的源数据链(即应用合约链和票据链)和管理链,还可以包括基于业务临时生成的用于进行业务处理的业务处理子链,该业务处理子链相对于该三链体系为外部区块链,本方案可以通过部署有可信跨链程序的跨链服务终端来实现源数据链(如应用合约链)与链外部(即业务处理子链)之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,有助于在链外部的数据跨链转移过程中确保数据跨链的安全性。
进一步的,请参见图6,图6是本申请实施例提供的一种多区块链数据处理方法,如图6所示,方法可以由上述跨链服务终端执行。方法具体可以包括以下步骤S601-步骤S606。
S601、通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链。
S602、将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
S603、通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点,以使第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
可以理解的是,步骤S601-步骤S603的具体实现方式,可以参见上述步骤S501-S503,这里将不再继续进行赘述。
S604、通过第一跨链程序接收目标共识节点基于第二跨链交易探测信息发送的第二跨链交易事件;第二跨链交易探测信息是由目标共识节点在探测到第一业务处理子链上的第二地址中存在与第一业务相关联的第二跨链交易的目标交易映射资源,且目标交易映射资源处于销毁状态时所生成的;第二跨链交易是第二共识节点基于第一业务对象提交的目标交易映射资源所确定的,且第二跨链交易用于指示将目标交易映射资源由第一业务处理子链转回至第一链。
其中,可以理解的是,该第二跨链交易事件用于指示管理共识节点基于第二地址探测到将交易资源由第一业务处理子链转移至应用合约链的跨链交易,从而可以在通过第一跨链程序接收到该第二跨链交易事件后,执行该第二跨链交易事件所指示的跨链交易(即第二跨链交易)。该第二地址是通过第一跨链程序中的第二私钥所确定,即第一跨链程序可以通过第二私钥在第一业务处理子链上确定一个对应的第二地址。其中,进而管理共识节点可以通过探测第二地址中的交易映射资源以及交易映射资源的状态,确定是否需要向第一跨链程序发送跨链交易事件。
其中,可以理解的是,管理共识节点在探测到第一业务处理子链上的第二地址中存在需要进行跨链的交易映射资源时,生成第二跨链交易探测信息,该需要进行跨链的交易映射资源即为被转移至第二地址的目标交易映射资源,并且该目标交易映射资源处于销毁状态。进一步的,管理共识节点可以基于第二跨链交易探测信息确定用于发送给第一跨链程序的第二跨链交易事件,并将第二跨链交易事件发送给第一跨链程序,以便于跨链服务终端中的第一跨链程序可以基于该第二跨链交易事件的指示对目标交易映射资源进行数据跨链。
其中,可以理解的是,管理共识节点包括与第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第二地址中存在处于销毁状态的目标交易映射资源时生成第二跨链交易探测信息中的一个交易探测信息;第一跨链交易探测信息中的一个交易探测信息对应于第一跨链交易事件中的一个交易事件。也就是说,管理共识节点通过N个管理组件对第二地址中的交易资源以及交易资源的状态进行探测,管理组件在探测到第二地址中存在处于销毁状态的目标交易映射资源时生成第二跨链交易探测信息中的一个交易探测信息,以便于管理共识节点基于管理组件探测到的第二跨链交易探测信息向跨链服务终端发送第二跨链交易事件。
其中,可以理解的是,该目标交易映射资源可以为第二共识节点基于上述第一跨链交易所关联的目标交易资源铸造得到的交易映射资源。目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,应当理解,当第一业务对象需要将第一业务处理链上的目标交易映射资源返回至应用合约链时,第一业务对象可以向第二共识节点发起第二跨链交易,进而第二共识节点将存在于第二地址中的目标交易映射资源调整为销毁状态。可选的,若目标交易映射资源在进行业务处理时,被转移至第一业务对象在第一业务处理子链上的子链用户地址时,则第一业务对象在向第二共识节点发起第二跨链交易时,第二共识节点可以将子链用户地址中的目标交易映射资源转移至第二地址中,并将目标交易映射资源调整为销毁状态;若目标交易映射资源在进行业务处理时,没有被转移至第一业务对象在第一业务处理子链上的子链用户地址时,则第一业务对象在向第二共识节点发起第二跨链交易时,第二共识节点直接将第二地址中的目标交易映射资源调整为销毁状态。
可选的,可以理解的是,第二共识节点可以通过调用第一业务处理子链上部署的第二通用资源跨链桥合约,将第一业务对象需要返回至应用合约链的目标交易映射资源从第一业务子链上的子链用户地址转移至第二地址,并将转移至第二地址的目标交易映射资源确定为销毁状态,以便于后续跨链服务终端中的第一跨链程序可以将目标交易映射资源从第二地址转移至应用合约链。第二地址中的目标交易映射资源处于销毁状态,但是还没有完成销毁,所以管理共识节点可以探测到该处于销毁状态的目标交易映射资源的资源信息。可选的,第二共识节点可以通过调用第二通用资源跨链间接调用资源映射合约(具体为其中的资源销毁方法)将转移至第二地址的目标交易映射资源进行销毁,以使得第二地址中的目标交易映射资源为销毁状态。可以理解的是,本申请相当于通过第二地址作为映射资源的中转地址,便于跨链服务终端中的第一跨链程序基于管理共识节点针对该第二地址的交易探测信息快速检测到跨链交易,从而实现将目标交易映射资源从第一业务处理子链跨链转移至应用合约链。
其中,可以理解的是,第二共识节点在基于目标交易映射资源进行业务处理后,可以得到第一业务对应的业务处理结果,第二跨链交易还可以指示将业务处理结果由第一业务处理子链转移至应用合约链。进一步的,第一业务对象在向第二共识节点提交第二跨链交易后,第二共识节点还可以将业务处理结果写入第二地址,并将第二地址中的业务处理结果确定为销毁状态,以便于后续跨链服务终端中的第一跨链程序可以将业务处理结果从第二地址转移至应用合约链,以便于后续第一共识节点可以基于该业务处理结果进行相应的响应。
S605、将处于销毁状态的目标交易映射资源作为第二转移交易资源,基于第二跨链交易事件对第二转移交易资源进行验证,且在验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易。
其中,可以理解的是,基于第二跨链交易事件对第二转移交易资源进行验证,可以包括对第二跨链交易事件中的各个交易事件对应的交易探测信息相关联的交易资源进行对比验证。其中,管理共识节点包括与第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第二地址中存在第二转移交易资源时生成第二跨链交易探测信息中的一个交易探测信息;第二跨链交易探测信息中的一个交易探测信息对应于第二跨链交易事件中的一个交易事件。与第二地址相关联的N个管理组件可以与第一地址相关联的N的管理组件相同,也可以不同,此处不做限制。
具体的,跨链服务终端从接收到的第二跨链交易事件中确定与N个管理组件相关联的交易事件的第二事件数量;第二事件数量是由与N个管理组件相关联的第二跨链交易探测信息中的交易探测信息的信息数量所确定的;第二事件数量小于或者等于N;进一步的,当第二事件数量达到N中的事件数量阈值时,获取与第二事件数量相等的信息数量对应的交易探测信息;进一步的,将获取到的第二跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第二探测资源,将各个第二探测资源进行交易对比,得到第二交易比对结果;进一步的,若第二交易对比结果指示比对成功,则生成用于确定各个第二探测资源均为第二转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易。此处可以参考基于第一跨链交易事件对第一转移交易资源进行验证的过程,此处不做赘述。
其中,可以理解的是,跨链服务终端可以将第二转移交易资源作为交易参数,进而基于交易参数构建得到第二跨链交易对应的第二跨链构造交易。可选的,跨链服务终端还可以用于将业务处理结果转移至应用合约链上,也就是说,跨链服务终端可以将第二转移交易资源(即处于销毁状态的目标交易映射资源)以及业务处理结果作为交易参数,进而基于交易参数构建得到第二跨链交易对应的第二跨链构造交易。
其中,可以理解的是,跨链服务终端可以通过第一跨链程序中的第一私钥对第二跨链构造交易进行交易签名,得到第二跨链构造交易的交易签名信息;进一步的,在将第二跨链构造交易发送至与应用合约链相关联的第一共识节点时,将第二跨链构造交易的交易签名信息同步发送至第一共识节点,以使第一共识节点基于第一私钥对应的第一公钥对交易签名信息进行交易验签,且在交易验签成功时,得到第二跨链构造交易。
S606、通过第一跨链程序确定第一地址,基于第一地址将第二跨链构造交易发送至第一共识节点,以使第一共识节点通过第一地址在第一链上对第一转移交易资源进行解锁,得到目标交易资源。
其中,可以理解的是,第一跨链构造交易所指示的将目标交易映射资源转回至第一链(即应用合约链),也就是,第一共识节点在接收到跨链服务终端的第一跨链程序发送的第二跨链构造交易时,对第一地址中处于锁定状态的目标交易资源进行解锁,因此就得到目标交易资源。
其中,可以理解的是,当第一地址中处于锁定状态的目标交易资源解锁后,第一共识节点可以将第一地址中的目标交易资源转回至应用合约链上的合约用户地址。相当于,只是通过将需要进行业务处理的目标交易资源(如业务数据)转移至第一业务处理子链进行数据处理,在业务处理结束后,转职第一业务处理子链的目标交易资源可以转回至原本的合约用户地址,由此可以减少对业务处理过程对应用合约链的链上空间的占用,提升业务处理过程的效率。
其中,可以理解的是,第一共识节点在接收到第二跨链构造交易时,还可以通过第一地址在应用合约链上铸造第二跨链构造交易所指示的业务处理结果,由此可以使得第一共识节点可以得到对第一业务对象关联的第一业务的处理结果,达到业务处理的目的,且通过将业务数据转移至三链体系的基础上额外增加的业务处理子链,能够在一定程度上提升业务处理效率,减少应用合约链上的链上空间。
可选的,可以理解的是,本申请实施例还可以用于实现源数据链所包含的第二链(即票据链)与业务处理子链之间的数据跨链。管理共识节点根据与第二业务对象相关联的第二业务创建的第二业务处理子链,该第二业务处理子链可以用于处理第二业务(如电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务)。通常来说,第二链(即票据链)上可以包括票据数据,如一些电子发票的发票数据,第二业务对象需要对票据数据进行处理时,可以将需要进行处理的票据数据转移至第二业务处理子链上进行处理,以此减少对票据链上的空间的浪费,提升业务处理的效率。
此处结合图示对基于多区块链的数据跨链处理系统中的数据处理过程进行介绍,此处以源数据链为第二链(即票据链),业务子处理子链为第二业务处理子链为例,对票据链与第二业务处理子链之间的数据跨链的过程进行阐述,请参见图7,图7是本申请实施例提供的一种基于多区块链的数据跨链处理过程的示意图。首先,管理链701的共识节点中的管理组件702可以对票据链703和第二业务处理子链704进行探测,具体可探测票据链中的第三地址以及第二业务处理子链704的中的第四地址,该第三地址即为前述的一个票据链中转地址,该第四地址也相当于第二业务处理子链上用于与票据链的共识节点进行资源转移的中转地址。该管理链701的共识节点还可以部署有管理组件管理合约,以用于对管理组件进行管理,如可以用于配置管理组件用于探测的区块链地址;该管理链701的共识节点还可以部署有可信跨链程序管理合约,以用于与跨链服务终端705进行数据交互,如可以在第二业务对象请求创建对第二业务处理子链704时,通知跨链服务终端705启动用于实现第二业务处理子链与票据链之间的数据的第二跨链程序。当管理组件702探测到票据链中的第三地址中存在票据资源,且票据资源处于锁定状态,则管理链701的管理共识节点可以向跨链服务终端705发送跨链交易事件,进而跨链服务终端705可以通过第二跨链程序将第三地址中处于锁定状态的票据资源转移至第二业务处理子链704。当管理组件702探测到第二业务处理子链704中的第四地址中存在票据映射资源,且票据资源处于销毁状态,则管理链701的管理共识节点可以向跨链服务终端705发送跨链交易事件,进而跨链服务终端705可以通过第二跨链程序将第四地址中处于销毁状态的票据映射资源转回至票据链703。
具体的,可以理解的是,跨链服务终端可以通过第二跨链程序接收目标共识节点基于第三跨链交易探测信息发送的第三跨链交易事件;第三跨链交易探测信息是由目标共识节点在探测到第二链上的第三地址中存在与第二业务相关联的第三跨链交易的目标票据资源,且目标票据资源处于锁定状态时所生成的;第三跨链交易是与第二链相关联的第三共识节点基于第二业务对象提交的目标票据资源所确定的,且第三跨链交易用于指示将目标票据资源由第二链转移至第二业务处理子链;将处于锁定状态的目标票据资源作为第一转移票据资源,基于第三跨链交易事件对第一转移票据资源进行验证,且在验证成功时,基于第一转移票据资源构建第三跨链交易对应的第三跨链构造交易;通过第二跨链程序确定第二业务处理子链上的第四地址,基于第四地址将第三跨链构造交易发送至与第二业务处理子链相关联的第四共识节点,以使第四共识节点通过第四地址在第二业务处理子链上铸造第三跨链构造交易对应的目标票据映射资源;目标票据映射资源与目标票据资源具有相同的资源数据内容。
其中,可以理解的是,在第四共识节点基于目标票据映射资源进行相应地业务处理后,可以将目标票据映射资源转回至第二链(即票据链)中。具体的,跨链服务终端可以通过第二跨链程序接收目标共识节点基于第四跨链交易探测信息发送的第四跨链交易事件;第四跨链交易探测信息是由目标共识节点在探测到第二业务处理子链上的第四地址中存在与第二业务相关联的第四跨链交易的目标票据映射资源,且目标票据映射资源处于销毁状态时所生成的;第四跨链交易是第四共识节点基于第二业务对象提交的目标票据映射资源所确定的,且第四跨链交易用于指示将目标票据映射资源由第二业务处理子链转回至第二链;进一步的,将处于销毁状态的目标票据映射资源作为第二转移票据资源,基于第四跨链交易事件对第二转移票据资源进行验证,且在验证成功时,基于第二转移票据资源构建第四跨链交易对应的第四跨链构造交易;进一步的,通过第二跨链程序确定第三地址,基于第三地址将第四跨链构造交易发送至第三共识节点,以使第三共识节点通过第三地址在第二链上对第一转移票据资源进行解锁,得到目标票据资源。
可以理解的是,针对票据链与第二业务处理子链之间的数据跨链过程可以参考上述应用合约链与第一业务处理子链之间的数据跨链过程的相关描述,第二业务处理子链的相关描述可以参考第一业务处理子链,第二业务处理子链上的第四地址的相关描述可以参考对应于第一业务处理子链上的第二地址;票据链对应于应用合约链,票据链上的第三地址的相关描述可以参考应用合约链上的第一地址。区别在于,第一业务与第二业务可以不同,所需转移的资源数据内容也可以不同,应用合约链需要转移的资源为应用合约链上的一些通用资源(如征信数据、税务信息等等),票据链需要转移的资源为票据链上的票据资源(如电子发票的发票编码、开票时间、开票金额等数据)。
在本申请实施例中,多区块链中可以包括三链体系下的源数据链(即应用合约链和票据链)和管理链,还可以包括基于业务临时生成的用于进行业务处理的业务处理子链,该业务处理子链相对于该三链体系为外部区块链,本方案可以通过部署有可信跨链程序的跨链服务终端来实现源数据链(如应用合约链)与链外部(即业务处理子链)之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,有助于在链外部的数据跨链转移过程中确保数据跨链的安全性。
基于上述的描述,本申请实施例提出一种基于多区块链的数据跨链方法。此处以源数据链为第一链(即应用合约链),业务子处理子链为第一业务处理子链为例,对将资源从源数据链转移至业务处理子链的过程进行阐述。请参见图8,图8是本申请实施例提供的一种基于多区块链的数据跨链方法的流程示意图。该多区块链中包括源数据链、业务处理子链和目标链,源数据链和业务处理子链之间通过可信跨链程序进行数据交互;源数据链包含第一链,与第一链进行数据交互的可信跨链程序为第一跨链程序;业务处理子链包含第一业务处理子链,第一业务处理子链是与目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;该基于多区块链的数据跨链方法可以由第一业务处理子链相关联的第二共识节点执行,该基于多区块链的数据跨链方法可以包括以下步骤。
S801、获取第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易;第一跨链构造交易是第一跨链程序在基于目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;转移交易资源为处于锁定状态的目标交易资源;第一跨链交易事件为目标共识节点基于第一跨链交易探测信息所发送的;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链。
S802、通过第二地址确定用于进行资源映射的资源映射合约,调用资源映射合约在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,将目标交易映射资源写入第二地址;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,可以理解的是,步骤S801-步骤S802的具体实现方式,可以参见上述图5所对应实施例中对第二共识节点的描述,即这里将不再继续进行赘述。
在本申请实施例中,多区块链中可以包括三链体系下的源数据链(即应用合约链和票据链)和管理链,还可以包括基于业务临时生成的用于进行业务处理的业务处理子链,该业务处理子链相对于该三链体系为外部区块链,本方案可以通过部署有可信跨链程序的跨链服务终端来实现源数据链(如应用合约链)与链外部(即业务处理子链)之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,有助于在链外部的数据跨链转移过程中确保数据跨链的安全性。
基于上述的描述,本申请实施例提出一种基于多区块链的数据跨链方法。请参见图9,图9是本申请实施例提供的一种基于多区块链的数据跨链方法的流程示意图。该多区块链中包括源数据链、业务处理子链和目标链,源数据链和业务处理子链之间通过可信跨链程序进行数据交互;源数据链包含第一链,与第一链进行数据交互的可信跨链程序为第一跨链程序;业务处理子链包含第一业务处理子链,第一业务处理子链是与目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的,该基于多区块链的数据跨链方法可以由目标链相关联的目标共识节点执行。此处以源数据链为第一链(即应用合约链),业务子处理子链为第一业务处理子链为例,对将资源从源数据链转移至业务处理子链的过程进行阐述。该基于多区块链的数据跨链方法可以包括以下步骤。
S901、在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
S902、基于第一跨链交易探测信息确定用于发送给第一跨链程序的第一跨链交易事件,将第一跨链交易事件发送给第一跨链程序,以使第一跨链程序基于第一跨链交易事件对转移交易资源进行验证,且在验证成功时,基于转移交易资源构建用于发送给与第一业务处理子链相关联的第二共识节点的第一跨链交易对应的第一跨链构造交易;转移交易资源为处于锁定状态的目标交易资源;第二共识节点用于在获取到第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,可以理解的是,步骤901-步骤S902的具体实现方式,可以参见上述图5所对应实施例中对管理共识节点的描述,这里将不再继续进行赘述。
在本申请实施例中,多区块链中可以包括三链体系下的源数据链(即应用合约链和票据链)和管理链,还可以包括基于业务临时生成的用于进行业务处理的业务处理子链,该业务处理子链相对于该三链体系为外部区块链,本方案可以通过部署有可信跨链程序的跨链服务终端来实现源数据链(如应用合约链)与链外部(即业务处理子链)之间的数据跨链。也就是,该跨链服务终端可以通过可信跨链程序接收管理链相关联的管理共识节点发送的第一跨链交易事件,将源数据链如应用合约链上的第一地址中处于锁定状态的目标交易资源作为转移交易资源,从而基于该转移交易资源构建对应的跨链构造交易,然后通过可信跨链程序确定业务处理子链如第一业务处理子链上的第二地址,并基于第二地址将跨链构造交易发送至与业务处理子链相关联的共识节点,以实现对目标交易资源的数据跨链。由此可以通过跨链服务终端中的可信跨链程序实现对通用业务场景下的业务数据进行链外部的数据跨链,并且可信跨链程序处于可信执行环境中,且可以对跨链交易进行验证,由此保障了跨链数据的正确性,有助于在链外部的数据跨链转移过程中确保数据跨链的安全性。
进一步的,请参见图10,图10是本申请提供的一种基于多区块链的数据跨链装置的结构示意图。如图10所示,多区块链数据处理装置1可应用于跨链服务终端中,跨链服务终端用于隔离多区块链中的源数据链和业务处理子链;源数据链包含第一链,与第一链进行数据交互的可信跨链程序为第一跨链程序;业务处理子链包含第一业务处理子链,第一业务处理子链是与多区块链中的目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的。应当理解,该多区块链数据处理装置1可以是运行于跨链服务终端中的一个计算机程序(包括程序代码),例如该多区块链数据处理装置1可以为一个应用软件;可以理解的是,该多区块链数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,多区块链数据处理装置1可以包括:事件接收模块11、数据处理模块12和数据发送模块13;
事件接收模块11,用于通过第一跨链程序接收目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
数据处理模块12,用于将处于锁定状态的目标交易资源作为第一转移交易资源,基于第一跨链交易事件对第一转移交易资源进行验证,且在验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易;
数据发送模块13,用于通过第一跨链程序确定第一业务处理子链上的第二地址,基于第二地址将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点,以使第二共识节点通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
其中,目标共识节点包括与第一地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第一地址中存在第一转移交易资源时生成第一跨链交易探测信息中的一个交易探测信息;第一跨链交易探测信息中的一个交易探测信息对应于第一跨链交易事件中的一个交易事件;
数据处理模块12包括:事件数量确定单元121、交易探测信息获取单元122、交易对比单元123、交易验证单元124;
事件数量确定单元121,用于从接收到的第一跨链交易事件中确定与N个管理组件相关联的交易事件的第一事件数量;第一事件数量是由与N个管理组件相关联的第一跨链交易探测信息中的交易探测信息的信息数量所确定的;第一事件数量小于或者等于N;
交易探测信息获取单元122,用于当第一事件数量达到N中的事件数量阈值时,获取与第一事件数量相等的信息数量对应的交易探测信息;
交易对比单元123,用于将获取到的第一跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第一探测资源,将各个第一探测资源进行交易对比,得到第一交易比对结果;
交易验证单元124,用于若第一交易对比结果指示比对成功,则生成用于确定各个第一探测资源均为第一转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,交易验证单元124包括:依赖数据获取单元1241、信息验证单元1242;
依赖数据获取单元1241,用于从第一链上获取第一转移交易资源对应的依赖数据信息;
信息验证单元1242,用于对依赖数据信息进行信息验证,且在信息验证成功时,基于依赖数据信息和第一转移交易资源构建第一跨链交易对应的第一跨链构造交易。
其中,第一链上部署有用于与第一跨链程序进行数据交互的第一通用资源跨链桥合约;第一通用资源跨链桥合约用于指示第一共识节点在将目标交易资源转入第一地址时,指定第一跨链交易所对应的目标交易资源的资源用途;依赖数据信息包含资源用途;
信息验证单元1242,还用于将资源用途和第一转移交易资源作为交易参数,基于交易参数构建得到第一跨链交易对应的第一跨链构造交易。
其中,第二地址中部署有用于调用第一业务处理子链上的资源映射合约的合约名称和合约地址;第二共识节点用于在获取到第一跨链构造交易时,通过第二地址中的合约名称和合约地址调用资源映射合约,在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源。
其中,第二地址是由第一跨链程序中的第二私钥所确定的;第二私钥是由第一跨链程序中的主密钥所生成的;主密钥是由第一跨链程序所处的可信执行环境所确定的;
其中,数据发送模块13包括:交易签名单元131、签名发送单元132。
交易签名单元131,用于通过第一跨链程序中的第二私钥对第一跨链构造交易进行交易签名,得到第一跨链构造交易的交易签名信息;
签名发送单元132,用于在将第一跨链构造交易发送至与第一业务处理子链相关联的第二共识节点时,将第一跨链构造交易的交易签名信息同步发送至第二共识节点,以使第二共识节点基于第二私钥对应的第二公钥对交易签名信息进行交易验签,且在交易验签成功时,得到第一跨链构造交易。
其中,事件接收模块11,还用于通过第一跨链程序接收目标共识节点基于第二跨链交易探测信息发送的第二跨链交易事件;第二跨链交易探测信息是由目标共识节点在探测到第一业务处理子链上的第二地址中存在与第一业务相关联的第二跨链交易的目标交易映射资源,且目标交易映射资源处于销毁状态时所生成的;第二跨链交易是第二共识节点基于第一业务对象提交的目标交易映射资源所确定的,且第二跨链交易用于指示将目标交易映射资源由第一业务处理子链转回至第一链;
数据处理模块12,还用于将处于销毁状态的目标交易映射资源作为第二转移交易资源,基于第二跨链交易事件对第二转移交易资源进行验证,且在验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易;
数据发送模块13,还用于通过第一跨链程序确定第一地址,基于第一地址将第二跨链构造交易发送至第一共识节点,以使第一共识节点通过第一地址在第一链上对第一转移交易资源进行解锁,得到目标交易资源。
其中,目标共识节点包括与第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到第二地址中存在第二转移交易资源时生成第二跨链交易探测信息中的一个交易探测信息;第二跨链交易探测信息中的一个交易探测信息对应于第二跨链交易事件中的一个交易事件;
其中,数据处理模块12包括:事件数量确定单元121、交易探测信息获取单元122、交易对比单元123、交易验证单元124;
事件数量确定单元121,还用于从接收到的第二跨链交易事件中确定与N个管理组件相关联的交易事件的第二事件数量;第二事件数量是由与N个管理组件相关联的第二跨链交易探测信息中的交易探测信息的信息数量所确定的;第二事件数量小于或者等于N;
交易探测信息获取单元122,还用于当第二事件数量达到N中的事件数量阈值时,获取与第二事件数量相等的信息数量对应的交易探测信息;
交易对比单元123,还用于将获取到的第二跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第二探测资源,将各个第二探测资源进行交易对比,得到第二交易比对结果;
交易验证单元124,还用于若第二交易对比结果指示比对成功,则生成用于确定各个第二探测资源均为第二转移交易资源的验证成功指示信息,在基于验证成功指示信息确定验证成功时,基于第二转移交易资源构建第二跨链交易对应的第二跨链构造交易。
其中,源数据链包含第二链;与第二链进行数据交互的可信跨链程序为第二跨链程序;业务处理子链包含第二业务处理子链,第二业务处理子链是目标共识节点根据与第二业务对象相关联的第二业务创建的;
事件接收模块11,还用于通过第二跨链程序接收目标共识节点基于第三跨链交易探测信息发送的第三跨链交易事件;第三跨链交易探测信息是由目标共识节点在探测到第二链上的第三地址中存在与第二业务相关联的第三跨链交易的目标票据资源,且目标票据资源处于锁定状态时所生成的;第三跨链交易是与第二链相关联的第三共识节点基于第二业务对象提交的目标票据资源所确定的,且第三跨链交易用于指示将目标票据资源由第二链转移至第二业务处理子链;
数据处理模块12,还用于将处于锁定状态的目标票据资源作为第一转移票据资源,基于第三跨链交易事件对第一转移票据资源进行验证,且在验证成功时,基于第一转移票据资源构建第三跨链交易对应的第三跨链构造交易;
数据处理模块13,还用于通过第二跨链程序确定第二业务处理子链上的第四地址,基于第四地址将第三跨链构造交易发送至与第二业务处理子链相关联的第四共识节点,以使第四共识节点通过第四地址在第二业务处理子链上铸造第三跨链构造交易对应的目标票据映射资源;目标票据映射资源与目标票据资源具有相同的资源数据内容。
其中,事件接收模块11,还用于通过第二跨链程序接收目标共识节点基于第四跨链交易探测信息发送的第四跨链交易事件;第四跨链交易探测信息是由目标共识节点在探测到第二业务处理子链上的第四地址中存在与第二业务相关联的第四跨链交易的目标票据映射资源,且目标票据映射资源处于销毁状态时所生成的;第四跨链交易是第四共识节点基于第二业务对象提交的目标票据映射资源所确定的,且第四跨链交易用于指示将目标票据映射资源由第二业务处理子链转回至第二链;
数据处理模块12,还用于将处于销毁状态的目标票据映射资源作为第二转移票据资源,基于第四跨链交易事件对第二转移票据资源进行验证,且在验证成功时,基于第二转移票据资源构建第四跨链交易对应的第四跨链构造交易;
数据处理模块13,通过第二跨链程序确定第三地址,基于第三地址将第四跨链构造交易发送至第三共识节点,以使第三共识节点通过第三地址在第二链上对第一转移票据资源进行解锁,得到目标票据资源。
其中,第一地址是通过第一跨链程序中的第一私钥所确定的;第二地址是通过第一跨链程序中的第二私钥所确定的;第一私钥和第二私钥均是由第一跨链程序中的主密钥所生成的;第一私钥不同于第二私钥;目标共识节点包含N个管理组件;N为正整数;
其中,数据处理模块12包括:密钥拆分单元125、密钥发送单元126;
密钥拆分单元125,用于对主密钥进行密钥拆分,得到N个管理组件对应的N个的密钥片段;一个管理组件对应一个密钥片段;
密钥发送单元126,用于将N个的密钥片段发送至目标共识节点,以使目标共识节点为N个管理组件中的每个管理组件分别配置一个密钥片段;一个管理组件用于对一个密钥片段进行密钥备份。
其中,数据处理模块12包括:密钥接收单元127、密钥构建单元128;
密钥接收单元127,用于当可信跨链程序重启时,接收目标共识节点发送的M个密钥片段;M个密钥片段中的一个密钥片段来自于N个管理组件中的一个管理组件;M为小于或者等于N的正整数;
密钥构建单元128,用于当M达到N对应的密钥数量阈值时,根据M个密钥片段构建得到主密钥。
进一步的,请参见图11,图11是本申请提供的一种基于多区块链的数据跨链装置的结构示意图。如图11所示,多区块链数据处理装置2可应用于与第一业务处理子链相关联的第二共识节点中,多区块链中包括源数据链、业务处理子链和目标链,源数据链和业务处理子链之间通过可信跨链程序进行数据交互;源数据链包含第一链,与第一链进行数据交互的可信跨链程序为第一跨链程序;业务处理子链包含第一业务处理子链,第一业务处理子链是与目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的。应当理解,该多区块链数据处理装置2可以是运行于跨链服务终端中的一个计算机程序(包括程序代码),例如该多区块链数据处理装置2可以为一个应用软件;可以理解的是,该多区块链数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,多区块链数据处理装置2可以包括:跨链构造交易获取模块21、资源铸造模块22;
跨链构造交易获取模块21,用于获取第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易;第一跨链构造交易是第一跨链程序在基于目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;转移交易资源为处于锁定状态的目标交易资源;第一跨链交易事件为目标共识节点基于第一跨链交易探测信息所发送的;第一跨链交易探测信息是由目标共识节点在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成的;第一跨链交易是与第一链相关联的第一共识节点基于第一业务对象提交的目标交易资源所确定的,且第一跨链交易用于指示将目标交易资源由第一链转移至第一业务处理子链;
资源铸造模块22,用于通过第二地址确定用于进行资源映射的资源映射合约,调用资源映射合约在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源,将目标交易映射资源写入第二地址;目标交易映射资源与目标交易资源具有相同的资源数据内容。
进一步的,请参见图12,图12是本申请提供的一种基于多区块链的数据跨链装置的结构示意图。如图12所示,多区块链数据处理装置3可应用于目标共识节点上,多区块链中包括源数据链、业务处理子链和目标链,源数据链和业务处理子链之间通过可信跨链程序进行数据交互;源数据链包含第一链,与第一链进行数据交互的可信跨链程序为第一跨链程序;业务处理子链包含第一业务处理子链,第一业务处理子链是与目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的。应当理解,该多区块链数据处理装置3可以是运行于跨链服务终端中的一个计算机程序(包括程序代码),例如该多区块链数据处理装置3可以为一个应用软件;可以理解的是,该多区块链数据处理装置3可以用于执行本申请实施例提供的方法中的相应步骤。如图12所示,多区块链数据处理装置3可以包括:交易探测模块31、事件发送单元32;
交易探测模块31,用于在探测到第一链上的第一地址中存在与第一业务相关联的第一跨链交易的目标交易资源,且目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
事件发送单元32,用于基于第一跨链交易探测信息确定用于发送给第一跨链程序的第一跨链交易事件,将第一跨链交易事件发送给第一跨链程序,以使第一跨链程序基于第一跨链交易事件对转移交易资源进行验证,且在验证成功时,基于转移交易资源构建用于发送给与第一业务处理子链相关联的第二共识节点的第一跨链交易对应的第一跨链构造交易;转移交易资源为处于锁定状态的目标交易资源;第二共识节点用于在获取到第一跨链程序基于第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过第二地址在第一业务处理子链上铸造第一跨链构造交易对应的目标交易映射资源;目标交易映射资源与目标交易资源具有相同的资源数据内容。
进一步地,请参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,该计算机设备1000可以为用户终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为服务器为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能。在图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以执行上述图5、图6、图8或者图9所对应实施例中对多区块链数据方法的描述,还可以执行前文图5、图6、图8或者图9所对应实施例中对多区块链数据处理装置(即上述多区块链数据处理装置1、多区块链数据处理装置2或者多区块链数据处理装置3)的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的多区块链数据处理装置1、多区块链数据处理装置2或者多区块链数据处理装置3所执行的计算机程序,且计算机程序包括计算机指令,当处理器执行计算机指令时,能够执行前文图5、图6、图8或者图9所对应实施例中对多区块链数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图5、图6、图8或者图9所对应实施例中对多区块链数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图14,图14是本申请实施例提供的一种多区块链数据处理系统的示意图。该多区块链数据处理系统4可以包含共识节点4a、共识节点4b和共识节点4c和跨链服务终端4d;其中,共识节点4a可以为上述图2所对应实施例所描述的处于目标链网络中的目标共识节点,该目标共识节点可以为上述图1所示的共识网络100a中的任意一个区块链节点,这里将不再继续进行赘述。其中,共识节点4b可以为上述图2所对应实施例所描述的处于第一链网络中的第一共识节点,该第一共识节点可以为上述图1所示的共识网络300a中的任意一个区块链节点,这里将不再继续进行赘述。其中,共识节点4c可以为上述图2所对应实施例所描述的处于第一业务处理子链中的第二共识节点,跨链服务终端4d,可以通过可信跨链程序实现数据跨链,此处不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (21)
1.一种基于多区块链的数据跨链方法,其特征在于,所述方法由部署有可信跨链程序的跨链服务终端执行,所述跨链服务终端用于隔离所述多区块链中的源数据链和业务处理子链;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述多区块链中的目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;所述方法包括:
通过所述第一跨链程序接收所述目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;所述第一跨链交易探测信息是由所述目标共识节点在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成的;所述第一跨链交易是与所述第一链相关联的第一共识节点基于所述第一业务对象提交的所述目标交易资源所确定的,且所述第一跨链交易用于指示将所述目标交易资源由所述第一链转移至所述第一业务处理子链;
将处于锁定状态的目标交易资源作为第一转移交易资源,基于所述第一跨链交易事件对所述第一转移交易资源进行验证,且在验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易;
通过所述第一跨链程序确定所述第一业务处理子链上的第二地址,基于所述第二地址将所述第一跨链构造交易发送至与所述第一业务处理子链相关联的第二共识节点,以使所述第二共识节点通过所述第二地址在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
2.根据权利要求1所述方法,其特征在于,所述目标共识节点包括与所述第一地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到所述第一地址中存在所述第一转移交易资源时生成所述第一跨链交易探测信息中的一个交易探测信息;所述第一跨链交易探测信息中的一个交易探测信息对应于所述第一跨链交易事件中的一个交易事件;
所述基于所述第一跨链交易事件对所述第一转移交易资源进行验证,且在验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易,包括:
从接收到的所述第一跨链交易事件中确定与所述N个管理组件相关联的交易事件的第一事件数量;所述第一事件数量是由与N个管理组件相关联的所述第一跨链交易探测信息中的交易探测信息的信息数量所确定的;所述第一事件数量小于或者等于所述N;
当所述第一事件数量达到所述N中的事件数量阈值时,获取与所述第一事件数量相等的信息数量对应的交易探测信息;
将获取到的所述第一跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第一探测资源,将各个第一探测资源进行交易对比,得到第一交易比对结果;
若所述第一交易对比结果指示比对成功,则生成用于确定所述各个第一探测资源均为所述第一转移交易资源的验证成功指示信息,在基于所述验证成功指示信息确定验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易,包括:
从所述第一链上获取所述第一转移交易资源对应的依赖数据信息;
对所述依赖数据信息进行信息验证,且在信息验证成功时,基于所述依赖数据信息和所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易。
4.根据权利要求3所述方法,其特征在于,所述第一链上部署有用于与所述第一跨链程序进行数据交互的第一通用资源跨链桥合约;所述第一通用资源跨链桥合约用于指示所述第一共识节点在将所述目标交易资源转入所述第一地址时,指定所述第一跨链交易所对应的目标交易资源的资源用途;所述依赖数据信息包含所述资源用途;
所述基于所述依赖数据信息和所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易,包括:
将所述资源用途和所述第一转移交易资源作为交易参数,基于所述交易参数构建得到所述第一跨链交易对应的第一跨链构造交易。
5.根据权利要求1所述方法,其特征在于,所述第二地址中部署有用于调用所述第一业务处理子链上的资源映射合约的合约名称和合约地址;所述第二共识节点用于在获取到所述第一跨链构造交易时,通过所述第二地址中的所述合约名称和所述合约地址调用所述资源映射合约,在所述第一业务处理子链上铸造所述第一跨链构造交易对应的所述目标交易映射资源。
6.根据权利要求1所述的方法,其特征在于,所述第二地址是由所述第一跨链程序中的第二私钥所确定的;所述第二私钥是由所述第一跨链程序中的主密钥所生成的;所述主密钥是由所述第一跨链程序所处的可信执行环境所确定的;所述方法还包括:
通过所述第一跨链程序中的所述第二私钥对所述第一跨链构造交易进行交易签名,得到所述第一跨链构造交易的交易签名信息;
在将所述第一跨链构造交易发送至与所述第一业务处理子链相关联的第二共识节点时,将所述第一跨链构造交易的交易签名信息同步发送至所述第二共识节点,以使所述第二共识节点基于所述第二私钥对应的第二公钥对所述交易签名信息进行交易验签,且在交易验签成功时,得到所述第一跨链构造交易。
7.根据权利要求1所述方法,其特征在于,所述方法还包括:
通过所述第一跨链程序接收所述目标共识节点基于第二跨链交易探测信息发送的第二跨链交易事件;所述第二跨链交易探测信息是由所述目标共识节点在探测到所述第一业务处理子链上的第二地址中存在与所述第一业务相关联的第二跨链交易的目标交易映射资源,且所述目标交易映射资源处于销毁状态时所生成的;所述第二跨链交易是所述第二共识节点基于所述第一业务对象提交的所述目标交易映射资源所确定的,且所述第二跨链交易用于指示将所述目标交易映射资源由所述第一业务处理子链转回至所述第一链;
将处于销毁状态的目标交易映射资源作为第二转移交易资源,基于所述第二跨链交易事件对所述第二转移交易资源进行验证,且在验证成功时,基于所述第二转移交易资源构建所述第二跨链交易对应的第二跨链构造交易;
通过所述第一跨链程序确定所述第一地址,基于所述第一地址将所述第二跨链构造交易发送至所述第一共识节点,以使所述第一共识节点通过所述第一地址在所述第一链上对所述第一转移交易资源进行解锁,得到所述目标交易资源。
8.根据权利要求1所述方法,其特征在于,所述目标共识节点包括与所述第二地址相关联的N个管理组件,N为正整数;一个管理组件用于在探测到所述第二地址中存在所述第二转移交易资源时生成所述第二跨链交易探测信息中的一个交易探测信息;所述第二跨链交易探测信息中的一个交易探测信息对应于所述第二跨链交易事件中的一个交易事件;
所述基于所述第一跨链交易事件对所述第一转移交易资源进行验证,且在验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易,包括:
从接收到的所述第二跨链交易事件中确定与所述N个管理组件相关联的交易事件的第二事件数量;所述第二事件数量是由与N个管理组件相关联的所述第二跨链交易探测信息中的交易探测信息的信息数量所确定的;所述第二事件数量小于或者等于所述N;
当所述第二事件数量达到所述N中的所述事件数量阈值时,获取与所述第二事件数量相等的信息数量对应的交易探测信息;
将获取到的所述第二跨链交易探测信息中的每个交易探测信息所关联的交易资源作为第二探测资源,将各个第二探测资源进行交易对比,得到第二交易比对结果;
若所述第二交易对比结果指示比对成功,则生成用于确定所述各个第二探测资源均为所述第二转移交易资源的验证成功指示信息,在基于所述验证成功指示信息确定验证成功时,基于所述第二转移交易资源构建所述第二跨链交易对应的第二跨链构造交易。
9.根据权利要求1所述的方法,其特征在于,所述源数据链包含第二链;与所述第二链进行数据交互的可信跨链程序为第二跨链程序;所述业务处理子链包含第二业务处理子链,所述第二业务处理子链是所述目标共识节点根据与第二业务对象相关联的第二业务创建的;所述方法还包括:
通过所述第二跨链程序接收所述目标共识节点基于第三跨链交易探测信息发送的第三跨链交易事件;所述第三跨链交易探测信息是由所述目标共识节点在探测到所述第二链上的第三地址中存在与所述第二业务相关联的第三跨链交易的目标票据资源,且所述目标票据资源处于锁定状态时所生成的;所述第三跨链交易是与所述第二链相关联的第三共识节点基于所述第二业务对象提交的所述目标票据资源所确定的,且所述第三跨链交易用于指示将所述目标票据资源由所述第二链转移至所述第二业务处理子链;
将处于锁定状态的目标票据资源作为第一转移票据资源,基于所述第三跨链交易事件对所述第一转移票据资源进行验证,且在验证成功时,基于所述第一转移票据资源构建所述第三跨链交易对应的第三跨链构造交易;
通过所述第二跨链程序确定所述第二业务处理子链上的第四地址,基于所述第四地址将所述第三跨链构造交易发送至与所述第二业务处理子链相关联的第四共识节点,以使所述第四共识节点通过所述第四地址在所述第二业务处理子链上铸造所述第三跨链构造交易对应的目标票据映射资源;所述目标票据映射资源与所述目标票据资源具有相同的资源数据内容。
10.根据权利要求9所述方法,其特征在于,所述方法还包括:
通过所述第二跨链程序接收所述目标共识节点基于第四跨链交易探测信息发送的第四跨链交易事件;所述第四跨链交易探测信息是由所述目标共识节点在探测到所述第二业务处理子链上的第四地址中存在与所述第二业务相关联的第四跨链交易的目标票据映射资源,且所述目标票据映射资源处于销毁状态时所生成的;所述第四跨链交易是所述第四共识节点基于所述第二业务对象提交的所述目标票据映射资源所确定的,且所述第四跨链交易用于指示将所述目标票据映射资源由所述第二业务处理子链转回至所述第二链;
将处于销毁状态的目标票据映射资源作为第二转移票据资源,基于所述第四跨链交易事件对所述第二转移票据资源进行验证,且在验证成功时,基于所述第二转移票据资源构建所述第四跨链交易对应的第四跨链构造交易;
通过所述第二跨链程序确定所述第三地址,基于所述第三地址将所述第四跨链构造交易发送至所述第三共识节点,以使所述第三共识节点通过所述第三地址在所述第二链上对所述第一转移票据资源进行解锁,得到所述目标票据资源。
11.根据权利要求1所述方法,其特征在于,所述第一地址是通过所述第一跨链程序中的第一私钥所确定的;所述第二地址是通过所述第一跨链程序中的第二私钥所确定的;所述第一私钥和所述第二私钥均是由所述第一跨链程序中的主密钥所生成的;所述第一私钥不同于第二私钥;所述目标共识节点包含N个管理组件;所述N为正整数;
所述方法还包括:
对所述主密钥进行密钥拆分,得到所述N个管理组件对应的N个的密钥片段;一个管理组件对应一个密钥片段;
将所述N个的密钥片段发送至所述目标共识节点,以使所述目标共识节点为所述N个管理组件中的每个管理组件分别配置一个密钥片段;一个管理组件用于对一个密钥片段进行密钥备份。
12.根据权利要求10所述方法,其特征在于,所述方法还包括:
当所述可信跨链程序重启时,接收所述目标共识节点发送的M个密钥片段;所述M个密钥片段中的一个密钥片段来自于所述N个管理组件中的一个管理组件;所述M为小于或者等于所述N的正整数;
当所述M达到所述N对应的密钥数量阈值时,根据所述M个密钥片段构建得到所述主密钥。
13.一种基于多区块链的数据跨链方法,其特征在于,所述多区块链中包括源数据链、业务处理子链和目标链,所述源数据链和所述业务处理子链之间通过可信跨链程序进行数据交互;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;所述方法由所述第一业务处理子链相关联的第二共识节点执行,所述方法包括:
获取所述第一跨链程序基于所述第一业务处理子链上的第二地址发送的第一跨链构造交易;所述第一跨链构造交易是所述第一跨链程序在基于所述目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;所述转移交易资源为处于锁定状态的目标交易资源;所述第一跨链交易事件为所述目标共识节点基于第一跨链交易探测信息所发送的;所述第一跨链交易探测信息是由所述目标共识节点在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成的;所述第一跨链交易是与所述第一链相关联的第一共识节点基于所述第一业务对象提交的所述目标交易资源所确定的,且所述第一跨链交易用于指示将所述目标交易资源由所述第一链转移至所述第一业务处理子链;
通过所述第二地址确定用于进行资源映射的资源映射合约,调用所述资源映射合约在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源,将所述目标交易映射资源写入所述第二地址;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
14.一种基于多区块链的数据跨链方法,其特征在于,所述多区块链中包括源数据链、业务处理子链和目标链,所述源数据链和所述业务处理子链之间通过可信跨链程序进行数据交互;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的,所述方法由所述目标共识节点执行,所述方法包括:
在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
基于所述第一跨链交易探测信息确定用于发送给所述第一跨链程序的第一跨链交易事件,将所述第一跨链交易事件发送给所述第一跨链程序,以使所述第一跨链程序基于所述第一跨链交易事件对所述转移交易资源进行验证,且在验证成功时,基于所述转移交易资源构建用于发送给与所述第一业务处理子链相关联的第二共识节点的所述第一跨链交易对应的第一跨链构造交易;所述转移交易资源为处于锁定状态的目标交易资源;所述第二共识节点用于在获取到所述第一跨链程序基于所述第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过所述第二地址在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
15.一种基于多区块链的数据跨链装置,其特征在于,所述装置运行在部署有可信跨链程序的跨链服务终端上,所述跨链服务终端用于隔离所述多区块链中的源数据链和业务处理子链;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述多区块链中的目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;所述装置包括:
事件接收模块,用于通过所述第一跨链程序接收所述目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;所述第一跨链交易探测信息是由所述目标共识节点在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成的;所述第一跨链交易是与所述第一链相关联的第一共识节点基于所述第一业务对象提交的所述目标交易资源所确定的,且所述第一跨链交易用于指示将所述目标交易资源由所述第一链转移至所述第一业务处理子链;
数据处理模块,用于将处于锁定状态的目标交易资源作为第一转移交易资源,基于所述第一跨链交易事件对所述第一转移交易资源进行验证,且在验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易;
数据发送模块,用于通过所述第一跨链程序确定所述第一业务处理子链上的第二地址,基于所述第二地址将所述第一跨链构造交易发送至与所述第一业务处理子链相关联的第二共识节点,以使所述第二共识节点通过所述第二地址在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
16.一种基于多区块链的数据跨链装置,其特征在于,所述多区块链中包括源数据链、业务处理子链和目标链,所述源数据链和所述业务处理子链之间通过可信跨链程序进行数据交互;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;所述装置运行在与所述第一业务处理子链相关联的第二共识节点上,所述方法包括:
跨链构造交易获取模块,用于获取所述第一跨链程序基于所述第一业务处理子链上的第二地址发送的第一跨链构造交易;所述第一跨链构造交易是所述第一跨链程序在基于所述目标共识节点所发送的第一跨链交易事件对转移交易资源进行验证,且在验证成功时所构建的;所述转移交易资源为处于锁定状态的目标交易资源;所述第一跨链交易事件为所述目标共识节点基于第一跨链交易探测信息所发送的;所述第一跨链交易探测信息是由所述目标共识节点在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成的;所述第一跨链交易是与所述第一链相关联的第一共识节点基于所述第一业务对象提交的所述目标交易资源所确定的,且所述第一跨链交易用于指示将所述目标交易资源由所述第一链转移至所述第一业务处理子链;
资源铸造模块,用于通过所述第二地址确定用于进行资源映射的资源映射合约,调用所述资源映射合约在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源,将所述目标交易映射资源写入所述第二地址;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
17.一种基于多区块链的数据跨链装置,其特征在于,所述多区块链中包括源数据链、业务处理子链和目标链,所述源数据链和所述业务处理子链之间通过可信跨链程序进行数据交互;所述源数据链包含第一链,与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述业务处理子链包含第一业务处理子链,所述第一业务处理子链是与所述目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的,所述装置运行在所述目标共识节点上,所述方法包括:
交易探测模块,用于在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成第一跨链交易探测信息;
事件发送单元,用于基于所述第一跨链交易探测信息确定用于发送给所述第一跨链程序的第一跨链交易事件,将所述第一跨链交易事件发送给所述第一跨链程序,以使所述第一跨链程序基于所述第一跨链交易事件对所述转移交易资源进行验证,且在验证成功时,基于所述转移交易资源构建用于发送给与所述第一业务处理子链相关联的第二共识节点的所述第一跨链交易对应的第一跨链构造交易;所述转移交易资源为处于锁定状态的目标交易资源;所述第二共识节点用于在获取到所述第一跨链程序基于所述第一业务处理子链上的第二地址发送的第一跨链构造交易时,通过所述第二地址在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
18.一种基于多区块链的数据跨链系统,其特征在于,所述系统包括:目标链相关联的目标共识节点,跨链服务终端,第一链相关联的第一共识节点,第一业务处理子链相关联的第一共识节点;所述跨链服务终端用于隔离所述多区块链中的源数据链和业务处理子链;与所述第一链进行数据交互的可信跨链程序为第一跨链程序;所述第一业务处理子链是与所述多区块链中的目标链相关联的目标共识节点根据与第一业务对象相关联的第一业务创建的;
所述目标共识节点,用于基于第一跨链交易探测信息发送的第一跨链交易事件;所述第一跨链交易探测信息是由所述目标共识节点在探测到所述第一链上的第一地址中存在与所述第一业务相关联的第一跨链交易的目标交易资源,且所述目标交易资源处于锁定状态时所生成的;
所述第一共识节点,用于基于所述第一业务对象提交的所述目标交易资源所确定所述第一跨链交易,所述第一跨链交易用于指示将所述目标交易资源由所述第一链转移至所述第一业务处理子链;
所述跨链服务终端,用于通过所述第一跨链程序接收所述目标共识节点基于第一跨链交易探测信息发送的第一跨链交易事件;
所述跨链服务终端,还用于将处于锁定状态的目标交易资源作为第一转移交易资源,基于所述第一跨链交易事件对所述第一转移交易资源进行验证,且在验证成功时,基于所述第一转移交易资源构建所述第一跨链交易对应的第一跨链构造交易;
所述跨链服务终端,还用于通过所述第一跨链程序确定所述第一业务处理子链上的第二地址,基于所述第二地址将所述第一跨链构造交易发送至与所述第一业务处理子链相关联的第二共识节点;
所述第二共识节点,用于通过所述第二地址在所述第一业务处理子链上铸造所述第一跨链构造交易对应的目标交易映射资源;所述目标交易映射资源与所述目标交易资源具有相同的资源数据内容。
19.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-14任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-14任一项所述的方法。
21.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-14任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211306695.7A CN117992534A (zh) | 2022-10-24 | 2022-10-24 | 基于多区块链的数据跨链方法、相关设备、介质及产品 |
PCT/CN2023/114959 WO2024082818A1 (zh) | 2022-10-20 | 2023-08-25 | 基于多区块链的跨链处理方法、装置、设备、系统及介质 |
US18/388,502 US20240137231A1 (en) | 2022-10-19 | 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 |
---|---|---|---|
CN202211306695.7A CN117992534A (zh) | 2022-10-24 | 2022-10-24 | 基于多区块链的数据跨链方法、相关设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992534A true CN117992534A (zh) | 2024-05-07 |
Family
ID=90887410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211306695.7A Pending CN117992534A (zh) | 2022-10-19 | 2022-10-24 | 基于多区块链的数据跨链方法、相关设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992534A (zh) |
-
2022
- 2022-10-24 CN CN202211306695.7A patent/CN117992534A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693646B2 (en) | Event execution using a blockchain approach | |
CN112073400A (zh) | 一种访问控制方法、系统、装置及计算设备 | |
US11641364B2 (en) | Cross-domain state synchronization | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
AU2021273375B2 (en) | Cross-network identity provisioning | |
CN110266872B (zh) | 通讯录数据的管控方法、装置及云通讯录系统、计算机设备、计算机可读存储介质 | |
CN112241919A (zh) | 具有数据流控制的多域区块链网络 | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN111340628A (zh) | 基于区块链的资产信息管理方法和装置 | |
US11343313B1 (en) | Fault tolerant periodic leader rotation for blockchain | |
US11494677B2 (en) | Recording inference using a blockchain | |
KR20230005353A (ko) | 탈중앙화된 데이터베이스에서 허가된 이벤팅 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
US20220179843A1 (en) | Blockchain endorsement agreement | |
CN117992534A (zh) | 基于多区块链的数据跨链方法、相关设备、介质及产品 | |
US11314729B2 (en) | Multi-candidate data structure for transaction validation | |
CN114202415A (zh) | 基于异构链的数据处理方法及装置 | |
CN116708463B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 | |
CN117931933A (zh) | 多区块链数据处理方法、装置、设备、系统以及介质 | |
CN117917681A (zh) | 基于多区块链的资产转移方法、装置、设备、介质及产品 | |
WO2024093593A1 (zh) | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
EP4375850A1 (en) | Multi-blockchain data processing method and apparatus, and device, system and medium | |
CN117951217A (zh) | 基于多区块链的跨链配置方法、装置、设备、系统及介质 | |
US20240137231A1 (en) | Multi-blockchain-based cross-chain processing method and apparatus, device, system, and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |