CN117917681A - 基于多区块链的资产转移方法、装置、设备、介质及产品 - Google Patents
基于多区块链的资产转移方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN117917681A CN117917681A CN202211291310.4A CN202211291310A CN117917681A CN 117917681 A CN117917681 A CN 117917681A CN 202211291310 A CN202211291310 A CN 202211291310A CN 117917681 A CN117917681 A CN 117917681A
- Authority
- CN
- China
- Prior art keywords
- cross
- link
- asset
- chain
- transaction
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 437
- 238000000034 method Methods 0.000 title claims abstract description 188
- 238000012795 verification Methods 0.000 claims description 219
- 238000013507 mapping Methods 0.000 claims description 89
- 238000013475 authorization Methods 0.000 claims description 26
- 238000005266 casting Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 16
- 230000007704 transition Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 259
- 238000010586 diagram Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 238000004080 punching Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000011835 investigation Methods 0.000 description 6
- 238000012797 qualification Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 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
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/08—Payment architectures
-
- 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
-
- 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
-
- 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/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于多区块链的资产转移方法、装置、设备、介质及产品,该方法包括:获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求,将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约,在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件。采用本申请可以基于多区块链架构确保链上所执行业务的业务稳定性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于多区块链的资产转移方法、装置、设备、介质及产品。
背景技术
目前,区块链电子票据系统通常是基于单链结构构建的,即现有的区块链电子票据系统存在通过同一区块链来执行不同业务的现象,以至于该单链上的这些区块中可能存储不同交易业务所对应的不同资产的现象。比如,该单链上可以存储有与票据业务相关联的票据资产以及与票据业务无关的其他业务的业务资产(例如,与转账业务相关的数字资产等),这样将会使得整个链上所存储的数据混杂严重。
基于此,当用户在该区块链上发起针对前述票据资产的转移业务时,将会在用于执行前述转账业务的同一链上执行该转移业务。那么,当该单链所对应的业务处理队列中存在大量其他用户所请求的其他业务时,则该区块链电子票据系统在执行该业务处理队列中的这笔转移业务之前,需要预先执行大量的其他业务,这势必将会消耗一定的业务等待时长,进而会影响在该区块链上对该票据资产进行转移的转移效率。此外,在该区块链电子票据系统用于处理前述大量的不同业务时,将会消耗该单链上大量的计算资源和存储资源,进而难以确保该单链上所需要执行的业务(例如,上述转移业务)的业务稳定性。
发明内容
本申请实施例提供了一种基于多区块链的资产转移方法、相关设备、介质及产品,可以基于多区块链架构确保链上所执行业务的业务稳定性,此外,通过多链之间的相互协作,可以提升跨链转移链上资产(如第一资产)的转移效率。
本申请实施例一方面提供了一种基于多区块链的资产转移方法,多区块链包含第一链、第二链和目标链;方法由第一链对应的第一链网络中的第一共识节点执行,方法包括:
获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;该第一跨链资产转出请求中携带目标链网络中的目标共识节点为业务对象配置的业务数据信息;该第一跨链资产转出请求用于指示第一共识节点通过跨链中继将属于业务对象的第一资产从第一链转移至与第二共识节点相关联的第二链;该第二共识节点为第二链对应的第二链网络中的共识节点;跨链中继用于隔离第二链网络和第一链网络,且第二链网络独立于目标链网络和第一链网络;
将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约;
在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件;该第一跨链事件用于指示跨链中继在构建得到第一跨链转出交易对应的第一跨链转入交易时,将第一跨链转入交易发送至第二共识节点;该第二共识节点用于在将第一跨链转入交易写入第二链上的第二跨链桥合约时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件,包括:
调用第一跨链桥合约中的跨链权限查询方法,生成转出权限验证请求;转出权限验证请求用于指示目标共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
接收目标共识节点基于转出权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
若信息比对结果指示对比成功,则确定业务对象具备跨链资产转出权限;
调用第一资产合约将第一资产的资产状态由第一状态切换为第二状态,且在第一资产的资产状态为第二状态时生成第一跨链转出交易对应的第一跨链事件。
其中,方法还包括:
接收跨链中继针对第二资产发送的第二跨链转入交易;第二跨链转入交易是由跨链中继从第二共识节点读取到第二跨链转出交易对应的第二跨链事件时所构建的,第二跨链事件由第二共识节点获取到业务对象针对第二资产所提交的第二跨链转出交易生成的;
将第二跨链转入交易写入第一跨链桥合约,基于第一跨链桥合约对第二跨链转入交易进行交易验证,得到第一交易验证结果;
在第一交易验证结果指示交易验证成功时,通过第一跨链桥合约中的资产合约调用方法,调用第一资产合约在第一链上对锁定的第一资产进行解锁。
其中,第二跨链转入交易为跨链中继所发送的第一跨链交易请求中的交易;第一跨链交易请求中携带跨链中继通过私钥信息对第二跨链转入交易进行签名所得到的第一交易签名信息;
将第二跨链转入交易写入第一跨链桥合约,基于第一跨链桥合约对第二跨链转入交易进行交易验证,得到第一交易验证结果,包括:
将从第一跨链交易请求中获取到的第二跨链转入交易作为待处理交易,将待处理交易写入第一跨链桥合约;
调用第一跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第一交易签名信息进行签名验证,且在签名验证成功时,将第一交易签名信息对应的第二跨链转入交易作为待验证交易;
通过第一跨链桥合约中的交易对比方法对待处理交易和待验证交易进行交易比对,得到第一交易对比结果,将第一交易对比结果作为第一交易验证结果。
其中,第一资产的资产属性状态为第一属性状态;在第二资产的映射资产属性状态由第一属性状态变更为第二属性状态时,方法还包括:
在调用第一资产合约在第一链上对锁定的第一资产进行解锁时,将第一资产的资产属性状态由第一属性状态变更为第二属性状态。
其中,方法还包括:
在将第一跨链转出交易写入第一跨链桥合约时,指定第一跨链转出交易所对应的第一资产的资产用途权限。
本申请实施例一方面提供了一种基于多区块链的资产转移方法,多区块链包含第一链、第二链和目标链;方法由第二链对应的第二链网络中的第二共识节点执行,方法包括:
获取跨链中继针对第一资产发送的第一跨链转入交易;该第一跨链转入交易是由跨链中继从第一共识节点读取到第一跨链转出交易对应的第一跨链事件时所构建的;该第一跨链事件是由第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用第一链上的第一资产合约锁定第一资产时所生成的;该业务数据信息为目标链网络中的目标共识节点为业务对象所配置的;该第一共识节点为第一链对应的第一链网络中的共识节点;跨链中继用于隔离第一链网络和第二链网络,且第一链网络独立于目标链网络和第二链网络;
将第一跨链转入交易写入第二链上的第二跨链桥合约;
调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产,包括:
在调用第二跨链桥合约执行第一跨链转入交易时,对第一跨链转入交易进行交易验证,得到第二交易验证结果;
在第二交易验证结果指示交易验证成功时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,第一跨链转入交易为跨链中继所发送的第二跨链交易请求中的交易;第二跨链交易请求中携带跨链中继通过私钥信息对第一跨链转入交易进行签名所得到的第二交易签名信息;
基于第二跨链桥合约对第一跨链转入交易进行交易验证,得到第二交易验证结果,包括:
将从第二跨链交易请求中获取到的第一跨链转入交易作为参考交易;
调用第二跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第二交易签名信息进行签名验证,且在签名验证成功时,将第二交易签名信息对应的第一跨链转入交易作为待匹配交易;
通过第二跨链桥合约中的交易对比方法对参考交易和待匹配交易进行交易比对,得到第二交易对比结果,将第二交易对比结果作为第二交易验证结果。
其中,方法还包括:
在第二链上铸造与第一资产具有相同资产内容的第二资产时,调用第二跨链桥合约中的事件生成方法,从跨链中继基于第一跨链转入交易所发送的第二跨链交易请求中获取第一跨链事件的事件标识,并生成与事件标识关联的跨链交易完成事件;跨链交易完成事件用于表征成功将第一资产由第一链转移至第二链。
其中,方法还包括:
获取业务对象针对第一跨链事件发送的事件查询请求;事件查询请求中携带第一跨链事件的事件标识;
若通过第二跨链桥合约中的事件查询方法,查询到事件标识关联的跨链交易完成事件,则向业务对象返回针对第一跨链事件的事件完成通知消息。
其中,方法还包括:
获取业务对象基于事件完成通知消息发送的衍生业务执行请求;
基于衍生业务执行请求中的衍生业务,调用第二跨链桥合约获取第一跨链转入交易中的交易参数;交易参数是由第一跨链转入交易所对应的第一资产的资产用途权限所确定的;
在基于交易参数确定业务对象具备调用第二链上的衍生业务合约的权限时,允许业务对象调用衍生业务合约执行第二资产对应的衍生业务。
其中,交易参数包含资产转移参数;资产转移参数用于指示将第二资产由业务对象转移至与业务对象相关联的衍生业务对应的衍生业务对象;方法还包括:
在调用衍生业务合约执行第二资产对应的衍生业务时,若基于资产转移参数确定将第二资产由业务对象转移至衍生业务对象,则在第二链上将第二资产的映射资产属性状态由第一属性状态变更为第二属性状态。
其中,方法还包括:
获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求;第二跨链资产转出请求中携带业务数据信息;第二跨链资产转出请求用于指示第二共识节点通过跨链中继将第二资产从第二链转移回第一链;
将第二跨链资产转出请求中携带的第二跨链转出交易写入第二链上的第二跨链桥合约;
在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件;第二跨链事件用于指示跨链中继在构建得到第二跨链转出交易对应的第二跨链转入交易时,将第二跨链转入交易发送至第一共识节点;第一共识节点用于在将第二跨链转入交易写入第一链上的第一跨链桥合约时,调用第一跨链桥合约所指示的第一资产合约,在第一链上对锁定的第一资产进行解锁。
其中,在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件,包括:
调用第二跨链桥合约中的跨链权限查询方法,生成转回权限验证请求;转回权限验证请求用于指示目标共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
接收目标共识节点基于转回权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
若信息比对结果指示对比成功,则确定业务对象具备跨链资产转回权限;
调用第二资产合约将第二资产的资产状态由第一状态切换为第二状态,且在第二资产的资产状态为第二状态时生成第二跨链转出交易对应的第二跨链事件。
本申请实施例一方面提供了一种基于多区块链的资产转移装置,多区块链包含第一链、第二链和目标链;装置运行在第一链对应的第一链网络中的第一共识节点上;装置包括:
获取模块,用于获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;该第一跨链资产转出请求中携带目标链网络中的目标共识节点为业务对象配置的业务数据信息;该第一跨链资产转出请求用于指示第一共识节点通过跨链中继将属于业务对象的第一资产从第一链转移至与第二共识节点相关联的第二链;该第二共识节点为第二链对应的第二链网络中的共识节点;跨链中继用于隔离第二链网络和第一链网络,且第二链网络独立于目标链网络和第一链网络;
写入模块,用于将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约;
调用模块,用于在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件;第一跨链事件用于指示跨链中继在构建得到第一跨链转出交易对应的第一跨链转入交易时,将第一跨链转入交易发送至第二共识节点;该第二共识节点用于在将第一跨链转入交易写入第二链上的第二跨链桥合约时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,调用模块包括:
转出权限验证单元,用于调用第一跨链桥合约中的跨链权限查询方法,生成转出权限验证请求;转出权限验证请求用于指示目标共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
接收单元,用于接收目标共识节点基于转出权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
信息比对单元,用于若信息比对结果指示对比成功,则确定业务对象具备跨链资产转出权限;
跨链事件生成单元,用于调用第一资产合约将第一资产的资产状态由第一状态切换为第二状态,且在第一资产的资产状态为第二状态时生成第一跨链转出交易对应的第一跨链事件。
其中,获取模块包括:
接收单元,用于接收跨链中继针对第二资产发送的第二跨链转入交易;第二跨链转入交易是由跨链中继从第二共识节点读取到第二跨链转出交易对应的第二跨链事件时所构建的,第二跨链事件由第二共识节点获取到业务对象针对第二资产所提交的第二跨链转出交易生成的;
写入模块,还具体用于将第二跨链转入交易写入第一跨链桥合约,基于第一跨链桥合约对第二跨链转入交易进行交易验证,得到第一交易验证结果;
调用模块,还具体用于在第一交易验证结果指示交易验证成功时,通过第一跨链桥合约中的资产合约调用方法,调用第一资产合约在第一链上对锁定的第一资产进行解锁。
其中,第二跨链转入交易为跨链中继所发送的第一跨链交易请求中的交易;第一跨链交易请求中携带跨链中继通过私钥信息对第二跨链转入交易进行签名所得到的第一交易签名信息;
写入模块包括:
交易写入单元,用于将从第一跨链交易请求中获取到的第二跨链转入交易作为待处理交易,将待处理交易写入第一跨链桥合约;
签名验证单元,用于调用第一跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第一交易签名信息进行签名验证,且在签名验证成功时,将第一交易签名信息对应的第二跨链转入交易作为待验证交易;
交易比对单元,用于通过第一跨链桥合约中的交易对比方法对待处理交易和待验证交易进行交易比对,得到第一交易对比结果,将第一交易对比结果作为第一交易验证结果。
其中,第一资产的资产属性状态为第一属性状态;在第二资产的映射资产属性状态由第一属性状态变更为第二属性状态时,调用模块包括:
属性状态变更单元,用于在调用第一资产合约在第一链上对锁定的第一资产进行解锁时,将第一资产的资产属性状态由第一属性状态变更为第二属性状态。
其中,写入模块,还具体用于在将第一跨链转出交易写入第一跨链桥合约时,指定第一跨链转出交易所对应的第一资产的资产用途权限。
本申请实施例提供了一种基于多区块链的资产转移装置,多区块链包含第一链、第二链和目标链;装置运行在第二链对应的第二链网络中的第二共识节点上;装置包括:
处理模块,用于获取跨链中继针对第一资产发送的第一跨链转入交易;该第一跨链转入交易是由跨链中继从第一共识节点读取到第一跨链转出交易对应的第一跨链事件时所构建的;该第一跨链事件是由第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用第一链上的第一资产合约锁定第一资产时所生成的;该业务数据信息为目标链网络中的目标共识节点为业务对象所配置的;该第一共识节点为第一链对应的第一链网络中的共识节点;跨链中继用于隔离第一链网络和第二链网络,且第一链网络独立于目标链网络和第二链网络;
处理模块,还用于将第一跨链转入交易写入第二链上的第二跨链桥合约;
资产铸造模块,用于调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,资产铸造模块包括:
交易验证单元,用于在调用第二跨链桥合约执行第一跨链转入交易时,对第一跨链转入交易进行交易验证,得到第二交易验证结果;
资产铸造单元,用于在第二交易验证结果指示交易验证成功时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,第一跨链转入交易为跨链中继所发送的第二跨链交易请求中的交易;第二跨链交易请求中携带跨链中继通过私钥信息对第一跨链转入交易进行签名所得到的第二交易签名信息;
交易验证单元包括:
交易获取子单元,用于将从第二跨链交易请求中获取到的第一跨链转入交易作为参考交易;
签名验证子单元,用于调用第二跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第二交易签名信息进行签名验证,且在签名验证成功时,将第二交易签名信息对应的第一跨链转入交易作为待匹配交易;
交易比对子单元,用于通过第二跨链桥合约中的交易对比方法对参考交易和待匹配交易进行交易比对,得到第二交易对比结果,将第二交易对比结果作为第二交易验证结果。
其中,资产铸造模块,还具体用于在第二链上铸造与第一资产具有相同资产内容的第二资产时,调用第二跨链桥合约中的事件生成方法,从跨链中继基于第一跨链转入交易所发送的第二跨链交易请求中获取第一跨链事件的事件标识,并生成与事件标识关联的跨链交易完成事件;跨链交易完成事件用于表征成功将第一资产由第一链转移至第二链。
其中,资产铸造模块包括:
查询请求获取单元,用于获取业务对象针对第一跨链事件发送的事件查询请求;事件查询请求中携带第一跨链事件的事件标识;
完成事件查询单元,用于若通过第二跨链桥合约中的事件查询方法,查询到事件标识关联的跨链交易完成事件,则向业务对象返回针对第一跨链事件的事件完成通知消息。
其中,资产铸造模块包括:
执行请求获取单元,用于获取业务对象基于事件完成通知消息发送的衍生业务执行请求;
交易参数获取单元,用于基于衍生业务执行请求中的衍生业务,调用第二跨链桥合约获取第一跨链转入交易中的交易参数;交易参数是由第一跨链转入交易所对应的第一资产的资产用途权限所确定的;
合约调用单元,用于在基于交易参数确定业务对象具备调用第二链上的衍生业务合约的权限时,允许业务对象调用衍生业务合约执行第二资产对应的衍生业务。
其中,交易参数包含资产转移参数;资产转移参数用于指示将第二资产由业务对象转移至与业务对象相关联的衍生业务对应的衍生业务对象;合约调用单元,还具体用于在调用衍生业务合约执行第二资产对应的衍生业务时,若基于资产转移参数确定将第二资产由业务对象转移至衍生业务对象,则在第二链上将第二资产的映射资产属性状态由第一属性状态变更为第二属性状态。
其中,处理模块包括:
转出请求获取单元,用于获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求;第二跨链资产转出请求中携带业务数据信息;第二跨链资产转出请求用于指示第二共识节点通过跨链中继将第二资产从第二链转移回第一链;
交易写入单元,用于将第二跨链资产转出请求中携带的第二跨链转出交易写入第二链上的第二跨链桥合约;
跨链事件生成单元,用于在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件;第二跨链事件用于指示跨链中继在构建得到第二跨链转出交易对应的第二跨链转入交易时,将第二跨链转入交易发送至第一共识节点;第一共识节点用于在将第二跨链转入交易写入第一链上的第一跨链桥合约时,调用第一跨链桥合约所指示的第一资产合约,在第一链上对锁定的第一资产进行解锁。
其中,跨链事件生成单元包括:
验证请求生成子单元,用于调用第二跨链桥合约中的跨链权限查询方法,生成转回权限验证请求;转回权限验证请求用于指示目标共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
接收子单元,用于接收目标共识节点基于转回权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
权限确定子单元,用于若信息比对结果指示对比成功,则确定业务对象具备跨链资产转回权限;
事件生成子单元,用于调用第二资产合约将第二资产的资产状态由第一状态切换为第二状态,且在第二资产的资产状态为第二状态时生成第二跨链转出交易对应的第二跨链事件。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例中,可以获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;其中,该第一跨链资产转出请求携带有目标链所关联的目标共识节点所配置的业务数据信息,在本申请实施例中,该业务数据信息可以用于对该发起第一跨链资产转出请求的业务对象进行权限验证,以确保跨链转移资产的安全性(即可以在跨链进行资产转移时,确保跨链转移的合法性)。其中,本申请实施例所涉及的第一跨链资产转出请求可以用于将第一资产从第一共识节点相关联的第一链转移至第二共识节点相关联的第二链,前述提及的第一链、第二链和目标链为基于多链架构所构建的用于跨链转移资产的多区块链,且三条链分别处于相互独立的共识网络中;将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约,在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件;该第一跨链事件可以用于指示跨链中继构建第一跨链转入交易,以使第二共识节点铸造与第一资产具有相同资产内容的第二资产,从而实现第一资产的资产转移。由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现第一资产的跨链转移,比如,可以在目标链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将第一资产从第一链转移至第二链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的第一链、第二链和目标链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在第一链上执行与第一资产本身相关的业务(比如与票据资产相关的票据业务),而在第二链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对第一资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如第一链上的第一跨链桥合约、第一资产合约等)来协作执行针对该第一资产的转移业务,可以确保链上所执行业务(即跨链转移第一资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络的分层结构示意图;
图2a是本申请实施例提供的一种应用架构示意图;
图2b是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图;
图3是本申请实施例提供的一种基于多区块链的资产转移方法;
图4是本申请实施例提供的一种跨链资产转出的场景示意图;
图5是本申请实施例提供的一种基于多区块链的资产转移方法;
图6是本申请实施例提供的一种跨链资产转入的场景示意图;
图7是本申请实施例提供的一种基于多区块链的资产转移方法;
图8是本申请实施例提供的一种跨链资产转入的场景示意图;
图9是本申请实施例提供的一种基于多区块链的资产转移方法;
图10是本申请实施例提供的一种跨链资产转出的场景示意图;
图11是本申请实施例提供的一种基于多区块链的资产转移方法;
图12是本申请实施例提供的一种基于多区块链的资产转移方法;
图13是本申请实施例提供的一种基于多区块链的资产转移装置的结构示意图;
图14是本申请实施例提供的一种基于多区块链的资产转移装置的结构示意图;
图15是本申请实施例提供的一种计算机设备的结构示意图;
图16是本申请实施例提供的一种基于多区块链的资产转移系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种区块链网络的分层结构示意图。如图1所示的分层结构应用于区块链数据系统,比如可以为区块链电子票据系统,且在该区块链电子票据系统所对应的区块链网络中,包括业务网络和多个共识网络,该业务网络处于公网中,共识网络处于私网中(比如部署在私有云中)。如图1所示,业务网络可以表示为图1所示的业务网络100a,且多个共识网络具体可以表示为图1所示的共识网络100a、共识网络200a和共识网络300a。
在如图1所示的业务网络400a中,部署有多个业务节点,多个业务节点具体可以包含图1所示的业务节点110a、业务节点110b、…、业务节点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、共识节点12c和共识节点12d等核心节点)上所存储的区块链均为区块链12e,这里的区块链12e可以为上述区块链电子票据系统中的第二链(比如可以称为应用合约链),且该应用合约链所对应的核心共识网络(即共识网络300a)可以为第二链网络(比如可以称为应用合约链网络),该应用合约链网络中的共识节点(或者核心节点)可以统称为应用共识节点,并可以利用该应用合约链网络中的共识机制将在这些应用共识节点中所选取的某个应用共识节点作为第二共识节点。
在上述区块链电子票据系统中,核心节点可以负责对应区块链所在的核心共识网络中的共识,也就是说核心节点可以为对应区块链所在核心共识网络中的共识节点。对于上述三个核心共识网络中的任意一个核心共识网络而言,将核心共识网络中的交易数据写入对应区块链账本(例如,分布式数据库)的具体过程可以为,用户客户端发送交易数据至某个业务节点,随后该交易数据以接力棒的方式在上述区块链网络内的业务网络中的业务节点之间传递,直到上述区块链网络内的相应核心共识网络中的共识节点(例如,共识网络200a中的共识节点11b)收到该交易数据,此时,共识节点(例如,共识网络200a中的共识节点11b)再将该交易数据打包进区块,以便于后续可以与其他共识节点之间进行共识,从而可以在共识通过后,将共识通过的区块写入自己所在核心共识网络(例如,共识网络200a)的分布式数据库。
可选的,可以理解的是,本申请实施例还可以在共识通过后,通过所在核心共识网络(例如,共识网络200a)的存储层将携带该交易数据的区块和与该区块关联的其他多个区块并行写入分布式数据库,这样可以从根源上突破区块链的区块链结构的限制,进而可以有效地提升数据存储的存储效率。
其中,可以理解的是,在上述区块链电子票据系统中,可以在相应核心共识网络的区块链上部署智能合约,该智能合约在区块链电子票据系统中可以理解为是一种由各区块链节点(即各共识节点)执行的代码,通过该智能合约可以执行任意逻辑并得到结果。比如,用户可以通过用户客户端发起一个业务请求(比如第一跨链资产转出请求)的方式,调用相应核心共识网络(例如,上述共识网络200a)的区块链(例如,上述区块链11e)上已经部署的智能合约(比如第一跨链桥合约),以实现票据资产的跨链转移。
具体的,业务网络中的业务节点可以将该第一跨链资产转出请求发送至相应核心共识网络中的共识节点(例如,图1所示的共识节点11a),以通过相应核心共识网络的链入口对该第一跨链资产转出请求的用户进行身份鉴权,且在身份鉴权成功时允许将该用户所发送的第一跨链资产转出请求发送至相应核心共识网络中的其他共识节点(例如,图1所示的共识节点11b),以调用这些共识节点(例如,图1所示的共识节点11a和共识节点11b)中运行的智能合约执行该用户所请求的交易业务(比如第一跨链资产转出请求所指示的资产转移业务)。
应当理解,在上述核心共识网络(例如,上述共识网络200a)的区块链(例如,上述区块链11e)上可以部署一个或多个智能合约,这些智能合约可以通过合约调用地址、合约标识号(Identity document,ID)或合约名称来进行区分,而用户客户端发起的第一跨链资产转出请求中,也可以携带智能合约的合约调用地址或者合约标识号或合约名称,以此指定需要运行的智能合约。而在上述区块链电子票据系统中,若用户客户端所指定的智能合约为需要跨链读取相关数据的智能合约(比如为第一跨链桥合约),则各个共识节点会通过该第一跨链桥合约所指定的链标识,请求从对应区块链(比如管理链)上进行相关数据(比如源配置数据信息)的读取,最后各个共识节点会互相验证基于跨链读取到的数据执行交易业务后所得到的各业务执行结果是否一致(也就是进行共识),若一致则可以将业务执行结果存入各自的本地缓存和本地存储中。注意,这里的本地缓存为在存储层中创建的系统内存,这里的本地存储为在存储层中所创建的用于进行数据存储的硬盘空间。这样,当核心共识网络中的某个共识节点出现宕机(即down机)或者系统故障时,并不会因为系统内存中的数据消失而造成无法进行数据读取的现象,即该共识节点还可以通过在该存储层中创建的本地存储来进行数据的读取。
应当理解,在上述区块链电子票据系统中,任意一个共识网络(例如,共识网络100a、共识网络200a或者共识网络300a)中的任意两个区块链节点之间可以形成点对点(P2P,Peer To Peer)网络,该点对点网络可以采用P2P协议,其中,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何设备如服务器、终端等都可以加入而成为区块链节点,其中,每个区块链节点均可以包括硬件层、中间层、操作系统层和应用层。
可以理解的是,在上述共识网络100a被作为上述管理链网络时,位于该管理链网络中的共识节点(例如,上述管理共识节点,该管理共识节点可以为图1所示的共识节点10a)可以为通过管理链网络入口而接入该管理链网络中的相应业务对象提供注册业务和授权业务,进而可以在该管理链网络中对需要接入上述区块链网络(例如,上述管理链网络、电子票据网络或者应用合约链网络)中的业务对象进行身份管理和权限管理。比如,由管理共识节点通过管理链为业务对象配置业务数据信息,该业务数据信息可以用于对业务对象请求跨链转移票据资产的权限进行权限验证。
除此之外,位于该管理链网络中的管理共识节点还可以用于对上述区块链电子票据系统中的相关元数据信息进行数据管理,比如,可以管理更新管理链上的合约模板(应当理解,管理链上的合约模板具体可以包含部署在管理链上的智能合约的管理合约模板和部署在应用合约链上的智能合约的应用合约模板),管理更新记录在管理链上的票据模板,管理更新与该票据模板相关联的计税规则等、控制票据链所对应链入口处的访问流量、控制各链上参与共识的共识节点的数量等。
比如,当开发者和税务业务参与方需要在应用合约链上部署某个衍生业务对应的智能合约时,可以在通过应用合约链对应的链入口(即应用合约链入口)接入该应用合约链网络的情况下,进一步通过应用合约链上的第二跨链桥合约中的合约模板读取方法,从该合约模板读取方法所指示的管理链上读取该衍生业务对应的应用合约模板,以在该应用合约链上基于读取到的应用合约模板部署该衍生业务对应的智能合约。这样,当后续税务业务参与方需要在该应用合约链上执行衍生业务时,则可以利用已经部署好的衍生业务对应的智能合约来执行相应衍生业务。
应当理解,在上述共识网络200a被作为上述电子票据网络时,位于电子票据网络中的共识节点(例如,上述第一共识节点,该第一共识节点可以为图1所示的共识节点11b)可以用于提供票据业务,这里的票据业务可以包含但不限于票据资产转移业务、电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务。
此外,还可以理解的是,在上述共识网络300a被作为上述应用合约链网络时,位于应用合约链网络中的共识节点(例如,上述第二共识节点,该第二共识节点可以为图1所示的共识节点12b)可以用于提供与前述票据业务相关联的衍生业务(例如,信贷业务、进出亏业务、企业资质业务等)。
其中,可以理解的是,由于每个实体对象均可以对应一个区块链节点,所以,本申请实施例可以以实体对象为上述企业对象(即前述企业)为例,此时,与每个企业对象相关联的区块链节点可以为同一区块链节点(例如,上述图1所示的业务节点110c可以与多个企业对象所对应的用户终端进行数据交互)。比如,在上述区块链电子票据系统中,可以将每个企业对象所请求的票据业务(比如,票据资产转移业务、电子票据开具业务、电子票据流转业务、电子票据红冲业务、电子票据归档业务等与电子票据相关的业务)统称为一笔交易业务。其中,在上述企业对象A为请求通过电子票据网络(例如,上述共识网络200a)将票据资产从票据链转移至应用合约链时,可以通过图1所示的业务节点110c与上述共识网络100a中的共识节点(例如,共识节点10b)、共识网络200a中的共识节点(例如,共识节点11b)和共识网络300a中的共识节点(例如,共识节点12b)进行数据交互,以请求完成相应的票据业务(比如票据资产转移业务)。同理,企业对象B也可以通过图1所示的业务节点110c与上述共识网络100a中的共识节点(例如,共识节点10b)、共识网络200a中的共识节点(例如,共识节点11b)和共识网络300a中的共识节点(例如,共识节点12b)进行数据交互,以请求完成相应的票据资产转移业务;以此类推,企业对象C也可以通过图1所示的业务节点110c与上述共识网络100a中的共识节点(例如,共识节点10b)、共识网络200a中的共识节点(例如,共识节点11b)和共识网络300a中的共识节点(例如,共识节点12b)进行数据交互,以请求完成相应的票据资产转移业务。
其中,可以理解的是,本申请实施例可以将针对上述票据资产转移业务向电子票据网络发送第一跨链资产转出请求的实体对象(例如,企业对象A、企业对象B、...、企业对象C)统称为业务对象,并可以在业务网络(例如,上述业务网络400a)中,将与该业务对象(例如,企业对象A、企业对象B、...、企业对象C)相关联的区块链节点(例如,上述业务节点110c)统称为业务节点,还可以在核心共识网络(例如,上述作为电子票据网络的共识网络200a)中,将获取该第一跨链资产转出请求所指示的票据资产转移业务的区块链节点统称为上述第一共识节点。
为便于理解,进一步的,请参见图2a,图2a是本申请实施例提供的一种应用架构示意图,可以通过该应用架构执行本申请所提出的基于多区块链的资产转移方法。如图2a所示,可以包括第一共识节点(即上述图1中第一链对应的第一链网络中的共识节点)、第二共识节点(即上述图1中第二链对应的第二链网络中的共识节点)、目标共识节点(即上述图1中目标链对应的目标链网络中的共识节点)、第一共识节点与第二共识节点之间的跨链中继、和业务对象对应的业务节点。其中,业务对象通过业务节点生成针对第一跨链转出交易的第一跨链资产转出请求;前述第一跨链资产转出请求中携带了目标共识节点为业务对象配置的业务数据信息,目标共识节点中存储有针对业务对象的源配置数据信息;第一共识节点将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约(当第一资产为票据资产时,第一跨链桥合约比如可以称为第一票据跨链桥合约),并基于第一跨链桥合约和业务数据信息确定业务对象是否具有跨链资产转出权限,即通过目标共识节点进行跨链资产转出权限的查询;比如具体可以是基于第一跨链桥合约、业务数据信息以及目标链上的跨链授权管理合约,从目标链上获取源配置数据信息,通过第一跨链资产转出请求中的业务数据信息和源配置数据信息确定业务对象的跨链资产转出权限;在确定具有该跨链资产转出权限时,调用第一链上的第一资产合约(当第一资产为票据资产时,第一资产合约比如可以称为票据资产合约)锁定第一资产(比如为票据资产),并生成第一跨链转出交易对应的第一跨链事件,以指示用于隔离第二链网络和第一链网络的跨链中继将所对应构建的第一跨链转入交易发送给第二共识节点,该第二共识节点可以在将第一跨链转入交易写入第二链上的第二跨链桥合约(当第一资产为票据资产时,第二跨链桥合约比如可以称为第二票据跨链桥合约)时,调用第二资产合约(当第一资产为票据资产时,第二资产合约比如可以称为票据资产映射合约)在第二链上铸造与第一资产具有相同资产内容的第二资产(当第一资产为票据资产时,第二资产比如可以称为票据映射资产),从而可以实现第一共识节点将属于业务对象的第一资产从第一链转移至第二链。可以通过多个区块链的相互协作,提升跨链转移链上资产的安全性和可靠性。
可以理解的是,图2a只是示例性地表征本申请技术方案的可能存在的应用架构,并不对本申请技术方案的具体架构进行限定,即本申请技术方案还可以提供其他形式的应用架构。
可选的,在一些实施例中,电子设备可根据实际的业务需求,执行该基于多区块链的资产转移方法以提高链上所执行业务的业务稳定性。本申请技术方案可以应用于任意链上资产的链上转移场景中,该链上资产可以是各种类型的票据资产,比如税务类票据,如普通电子发票、增值税发票等;或者比如医疗类票据,如电子处方、电子收费单等等。在此不做限定。
为便于理解,进一步的,请参见图2b,图2b是本申请实施例提供的一种基于多区块链的区块链电子票据平台的场景示意图。该区块链电子票据平台可以为上述区块链电子票据系统中的具体业务平台,应当理解,在该区块链电子票据平台中,为降低在链上所执行业务和链上数据存储的混杂度,提出了一种全新的基于区块链电子票据的多链体系,且该多链体系主要涉及图2b所示的区块链电子票据三链网络。如图2b所示,该区块链电子票据三链网络中可以部署有上述提及的管理链、票据链和应用合约链。其中,可以理解的是,在以区块链作为区块链电子票据链上数据流转的业务场景中,可以通过管理链、票据链和应用合约链之间的相互协作,为整个区块链电子票据平台提供独立执行不同业务的功能特性,各个区块链分别执行不同的业务且对于同一业务可以相互协作,从而可以在三链相互协作的前提下,构造一个安全且高效的业务流系统。应当理解,这里以多链系统为三链体系为例,在该三链系统下,管理链、票据链和应用合约链均是独立搭建的,即用于维护该管理链的共识节点不同于用于维护该票据链的共识节点,且不同于用于维护该应用合约链的共识节点。
如图2b所示,部署在区块链电子票据三链网络中的管理链独立于票据链和应用合约链,即这三条独立搭建的区块链之间是彼此相互独立的,但是这三条独立搭建的区块链之间可以通过跨链的方式进行数据交互,即这三链之间可以进行跨链交互。比如,在如图2b所示的票据链上部署有第一票据跨链桥合约(即上述提及的第一跨链桥合约)的情况下,参与维护该票据链的共识节点(即上述第一共识节点)则可以通过该第一票据跨链桥合约,跨链读取管理链上的业务数据信息来进行业务对象的权限(比如跨链资产转出权限)的确认。又比如,在如图2b所示的应用合约链上部署有第二票据跨链桥合约(即上述提及的第二跨链桥合约)的情况下,参与维护该应用合约链的共识节点(即上述第二共识节点)可以通过该第二票据跨链桥合约,跨链读取管理链上的业务数据信息来进行业务对象的权限(比如跨链资产转回权限)的确认,还可以通过该第二票据跨链桥合约,跨链读取票据链上的链上数据(比如,票据链上属于业务对象的票据资产)来执行相应的衍生业务(比如,可以通过从票据链上所转移到的票据资产来执行上述征信业务,以得到某个企业的企业征信信息)。
比如,这里的管理链可以用于为整个区块链电子票据平台提供管理功能特性,这里的票据链可以为整个区块链电子票据平台提供不同业务权限类型的票据业务的功能特性。应当理解,在本申请实施例中,为确保写入票据链中的票据资产的安全性和独立性,本申请实施例提出可以通过独立于管理链和票据链的另一区块链(即图2b所示的应用合约链)来提供更加规范、灵活和功能完备的衍生业务,即这里的应用合约链则可以为整个区块链电子票据平台提供基于电子票据中链上数据来开展衍生业务的功能特性。
为便于理解,这里以管理链所在的核心共识网络(即上述管理链网络)为上述图1所示的共识网络100a为例,此时,参与维护该管理链的共识节点可以为上述管理共识节点。如图2b所示,该管理链上部署有多个智能合约,这些智能合约可以运行在管理共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2b所示的对象权限管理合约、对象身份管理合约、元数据管理合约、内部管理合约和跨链授权管理合约。应当理解,该管理链上所部署的这些智能合约是由图2b所示的内部参与方(即税务管理部门)分别通过自己链(即管理链)上部署的相应管理合约模板所确定的。
可以理解的是,前述税务管理部门可以通过该部署在管理链网络中的管理共识节点行使管理职责。比如,这里的管理职责具体可以包含对政务部门内部的信息(比如,税务管理部门内部人员的信息)进行管理、对整体业务的业务逻辑规则(例如,应用合约链上所运行的用于执行衍生业务的业务逻辑的衍生业务合约)进行管理、对整体业务的元数据信息(例如,三链体系下的各链入口处的访问流量)进行管理、对整体业务的参与者(比如,个人对象、企业对象、税务业务参与方等业务对象)进行身份管理和权限管理等。应当理解,在整体业务所对应的区块链网络中,由该管理共识节点所维护的管理链是相对更稳定、数据规模最小、但安全性最高的区块链。
此外,为便于理解,这里以图2b所示的票据链所在的核心共识网络(即上述电子票据网络)为上述图1所示的共识网络200a为例,此时,参与维护该票据链的共识节点可以为上述第一共识节点。如图2b所示,该票据链上部署有多个智能合约,这些智能合约可以运行在第一共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2b所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约和第一票据跨链桥合约(可以用于执行票据资产转移业务)。同理,应当理解,该票据链上所部署的这些智能合约是由图2b所示的内部参与方(例如,与电子票据数据中心相关联的税务部门)通过管理链上部署的相应票据业务合约模板所确定的。
可以理解的是,该部署在电子票据网络中的第一共识节点可以通过票据链维护电子票据在全生命周期内的业务逻辑,比如,可以通过该票据链管理所有开具的电子票据的全生命周期。比如,这里的电子票据的全生命周期包含电子票据的开具、电子票据的流转和电子票据的报销等。应当理解,在整体业务所对应的区块链网络中,由该第一共识节点所维护的票据链具有高性能、低延迟的特点。
同理,为便于理解,这里以应用合约链所在的核心共识网络(即上述应用合约链网络)为上述图1所示的共识网络300a为例,此时,参与维护该应用合约链的共识节点可以为上述第二共识节点。如图2b所示,该应用合约链上部署有多个智能合约,这些智能合约具体可以运行在第二共识节点上。具体的,可以理解的是,这里的多个智能合约具体可以包含图2b所示的虚拟机兼容合约、开放合约部署合约、衍生业务合约和第二票据跨链桥合约(可以用于执行票据映射资产转移业务)。
可以理解的是,该部署在应用合约链网络中的第二共识节点可以通过应用合约链承载可变化的票据业务所对应的衍生业务,比如,这里的衍生业务可以具体可以包含上述征信业务、上述资质识别业务等。应当理解,在整体业务所对应的区块链网络中,由该第二共识节点所维护的应用合约链,可以支持图2b所示的政务协作部门和联盟链伙伴(即图2b所示的业务关联部门),通过图2b所示的税务应用合约(开放合约部署合约)间接调用第二票据跨链桥合约,以利用跨链读取到的管理上的应用合约模板来开发与衍生业务相关的智能合约(例如,图2b所示的衍生业务合约),并可以经过税务管理部门审核后将该衍生业务合约部署在应用合约链上。应当理解,部署在应用合约链上的智能合约可以通过虚拟机兼容合约实现智能合约的灵活升级和变化,应当理解,在整体业务所对应的区块链网络中,该第二共识节点可以通过应用合约链上的第二票据跨链桥合约实现跨链交互,比如,可以通过第二票据跨链桥合约从票据链上读取上述链上数据来执行衍生业务。这意味着由该第一共识节点所维护的应用合约链,相较于管理链和票据链而言,具有最高的开放度,且支持复杂的智能合约逻辑,参与方较多且不断动态变化,性能相对低于票据链。
其中,可以理解的是,在图2b所示的区块链电子票据三链网络中,管理链所采用的共识算法,不同于票据链所采用的共识算法,也不同于应用合约链所采用的共识算法。
具体的,1.1)与管理链相关联的共识算法为一种即时确定性共识算法,比如,这里的即时确定性共识算法可以为PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识算法,通过该PBFT共识算法可以立即确定某个待上链的提议区块的状态。应当理解,该管理链为上述管理链网络中的区块链,在该管理链网络中的共识节点(即上述管理共识节点)可以由图2b所示的税务管理部门参与进行管理。
应当理解,与该管理链相关联的内部参与方可以为图2b所示的税务管理部门,比如,该税务管理部门在作为内部参与方参接入该管理链时,可以通过管理链上的内部管理合约对该税务管理部门的一些内部状态进行管理,比如,可以对该税务管理部门中的各人员进行管理,比如,可以在税务管理部门的这些人员中配置特定的税务管理人员、税务开发人员、税务审计人员等。此外,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对该三链体系中的一些参数进行管理,比如,通过该内部管理合约可以对图2b所示的票据链入口处的访问流量所对应的访问流量参数进行限制,例如,可以通过分时访问机制控制票据链入口处的某些特定时间段内的访问流量不大于访问流量阈值。又比如,该税务管理部门在作为内部参与方参接入该管理链时,还可以通过管理链上的内部管理合约对参与共识的各链上的共识节点的数量所对应的节点数量参数进行限定。
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,权益证明)共识算法,通过该权益证明共识算法可以维护该应用合约链所在应用合约链网络的网络安全性,且通过该权益证明共识算法可以立即确定某个待上链的提议区块的状态。可以理解的是,在该应用合约链网络中的共识节点可以由图2b所示的税务管理部门和政务协作部门以及大型参与机构(即前述联盟链中的大型企业,该大型企业即为前述图2b所示的业务关联部门)等共同参与进行管理。比如,税务管理部门中的税务人员(比如,图2b所示的税务业务参与方)可以通过应用合约链网络中的共识节点跨链读取前述票据链上所写入的电子票据的票据信息,以通过跨链读取到的票据信息执行与前述票据业务相关联的衍生业务。比如,可以通过跨链读取到的票据信息对请求开票的开票企业进行资质识别或者征信识别,以得到该开票企业的资质数据或者征信数据。应当理解,如图2b所示,这里的税务业务参与方在通过图2b所示的应用合约链入口接入应用合约链网络时,可以调用该图2b所示的应用合约链上的第二票据跨链桥合约,从图2b所示的票据链上读取基于衍生业务所请求的电子票据中的链上数据,以利用读取到的链上数据在该应用合约链上开展相应的衍生业务。
应当理解,在本申请实施例中,无需将票据链上所产生的大量的电子票据直接跨链转移至应用合约链,而是将票据链上所产生的这些电子票据中的部分授权可见的票据信息(即前述链上数据)跨链转移至应用合约链,这样可以从根源上确保票据链上所记录的这些票据资产的隐私性和安全性。
由此可见,对于请求接入上述应用合约链中的税务业务参与方而言,可以根据所请求的衍生业务的不同,从票据链上跨链读取到不同的链上数据(即可以从上述电子票据中获取到不同数据内容的票据信息)。
应当理解,针对该区块链电子票据三链网络中的智能合约而言,存在以下区别:
2.1)应当理解,如图2b所示的管理链上可支持特定语言智能合约引擎,上述管理共识节点通过该特定语言智能合约引擎可以在管理链上部署特定语言智能合约,比如,可以在管理链上部署上述图2b所示的对象权限管理合约、对象身份管理合约、元数据管理合约和内部管理合约、跨链授权管理合约等。应当理解,这些智能合约可以由税务管理部门中的特定税务管理人员开发和管理。
2.2)如图2b所示的票据链上内置有特定票据业务逻辑的智能合约,这些智能合约(例如,上述图2b所示的电子票据开具合约、电子票据流转合约、电子票据红冲合约、电子票据归档合约和第一票据跨链桥合约)可以随着票据业务的更新而进行升级。比如,本申请实施例可以通过从管理链上所读取到的最新版本的电子票据模板来更新电子票据开具合约中的电子票据模板,进而可以根据更新后的电子票据开具合约来更新处理上述票据业务。这意味着该票据链不支持独立的智能合约引擎,自然也就不支持在该票据链上部署与票据业务无关的其他合约。这样做的好处是让该票据链仅运行与电子票据相关的业务逻辑,且不受其他智能合约的影响,从而可以使该票据链的运行更加独立稳定,更抗攻击。
2.3)该应用合约链上支持多语言、图灵完备面向开发者的智能合约,比如,如图2b所示,开发者在通过应用合约链入口接入该应用合约链时,可以通过虚拟机兼容合约兼容主流的EVM虚拟机,以便于可以在兼容的虚拟机上部署运行各种新的业务合约,比如,可以在应用合约链上部署与衍生业务(例如,上述抽奖业务)相关联的衍生业务合约。又比如,可以在应用合约链上部署与另一衍生业务(例如,上述退税业务)相关联的衍生应用合约。
应当理解,如上述图2b所示,在区块链电子票据三链网络中,并未在管理链上部署相应的票据跨链桥合约,故而此时,该管理链并不具备跨链能力。由于图2b所示的票据链和应用合约链上均部署有各自对应的票据跨链桥合约,故而具备跨链能力。
具体的,与票据链相关联的共识节点(例如,上述第一共识节点)可以通过图2b所示的第一票据跨链桥合约从管理链读取部分管理链信息,比如,可以从管理链上读取用于对业务对象的业务权限(比如跨链资产转出权限)进行确认的源配置数据信息。比如,还可以从管理链上读取最新的电子票据模板。
此外,与应用合约链相关联的共识节点(例如,上述第二共识节点)可以通过图2b所示的第二票据跨链桥合约从管理链读取部分管理链信息,比如,可以从管理链上读取用于对业务对象的业务权限(比如跨链资产转回权限)进行确认的源配置数据信息。比如,还可以从管理链上读取最新的应用合约模板。此外,第二共识节点还可以跨链从票据链读取部分票据链信息(例如,从票据链读取用于执行衍生业务的票据资产)。
应当理解,如图2b所示,在区块链电子票据三链网络中,与管理链相关联的公开网络参与方可以为图2b所示的个人对象和企业对象。同理,如图2b所示,与票据链相关联的公开网络参与方可以为图2b所示的各地电子票据数据流系统。这里的各地电子票据数据流系统具体包含各地方电子票据业务开具系统(例如,各地方税局系统),电子票据开票服务商,大型企业财税相关系统等。同理,如图2b所示,与应用合约链相关联的公开网络参与方可以为图2b所示的税务业务参与方和开发者。
具体的,3.1)与管理链相关联的链入口可以为图2b所示的管理链入口。当图2b所示的个人对象(例如,用户A)和企业对象(例如,企业B)等作为公开网络参与方时,可以通过该管理链入口接入管理链,进而可以通过该管理链进行身份注册和身份授权等业务。3.2)与票据链相关联的链入口可以为图2b所示的票据链入口。当图2b所示的各地方电子票据数据流系统(例如,大型企业对象)等作为公开网络参与方时,可以通过该票据链入口接入票据链,进而可以通过该票据链执行票据资产跨链转移业务、电子票据开具业务、电子票据流转业务、电子票据红冲业务和电子票据归档业务。3.3)与应用合约链相关联的链入口可以为图2b所示的应用合约链入口。当图2b所示的税务业务参与方和开发者等作为公开网络参与方时,可以通过该应用合约链入口接入应用合约链,进而可以通过在应用合约链上部署衍生业务合约,以通过部署的衍生业务合约执行与电子票据相关的衍生业务。应当理解,图2b所示的开发者还可以在接入应用合约链的情况下,在该应用合约链上部署其他衍生业务(或者探索业务)所对应的衍生业务合约,这里将不对部署在应用合约链上的衍生业务合约的合约数量进行限定。
其中,可以理解的是,图2b所示的管理链入口具体可以为税务管理部门入口,通过该税务管理部门入口可以对需要接入管理链的个人、法人以及实体等进行身份识别和业务引导。
其中,可以理解的是,图2b所示的票据链入口具体可以为电子票据业务入口,通过该电子票据业务入口可以接收某个业务对象(例如,具有链上票据资产的业务对象,如可以为上述企业B)所请求开具的电子票据的交易业务数据(也可以称之为交易数据)。这样,在上述第一共识节点通过该电子票据业务入口接收到前述企业B提交的交易业务数据(比如转移业务对应的第一跨链转出交易)时,还可以通过该电子票据业务入口校验该交易业务数据的数据发送方(即作为业务对象的企业B)的接入身份和接入权限是否满足管理链中身份权限合约的状态要求。比如,第一共识节点可以在校验通过时,确定作为业务对象的企业B为授权对象,进而可以通过票据链上的第一票据跨链桥合约从管理链上读取业务对象的源配置数据信息以确定该作为授权对象的企业B的业务权限(比如跨链资产转出权限)。应当理解,通过源配置数据信息可以进一步判断作为授权对象的企业B的业务权限是否满足管理链中跨链授权管理合约的状态要求。
比如,上述第一共识节点通过该电子票据业务入口可以判断数据发送方(即企业B)的接入身份和接入权限是否满足管理链中的对象身份管理合约和内部管理合约的合约状态要求,进而可以在确定满足管理链中的对象身份管理合约和内部管理合约的合约状态要求时,确定完成对需要接入该票据链的数据发送方(即前述企业B)的身份鉴权。由此可见,上述图2b所示的票据链入口处存储有从管理链同步来的各个授权对象的注册数据信息,这里的注册数据信息可以包含但不限于对象接入身份注册信息和对象接入权限注册信息。比如,这里的对象接入身份信息可以用于识别当前请求接入该票据链的业务对象(即前述企业B)是否为授权对象。这里的对象接入权限注册信息包含由管理共识节点通过内部管理合约为该票据链的电子票据业务入口所配置的请求累计阈值(例如,最大并发请求累积量)。又如,上述第一共识节点在对数据发送方进行身份鉴权成功时,可以从管理链上读取业务对象的源配置数据,进而可以确定授权对象(即前述企业B)是否满足管理链中的跨链授权管理合约的合约状态要求,进而可以在确定满足管理链中的跨链授权管理合约的合约状态要求时,确定完成对需要在票据链上进行票据资产跨链转移的数据发送方(即前述企业B)的跨链权限验证。
其中,可以理解的是,图2b所示的应用合约链入口具体可以为税务衍生业务入口,通过该税务衍生业务入口可以接收某个业务对象(例如,第二业务对象,该第二业务对象可以为图2b所示的税务业务参与方)所请求参与的与票据业务相关联的衍生业务。应当理解,在图2b所示的税务业务参与方和开发者可以在获得税务管理部门发放的授权对象的业务参与许可凭证后,可以通过该应用合约链入口对第二业务对象(例如,税务业务参与方或者开发者)提交的业务参与许可凭证进行验证,进而可以在验证成功时允许该第二业务对象接入该应用合约链,以在该应用合约链上执行与前述票据业务相关联的衍生业务。
其中,如图2b所示,参与维护管理链的内部参与方可以为图2b所示的税务管理部门,这里的税务管理部门主要用于在管理链上进行内部状态参数的配置与管理,还可以用于对上述元数据信息(例如,税务元数据)进行变更上链(如可以更新电子票据模板,更新计税规则等),以及可以对于该管理链上所维护的各类业务参与方的身份和权限进行管理(如冻结企业开票资质,限制企业开票额度,跨链转移票据资产的权限等)。
其中,如图2b所示,参与维护票据链的内部参与方可以为图2b所示的电子票据数据中心,这里的电子票据数据中心具体可以为电子发票数据中心,该电子票据数据中心(比如,电子发票数据中心)可以用于对票据链上所记录的海量的账本数据(例如,基于上述实时票据业务流所产生的电子票据流等)进行链下备份、统计、数据分析和审查等工作。具体的,通过该电子票据数据中心可以统计分时开票数量,进而可以基于统计到的分时开票数量对风险票据(例如,风险发票)、风险企业进行判定,还可以对相关金融经济数据进行数据分析等。
其中,如图2b所示,参与维护应用合约链的内部参与方可以为图2b所示的政务协作部门和业务关联部门。应当理解,参与维护应用合约链的内部参与方除了税务管理部门之外,系统联盟链中的其他部门(即前述政务协作部门)和参与方(即前述业务关联部门)均可以在接入该应用合约链的情况下,进一步通过该应用合约链上的衍生业务合约执行相应的衍生业务。可以理解的是,图2b所示的政务协作部门和业务关联部门等作为税务业务参与方,接入应用合约链的好处是可以在支持完备的智能合约声明周期中灵活运行各类可扩展的衍生业务,以确保业务变化的灵活性,同时不需要直接接触上述票据链上的电子票据的链上数据,从而保证了票据链上的数据隐私和链上数据安全。比如,可以将需要进行衍生业务的票据资产从票据链转移至应用合约链,此处应用合约链仅能接触到该转移的票据资产,而无法接触除该票据资产以外的链上数据(比如票据资产所在区块上的其他链上数据)。这意味着在本申请实施例中,这部分所转移的票据资产在票据链上对应用合约链是授权可见的。可以使得业务对象基于票据资产所请求的衍生业务,可以在该应用合约链上进行有效的开展。
应当理解,此时,对于第二共识节点而言,无法得知该电子票据(即票据资产)中与该衍生业务无关的其他票据信息,更无法触及到该票据链上与该衍生业务无关的其他电子票据(例如,D企业所开具的电子票据),这样,可以确保存储在该票据链上的所存储票据数据的隐私安全性和可靠性。
其中,可以理解的是,在图2b所示的区块链电子票据三链网络中,均可以内置相应的智能合约。
其中,4.1)对于管理链上内置的智能合约而言,如图2b所示,内置在管理链上的对象身份管理合约具体可以为用户管理合约,通过该用户管理合约可以管理整个三链体系下的接入者(比如,公开网络参与方)和参与者(比如,内部参与方)的身份。应当理解,这里的接入者和参与者具体可以包含税务管理人员(简称管理员)、政务协作部门、地方税局、开票服务商、报销服务商、税务审查部门等。此外,内置在管理链上的对象权限管理合约具体可以为企业身份管理合约,通过该企业身份管理合约可以对某些企业的业务权限和税务状态等进行管理。同理,内置在管理链上的元数据管理合约具体可以为税务元数据管理合约,通过该税务元数据管理合约可以对税务规则等元数据信息进行管理,如可以集中管理三链体系下的合约模块,计税逻辑,最新政策规则等。以此类推,内置在管理链上的内部管理合约则可以用于对税务管理部门的一些内部状态进行管理,并可以对三链体系下的各链上的一些内部参数进行管理,如,可以通过该内部管理合约对上述票据链入口(比如,电子发票业务入口)处的访问流量参数进行限制,以及对三链体系下的共识节点数量参数进行限制等。
需要说明的是,本申请涉及管理链中的跨链授权管理合约。该跨链授权管理合约可以用于为请求执行跨链转移票据资产的业务对象配置用于进行权限验证的业务数据信息。比如,当管理共识节点为该业务对象配置好相应的业务数据信息的情况下,可以将该配置好相应的业务数据信息作为源配置数据信息上链至管理链,且还可以将配置好相应的业务数据信息返回给业务对象,以进一步在请求跨链转移票据资产的票据链上执行该票据资产所对应的转移业务。此外,业务对象可以将业务数据信息存储在本地。
其中,4.2)对于票据链上内置的智能合约而言,如图2b所示,内置在票据链上的智能合约可以包含第一票据跨链桥合约和与电子票据生命周期相关联的票据业务合约。这里的票据业务合约具体可以包含图2b所示的用于提供电子票据开票业务的电子票据开具合约,用于提供电子票据流转业务的电子票据流转合约、用于提供电子票据红冲业务的电子票据红冲合约以及用于提供电子票据归档业务的电子票据归档合约。其中,第一票据跨链桥合约可以用于进行票据资产的跨链转移(比如,具体可以将票据资产从票据链转移至应用合约链),以及跨链读取管理链上为业务对象配置的业务数据信息,来对当前请求跨链转移票据资产的业务对象进行权限查询,比如对业务对象的跨链资产转出权限进行查询。
其中,4.3)对于应用合约链上内置的智能合约而言,如图2b所示,内置在应用合约链上的智能合约可以包含第二票据跨链桥合约,还可以包含由税务衍生业务参与方(即衍生业务对象,例如,图2b所示的税务业务参与方)参与部署的各类合约(例如,图2b所示的虚拟机兼容合约、税务应用合约和衍生业务合约等)。比如,这里的衍生业务合约具体可以为基于电子票据的征信业务合约,通过该征信业务合约可以分析得到某个企业的征信数据。又比如,这里的衍生业务合约具体还可以是为鼓励开票所部署的链上抽奖业务合约和人才激励合约以及退税业务合约等。其中,可以理解的是,这里的第二票据跨链桥合约,可以用于跨链读取管理链上的元数据信息(例如,与退税业务相关联的最新政策规则),以更新该应用合约链的一些业务参数(例如,可以更新该应用合约链上所部署的退税业务合约的合约参数),此外,这里的第二票据跨链桥合约,还可以用于进行票据资产的跨链转移(比如,具体可以将票据资产从票据链转移至应用合约链,以通过这部分跨链转移的电子票据来执行该应用合约链上的衍生业务的业务逻辑,即可以用于跨链读取票据链上针对所请求的衍生业务而授权可见的电子票据),以及跨链读取管理链上为业务对象配置的业务数据信息,来对当前请求跨链转移票据映射资产的业务对象进行权限查询,比如对业务对象的跨链资产转回权限进行查询。
应当理解,对于上述图2b所示的管理链而言,主要用于处理数据量较小、状态较恒定的管理性业务流,整个管理链的开放性相对较低,可以用于对一些税务数据进行内部管理。而对于上述图2b所示的票据链而言,可以用于处理一些数据量长期处于高频请求状态的实时票据业务流,该整个票据链的开放性相对较高,可以允许与电子票据本身生命周期中的相关权威机构参与相应的票据业务,比如,可以允许与代理服务商对应的共识节点为当前请求开票的某个用户开具电子票据。此外,对于图2b所示的应用合约链而言,数据量的大小可以无需限定、业务变化的频率波动相对较大,主要是可以通过该应用合约链处理各类合作业务、衍生业务、探索性业务等。应当理解,该应用合约链具有最高的开放性,可以运行由管理链授权的参与者在该应用合约链上部署智能合约、运行探索性的衍生业务等。应当理解,在本申请实施例中,考虑到应用合约链具有较高的开放性和业务变更的灵活性,所以,内置在应用合约链上智能合约在执行时可以有更多的合约安全限制。比如,可以对合约执行步数进行限制(例如,对于上述图2b所示的衍生业务合约而言,可以限定当前业务对象(即上述第二业务对象)具体能够访问衍生业务合约中哪些合约方法),并可以对访问该衍生业务合约所需要消耗的存储资源数据等进行限制(即应用合约上的智能合约的调用需要消耗一定数量的存储资源数据)。
其中,可以理解的是,本申请实施例所涉及的三链体系下的共识节点可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例中的共识节点在跨链获取业务对象(例如,上述个人对象或者企业对象)的链上资产(比如票据资产,具体如电子票据等)等数据时,可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示业务对象当前正在搜集票据资产等数据,仅仅在获取到业务对象对该提示界面或者弹窗发出确认操作后,开始执行数据获取的相关的步骤,否则结束。
此外,可以理解的是,在本申请的具体实施方式中,可能涉及到用户、企业、机构等业务对象的业务数据(例如,用户的开票信息、征信信息、退税信息等,企业的进出亏、企业资质等信息),当本申请以上实施例运用到具体产品或技术中时,需要获得用户、企业、机构等业务对象的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
其中,在票据链上执行票据业务的具体过程和在应用合约链上执行与票据业务相关联的衍生业务的具体过程,可以参见如下图3至图11中所示的实施例。此外,为了便于阐述,下述以本申请实施例应用在区块链电子票据系统中为例进行说明,且下述提及的票据链即为第一链、提及的应用合约链即为第二链、提及的管理链即为目标链、提及的电子票据网络即为第一链网络、提及的应用合约网络即为第二链网络、提及的管理链网络即为目标链网络、提及的管理共识节点即为目标共识节点。
进一步的,请参见图3,图3是本申请实施例提供的一种基于多区块链的资产转移方法,如图3所示,方法可以由上述提及的第一链(比如为票据链)对应的第一链网络(比如为电子票据网络)中的第一共识节点来执行,比如,该第一共识节点可以为上述图1所示的共识网络200a中任意一个共识节点。方法具体可以包括以下步骤S301-步骤S303:
步骤S301,获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求。
具体的,第一跨链资产转出请求中携带目标链网络(比如为管理链网络)中的目标共识节点(比如为管理共识节点)为业务对象配置的业务数据信息。其中,业务对象可以通过所在的业务节点和多区块链中的任一条区块链进行链上交互,以及进行链上相关业务合约的调用。例如,业务对象可以预先向管理链对应的管理共识节点申请用于进行跨链权限验证的业务数据信息。业务对象在通过业务节点生成第一跨链资产转出请求时,可以从管理链获取业务数据信息,基于获取的业务数据信息生成该针对第一跨链转出交易的第一跨链资产转出请求。或者,也可以是业务对象通过业务节点预先将业务数据信息存储在本地,在生成第一跨链资产转出请求时,可以从本地获取该业务数据信息,以生成该第一跨链资产转出请求。
此外,管理链上可以部署有跨链授权管理合约,因此可以是由业务对象所在的业务节点通过票据管理入口向相关票据部门发送跨链权限申请,由相关票据部门在基于跨链权限申请对业务对象审核通过后,调用管理链上的跨链授权管理合约中的跨链权限申请方法,为业务对象申请跨链权限并为业务对象配置用于验证跨链权限的业务数据信息,在申请成功后将业务数据信息返回给业务对象。另外,管理共识节点可以将业务对象的业务数据信息进行存储,比如存储在管理链中,此时存储在管理共识节点侧的业务数据信息可称为该业务对象的源配置数据信息。业务数据信息比如可以是为业务对象配置的专属授权码、业务对象的身份信息等。
具体的,第一跨链资产转出请求中的第一跨链转出交易用于指示第一共识节点通过跨链中继将指定的属于业务对象的第一资产(比如为票据资产)从票据链转移至与第二共识节点相关联的第二链(比如为应用合约链)。第二共识节点为应用合约链对应的第二链网络(比如为应用合约链网络)中的共识节点。当业务对象需要对指定票据资产执行衍生业务时,可以生成第一跨链资产转出请求以使得指定的票据资产从票据链转移到应用合约链上。例如,第一跨链资产转出请求中的第一跨链转出交易用于指示将业务对象在3个月内的电子发票从票据链转移至应用合约链。该应用合约链对应的应用合约链网络独立与管理链对应的管理链网络和票据链对应的电子票据网络。
具体的,业务对象在通过业务节点生成第一跨链资产转出请求时,还可以为待转移的票据资产指定资产用途权限,并将该执行的资产用途权限写入第一跨链转出交易中。该资产用途权限比如可以是只能用于票据红冲业务、可用于票据转移业务等等。
步骤S302,将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约。
其中,第一共识节点可以将从第一跨链资产转出请求中获取到的第一跨链转出交易写入第一跨链桥合约(比如为第一票据跨链桥合约)。该第一票据跨链桥合约可以用于对第一跨链转出交易进行权限验证,并在权限验证通过后进行票据资产的转移流程。
此外,若第一跨链资产转出请求的第一跨链转出交易携带了资产用途权限,则可以在将第一跨链转出交易写入第一票据跨链桥合约时,指定该第一跨链转出交易所对应的票据资产的资产用途权限。比如,指定该票据资产在转移后只能用于票据红冲业务。
步骤S303,在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件。
其中,第一票据跨链桥合约可以用于对第一跨链转出交易进行权限验证,并在验证通过,确定业务对象具有跨链资产转出权限时,执行票据资产的转移流程。
具体的,基于第一票据跨链桥合约进行权限验证以确定业务对象是否具有跨链资产转出权限可以是,调用第一票据跨链桥合约中的跨链权限查询方法,生成转出权限验证请求;该转出权限验证请求用于指示管理共识节点调用管理链上的跨链权限管理合约查询业务对象的源配置数据信息,比如可以是调用跨链权限管理合约中的跨链权限查询方法查询该业务对象是否具有源配置数据信息;进一步,管理共识节点还可以为源配置数据信息设置有效期,若业务对象具有源配置数据信息且处于有效期,则表示查询到源配置数据信息,即可以将该源配置数据信息进行返回;第一共识节点接收管理共识节点基于转出权限验证请求返回的源配置数据信息,并将源配置数据信息和第一跨链转出请求中携带的业务数据信息进行信息比对,得到信息比对结果,可以根据信息比对结果确定业务对象是否具有跨链资产转出权限。比如,可以是通过第一票据跨链桥合约中的信息对比方法对业务数据信息和源配置数据信息进行信息比对。
或者,具体的,基于第一票据跨链桥合约进行权限验证以确定业务对象是否具有跨链资产转出权限,还可以是,调用第一票据跨链桥合约生成携带业务数据信息的转出权限验证请求;该转出权限验证请求用于指示管理共识节点调用管理链上的跨链授权管理合约查询业务对象的源配置数据信息,并对源配置数据信息和转出权限验证请求中的业务数据信息进行信息比对,得到信息对比结果;比如可以是管理共识节点调用管理链上跨链权限管理合约中的跨链权限查询方法查询该业务对象是否具有源配置数据信息,以及调用跨链权限管理合约中的信息对比方法对业务数据信息和源配置数据信息进行信息比对;第一共识节点接收管理共识节点基于转出权限验证请求返回的信息对比结果,并根据信息比对结果确定业务对象是否具有跨链资产转出权限。
可以理解的是,确定业务对象是否具有跨链资产转出权限可以是,若信息比对结果指示对比成功,即表示业务数据信息与源配置数据信息相同,则确定业务对象具备跨链资产转出权限,即确定此时针对票据资产的转移合法;若信息比对结果指示对比不成功,即表示业务数据信息与源配置数据信息不同,则确定业务对象不具备跨链资产转出权限。
其中,应当理解,在确定业务对象具备跨链转出权限时,需要根据第一跨链转出交易对指定的票据资产进行锁定,以确保转移至应用合约链上的票据资产和票据链上的票据资产的一致性,并可以使得该转移的票据资产不受票据链上的其他业务的影响,从而确定第一跨链转出交易对应的转移业务的业务稳定性。对票据资产进行锁定的具体方式可以是,调用第一资产合约(比如票据资产合约)将票据资产的资产状态由第一状态切换为第二状态。票据资产合约用于管理链上票据资产的全生命周期以及各项票据属性(比如票据资产的资产状态、资产属性状态等)。比如可以是对转移出的票据资产进行锁定以及转移回的票据资产进行解锁。
其中,调用票据资产合约进行资产状态切换可以是通过第一票据跨链桥合约中的资产合约调用方法,调用票据资产合约在票据链上进行票据资产的资产状态切换。该第一状态可以是指正常状态,即指示票据资产处于未被锁定的状态;第二状态可以是指锁定状态,即指示处于票据资产已被锁定的状态。此时,票据链上被锁定的票据资产不能被操作和修改。由此,票据链上所部署的合约(比如第一票据跨链桥合约)具备跨链调用合约(如票据资产合约)的能力。
因此,第一共识节点可以在检测到票据资产的资产状态为第二状态时,调用第一票据跨链桥合约生成第一跨链转出交易对应的第一跨链事件,此时表示第一跨链转出交易在第一共识节点上执行完成。比如可以是调用第一票据跨链桥合约中的事件生成方法,根据第一跨链转出交易生成第一跨链事件。
比如,具体可以是,可以是调用第一票据跨链桥合约上的事件生成方法,利用票据链上的私钥信息对票据资产、票据资产的资产属性状态、以及第一跨链转出交易等信息进行签名,得到第一事件签名信息,并根据第一事件签名信息和前述信息生成第一跨链事件。
此外,若第一共识节点指定了第一跨链转出交易所对应的票据资产的资产用途权限,则调用第一票据跨链桥合约确定资产用途权限对应的权限参数,并在生成第一事件签名信息时,将该权限参数一并进行签名,以及根据该得到的第一事件签名信息和权限参数一齐构建第一跨链事件,即该生成的第一跨链事件中携带该所转移的票据资产对应的权限参数。该权限参数用于表征为票据资产指定的在转移后的资产用途。
应当理解,第一跨链事件用于指示跨链中继在构建得到第一跨链转出交易对应的第一跨链转入交易时,将第一跨链转入交易发送至第二共识节点。该第一跨链转入交易用于指示第二共识节点将票据资产转移到应用合约链上,即该第二共识节点可以用于在将第一跨链转入交易写入应用合约链上的第二跨链桥合约(比如为第二票据跨链桥合约)时,调用第二票据跨链桥合约所指示的票据资产映射合约,在应用合约链上铸造与票据资产具有相同资产内容的第二资产(比如为票据映射资产)。因此第一跨链转入交易和第一跨链转出交易用于指示将票据资产从票据链转移至应用合约链。其中,第二共识节点对第一跨链转入交易的执行过程可以参见下述图7所示实施例的相关描述。
此外,跨链中继可以用于隔离应用合约链网络和电子票据网络。跨链中继可以由相关票据部门运营,可以用于持续捕捉票据链与应用合约链之间的跨链事件,以生成对应的跨链交易以提交给另外一条链。因此,跨链中继可以检测票据链的第一票据跨链桥合约所产生的事件,并在检测到第一跨链事件时,从第一共识节点的票据链上获取该第一跨链事件,并基于该第一跨链事件中的第一跨链转出交易、票据资产、资产属性状态、权限参数等信息生成对应的第一跨链转入交易,以实现票据资产的转移。该第一跨链转入交易包含票据资产和交易参数(比如资产属性状态、权限参数等信息)。
应当理解,跨链中继在读取到第一跨链事件时,需要对该第一跨链事件进行事件验证,并在事件验证成功后,生成对应的第一跨链转入交易。比如,设第一跨链事件包括第一事件签名信息以及携带的第一事件参数(如第一跨链转出交易、票据资产、资产属性状态、权限参数等信息)。其中,前述涉及的事件验证过程具体可以是,跨链中继通过票据链的私钥信息对应的公钥信息对第一跨链事件中的第一事件签名信息进行签名验证,并在签名验证成功后得到第一事件签名信息对应的待验证第一事件参数,对携带的第一事件参数和待验证第一事件参数进行事件比对,得到事件对比结果,以确定事件验证结果。
其中,可以理解的是,若携带的第一事件参数和待验证第一事件参数相同,则事件对比结果指示事件验证成功;若携带的第一事件参数和待验证第一事件参数不相同,则事件对比结果指示事件验证不成功。
因此,在执行业务时通过三条区块链相互协作,实现票据资产的转移,可以实现链上转移业务执行的流程更简洁清晰,并可以在链上其他业务可以正常执行下,使得链上转移业务的转移效率更高,从而可以提升转移业务的业务稳定性,进而可以提升在区块链上进行跨链转移票据资产的安全性和可靠性。
例如,如图4所示,图4是本申请实施例提供的一种跨链资产转出的场景示意图;其中,业务对象A通过业务节点预先向管理共识节点申请跨链权限,管理共识节点通过调用管理链上的跨链授权管理合约为业务对象A配置业务数据信息X,并对所配置的业务数据信息进行存储;设此时管理共识节点所存储的业务数据信息为源配置数据信息X’;业务对象A向第一共识节点发送针对第一跨链转出交易的第一跨链资产转出请求;该第一跨链资产转出请求携带X,第一跨链资产转出请求用于指示转移属于业务对象A的票据资产P;此外,还可以由业务对象A指定P在转移后的资产用途权限(比如只能用于红冲等);比如可以是业务对象A通过业务节点显示的交易配置界面进行第一跨链转出交易的配置以及资产用途权限的指定,业务节点基于业务对象A在交易配置界面的操作生成对应的第一跨链资产转出请求;第一共识节点将第一跨链转出交易写入第一票据跨链桥合约、指定对应的票据资产的资产用途权限,并基于第一票据跨链桥合约和X对业务对象的跨链资产转出权限进行验证,前述对跨链资产转出权限进行验证具体可以是,通过第一票据跨链桥合约生成转出权限验证请求并发送给管理共识节点,管理共识节点基于转出权限验证请求和跨链权限管理合约查询业务对象A所存储的X’,第一共识节点对X和X’进行信息比对,以确定出业务对象是否具有跨链资产转出权限;若确定业务对象具有跨链资产转出权限,则第一共识节点通过第一票据跨链桥合约调用票据资产合约锁定票据资产P,并生成对应的第一跨链事件;跨链中继可以检测并读取第一跨链事件,对该第一跨链事件进行事件验证,并在事件验证成功时,生成对应的第一跨链转入交易;该第一跨链转入交易中携带有P、交易参数(比如基于资产用途权限确定的权限参数等);跨链中继将携带有第一跨链转入交易的第二跨链交易请求发送给第二共识节点,由第二共识节点基于第一跨链转入交易以及第二共识节点上的第二票据跨链桥合约和票据资产映射合约进行P的转移流程。
由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现票据资产的跨链转移,比如,可以在管理链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将票据资产从票据链转移至应用合约链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的票据链、管理链和应用合约链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在票据链上执行与票据资产本身相关的票据业务,而在应用合约链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对票据资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如票据链上的第一票据跨链桥合约、票据资产合约等)来协作执行针对该票据资产的转移业务,可以确保链上所执行业务(即跨链转移票据资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
进一步的,请参见图5,图5是本申请实施例提供的一种基于多区块链的资产转移方法,如图5所示,方法可以由上述提及的第一链(比如为票据链)对应的第一链网络(比如为电子票据网络)中的第一共识节点来执行,比如,该第一共识节点可以为上述图1所示的共识网络200a中任意一个共识节点。方法具体可以包括以下步骤S501-步骤S503。
步骤S501,接收跨链中继针对第二资产发送的第二跨链转入交易。
其中,可以理解的是,第二跨链转入交易可以是由跨链中继从第二共识节点读取到第二跨链转出交易对应的第二跨链事件时所构建的。第二跨链事件可以是由第二共识节点获取到业务对象针对第二资产(比如为票据映射资产)所提交的第二跨链转出交易生成的。跨链中继可以检测第二共识节点的第二跨链桥合约(比如为第二票据跨链桥合约)上的跨链事件,并在检测到第二跨链事件时从第二共识节点获取该第二跨链事件。跨链中继可以基于第二跨链事件构建第二跨链转出交易对应的第二跨链转入交易。该第二跨链转入交易和第二跨链转出交易用于指示将票据映射资产从应用合约链转移至票据链,也即将票据资产从应用合约链转移回票据链。其中,第二共识节点获取到第二跨链转出交易并生成对应的第二跨链事件的具体方式可以参见下述图9所示实施例的相关描述,这里将不再继续进行赘述。
可以理解的是,跨链中继在读取第二跨链事件时需要对该第二跨链事件进行事件验证,并在事件验证成功时,生成对应的第二跨链转出交易。其中,对第二跨链事件的事件验证原理和对第一跨链事件的事件验证原理相同。比如,该第二跨链事件包含第二事件签名信息和第二事件参数(比如包括第二跨链转出交易、票据映射资产、映射资产属性状态等信息),该第二事件签名信息时第二共识节点利用应用合约链上的私钥信息对第二事件参数进行签名所得到的,跨链中继可以利用应用合约链的私钥信息对应的公钥信息对第二事件签名信息进行签名验证,在签名验证成功后获取第二事件签名信息对应的待验证事件参数,并对这里的待验证事件参数和第二跨链事件中的第二事件参数进行事件比对,若这里的待验证事件参数和第二事件参数相同,则表示事件验证成功。
步骤S502,将第二跨链转入交易写入第一跨链桥合约,基于第一跨链桥合约对第二跨链转入交易进行交易验证,得到第一交易验证结果。
具体的,第一共识节点在将第二跨链转入交易写入第一跨链桥合约(比如为第一票据跨链桥合约)时,可以对第二跨链转入交易进行交易验证,以验证交易来源正确性。该第一票据跨链桥合约可以用于对第二跨链转入交易进行交易验证,并在交易验证通过后进行第一资产(比如为票据资产)的转移。该第二跨链转入交易可以是跨链中继所发送的第一跨链交易请求中的交易,即跨链中继在将第二跨链转入交易发送至第一共识节点时,是通过生成针对第二跨链转入交易的第一跨链交易请求,并将第一跨链交易请求发送给第一共识节点而实现的。该第一跨链交易请求中携带跨链中继对第二跨链转入交易进行签名所得到的第一交易签名信息。比如可以是由跨链中继通过私钥信息对第二跨链转入交易进行签名得到的第一交易签名信息。
具体的,第一共识节点将第二跨链转入交易写入第一票据跨链桥合约,并基于第一票据跨链桥合约对第二跨链转入交易进行交易验证的具体方式可以是,将从第一跨链交易请求中获取到的第二跨链转入交易作为待处理交易,并将待处理交易写入第一票据跨链桥合约,调用第一票据跨链桥合约获取跨链中继的私钥信息所对应的公钥信息,比如可以是调用第一票据跨链桥合约中的签名验证方法获取公钥信息,可以是获取票据链上预先存储的公钥信息,也可以是从跨链中继上获取公钥信息;根据公钥信息对第一交易签名信息进行签名验证,且在签名验证成功时,将第一交易签名信息对应的第二跨链转入交易作为待验证交易,通过第一票据跨链桥合约对待处理交易和待验证交易进行交易比对,得到第一交易对比结果,将第一交易对比结果作为第一交易验证结果。比如,可以是通过第一票据跨链桥合约中的交易对比方法对待处理交易和待验证交易进行交易比对。
可以理解的是,第一交易签名信息为通过跨链中继的私钥信息对第二跨链转入交易进行加密所得到的,根据跨链中继的私钥信息对应的公钥信息对第一交易签名信息进行签名验证,即通过这里的公钥信息对第一交易签名信息进行解密,若解密成功即表示签名验证成功。其中,前述待验证交易即为通过这里的公钥信息对第一交易签名信息进行解密后所对应得到的第二跨链转入交易。
步骤S503,在第一交易验证结果指示交易验证成功时,通过第一跨链桥合约中的资产合约调用方法,调用第一资产合约在票据链上对锁定的第一资产进行解锁。
应当理解,若基于交易比对确定待验证交易与待处理交易相同,则得到的第一交易验证结果指示交易验证成功,即交易来源正确。若基于交易比对确定待验证交易与待处理交易不同,则得到的第一交易验证结果指示交易验证不成功,即交易来源不正确,可以向跨链中继返回针对第二跨链转入交易的验证失败通知消息,以使跨链中继重新发送第一跨链交易请求。
其中,在确定交易验证成功时,可以通过第一票据跨链桥合约,调用第一资产合约(比如为票据资产合约)在票据链上对锁定的票据资产进行解锁。可以是通过第一票据跨链桥合约直接调用票据资产合约对票据资产进行解锁。或者,票据链上还可以包括票据资产映射合约,可以通过第一票据跨链桥合约调用票据链上的资产映射合约(比如为票据资产映射合约),并由该票据资产映射合约调用票据资产合约对票据资产进行解锁。
相应的,对锁定的票据资产进行解锁的方式可以是,调用票据资产合约将票据资产的资产状态由第二状态切换为第一状态,此时,应用合约链上的票据映射资产处于第二状态。第一状态用于票据资产此时处于正常状态,可以在票据链上修改和操作该票据资产。比如,可以是对该票据资产进行指定的标准业务逻辑。
此外,可以获取业务对象针对票据资产发送的业务执行请求,在基于业务执行请求确定业务对象具备调用票据链上的票据业务合约的权限时,允许业务对象调用票据业务合约执行票据资产对应的指定业务。其中,前述提及的业务执行请求用于指示对指定的票据资产执行指定业务。当票据资产为电子发票时,指定业务比如可以是电子票据红冲业务、电子票据归档业务等。
相应的,票据链上的票据业务处理合约至少包含:用于执行电子票据红冲业务的电子票据红冲合约以及用于执行电子票据归档业务的电子票据归档合约等。其中,以电子票据红冲业务为例,电子票据红冲业务用于指示第一共识节点调用票据链上的电子票据红冲合约,开具电子发票对应的红字发票,且红字发票用于更正电子发票中的相关票据信息。
具体的,确定业务对象具备调用票据业务合约的权限可以是,检测业务执行请求所指示的票据资产的资产状态,若检测到资产状态处于第一状态时,则表示具备调用票据业务合约的权限。若资产状态处于第二状态时,则表示不具备调用票据业务合约的权限。
可选地,第一跨链交易请求中携带有第二跨链事件的事件标识。在对锁定的票据资产进行解锁时,可以调用第一票据跨链桥合约中的事件生成方法,从跨链中继基于第二跨链转入交易所发送的第一跨链交易请求中获取第二跨链事件的事件标识,并生成与这里的事件标识关联的跨链交易完成事件。该跨链交易完成事件用于表征成功将票据资产由应用合约链转移回票据链。
此外,业务对象可以根据票据链上的跨链交易完成事件确定票据映射资产是否转移完成。具体可以是,业务对象可以通过业务节点生成针对第二跨链事件的事件查询请求;该事件查询请求中携带第二跨链事件的事件标识,该第二跨链事件的事件标识可以是业务对象从应用合约链上的第二票据跨链桥合约中获取的;若第一共识节点在接收到事件查询请求时,通过第一票据跨链桥合约中的事件查询方法,查询到第二跨链事件的事件标识关联的跨链交易完成事件,则向业务对象返回针对第二跨链事件的事件完成通知消息。可以理解的是,业务对象接收到该事件完成通知消息时,表示业务对象确定针对票据映射资产的跨链交易完成,可以向第一共识节点发送针对对应票据资产的业务执行请求。
可以理解的是,票据链上的票据资产的资产属性状态为第一属性状态,在应用合约链上所铸造的票据映射资产的映射资产属性状态与票据资产的资产属性状态相同。在确定票据映射资产的映射资产属性状态由第一属性状态变更为第二属性状态时,比如在应用合约链上对票据映射资产执行衍生业务后确定票据映射资产的资产属性状态发生变更,第一共识节点还可以执行如下步骤:在调用票据资产合约在票据链上对锁定的票据资产进行解锁时,将票据资产的资产属性状态由第一属性状态变更为第二属性状态。
其中,第二跨链事件的第二事件参数可以携带有票据映射资产的资产属性状态,因此基于第二跨链事件所生成的第二跨链转入交易携带的交易参数包含票据映射资产的资产属性状态。第一共识节点可以在接收到第二跨链转入交易时根据携带的资产属性状态确定票据映射资产是否发生资产属性状态变更,进而确定票据映射资产对应的票据资产是否需要进行资产属性状态变更。若需要进行变更,则在票据资产进行解锁时,将票据资产的资产属性状态变更为与票据映射资产相同的映射资产属性状态。
此外,资产属性状态可以是指表征票据资产的所属对象的状态,比如第一属性状态可以是票据资产的所属对象为当前的业务对象的状态。第二属性状态可以是指票据资产的所属对象为衍生业务对象的状态。比如,票据资产当前的业务对象可以是企业对象,衍生业务对象可以是企业对象属下的个人对象。例如,票据资产为发票资产,发票资产的业务对象为企业A,在应用合约链上对发票映射资产执行的衍生业务可以是针对发票资产的异常退回业务,若基于前述业务和发票映射资产确定有票据资产存在异常,则可以对该异常的票据资产执行退出流程,即可以是将该异常的票据资产的所属对象从企业A退回至开具该票据资产的个人对象A,也即确定对应的票据映射资产的映射资产属性状态由第一属性状态变更为第二属性状态。也就是说,第一属性状态是指票据资产的所属对象为企业A的状态,第二属性状态是指票据资产的所属对象为个人对象A的状态。此时,处于票据链上的发票资产的资产属性状态也应该存在相应变更,即所属对象进行变更。
或者,资产属性状态可以是指票据资产的票据状态,比如票据资产为发票资产,第一属性状态可以是指发票资产当前的发票状态处于无误状态,第二属性状态可以是指发票资产的发票状态处于红冲状态。例如,票据资产为发票资产,发票资产当前的发票状态为无误状态,在应用合约链上对发票映射资产执行的衍生业务可以是对票据资产执行红冲业务,若基于红冲业务和发票映射资产确定存在有误的票据资产,则需对该有误的票据资产进行红冲处理,即需要将该票据资产的发票状态从无误状态变更为红冲状态,也即确定对应的票据映射资产的映射资产属性状态由第一属性状态变更为第二属性状态。此时,处于票据链上的发票资产的资产属性状态也应存在相应变更,即票据状态进行变更。
例如,如图6所示,图6是本申请实施例提供的一种跨链资产转入的场景示意图;其中,跨链中继从第二共识节点检测并读取第二跨链事件,在对第一跨链事件进行事件验证成功时,生成对应的第二跨链转入交易;该第一跨链转入交易携带票据映射资产WP和交易参数;跨链中继生成携带第一交易签名信息和第二跨链转入交易的第一跨链交易请求,并将该第一跨链交易请求发送给第一共识节点;第一共识节点接收第一跨链交易请求,进行将票据资产转移回票据链的流程;第一共识节点将第二跨链转入交易写入第一票据跨链桥合约,并基于第一交易签名信息对第二跨链转入交易进行交易验证,并在交易验证成功时,通过第一票据跨链桥合约调用票据资产合约对锁定的票据资产P进行解锁;第一共识节点按照第一跨链转入交易中携带的交易参数确定WP的映射资产属性状态是否改变;若WP的映射资产属性状态改变,则对应P的资产属性状态发生相应变更;第一共识节点可以从第一跨链交易请求获取第二跨链事件的事件标识,并生成与该事件标识关联的跨链交易完成事件,通过该跨链交易完成事件可以使得业务对象确定WP转移完成。后续,业务对象可以发送业务执行请求以在票据链上对P执行指定业务。
由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现票据资产的跨链转移,比如,可以在管理链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将票据资产从票据链转移至应用合约链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的票据链、管理链和应用合约链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在票据链上执行与票据资产本身相关的票据业务,而在应用合约链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对票据资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如票据链上的第一票据跨链桥合约、票据资产合约等)来协作执行针对该票据资产的转移业务,可以确保链上所执行业务(即跨链转移票据资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
进一步的,请参见图7,图7是本申请实施例提供的一种基于多区块链的资产转移方法,如图7所示,方法可以由上述提及的第二链(比如为应用合约链)对应的第二链网络(比如为应用合约链网络)中的第二共识节点执行,比如,该第二共识节点可以为上述图1所示的共识网络300a中任意一个共识节点。方法具体可以包括以下步骤S701-步骤S703。
步骤S701,获取跨链中继针对第一资产发送的第一跨链转入交易。
其中,第一跨链转入交易是由跨链中继从第一共识节点读取到的第一跨链转出交易对应的第一跨链事件,且对该第一跨链事件进行事件验证成功时所构建的。第一跨链事件是由第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约(比如为第一票据跨链桥合约)和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用票据链上的第一资产合约(比如为票据资产合约)锁定第一资产(比如为票据资产)时所生成的。前述业务数据信息为管理链网络中的管理共识节点为业务对象所配置的。前述第一共识节点为票据链对应的电子票据网络中的共识节点。
应当理解,第一共识节点可以是在接收到业务对象针对第一跨链转出交易发送的第一跨链资产转出请求,并基于第一票据跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,生成对应的第一跨链事件。前述过程的具体方式可以参见上述图3所示实施例的相关描述。
此外,跨链中继可以检测票据链的第一票据跨链桥合约上的票据事件,在检测到第一跨链事件时,从第一共识节点获取该第一跨链事件,进而可以生成该第一跨链事件对应的第一跨链转入交易,以及跨链中继可以将该第一跨链转入交易发送至第二共识节点。其中,跨链中继用于隔离票据链对应的电子票据网络和应用合约链网络,且电子票据网络独立于管理链网络和应用合约链网络。
步骤S702,将第一跨链转入交易写入应用合约链上的第二票据跨链桥合约。
其中,第一跨链转入交易可以是跨链中继所发送的第二跨链交易请求中的交易,即跨链中继在将第一跨链转入交易发送至第二共识节点时,是通过生成针对第一跨链转入交易的第二跨链资产转出请求,并将第二跨链资产转出请求发送给第二共识节点而实现的。第二共识节点可以将从第二跨链资产转出请求中获取到的第一跨链转入交易写入第二票据跨链桥合约。
步骤S703,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,调用第二资产合约(比如为票据资产映射合约)铸造第二资产(比如为票据映射资产)可以是,在调用第二跨链桥合约(比如为第二票据跨链桥合约)执行第一跨链转入交易时,对第一跨链转入交易进行交易验证,得到第二交易验证结果,在第二交易验证结果指示交易验证成功时,调用第二票据跨链桥合约所指示的票据资产映射合约,在应用合约链上铸造与票据资产具有相同资产内容的票据映射资产。比如可以是通过第二票据跨链桥合约中的资产映射合约调用方法,调用票据资产映射合约进行票据映射资产的铸造。该调用第二票据跨链桥合约执行第一跨链转入交易可以是指将第一跨链转入交易写入第二票据跨链桥合约。
因此,第二票据跨链桥合约可以用于在写入第一跨链转入交易时,对第二跨链转入交易进行交易验证,并在交易验证通过后进行票据资产的转移。票据资产映射合约可以用于进行票据资产对应的票据映射资产的铸造。该所铸造的票据映射资产与票据资产相同,可以在应用合约链上被操作。由此,应用合约链链上所部署的合约(比如第二票据跨链桥合约)具备跨链调用合约(如票据映射资产合约)的能力。
应当理解,第二跨链交易请求中可以携带对第一跨链转入交易进行签名所得到的第二交易签名信息。比如可以是由跨链中继通过私钥信息对第一跨链转入交易进行加密所对应得到的第二交易签名信息。对第一跨链转入交易进行交易验证具体可以是,将从第二跨链交易请求中获取到的第一跨链转入交易作为参考交易,调用第二票据跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,比如可以是调用第二票据跨链桥合约中的签名验证方法获取公钥信息;根据公钥信息对第二交易签名信息进行签名验证,且在签名验证成功时,将第二交易签名信息对应的第一跨链转入交易作为待匹配交易,通过第二票据跨链桥合约对参考交易和待匹配交易进行交易比对,得到第二交易对比结果,并将第二交易对比结果作为第二交易验证结果。比如,可以是通过第二票据跨链桥合约中的交易对比方法对参考交易和待匹配交易进行交易比对。
其中,根据公钥信息对第二交易签名信息进行签名验证,即通过公钥信息对第二交易签名信息进行解密,若解密成功即表示签名验证成功。上述待匹配交易即为通过公钥信息对第二交易签名信息进行解密后所对应得到的第二跨链转入交易。
因此,若基于交易比对确定参考交易和待匹配交易相同,则得到的第二交易验证结果指示交易验证成功,即交易来源正确。若基于交易比对确定参考交易和待匹配交易不同,则得到的第二交易验证结果指示交易验证不成功,即交易来源不正确,可以向跨链中继返回针对第一跨链转入交易的验证失败通知消息,以使跨链中继重新发送第二跨链交易请求。
应当理解,在确定交易验证成功时,可以通过第二票据跨链桥合约,调用票据资产映射合约,铸造票据资产对应的票据映射资产。在铸造票据映射资产时,基于第一跨链转入交易配置票据映射资产的状态。比如将票据映射资产的资产状态配置为第一状态,表示票据映射资产当前处于正常状态。又如,可以根据第一跨链转入交易携带的资产属性状态为票据映射资产配置相同的映射资产属性状态。此时,可以在应用合约链上对铸造完成的票据映射资产执行衍生业务逻辑,比如征信识别、红冲等。
此外,第二跨链交易请求中携带有第一跨链事件的事件标识。在应用合约链上铸造与票据资产具有相同资产内容的票据映射资产时,第二共识节点可以调用第二票据跨链桥合约中的事件生成方法,从跨链中继基于第一跨链转入交易所发送的第二跨链交易请求中获取第一跨链事件的事件标识,并可以在票据映射资产铸造完成时,生成与事件标识关联的跨链交易完成事件。跨链交易完成事件用于表征成功将票据资产由票据链转移至应用合约链。
可以理解的是,业务对象可以根据该跨链交易完成事件确定票据资产是否转移完成。具体可以是,获取业务对象通过业务节点针对第一跨链事件发送的事件查询请求,事件查询请求中携带第一跨链事件的事件标识,该第一跨链事件的事件标识可以是业务对象从应用合约链上的第一票据跨链桥合约中获取的;若通过第二票据跨链桥合约中的事件查询方法,查询到事件标识关联的跨链交易完成事件,则向业务对象返回针对第一跨链事件的事件完成通知消息。因此,业务对象接收到该事件完成通知消息时,表示检测到针对票据资产的跨链交易完成,后续可以向第二共识节点发送针对票据映射资产的业务执行请求。
此外,若第一共识节点为票据资产指定了资产用途权限,则跨链中继所生成的第一跨链转入交易携带有基于对应的票据资产的资产用途权限所确定的权限参数。权限参数用于为票据映射资产进行对应资产用途权限的限制,即基于权限参数为票据映射资产指定相同的资产用途权限。应用合约链上的票据映射资产仅能执行该权限参数所指示的资产用途。比如,基于权限参数确定执行的衍生业务为进行票据映射资产的所属对象变更业务,则在应用合约链上仅能对该票据映射资产执行该衍生业务。
因此,第二共识节点可以获取业务对象基于事件完成通知消息发送的衍生业务执行请求,基于衍生业务执行请求中的衍生业务,调用第二票据跨链桥合约获取第一跨链转入交易中的交易参数;在基于前述交易参数确定业务对象具备调用应用合约链上的衍生业务合约的权限时,允许业务对象调用衍生业务合约执行所述票据映射资产所对应的衍生业务。其中,第一跨链转入交易中的交易参数可以包括权限参数、资产映射状态等。基于交易参数确定业务对象是否具备调用衍生业务合约的权限可以是基于交易参数中的权限参数确定业务对象是否具备调用衍生业务合约的权限。
其中,确定业务对象具备调用应用合约链上的衍生业务合约的权限可以是,检测衍生业务执行请求所指示的衍生业务是否为权限参数所指示的衍生业务,若衍生业务执行请求所指示的衍生业务为权限参数所指示的衍生业务,则表示具备调用衍生业务合约的权限。
示例性地,交易参数中的权限参数可以包含资产转移参数。该资产转移参数用于指示将票据映射资产由业务对象转移至与业务对象相关联的衍生业务对应的衍生业务对象。若确定业务对象具备调用应用合约链上的衍生业务合约的权限,可以调用衍生业务合约执行票据映射资产对应的衍生业务;在执行衍生业务时,若基于资产转移参数确定将票据映射资产由业务对象转移至衍生业务对象,则在应用合约链上将票据映射资产的映射资产属性状态由第一属性状态变更为第二属性状态。其中,映射资产属性状态可以是指票据映射资产的所属对象的状态。比如,第一属性状态可以是表征票据资产的所属对象为当前的业务对象的一种状态,第二属性状态可以是表征票据资产的所属对象为衍生业务对象的一种状态。
因此,可以对票据映射资产执行衍生业务,以及基于资产转移参数确定是否将票据资产从业务对象转移至衍生业务对象,即资产转移参数指示针对票据映射资产的所属对象变更业务。在确定要进行对象转移时,对票据映射资产的映射资产属性状态进行变更。上述第二属性状态是基于资产转移参数所指示的衍生业务对象确定的。例如,票据资产为发票资产,衍生业务为针对发票资产的异常退回业务,该资产转移参数用于指示该衍生业务以及指示该衍生业务可以用于将票据映射资产的所属业务对象变更至衍生业务对应的衍生业务对象,比如指示从企业对象变更为个人对象。
示例性地,交易参数中的权限参数可以包含票据状态转移参数。该票据状态转移参数用于指示将票据映射资产的票据状态由无误状态变更至衍生业务(比如红冲业务)对应的红冲状态。若确定业务对象具备调用应用合约链上的衍生业务合约的权限,可以调用衍生业务合约执行票据映射资产对应的衍生业务;在执行衍生业务时,若基于票据状态转移参数确定将票据映射资产的票据状态变更至红冲状态,则在应用合约链上将票据映射资产的映射资产属性状态由第一属性状态变更为第二属性状态。其中,映射资产属性状态可以是指票据映射资产的票据状态,第一属性状态可以是指票据资产处于无误状态,第二属性状态可以是指票据资产处于红冲状态。
因此,可以对票据映射资产执行衍生业务,以及基于票据状态转移参数确定是否对票据资产的票据状态进行变更,并在确定要进行票据状态变更时,对票据映射资产的映射资产属性状态进行变更。该第二属性状态是基于资产转移参数所指示的红冲状态确定。例如,票据资产为发票资产,衍生业务为针对发票资产的红冲业务,该票据状态转移参数用于指示该衍生业务以及指示该衍生业务可以用于将票据映射资产的票据状态变更至对应的红冲状态。
例如,如图8所示,图8是本申请实施例提供的一种跨链资产转入的场景示意图;其中,跨链中继从第一共识节点检测并读取第一跨链事件,并在对第一跨链事件进行事件验证成功时,生成对应的第一跨链转入交易;该第一跨链转入交易携带票据资产P和交易参数;跨链中继生成携带第二交易签名信息和第一跨链转入交易的第二跨链交易请求,并将该第二跨链交易请求发送给第二共识节点;第二共识节点将第一跨链转入交易写入第二票据跨链桥合约,并基于第二交易签名信息对第一跨链转入交易进行交易验证;在交易验证成功时,通过第二票据跨链桥合约调用票据资产映射合约,为P在应用合约链上铸造与P相同的票据映射资产WP,并获取第一跨链转入交易中的交易参数,以用于为票据映射资产赋予交易参数所指示的资产用途权限,即指定WP的资产用途权限,比如将交易参数中的权限参数写入票据映射资产合约,或者将权限参数对应的资产用途权限写入票据映射资产合约;第二共识节点可以从第二跨链交易请求获取第一跨链事件的事件标识,并生成与该事件标识关联的跨链交易完成事件,通过该跨链交易完成事件可以使得业务对象确定P转移完成;业务对象可以在应用合约链上对WP执行指定的衍生业务,比如可以是业务对象通过业务节点生成针对WP的衍生业务执行请求,并发送给第二共识节点,第二共识节点基于衍生业务执行请求所指示的衍生业务和交易参数确定业务对象是否具备调用应用合约链上的衍生业务合约的权限,并在确定具备该权限时,对WP执行该所指示的衍生业务。例如,衍生业务执行请求所指示的衍生业务为红冲业务,若基于交易参数确定WP的资产用途权限为红冲业务,则表示具备调用该红冲业务相关联的衍生业务合约的权限;若基于交易参数确定WP的资产用途权限不包括红冲业务,则表示不具备调用该红冲业务相关联的衍生业务合约的权限。
由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现票据资产的跨链转移,比如,可以在管理链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将票据资产从票据链转移至应用合约链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的票据链、管理链和应用合约链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在票据链上执行与票据资产本身相关的票据业务,而在应用合约链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对票据资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如票据链上的第一票据跨链桥合约、票据资产合约等)来协作执行针对该票据资产的转移业务,可以确保链上所执行业务(即跨链转移票据资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
进一步的,请参见图9,图9是本申请实施例提供的一种基于多区块链的资产转移方法,如图9所示,方法可以由上述提及的第二链(比如为应用合约链)对应的第二链网络(比如为应用合约链网络)中的第二共识节点执行,比如,该第二共识节点可以为上述图1所示的共识网络300a中任意一个共识节点。方法具体可以包括以下步骤S901-步骤S903。
步骤S901,获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求。
其中,第二跨链资产转出请求中携带业务数据信息。该业务数据信息用于对业务对象的跨链资产转回权限进行权限验证,确保业务对象的第二资产(比如为票据映射资产)转移合法性。上述第二跨链资产转出请求用于指示第二共识节点通过跨链中继将票据映射资产从应用合约链转移回票据链。可以理解的是,当业务对象需要在对票据映射资产执行完衍生业务后,可以生成第二跨链资产转出请求以使得指定的票据映射资产从应用合约链转移到票据链上。
应当理解,业务对象在通过业务节点生成第二跨链资产转出请求时,可以从管理链获取业务数据信息,基于获取的业务数据信息生成该针对第二跨链转出交易的第二跨链资产转出请求。或者,也可以是业务对象通过业务节点预先将业务数据信息存储在本地,在生成第二跨链资产转出请求时,可以从本地获取该业务数据信息,以生成该第二跨链资产转出请求。
步骤S902,将第二跨链资产转出请求中携带的第二跨链转出交易写入应用合约链上的第二跨链桥合约。
步骤S903,在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件。
其中,第二票据跨链桥合约可以用于对第二跨链资产转出请求进行业务对象的跨链资产转回权限的权限验证,在权限验证成功后确定业务对象具有跨链资产转回权限,并继续执行票据映射资产的转移流程。
因此,基于第二跨链桥合约(比如为第二票据跨链桥合约)进行跨链资产转回权限的权限验证具体可以是,调用第二票据跨链桥合约中的跨链权限查询方法,生成转回权限验证请求;该转回权限验证请求用于指示管理共识节点调用管理链上的跨链权限管理合约查询业务对象的源配置数据信息,比如可以是调用跨链权限管理合约中的跨链权限查询方法查询该业务对象是否具有源配置数据信息;接收管理共识节点基于转出权限验证请求返回的源配置数据信息,将源配置数据信息和第二跨链转出请求中携带的业务数据信息进行信息比对,得到信息比对结果,根据信息比对结果确定业务对象是否具有跨链资产转回权限。比如,可以是通过第二票据跨链桥合约中的信息对比方法对业务数据信息和源配置数据信息进行信息比对。
或者,基于第二票据跨链桥合约进行权限验证以确定业务对象是否具有跨链资产转出权限,具体可以是,调用第二票据跨链桥合约生成携带业务数据信息的转回权限验证请求,该转回权限验证请求用于指示管理共识节点调用管理链上的跨链授权管理合约查询业务对象的源配置数据信息,并对源配置数据信息和转回权限验证请求中的业务数据信息进行信息比对,得到信息对比结果。比如可以是调用跨链权限管理合约中的跨链权限查询方法查询该业务对象是否具有源配置数据信息;由管理共识节点调用跨链权限管理合约中的信息对比方法对业务数据信息和源配置数据信息进行信息比对;第二共识节点可以接收管理共识节点基于转回权限验证请求返回的信息对比结果,并根据信息比对结果确定业务对象是否具有跨链资产转回权限。
应当理解,确定业务对象是否具有跨链资产转回权限可以是,若信息比对结果指示对比成功,即业务数据信息与源配置数据信息相同,则确定业务对象具备跨链资产转回权限;即确定此时针对票据映射资产的转移合法;若信息比对结果指示对比不成功,即业务数据信息与源配置数据信息不同,则确定业务对象不具备跨链资产转回权限。
具体的,在确定业务对象具备跨链转出权限时,需要根据第二跨链转出交易对票据映射资产进行锁定,以确保转移至票据链上的票据映射资产和应用合约链上的票据映射资产的一致性。对票据映射资产进行锁定的具体方式可以是,调用票据资产映射合约将票据映射资产的资产状态由第一状态切换为第二状态。票据资产映射合约用于管理链上票据资产的资产状态。比如可以是对转移出的票据映射资产进行锁定。
其中,调用第二资产合约(比如为票据资产映射合约)进行资产状态切换可以是通过第二票据跨链桥合约中的资产合约调用方法,调用票据资产映射合约在应用合约链上进行票据映射资产的资产状态切换。该第一状态可以是指正常状态,即指示票据映射资产未被锁定;第二状态可以是指锁定状态,即指示票据映射资产已被锁定。此时,应用合约链上被锁定的票据映射资产不能被操作和修改。
因此,第二共识节点可以在检测到票据映射资产的资产状态为第二状态时,调用生成第二跨链转出交易对应的第二跨链事件,此时表示第二跨链转出交易在第二共识节点上执行完成。比如可以是调用第二票据跨链桥合约中的事件生成方法生成第二跨链事件。该第二跨链事件可以携带有票据映射资产、票据映射资产当前的资产属性状态等信息。
其中,第二跨链事件用于指示跨链中继在构建得到第二跨链转出交易对应的第二跨链转入交易时,将第二跨链转入交易发送至第一共识节点。该第二跨链转入交易用于指示第一共识节点将票据映射资产转移到票据链上,即该第一共识节点可以用于在将第二跨链转入交易写入票据链上的第一票据跨链桥合约时,调用第一票据跨链桥合约所指示的票据资产合约,在票据链上对锁定的票据资产进行解锁。即将票据资产的资产状态从第二状态变更为第一状态。因此第二跨链转入交易和第二跨链转出交易用于指示将票据映射资产从应用合约链转移至票据链。其中,第一共识节点对第二跨链转入交易的执行过程可以参见上述图5所示实施例的相关描述。
此外,跨链中继可以检测应用合约链的第二票据跨链桥合约所产生的票据事件,并在检测到第二跨链事件时,从第二共识节点的应用合约链上获取该第二跨链事件;在对第二跨链事件进行事件验证成功时,基于该第二跨链事件中的票据映射资产、资产属性状态等信息生成第二跨链转入交易,以实现票据映射资产的转移。
因此,第二共识节点可以在检测到第二跨链事件生成时,调用票据资产映射合约将锁定的票据映射资产进行销毁。或者,也可以是跨链中继在第一共识节点的第一票据跨链桥合约上检测到与第二跨链事件关联的跨链交易完成事件时,向第二共识节点发送跨链完成通知消息。由第二共识节点在接收到跨链完成通知消息时,调用票据资产映射合约将锁定的票据映射资产进行销毁。比如,是通过第二票据跨链桥合约中的资产映射合约调用方法对锁定的票据映射资产进行销毁。
例如,如图10所示,图10是本申请实施例提供的一种跨链资产转出的场景示意图;其中,业务对象A向第二共识节点发送针对第二跨链转出交易的第二跨链资产转出请求,该第二跨链资产转出请求携带业务数据信息X;第二共识节点基于第二票据跨链桥合约和X对业务对象的跨链资产转入权限进行验证,其具体可以是,通过第二票据跨链桥合约生成转回权限验证请求并发送给管理共识节点,管理共识节点基于转回权限验证请求和跨链权限管理合约查询业务对象A所存储的源配置数据信息X’;第二共识节点对X和X’进行信息比对,以确定出业务对象具有跨链资产转回权限;第二共识节点通过第二票据跨链桥合约调用票据资产映射合约锁定票据映射资产WP,并生成对应的第二跨链事件;跨链中继可以检测并读取第二跨链事件,并生成对应的第二跨链转入交易,该第二跨链转入交易中携带有WP、交易参数(比如映射资产属性状态等);跨链中继将携带有第二跨链转入交易的第一跨链交易请求发送给第一共识节点,由第一共识节点基于第二跨链转入交易以及票据链上的第一票据跨链桥合约和票据资产合约进行WP的转移流程;后续,跨链中继可以从第一共识节点的票据链上的第一票据跨链桥合约中检测并读取到第二跨链事件的事件标识关联的跨链交易完成事件,并向第二共识节点返回跨链完成通知消息,由第二共识节点对锁定的WP进行销毁。
由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现票据资产的跨链转移,比如,可以在管理链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将票据资产从票据链转移至应用合约链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的票据链、管理链和应用合约链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在票据链上执行与票据资产本身相关的票据业务,而在应用合约链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对票据资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如票据链上的第一票据跨链桥合约、票据资产合约等)来协作执行针对该票据资产的转移业务,可以确保链上所执行业务(即跨链转移票据资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
进一步的,请参见图11,图11是本申请实施例提供的一种基于多区块链的资产转移方法,如图11所示,方法可以由上述第一链网络中的第一共识节点、第二链网络中的第二共识节点、跨链中继执行。比如,这里的第一共识节点可以为上述图1所示的共识网络200a中任意一个共识节点,第二共识节点可以为上述图1所示的共识网络300a中任意一个共识节点。应当理解,第一链网络、第二链网络、目标链网络各自独立,且跨链中继用于隔离第一链网络和第二链网络;此时,该方法具体可以包括以下步骤S1101-步骤S1107。
步骤S1101,第一共识节点获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求。
其中,业务对象可以预先向管理链网络中的管理共识节点申请用于进行权限验证的业务数据信息,比如由管理共识节点调用管理链上的跨链权限管理合约为业务对象配置专属的授权码,以作为业务数据信息。以及可以针对携带业务数据信息的第一跨链资产转出请求。该第一跨链资产转出请求用于指示将业务对象的票据资产从票据链转移至应用合约链。
步骤S1102,第一共识节点将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约。
步骤S1103,第一共识节点在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件。
其中,第一共识节点可以在写入第一跨链转出交易时,基于第一跨链桥合约(比如为第一票据跨链桥合约)和业务数据信息确定业务对象是否具备跨链资产转出权限。比如可以是,调用第一票据跨链桥合约生成针对业务对象的转出权限验证请求,并将转出权限验证请求发送给管理共识节点,由管理共识节点调用管理链上的跨链授权管理合约查询业务对象的源配置数据信息;第一共识节点接收管理共识节点返回的源配置数据信息,并对源配置数据信息和第一资产转出请求中的业务数据信息进行信息比对,若信息比对结果指示对比成功,则确定业务对象具备跨链资产转出权限。
因此,可以通过第一票据跨链桥合约,调用票据链上的第一资产合约(比如为票据资产合约)锁定第一资产(比如为票据资产),并调用第一票据跨链桥合约生成第一跨链转出交易对应的第一跨链事件。该第一跨链事件携带的事件参数比如可以包括锁定的票据资产、资产属性状态、基于指定的资产用途权限所确定的权限参数等信息。
步骤S1104,跨链中继获取第一跨链事件。
步骤S1105,跨链中继基于第一跨链事件构建第一跨链转出交易对应的第一跨链转入交易。
其中,跨链中继可以检测并获取第一共识节点上的第一票据跨链桥合约上的第一跨链事件,并基于第一跨链事件中的携带的信息构建第一跨链转入交易。该第一跨链转入交易携带锁定的票据资产和交易参数。该交易参数可以包括资产属性状态、权限参数等信息。
步骤S1106,跨链中继将第一跨链转入交易发送至第二共识节点。
其中,跨链中继可以生成携带第一跨链转入交易的第二跨链交易请求,并将该第二跨链交易请求发送至第二共识节点,以实现将第一跨链转入交易发送至第二共识节点。该第二跨链交易请求中可以携带跨链中继通过私钥信息对第一跨链转入交易进行签名所得到的第二交易签名信息。
步骤S1107,第二共识节点在将第一跨链转入交易写入第二链上的第二跨链桥合约时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,第二共识节点在从第二跨链交易请求中获取第一跨链转入交易,并写入应用合约链上的第二跨链桥合约(比如为第二票据跨链桥合约)时,可以基于第二交易签名信息对第一跨链转入交易进行交易验证,并在交易验证成功时,调用第二资产合约(比如为票据资产映射合约),铸造第二资产(比如为票据映射资产)。此外,还可以基于第一跨链转入交易中的交易参数为票据映射资产设置相应的资产映射状态、映射资产属性状态、以及资产用途权限等。其中,进行交易验证的具体方式可以参见上述实施例的相关描述。
此外,第二跨链交易请求还携带了第一跨链事件的事件标识,在铸造票据映射资产完成时,可以调用第二票据跨链桥合约生成该事件标识关联的跨链交易完成事件,以表征成功将票据资产由票据链转移至应用合约链。业务对象可以通过该跨链交易完成事件确定票据资产是否转移完成,并在确定转移完成后发送针对票据映射资产的衍生业务执行请求,以在应用合约链上对票据映射资产执行指定衍生业务。
例如,如图12所示,图12是本申请实施例提供的一种基于多区块链的资产转移方法;图12可以表征将第二资产从第二链转移回第一链的执行过程;具体可以是:S1、第二共识节点获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求;该第二跨链资产转出请求携带有业务数据信息;S2、第二共识节点将第二跨链资产转出请求中携带的第二跨链转出交易写入第二链上的第二跨链桥合约;S3、第二共识节点在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二链上的第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件;该第二共识节点确定业务对象的跨链资产转回权限的具体原理可以同第一共识节点确定业务对象的跨链资产转出权限的原理;S4、跨链中继获取第二跨链事件;S5、跨链中继基于第二跨链事件构建第二跨链转出交易对应的第二跨链转入交易;第二跨链转入交易可以携带锁定的第二资产和交易参数,该交易参数可以包括资产属性状态等信息;S6、跨链中继将第二跨链转入交易发送至第一共识节点;比如可以是,跨链中继生成携带第二跨链转入交易的第一跨链交易请求,并将该第一跨链交易请求发送至第一共识节点,以实现将第二跨链转入交易发送至第一共识节点;前述第一跨链交易请求中可以携带跨链中继通过私钥信息对第二跨链转入交易进行签名所得到的第一交易签名信息;S7、第一共识节点在将第二跨链转入交易写入第一链上的第一跨链桥合约时,调用第一跨链桥合约所指示的第一资产合约,在第一链上对锁定的第一资产进行解锁;第一共识节点可以基于第一交易签名信息对第二跨链转入交易进行交易验证,并在交易验证成功时对锁定的第一资产进行解锁;此外,可以进一步基于第二跨链转入交易中的交易参数确定第二资产的映射资产属性状态是否需要变更,比如基于交易参数中的映射资产属性状态确定第二资产发生了变更,便对解锁的第一资产的资产属性状态进行相应变更。此外,第一跨链交易请求还携带了第二跨链事件的事件标识,在解锁第一资产完成时,可以调用第一跨链桥合约生成该事件标识关联的跨链交易完成事件,以表征成功将第二资产由第二链转移至第一链。第二共识节点可以在接收到由跨链中继基于该跨链交易完成事件生成的跨链完成通知消息时对锁定的第二资产进行销毁。后续,业务对象可以通过该跨链交易完成事件确定第二资产是否转移完成,并在确定转移完成后向第一共识节点发送针对第一资产的业务执行请求,以在第一链上对第一资产执行指定业务。
其中,图11所示实施例的具体实现方式,可以参见上述图3、图5、图7、图9所对应实施例中的具体描述,这里将不再继续进行赘述。
基于上述描述,将电子票据区块链系统改进为三个共识网络,由三个共识网络分别维护管理链、票据链和应用合约链。该三条链具备的功能特性不同,互相结合,形成了一个针对链上数据的管理更简洁、流程更清晰高效、业务扩展性更好的区块链系统。本申请技术方案提出的链上资产跨链协议可以使得票据资产在三条链间进行更好的传递和使用,并创造更多的业务价值。该票据资产跨链协议通过对转移出的票据资产(或票据映射资产)进行锁定,实现票据资产在链间传递时的一致性,保证了在多链架构下,链上数据的数据内容和数据状态的正确性。此外,可以使得在应用合约链上通过衍生业务合约对票据资产执行衍生业务时,不影响票据链上的业务稳定性,且使得在执行衍生业务时无法访问票据链上与衍生业务不相关的链上数据,从而实现了很好的数据隔离性和业务安全性。
由此可见,本申请实施例提供了一种基于多区块链的资产转移机制,该基于多区块链的资产转移机制旨在强调可以通过三链的相互协作,实现票据资产的跨链转移,比如,可以在管理链为用户(即前述业务对象)授权配置有上述业务数据信息的情况下,允许用户发起用于将票据资产从票据链转移至应用合约链的转移业务,这里的转移业务即为上述第一跨链转出交易。应当理解,由于本申请实施例所涉及的票据链、管理链和应用合约链彼此相互独立,故而可以分别用于执行不同的业务(比如,可以在票据链上执行与票据资产本身相关的票据业务,而在应用合约链上执行与该票据业务相关联的衍生业务),从而降低各链上所存储数据的混杂程度。另外,通过多区块链之间的相互协作,还可以在各链上正常执行其他业务时,即不影响其他业务的请求下,实现该转移业务的同步跨链执行,进而可以提升对票据资产进行跨链转移的转移效率。应当理解,本申请实施例在基于多区块链的资产转移过程中,通过链上部署的合约(比如票据链上的第一票据跨链桥合约、票据资产合约等)来协作执行针对该票据资产的转移业务,可以确保链上所执行业务(即跨链转移票据资产的转移业务)不受其他业务的影响,进而可以确保该转移业务的业务稳定性。
进一步的,请参见图13,图13是本申请实施例提供的一种基于多区块链的资产转移装置的结构示意图。如图13所示,基于多区块链的资产转移装置1可应用于第一共识节点中,该第一共识节点可以为第一链网络(例如,上述共识网络300a)中任意一个区块链节点,例如,该第一共识节点可以为上述图1所对应实施例中的共识节点11c。应当理解,该基于多区块链的资产转移装置1可以是运行于区块链节点(比如,前述共识节点10c)中的一个计算机程序(包括程序代码),例如该基于多区块链的资产转移装置1可以为一个应用软件;可以理解的是,该基于多区块链的资产转移装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,基于多区块链的资产转移装置1可以包括:获取模块11、写入模块12和调用模块13;
获取模块11,用于获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;该第一跨链资产转出请求中携带目标链网络中的管理共识节点为业务对象配置的业务数据信息;该第一跨链资产转出请求用于指示第一共识节点通过跨链中继将属于业务对象的第一资产从第一链转移至与第二共识节点相关联的第二链;该第二共识节点为第二链对应的第二链网络中的共识节点;跨链中继用于隔离第二链网络和第一链网络,且第二链网络独立于目标链网络和第一链网络;
写入模块12,用于将第一跨链资产转出请求中携带的第一跨链转出交易写入第一链上的第一跨链桥合约;
调用模块13,用于在基于第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限时,调用第一链上的第一资产合约锁定第一资产,且生成第一跨链转出交易对应的第一跨链事件;第一跨链事件用于指示跨链中继在构建得到第一跨链转出交易对应的第一跨链转入交易时,将第一跨链转入交易发送至第二共识节点;该第二共识节点用于在将第一跨链转入交易写入第二链上的第二跨链桥合约时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,调用模块13包括:
转出权限验证单元131,用于调用第一跨链桥合约中的跨链权限查询方法,生成转出权限验证请求;转出权限验证请求用于指示管理共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
信息接收单元132,用于接收管理共识节点基于转出权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
信息比对单元133,用于若信息比对结果指示对比成功,则确定业务对象具备跨链资产转出权限;
跨链事件生成单元134,用于调用第一资产合约将第一资产的资产状态由第一状态切换为第二状态,且在第一资产的资产状态为第二状态时生成第一跨链转出交易对应的第一跨链事件。
其中,获取模块11包括:
接收单元111,用于接收跨链中继针对第二资产发送的第二跨链转入交易;第二跨链转入交易是由跨链中继从第二共识节点读取到第二跨链转出交易对应的第二跨链事件时所构建的,第二跨链事件由第二共识节点获取到业务对象针对第二资产所提交的第二跨链转出交易生成的;
写入模块112,还具体用于将第二跨链转入交易写入第一跨链桥合约,基于第一跨链桥合约对第二跨链转入交易进行交易验证,得到第一交易验证结果;
调用模块13,还具体用于在第一交易验证结果指示交易验证成功时,通过第一跨链桥合约中的资产合约调用方法,调用第一资产合约在第一链上对锁定的第一资产进行解锁。
其中,第二跨链转入交易为跨链中继所发送的第一跨链交易请求中的交易;第一跨链交易请求中携带跨链中继通过私钥信息对第二跨链转入交易进行签名所得到的第一交易签名信息;
写入模块12包括:
交易写入单元121,用于将从第一跨链交易请求中获取到的第二跨链转入交易作为待处理交易,将待处理交易写入第一跨链桥合约;
签名验证单元122,用于调用第一跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第一交易签名信息进行签名验证,且在签名验证成功时,将第一交易签名信息对应的第二跨链转入交易作为待验证交易;
交易比对单元123,用于通过第一跨链桥合约中的交易对比方法对待处理交易和待验证交易进行交易比对,得到第一交易对比结果,将第一交易对比结果作为第一交易验证结果。
其中,第一资产的资产属性状态为第一属性状态;在第二资产的映射资产属性状态由第一属性状态变更为第二属性状态时,调用模块13包括:
属性状态变更单元135,用于在调用第一资产合约在第一链上对锁定的第一资产进行解锁时,将第一资产的资产属性状态由第一属性状态变更为第二属性状态。
其中,写入模块12,还具体用于在将第一跨链转出交易写入第一跨链桥合约时,指定第一跨链转出交易所对应的第一资产的资产用途权限。
其中,获取模块11、写入模块12和调用模块13的具体实现方式,可以参见上述实施例的描述,这里将不再继续进行赘述。应当理解,对采用相同方法所得到的有益效果描述,也不再进行赘述。
进一步的,请参见图14,图14是本申请实施例提供的一种基于多区块链的资产转移装置的结构示意图。如图14所示,多区块链的资产转移装置2可应用于第二共识节点中,该第二共识节点可以为第二链网络(例如,上述共识网络300a)中任意一个区块链节点,例如,该第二共识节点可以为上述图1所对应实施例中的共识节点12c。应当理解,该基于多区块链的资产转移装置2可以是运行于区块链节点(比如,前述共识节点12c)中的一个计算机程序(包括程序代码),例如该基于多区块链的资产转移装置2可以为一个应用软件;可以理解的是,该基于多区块链的资产转移装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图14所示,基于多区块链的资产转移装置2可以包括:处理模块21,资产铸造模块22;
处理模块21,用于获取跨链中继针对第一资产发送的第一跨链转入交易;该第一跨链转入交易是由跨链中继从第一共识节点读取到第一跨链转出交易对应的第一跨链事件时所构建的;该第一跨链事件是由第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用第一链上的第一资产合约锁定第一资产时所生成的;该业务数据信息为目标链网络中的管理共识节点为业务对象所配置的;该第一共识节点为第一链对应的第一链网络中的共识节点;跨链中继用于隔离第一链网络和第二链网络,且第一链网络独立于目标链网络和第二链网络;
处理模块21,还用于将第一跨链转入交易写入第二链上的第二跨链桥合约;
资产铸造模块22,用于调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,资产铸造模块22包括:
交易验证单元221,用于在调用第二跨链桥合约执行第一跨链转入交易时,对第一跨链转入交易进行交易验证,得到第二交易验证结果;
资产铸造单元222,用于在第二交易验证结果指示交易验证成功时,调用第二跨链桥合约所指示的第二资产合约,在第二链上铸造与第一资产具有相同资产内容的第二资产。
其中,第一跨链转入交易为跨链中继所发送的第二跨链交易请求中的交易;第二跨链交易请求中携带跨链中继通过私钥信息对第一跨链转入交易进行签名所得到的第二交易签名信息;
交易验证单元221包括:
交易获取子单元2211,用于将从第二跨链交易请求中获取到的第一跨链转入交易作为参考交易;
签名验证子单元2212,用于调用第二跨链桥合约中的签名验证方法获取跨链中继的私钥信息所对应的公钥信息,根据公钥信息对第二交易签名信息进行签名验证,且在签名验证成功时,将第二交易签名信息对应的第一跨链转入交易作为待匹配交易;
交易比对子单元2213,用于通过第二跨链桥合约中的交易对比方法对参考交易和待匹配交易进行交易比对,得到第二交易对比结果,将第二交易对比结果作为第二交易验证结果。
其中,资产铸造模块22,还具体用于在第二链上铸造与第一资产具有相同资产内容的第二资产时,调用第二跨链桥合约中的事件生成方法,从跨链中继基于第一跨链转入交易所发送的第二跨链交易请求中获取第一跨链事件的事件标识,并生成与事件标识关联的跨链交易完成事件;跨链交易完成事件用于表征成功将第一资产由第一链转移至第二链。
其中,资产铸造模块22包括:
查询请求获取单元223,用于获取业务对象针对第一跨链事件发送的事件查询请求;事件查询请求中携带第一跨链事件的事件标识;
完成事件查询单元224,用于若通过第二跨链桥合约中的事件查询方法,查询到事件标识关联的跨链交易完成事件,则向业务对象返回针对第一跨链事件的事件完成通知消息。
其中,资产铸造模块22包括:
执行请求获取单元225,用于获取业务对象基于事件完成通知消息发送的衍生业务执行请求;
交易参数获取单元226,用于基于衍生业务执行请求中的衍生业务,调用第二跨链桥合约获取第一跨链转入交易中的交易参数;交易参数是由第一跨链转入交易所对应的第一资产的资产用途权限所确定的;
合约调用单元227,用于在基于交易参数确定业务对象具备调用第二链上的衍生业务合约的权限时,允许业务对象调用衍生业务合约执行第二资产对应的衍生业务。
其中,交易参数包含资产转移参数;资产转移参数用于指示将第二资产由业务对象转移至与业务对象相关联的衍生业务对应的衍生业务对象;合约调用单元,还具体用于在调用衍生业务合约执行第二资产对应的衍生业务时,若基于资产转移参数确定将第二资产由业务对象转移至衍生业务对象,则在第二链上将第二资产的映射资产属性状态由第一属性状态变更为第二属性状态。
其中,处理模块21包括:
转出请求获取单元211,用于获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求;第二跨链资产转出请求中携带业务数据信息;第二跨链资产转出请求用于指示第二共识节点通过跨链中继将第二资产从第二链转移回第一链;
交易写入单元212,用于将第二跨链资产转出请求中携带的第二跨链转出交易写入第二链上的第二跨链桥合约;
跨链事件生成单元213,用于在基于第二跨链桥合约和业务数据信息确定业务对象具备跨链资产转回权限时,调用第二资产合约锁定第二资产,且生成第二跨链转出交易对应的第二跨链事件;第二跨链事件用于指示跨链中继在构建得到第二跨链转出交易对应的第二跨链转入交易时,将第二跨链转入交易发送至第一共识节点;第一共识节点用于在将第二跨链转入交易写入第一链上的第一跨链桥合约时,调用第一跨链桥合约所指示的第一资产合约,在第一链上对锁定的第一资产进行解锁。
其中,跨链事件生成单元213包括:
验证请求生成子单元2131,用于调用第二跨链桥合约中的跨链权限查询方法,生成转回权限验证请求;转回权限验证请求用于指示管理共识节点调用目标链上的跨链授权管理合约查询业务对象的源配置数据信息;
接收子单元2132,用于接收管理共识节点基于转回权限验证请求返回的源配置数据信息,将源配置数据信息和业务数据信息进行信息比对,得到信息对比结果;
权限确定子单元2133,用于若信息比对结果指示对比成功,则确定业务对象具备跨链资产转回权限;
事件生成子单元2134,用于调用第二资产合约将第二资产的资产状态由第一状态切换为第二状态,且在第二资产的资产状态为第二状态时生成第二跨链转出交易对应的第二跨链事件。
其中,处理模块21,资产铸造模块22的具体实现方式,可以参见上述实施例中的描述,这里将不再继续进行赘述。另外,对于采用相同方法所得到的相同有益效果的描述,也不再进行赘述。
进一步地,请参见图15,图15是本申请实施例提供的一种计算机设备的结构示意图。如图15所示,该计算机设备1500可以为用户终端,还可以为服务器,这里将不对其进行限制。可以理解的是,计算机设备可以为上述第一共识节点以及第二共识节点。为便于理解,本申请以计算机设备为服务器为例,该计算机设备1500可以包括:处理器1501,网络接口1504和存储器1505,此外,该计算机设备1500还可以包括:用户接口1503,和至少一个通信总线1502。其中,通信总线1502用于实现这些组件之间的连接通信。其中,用户接口1503还可以包括标准的有线接口、无线接口。网络接口1504可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1505可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1505可选的还可以是至少一个位于远离前述处理器1501的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1505中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1500中的网络接口1504还可以提供网络通讯功能。在图12所示的计算机设备1500中,网络接口1504可提供网络通讯功能;而用户接口1503主要用于为用户提供输入的接口;而处理器1501可以用于调用存储器1505中存储的设备控制应用程序,以执行上述图3、图5、图7、图9或者图11所对应实施例中对基于多区块链的资产转移方法的描述,还可以执行前文图13、或者图14所对应实施例中对基于多区块链的资产转移装置(即上述基于多区块链的资产转移装置1、或者基于多区块链的资产转移装置2)的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于多区块链的资产转移装置1、或者基于多区块链的资产转移装置2所执行的计算机程序,且计算机程序包括计算机指令,当处理器执行计算机指令时,能够执行前文图3、图5、图7、图9或者图11所对应实施例中对基于多区块链的资产转移方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3、图5、图7、图9或者图11所对应实施例中对基于多区块链的资产转移方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图16,图16是本申请实施例提供的一种基于多区块链的资产转移系统的示意图。该基于多区块链的资产转移系统3可以包含共识节点3a、共识节点3b和共识节点3c;其中,共识节点3a可以为上述图3所对应实施例所描述的处于目标链网络中的管理共识节点,该管理共识节点可以为上述图1所示的共识网络100a中的任意一个区块链节点,这里将不再继续进行赘述。其中,共识节点3b可以为上述图3所对应实施例所描述的处于第一链网络中的第一共识节点,该第一共识节点可以为上述图1所示的共识网络300a中的任意一个区块链节点,这里将不再继续进行赘述。其中,共识节点3c可以为上述图3所对应实施例所描述的处于第二链网络中的第二共识节点,该第二共识节点可以为上述图1所示的共识网络300a中的任意一个区块链节点,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种基于多区块链的资产转移方法,其特征在于,所述多区块链包含第一链、第二链和目标链;所述方法由所述第一链对应的第一链网络中的第一共识节点执行,所述方法包括:
获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;所述第一跨链资产转出请求中携带目标链网络中的目标共识节点为所述业务对象配置的业务数据信息;所述第一跨链资产转出请求用于指示所述第一共识节点通过跨链中继将属于所述业务对象的第一资产从所述第一链转移至与第二共识节点相关联的所述第二链;所述第二共识节点为所述第二链对应的第二链网络中的共识节点;所述跨链中继用于隔离所述第二链网络和所述第一链网络,且所述第二链网络独立于所述目标链网络和所述第一链网络;
将所述第一跨链资产转出请求中携带的所述第一跨链转出交易写入所述第一链上的第一跨链桥合约;
在基于所述第一跨链桥合约和所述业务数据信息确定所述业务对象具备跨链资产转出权限时,调用所述第一链上的第一资产合约锁定所述第一资产,且生成所述第一跨链转出交易对应的第一跨链事件;所述第一跨链事件用于指示所述跨链中继在构建得到所述第一跨链转出交易对应的第一跨链转入交易时,将所述第一跨链转入交易发送至所述第二共识节点;所述第二共识节点用于在将所述第一跨链转入交易写入所述第二链上的第二跨链桥合约时,调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产。
2.根据权利要求1所述的方法,其特征在于,所述在基于所述第一跨链桥合约和所述业务数据信息确定所述业务对象具备跨链资产转出权限时,调用所述第一链上的第一资产合约锁定所述第一资产,且生成所述第一跨链转出交易对应的第一跨链事件,包括:
调用所述第一跨链桥合约中的跨链权限查询方法,生成转出权限验证请求;所述转出权限验证请求用于指示所述目标共识节点调用所述目标链上的跨链授权管理合约查询所述业务对象的源配置数据信息;
接收所述目标共识节点基于所述转出权限验证请求返回的所述源配置数据信息,将所述源配置数据信息和所述业务数据信息进行信息比对,得到信息对比结果;
若所述信息比对结果指示对比成功,则确定所述业务对象具备所述跨链资产转出权限;
调用所述第一资产合约将所述第一资产的资产状态由第一状态切换为第二状态,且在所述第一资产的资产状态为所述第二状态时生成所述第一跨链转出交易对应的第一跨链事件。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述跨链中继针对所述第二资产发送的第二跨链转入交易;所述第二跨链转入交易是由所述跨链中继从所述第二共识节点读取到第二跨链转出交易对应的第二跨链事件时所构建的,所述第二跨链事件由所述第二共识节点获取到所述业务对象针对所述第二资产所提交的所述第二跨链转出交易生成的;
将所述第二跨链转入交易写入所述第一跨链桥合约,基于所述第一跨链桥合约对所述第二跨链转入交易进行交易验证,得到第一交易验证结果;
在所述第一交易验证结果指示交易验证成功时,通过所述第一跨链桥合约中的资产合约调用方法,调用所述第一资产合约在所述第一链上对锁定的所述第一资产进行解锁。
4.根据权利要求3所述的方法,其特征在于,所述第二跨链转入交易为所述跨链中继所发送的第一跨链交易请求中的交易;所述第一跨链交易请求中携带所述跨链中继通过私钥信息对所述第二跨链转入交易进行签名所得到的第一交易签名信息;
所述将所述第二跨链转入交易写入所述第一跨链桥合约,基于所述第一跨链桥合约对所述第二跨链转入交易进行交易验证,得到第一交易验证结果,包括:
将从所述第一跨链交易请求中获取到的所述第二跨链转入交易作为待处理交易,将所述待处理交易写入所述第一跨链桥合约;
调用所述第一跨链桥合约中的签名验证方法获取所述跨链中继的私钥信息所对应的公钥信息,根据所述公钥信息对所述第一交易签名信息进行签名验证,且在签名验证成功时,将所述第一交易签名信息对应的第二跨链转入交易作为待验证交易;
通过所述第一跨链桥合约中的交易对比方法对所述待处理交易和所述待验证交易进行交易比对,得到第一交易对比结果,将所述第一交易对比结果作为所述第一交易验证结果。
5.根据权利要求3所述的方法,其特征在于,所述第一资产的资产属性状态为所述第一属性状态;在所述第二资产的映射资产属性状态由第一属性状态变更为第二属性状态时,所述方法还包括:
在调用所述第一资产合约在所述第一链上对锁定的所述第一资产进行解锁时,将所述第一资产的资产属性状态由所述第一属性状态变更为所述第二属性状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述第一跨链转出交易写入所述第一跨链桥合约时,指定所述第一跨链转出交易所对应的第一资产的资产用途权限。
7.一种基于多区块链的资产转移方法,其特征在于,所述多区块链包含第一链、第二链和目标链;所述方法由所述第二链对应的第二链网络中的第二共识节点执行,所述方法包括:
获取跨链中继针对第一资产发送的第一跨链转入交易;所述第一跨链转入交易是由所述跨链中继从第一共识节点读取到第一跨链转出交易对应的第一跨链事件时所构建的;所述第一跨链事件是由所述第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用所述第一链上的第一资产合约锁定所述第一资产时所生成的;所述业务数据信息为目标链网络中的目标共识节点为所述业务对象所配置的;所述第一共识节点为所述第一链对应的第一链网络中的共识节点;所述跨链中继用于隔离所述第一链网络和所述第二链网络,且所述第一链网络独立于所述目标链网络和所述第二链网络;
将所述第一跨链转入交易写入所述第二链上的第二跨链桥合约;
调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产。
8.根据权利要求7所述的方法,其特征在于,所述调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产,包括:
在调用所述第二跨链桥合约执行所述第一跨链转入交易时,对所述第一跨链转入交易进行交易验证,得到第二交易验证结果;
在所述第二交易验证结果指示交易验证成功时,调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产。
9.根据权利要求8所述的方法,其特征在于,所述第一跨链转入交易为所述跨链中继所发送的第二跨链交易请求中的交易;所述第二跨链交易请求中携带所述跨链中继通过私钥信息对所述第一跨链转入交易进行签名所得到的第二交易签名信息;
所述对所述第一跨链转入交易进行交易验证,得到第二交易验证结果,包括:
将从所述第二跨链交易请求中获取到的所述第一跨链转入交易作为参考交易;
调用所述第二跨链桥合约中的签名验证方法获取所述跨链中继的私钥信息所对应的公钥信息,根据所述公钥信息对所述第二交易签名信息进行签名验证,且在签名验证成功时,将所述第二交易签名信息对应的第一跨链转入交易作为待匹配交易;
通过所述第二跨链桥合约中的交易对比方法对所述参考交易和所述待匹配交易进行交易比对,得到第二交易对比结果,将所述第二交易对比结果作为所述第二交易验证结果。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产时,调用所述第二跨链桥合约中的事件生成方法,从所述跨链中继基于所述第一跨链转入交易所发送的第二跨链交易请求中获取所述第一跨链事件的事件标识,并生成与所述事件标识关联的跨链交易完成事件;所述跨链交易完成事件用于表征成功将所述第一资产由所述第一链转移至所述第二链。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述业务对象针对所述第一跨链事件发送的事件查询请求;所述事件查询请求中携带所述第一跨链事件的事件标识;
若通过所述第二跨链桥合约中的事件查询方法,查询到所述事件标识关联的跨链交易完成事件,则向所述业务对象返回针对所述第一跨链事件的事件完成通知消息。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
获取所述业务对象基于所述事件完成通知消息发送的衍生业务执行请求;
基于所述衍生业务执行请求中的衍生业务,调用所述第二跨链桥合约获取所述第一跨链转入交易中的交易参数;所述交易参数是由所述第一跨链转入交易所对应的第一资产的资产用途权限所确定的;
在基于所述交易参数确定所述业务对象具备调用所述第二链上的衍生业务合约的权限时,允许所述业务对象调用所述衍生业务合约执行所述第二资产对应的衍生业务。
13.根据权利要求12所述的方法,其特征在于,所述交易参数包含资产转移参数;所述资产转移参数用于指示将所述第二资产由所述业务对象转移至与所述业务对象相关联的衍生业务对应的衍生业务对象;所述方法还包括:
在调用所述衍生业务合约执行所述第二资产对应的衍生业务时,若基于所述资产转移参数确定将所述第二资产由所述业务对象转移至所述衍生业务对象,则在所述第二链上将所述第二资产的映射资产属性状态由第一属性状态变更为第二属性状态。
14.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取业务对象针对第二跨链转出交易发送的第二跨链资产转出请求;所述第二跨链资产转出请求中携带所述业务数据信息;所述第二跨链资产转出请求用于指示所述第二共识节点通过所述跨链中继将所述第二资产从所述第二链转移回所述第一链;
将所述第二跨链资产转出请求中携带的所述第二跨链转出交易写入所述第二链上的第二跨链桥合约;
在基于所述第二跨链桥合约和所述业务数据信息确定所述业务对象具备跨链资产转回权限时,调用所述第二资产合约锁定所述第二资产,且生成所述第二跨链转出交易对应的第二跨链事件;所述第二跨链事件用于指示所述跨链中继在构建得到所述第二跨链转出交易对应的第二跨链转入交易时,将所述第二跨链转入交易发送至所述第一共识节点;所述第一共识节点用于在将所述第二跨链转入交易写入所述第一链上的第一跨链桥合约时,调用所述第一跨链桥合约所指示的第一资产合约,在所述第一链上对锁定的所述第一资产进行解锁。
15.根据权利要求14所述的方法,其特征在于,所述在基于所述第二跨链桥合约和所述业务数据信息确定所述业务对象具备跨链资产转回权限时,调用所述第二资产合约锁定所述第二资产,且生成所述第二跨链转出交易对应的第二跨链事件,包括:
调用所述第二跨链桥合约中的跨链权限查询方法,生成转回权限验证请求;所述转回权限验证请求用于指示所述目标共识节点调用所述目标链上的跨链授权管理合约查询所述业务对象的源配置数据信息;
接收所述目标共识节点基于所述转回权限验证请求返回的所述源配置数据信息,将所述源配置数据信息和所述业务数据信息进行信息比对,得到信息对比结果;
若所述信息比对结果指示对比成功,则确定所述业务对象具备所述跨链资产转回权限;
调用所述第二资产合约将所述第二资产的资产状态由第一状态切换为第二状态,且在所述第二资产的资产状态为所述第二状态时生成所述第二跨链转出交易对应的第二跨链事件。
16.一种基于多区块链的资产转移装置,其特征在于,所述多区块链包含第一链、第二链和目标链;所述装置运行在所述第一链对应的第一链网络中的第一共识节点上;所述装置包括:
获取模块,用于获取业务对象针对第一跨链转出交易发送的第一跨链资产转出请求;所述第一跨链资产转出请求中携带目标链网络中的目标共识节点为所述业务对象配置的业务数据信息;所述第一跨链资产转出请求用于指示所述第一共识节点通过跨链中继将属于所述业务对象的第一资产从所述第一链转移至与第二共识节点相关联的所述第二链;所述第二共识节点为所述第二链对应的第二链网络中的共识节点;所述跨链中继用于隔离所述第二链网络和所述第一链网络,且所述第二链网络独立于所述目标链网络和所述第一链网络;
写入模块,用于将所述第一跨链资产转出请求中携带的所述第一跨链转出交易写入所述第一链上的第一跨链桥合约;
调用模块,用于在基于所述第一跨链桥合约和所述业务数据信息确定所述业务对象具备跨链资产转出权限时,调用所述第一链上的第一资产合约锁定所述第一资产,且生成所述第一跨链转出交易对应的第一跨链事件;所述第一跨链事件用于指示所述跨链中继在构建得到所述第一跨链转出交易对应的第一跨链转入交易时,将所述第一跨链转入交易发送至所述第二共识节点;所述第二共识节点用于在将所述第一跨链转入交易写入所述第二链上的第二跨链桥合约时,调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产。
17.一种基于多区块链的资产转移装置,其特征在于,所述多区块链包含第一链、第二链和目标链;所述装置运行在所述第二链对应的第二链网络中的第二共识节点上;所述装置包括:
处理模块,用于获取跨链中继针对第一资产发送的第一跨链转入交易;所述第一跨链转入交易是由所述跨链中继从第一共识节点读取到第一跨链转出交易对应的第一跨链事件时所构建的;所述第一跨链事件是由所述第一共识节点在基于写入有第一跨链转出交易的第一跨链桥合约和业务数据信息确定业务对象具备跨链资产转出权限的情况下,调用所述第一链上的第一资产合约锁定所述第一资产时所生成的;所述业务数据信息为目标链网络中的目标共识节点为所述业务对象所配置的;所述第一共识节点为所述第一链对应的第一链网络中的共识节点;所述跨链中继用于隔离所述第一链网络和所述第二链网络,且所述第一链网络独立于所述目标链网络和所述第二链网络;
所述处理模块,还用于将所述第一跨链转入交易写入所述第二链上的第二跨链桥合约;
资产铸造模块,用于调用所述第二跨链桥合约所指示的第二资产合约,在所述第二链上铸造与所述第一资产具有相同资产内容的第二资产。
18.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-15任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-15任一项所述的方法。
20.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-15任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211291310.4A CN117917681A (zh) | 2022-10-20 | 2022-10-20 | 基于多区块链的资产转移方法、装置、设备、介质及产品 |
PCT/CN2023/114368 WO2024082807A1 (zh) | 2022-10-20 | 2023-08-23 | 基于多区块链的资产转移方法、装置、设备、介质及产品 |
US18/387,336 US20240137208A1 (en) | 2022-10-19 | 2023-11-06 | Asset transferring method and apparatus based on multiple blockchains, device, medium, and product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211291310.4A CN117917681A (zh) | 2022-10-20 | 2022-10-20 | 基于多区块链的资产转移方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917681A true CN117917681A (zh) | 2024-04-23 |
Family
ID=90729656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211291310.4A Pending CN117917681A (zh) | 2022-10-19 | 2022-10-20 | 基于多区块链的资产转移方法、装置、设备、介质及产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240137208A1 (zh) |
CN (1) | CN117917681A (zh) |
WO (1) | WO2024082807A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837048B (zh) * | 2020-02-03 | 2022-08-19 | 腾讯科技(深圳)有限公司 | 跨区块链的数据处理方法、装置、设备及计算机存储介质 |
CN113407977B (zh) * | 2021-07-21 | 2022-06-10 | 杭州链网科技有限公司 | 基于聚合签名的跨链扩展方法及系统 |
CN114154996A (zh) * | 2021-10-20 | 2022-03-08 | 海南火链科技有限公司 | 一种跨区块链的数据流转方法及系统、存储介质、终端 |
CN114615095B (zh) * | 2022-05-12 | 2022-09-09 | 北京邮电大学 | 区块链跨链数据处理方法、中继链、应用链及跨链网络 |
-
2022
- 2022-10-20 CN CN202211291310.4A patent/CN117917681A/zh active Pending
-
2023
- 2023-08-23 WO PCT/CN2023/114368 patent/WO2024082807A1/zh unknown
- 2023-11-06 US US18/387,336 patent/US20240137208A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240137208A1 (en) | 2024-04-25 |
WO2024082807A1 (zh) | 2024-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461769B2 (en) | Multi-tiered digital wallet security | |
US11669811B2 (en) | Blockchain-based digital token utilization | |
US11153069B2 (en) | Data authentication using a blockchain approach | |
US20220239470A1 (en) | Cross-blockchain data processing method and apparatus, device, and computer storage medium | |
CN110599181B (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
CN111431903B (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
EP4318362A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
US10693646B2 (en) | Event execution using a blockchain approach | |
CN112632629B (zh) | 基于区块链的投票管理方法、装置、介质及电子设备 | |
Abbade et al. | Blockchain applied to vehicular odometers | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN111340628A (zh) | 基于区块链的资产信息管理方法和装置 | |
KR102139551B1 (ko) | 유언장을 관리하는 서버 및 방법 | |
Zhu et al. | A study on the challenges and solutions of blockchain interoperability | |
WO2023082883A1 (zh) | 跨区块链处理事务的方法、装置、计算机设备、计算机存储介质及计算机程序产品 | |
CN117917681A (zh) | 基于多区块链的资产转移方法、装置、设备、介质及产品 | |
EP4375850A1 (en) | Multi-blockchain data processing method and apparatus, and device, system and medium | |
WO2024099023A1 (zh) | 多区块链数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
WO2024078109A1 (zh) | 多区块链数据处理方法、装置、设备、系统以及介质 | |
WO2024082818A1 (zh) | 基于多区块链的跨链处理方法、装置、设备、系统及介质 | |
WO2024093593A1 (zh) | 基于多区块链的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN116708463B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN117951217A (zh) | 基于多区块链的跨链配置方法、装置、设备、系统及介质 | |
CN117992534A (zh) | 基于多区块链的数据跨链方法、相关设备、介质及产品 | |
CN117938867A (zh) | 一种多区块链数据处理方法、装置、设备、介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |