CN114567643A - 跨区块链的数据流转方法、装置及相关设备 - Google Patents

跨区块链的数据流转方法、装置及相关设备 Download PDF

Info

Publication number
CN114567643A
CN114567643A CN202011367758.0A CN202011367758A CN114567643A CN 114567643 A CN114567643 A CN 114567643A CN 202011367758 A CN202011367758 A CN 202011367758A CN 114567643 A CN114567643 A CN 114567643A
Authority
CN
China
Prior art keywords
block
chain
target
cross
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011367758.0A
Other languages
English (en)
Other versions
CN114567643B (zh
Inventor
刘攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011367758.0A priority Critical patent/CN114567643B/zh
Publication of CN114567643A publication Critical patent/CN114567643A/zh
Application granted granted Critical
Publication of CN114567643B publication Critical patent/CN114567643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开提供一种跨区块链的数据流转方法、装置以及电子设备和计算机可读存储介质,所述方法包括:获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;将所述目标跨链交易数据记录在所述核心区块链的目标区块中;将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。

Description

跨区块链的数据流转方法、装置及相关设备
技术领域
本公开涉及计算机与互联网技术领域,尤其涉及一种跨区块链的数据流转方法、装置、电子设备和计算机可读存储介质。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点的共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
随着计算机技术的发展,区块链技术受到了越来越多技术领域的青睐。
然而,随着数据共享需求的演进,目前已有的区块链虽然能够在同一区块链的不同节点设备之间实现数据信息的同步,而对于不同区块链之间也即是跨区块链的数据信息同步或流转,还处于技术的空白,亟需提出一种有效的解决方案。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开实施例提供一种跨区块链的数据流转方法及装置、电子设备和计算机可读存储介质,在实现了数据跨区块链的流转的同时,还保证了数据在流转过程中的安全性和可追溯性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提出一种跨区块链的数据流转方法,该方法应用于核心区块链;其中,所述方法包括:获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;将所述目标跨链交易数据记录在所述核心区块链的目标区块中;将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
本公开实施例提供了一种跨区块链的数据流转方法,所述方法应用于第一区块链;其中,所述方法包括:响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易;通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据;将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息;将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
本公开实施例提供了一种跨区块链的数据流转方法,所述方法应用于第二区块链;其中,所述方法包括:所述第二区块链接收核心区块链发送的目标区块的区块头信息,所述目标区块用来记录第一区块链和所述第二区块链之间的目标跨链交易,所述目标跨链交易由所述第一区块链发起;通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验;所述目标区块的区块头信息校验通过后,基于所述目标区块的区块头信息从所述目标区块中获取所述目标跨链交易的目标跨链交易数据;执行所述目标跨链交易数据内与所述第二区块链对应的第二操作内容,以获得第二操作结果;将所述目标跨链交易数据和所述第二操作结果存储在所述第二区块链的第二区块中,以完成所述目标跨链交易。
本公开实施例提供了一种跨区块链的数据流转装置,该装置应用于核心区块链;其中,所述装置包括:第一区块信息获取模块、第一区块信息校验模块、目标跨链交易数据获取第一模块、目标区块生成模块以及目标区块信息发送模块。
其中,所述第一区块信息获取模块可以配置为获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;所述第一区块信息校验模块可以配置为通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;所述目标跨链交易数据获取第一模块可以配置为所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;所述目标区块生成模块可以配置为将所述目标跨链交易数据记录在所述核心区块链的目标区块中;所述目标区块信息发送模块可以配置为将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
在一些实施例中,所述第一区块的区块头信息包括所述第一区块的区块地址信息,部署于所述核心区块链上的智能合约包括核心同步合约和核心跨链治理合约。其中,所述第一区块信息校验模块可以包括:第一区块地址校验单元、第一默克尔树证明获取单元、第一默克尔树证明校验单元以及跨链交易参数校验单元。
其中,所述第一区块地址校验单元可以配置为通过所述核心同步合约对所述第一区块的区块地址信息进行校验,以确定所述第一区块的区块地址信息的合法性;所述第一默克尔树证明获取单元可以配置为基于所述第一区块的区块头信息获取所述目标跨链交易的跨链交易参数以及针对所述目标跨链交易数据的第一默克尔树证明;所述第一默克尔树证明校验单元可以配置为通过所述核心跨链治理合约对所述第一默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;所述跨链交易参数校验单元可以配置为通过所述核心跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,所述核心区块链通过第一中继设备与所述第一区块链进行数据传输,所述第一区块链和所述核心区块链具有不同的数据存储规范,部署于所述核心区块链上的智能合约包括核心同步合约。其中,所述目标跨链交易数据获取第一模块可以包括:目标跨链交易第一获取单元和转换单元。
其中,所述目标跨链交易第一获取单元可以配置为基于所述第一区块的区块头信息从所述第一区块链中获取符合第一区块链存储规范的目标跨链交易数据;所述转换单元可以配置为所述核心区块链通过所述核心同步合约将所述符合第一区块链存储规范的目标跨链交易数据,转换为符合核心区块链存储规范的目标跨链交易数据,以便将所述符合核心区块链存储规范的目标跨链交易数据存储在所述目标区块中。
在一些实施例中,所述核心区块链通过第一中继设备与所述第一区块链进行数据传输。其中,所述第一区块信息获取模块可以包括:第一检测单元、第一区块信息获取单元。
其中,所述第一检测单元可以配置为所述核心区块链通过所述第一中继设备对所述第一区块链进行检测;所述第一区块信息获取单元可以配置为当所述第一中继设备检测到所述第一区块链中存在新增的第一区块,并且所述第一区块中存储有所述目标跨链交易数据时,所述核心区块链则通过所述第一中继设备从所述第一区块链中获取所述第一区块的区块头信息。
在一些实施例中,所述目跨链交易参数包括所述目标跨链交易的源链地址和目标链地址,所述源链地址与所述第一区块链对应,所述目标链地址与所述第二区块链对应。其中,所述第一默克尔树证明校验单元可以包括:注册校验子单元、参数合法性校验子单元。
其中,所述注册校验子单元可以配置为通过所述核心跨链治理合约检测所述源链地址和所述目标链地址是否在所述核心区块链已注册;所述参数合法性校验子单元可以配置为若所述源链地址和所述目标链地址在所述核心区块链已注册,则确定所述跨链交易参数的合法性。
其中,所述目标区块信息发送模块可以包括:目标区块信息发送单元,配置为根据所述目标链地址将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
本公开实施例提供了一种跨区块链的数据流转装置,该装置应用于第一区块链;其中,所述装置包括:目标数据获取模块、目标跨链交易数据生成模块、第一区块生成模块以及第一区块信息发送模块。
其中,所述目标数据获取模块可以配置为响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易;所述目标跨链交易数据生成模块配置为通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据;第一区块生成模块,配置为将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息;第一区块信息发送模块,配置为将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
在一些实施例中,在生成所述目标跨链交易数据时还会生成所述目标跨链交易的第一交易日志,所述第一交易日志包括所述目标跨链交易的跨链交易参数。其中,所述第一区块信息发送模块可以包括:第一区块信息发送单元、第一交易日志发送单元、第一默克尔树证明生成单元以及第一默克尔树证明发送单元。
其中,所述第一区块信息发送单元可以配置为将所述第一区块的区块头信息发送给核心区块链,以便所述核心区块链对所述第一区块的区块头信息进行校验;所述第一交易日志发送单元可以配置为响应于所述核心区块链的交易参数获取请求,将所述第一交易日志发送给所述核心区块链,以便所述核心区块链获取所述跨链交易参数;第一默克尔树证明生成单元可以配置为响应于所述核心区块链的数据证明获取请求,根据所述目标跨链交易数据在所述第一区块中的第一默克尔树生成第一默克尔树证明;所述第一默克尔树证明发送单元可以配置为将所述第一默克尔树证明发送给所述核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易。
在一些实施例中,部署于所述第一区块链上的智能合约包括第一业务合约和第一跨链治理合约。其中,所述目标跨链交易数据生成模块可以包括:第一操作单元和目标跨链交易数据生成单元。
其中,所述第一操作单元可以配置为通过所述第一业务合约执行所述目标数据内与所述第一区块链对应的第一操作内容,以获得第一操作结果;所述目标跨链交易数据生成单元可以配置为通过所述第一跨链治理合约对所述第一操作结果和所述目标数据进行处理,在所述第一区块链中构建目标跨链交易以生成所述目标跨链交易数据。
本公开实施例提供了一种跨区块链的数据流转装置,该装置应用于第二区块链;其中,所述装置包括:目标区块信息获取模块、目标区块信息校验模块、目标跨链交易数据获取第二模块、第二结果获取模块以及第二区块生成模块。
其中,所述目标区块信息获取模块可以配置为第二区块链接收核心区块链发送的目标区块的区块头信息,所述目标区块用来记录第一区块链和所述第二区块链之间的目标跨链交易,所述目标跨链交易由所述第一区块链发起;所述目标区块信息校验模块可以配置为通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验;所述目标跨链交易数据获取第二模块可以配置为所述目标区块的区块头信息校验通过后,基于所述目标区块的区块头信息从所述目标区块中获取所述目标跨链交易的目标跨链交易数据;所述第二结果获取模块可以配置为执行所述目标跨链交易数据内与所述第二区块链对应的第二操作内容,以获得第二操作结果;所述第二区块生成模块可以配置为将所述目标跨链交易数据和所述第二操作结果存储在所述第二区块链的第二区块中,以完成所述目标跨链交易。
在一些实施例中,所述目标区块的区块头信息包括所述目标区块的区块地址信息,部署于所述第二区块链上的智能合约包括第二同步合约和第二跨链治理合约;其中,所述目标区块信息校验模块可以包括:目标区块信息校验单元、第二默克尔树证明获取单元、第二默克尔树证明校验单元以及跨链交易参数合法性校验单元。
其中,所述目标区块信息校验单元可以配置为通过所述第二同步合约对所述目标区块的区块头信息进行校验,以确定所述目标区块的区块地址信息的合法性;所述第二默克尔树证明获取单元可以配置为基于所述目标区块的区块头信息获取所述目标跨链交易数据的跨链交易参数以及针对所述目标跨链交易数据的第二默克尔树证明;所述第二默克尔树证明校验单元可以配置为通过所述第二跨链治理合约对所述第二默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;所述跨链交易参数合法性校验单元可以配置为通过所述第二跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,所述第二区块链通过第二中继设备与所述核心区块链进行数据的传输;其中,所述目标区块信息获取模块可以包括:第二检测单元和目标区块信息获取单元。
其中,所述第二检测单元可以配置为所述第二区块链通过所述第二中继设备对所述核心区块链进行检测;所述目标区块信息获取单元可以配置为当所述第二中继设备检测到所述核心区块链中存在新增的目标区块,并且所述目标区块中存储有目标跨链交易数据时,所述第二区块链通过所述第二中继设备从所述核心区块链中获取所述目标区块的区块头信息。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的目标区块信息获取模块方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的目标区块信息获取模块方法。
本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述目标区块信息获取模块方法。
本公开实施例提供的目标区块信息获取模块方法、装置及电子设备和计算机可读存储介质,通过核心区块链完成了第一区块链和第二区块链之间的数据流转。一方面通过核心区块链记录和见证了数据流转过程,使得整个数据流转过程可追溯,便于了解整个跨链交易数据的具体流转过程;另一方面,在通过核心区块链实现流转过程中对流转的数据进行了校验,确保流转过程中的数据未被篡改,保证了数据流转的安全性;另外,通过核心区块链的极大的简化了数据跨链过程,为数据跨链提供了可能性。本公开提供的跨区块链数据流转方法,在保证目标跨链交易数据的真实可靠无法被篡改的情况下,还通过核心区块链记载了目标跨链交易数据的流转过程,使得整个数据流转过程可追溯,便于对目标跨链交易的审查和追溯。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据相关技术示出的一种区块链***的结构示意图。
图2是根据相关技术示出的一种区块结构的示意图。
图3是根据相关技术示出的一种区块存储内容的示意图。
图4是根据相关技术示出的一种默克尔树的示意图。
图5是根据一示例性实施例示出的一种跨区块链的数据流转方法的流程图。
图6是图5中步骤S11在一示例性实施例中的流程图。
图7是图5中步骤S12在一示例性实施例中的流程图。
图8是根据相关技术示出的一种默克尔树的示意图。
图9是根据一示例性实施例示出的一种跨区块链的数据流转方法的流程图。
图10是图9中步骤S24在一示例性实施例中的流程图。
图11是根据一示例性实施例示出的一种跨区块链数据流转方法的流程图。
图12是图11中步骤S32在一示例性实施例中的流程图。
图13是根据一示例性实施例示出的一种跨区块链的数据流转结构的示意图。
图14是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。
图15是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。
图16是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。
图17是根据一示例性实施例示出的一种应用于跨区块链数据流转装置的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
首先,针对本公开实施例中涉及的区块链网络、区块链、区块等进行介绍。
本公开实施例涉及了跨区块链的数据流转方法,每个区块链可以与一个区块链***对应,该区块链***可以是由客户端、多个节点通过网络通信的形式连接形成的区块链***。其中,客户端、节点可以是任意形式的计算设备,如服务器、终端。
服务器可以是独立的物理服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器等,本公开对此不做限制。
终端可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。
用户可以通过上述客户端与区块链进行数据交互,区块链***可以通过节点对用户上传的数据的进行共识和记录等。
图1是本公开实施例提供的区块链***101的一个可选的结构示意图,由多个节点102(接入网络中的任意形式的计算设备,如服务器、终端)和客户端103形成,节点102之间形成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在区块链***中,任何机器如服务器、终端都可以加入而成为节点102,节点102包括硬件层、中间层、操作***层和应用层。
参见图1示出的区块链***101中各节点102的功能,涉及的功能包括:
1)路由,节点102具有的基本功能,用于支持节点102之间的通信。
例如,核心区块链在接收到目标跨链交易数据时,首先需要通过路由将目标跨链交易数据发送给共识节点进行共识,在共识完成后各个共识节点会将共识结果通过路由发送给核心区块链中的记账节点,以便各个记账节点记账在第一区块中记录目标跨链交易数据。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链***中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易。例如,在本公开中将目标跨链交易数据发送给区块链***中的共识节点,共识节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;再例如,将当前跨链交易数据跨链发送给其它区块链,当其他区块链完成交易后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中。
当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链***中的共识节点,共识节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
在本公开实施例中,核心区块链可以将目标跨链交易数据存储在核心区块链的共享账本中,第二区块链可以将目标跨链交易数据存储在第二区块链的共享账本中。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易。在本实施例中,部署在核心区块链上的智能合约可以表现为针对跨链数据进行同步的核心同步合约,也可以表现为针对目标跨链交易的核心跨链治理合约,本公开对此不做限制。其中,部署在核心区块链中的核心同步合约可以用来对第一区块的区块头信息进行校验,以确定第一区块的区块地址信息的合法性;部署在核心区块链中的核心跨链治理合约可以对目标跨链交易数据的第一默克尔树证明进行校验,以确定目标跨链交易数据的安全性等。
当然,智能合约不仅可以是对接收的信息进行处理的处理合约,还可以是用于交易的交易合约,例如可以是一种跨链交易的业务合约,也即可以基于跨链交易数据触发该跨链交易的业务合约来执行具体的跨链交易。例如,以银行转账为例,当在A银行中进行一笔向B银行的转账交易时,如果A银行和B银行分别属于不同的区块链,则该笔交易可以基于区块链之间所约定的交易处理方式来进行处理,具体的交易处理方式可以通过跨链业务合约的方式分别存储在上述A银行和B银行的所在的区块链上,以便完成跨链交易。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链***中节点提交的记录数据。
参见图2,图2是本公开实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(即本区块的哈希值)以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
图3是根据区块链技术示出的一种区块结构示意图。
如图3所示,区块可以分为区块头和区块体。其中区块头中可以用于存储前一区块哈希(区块哈希就可以是区块的地址信息)、当前区块哈希、后一区块哈希、时间戳等,便于用来进行数据的追溯;区块体一般可以用来存储上链数据,例如本公开的第一区块的区块体可以用来存储目标跨链交易数据。
在一些区块链中,数据经常以树的结构存储于区块体中,例如数据会以如图4所示的以默克尔树(Merkle Tree)形式存储在区块体中,并将默克尔树根存储于区块头中(如图3所示)。
其中,默克尔树经常以二叉树的形式出现(也可以是三叉树、四叉树等多个分支的树形结构),由叶子节点、中间节点和根节点构成。如图4所示的默克尔树,D0、D1、D2和D3是叶子节点包含的数据,也就是叶子节点的值,N0、N1、N2和N3就是叶子节点,它是将数据(也就是D0、D1、D2和D3)进行哈希运算(Hash)后的到的哈希值;继续向上看,N4和N5是中间节点,它们各是N0和N1经过哈希运算得到的哈希值以及N2和N3经过哈希运算得到的哈希值,注意,它们是把相邻的两个叶子结点合并成一个字符串,然后运算这个字符串的哈希;接着往上,Root(根)节点是N4和N5经过哈希运算后得到的哈希值,这就是这棵默克尔树的根哈希。
从默克尔树的结构可以看出,当任意一个叶子节点的交易被修改,叶子节点哈希值就会变更,最终根节点的哈希值就会改变。所以确定的根节点的哈希值可以准确的作为一组交易的唯一摘要。
本公开实施例中,可以将目标跨链交易数据以默克尔树的形式存储于核心区块中,既方便了数据的存储和获取,又方便验证目标跨链交易数据是否发生了篡改。
本公开实施例通过核心区块链进行目标跨链交易数据的流转,使得任何区块链都能够通过核心区区块链实现跨链交易,既保证了目标跨链交易数据在各个区块链中的交易过程公开透明可追溯,又能防止目标跨链交易数据在存储、流转过程中被篡改,保证了数据的可信性。
图5是根据一示例性实施例示出的一种跨区块链的数据流转方法的流程图。本公开实施例所提供的方法可以应用于不属于第一区块链和第二区块链的核心区块链,其具体方法可以由核心区块链所对应的核心区块链网络中任意具备计算处理能力的电子设备来执行,例如服务器或终端设备来执行,在下面的实施例中,以服务器为执行主体为例进行举例说明,但本公开并不限定于此。
本公开实施例提供了一种跨链数据流转方法。需要注意的是,本实施例将以第一区块链向第二区块链进行数据的流转为例解释跨链交易数据方法,但是本公开的实际应用场景并不局限于两个区块链之间的流转,任何区块链之间的数据跨链流转均可以通过核心区块链实现。例如本公开提供的方法可以应用于多个区块链之间的顺序流转(即跨链交易数据由区块链1经核心区块链流转至区块链2,再由区块链2经核心区块链流转至区块链3);本公开提供的方法还可以应用于多个区块链两两之间的数据流转(例如区块链1通过核心区块链向区块链3流转数据,区块链2通过核心区块链向区块链4流转数据,区块链5通过核心区块链向区块链6流转数据),任意需要进行跨链数据流转的应用场景,均在本公开的保护范围内。
参照图5,本公开实施例提供的跨链交易数据方法可以包括以下步骤。
在步骤S11中,获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易。
在一些实施例中,第一区块链与第二区块链可以是同类型的区块链,例如第一区块链和第二区块链均是以太坊区块链;第一区块链和第二区块链也可以是不同类型的区块链,例如第一区块链是以太坊区块链、第二区块链是比特币区块链,本公开对此不做限制。
在一些实施例中,在进行数据流转之前核心区块链会从第一区块链中获取存储目标跨链交易数据的第一区块的区块头信息,该第一区块的区块头信息可以包括第一区块的区块地址信息(即第一区块的哈希地址)、目标跨链交易在第一区块链上的执行日志等,该执行日志中可以包括目标跨链交易的跨链交易参数,例如跨链交易的源链地址(即发起目标跨链交易的区块链的地址)、目标链地址(即接收源链发起的目标跨链交易的区块链)或者目标跨链交易的交易数值等,本公开对跨链交易参数不做限制。
在步骤S12中,通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验。
在一些实施例中,核心区块链中可以部署有智能合约,通过该智能合约可以完成对目标跨链交易数据的校验、上链以及转发等操作。
例如,部署在核心区块链上的智能合约可以对第一区块的区块头信息进行校验,以验证第一区块来自于哪个区块链,该区块链是否已经在核心区块链中完成注册等;可以对目标跨链交易数据对应的跨链交易参数进行验证,例如验证参数的合法性、真实性等。在实际操作中,技术人员可以根据自身需求完成对第一区块头的各种校验,以确定第一区块的合法性、第一区块中存储的数据的真实性和安全性等,本公开对此不做限制。
再例如,部署在核心区块链上的智能合约可以完成对目标跨链交易数据在核心区块链上的同步和记录,例如将目标跨链交易数据转换为符合核心区块链存储标准的数据等。
再例如,部署在核心区块链上的智能合约可以将在核心区块链中上链成功的目标跨链交易数据发送给第二区块链等。
在步骤S13中,所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据。
在一些实施例中,当第一区块的区块头信息完成校验后,可以基于第一区块头信息(例如第一区块的哈希地址信息)从第一区块中获取目标跨链交易的目标跨链交易数据。
在步骤S14中,将所述目标跨链交易数据记录在所述核心区块链的目标区块中。
在一些实施例中,核心区块链可以直接从第一区块链中获取数据,也可以通过第一中继设备与第一区块链进行数据传输,本公开对此不做限制。
在一些实施例中,第一区块链和核心区块链可能是不同类型的区块链,所以第一区块链和第二区块链的数据存储规范可能不同。因此,从第一区块链中获取的目标跨链交易数据可能与核心区块链的格式不匹配。
在本实施例中,可以在核心区块链上部署核心同步合约,以将核心区块链的上链数据转换为符合核心区块链存储格式的数据。具体过程如下:
基于第一区块的区块头信息从第一区块链中获取符合第一区块链存储规范的目标跨链交易数据;核心区块链通过核心同步合约将符合第一区块链存储规范的目标跨链交易数据,转换为符合核心区块链存储规范的目标跨链交易数据。
在一些实施例中,可以将符合核心区块链存储规范的目标跨链交易数据存储在核心区块链的目标区块中,便于后续针对目标跨链交易和目标跨链交易数据就进行追溯,以提高目标跨链交易的安全性和公信力。
在步骤S15中,将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
在一些实施例中,当核心区块链完成对目标跨链交易数据的校验和上链操作后,还需要将目标区块的区块头信息发送给第二区块链,以便第二区块链根据目标区块的区块头信息获取目标跨链交易数据,以完成目标跨链交易。
本公开实施例提供的目标区块信息获取模块方法,通过核心区块链完成了第一区块链和第二区块链之间的数据流转。该方法,一方面通过核心区块链记录和见证了数据流转过程,使得整个数据流转过程可追溯,便于后续追溯整个跨链交易数据的具体流转过程;另一方面,在由于在通过核心区块链实现流转过程中对流转的目标跨链交易数据进行了校验,确保目标跨链交易数据在流转过程中不被篡改,保证了数据流转的安全性;另外,任何区块链都可以通过本公开提供的核心区块链实现数据的流转,简化了数据流转的流程。
本公开提供的跨区块链数据流转方法,在保证目标跨链交易数据的真实可靠无法被篡改的情况下,还通过核心区块链记载了目标跨链交易数据的流转过程,使得整个数据流转过程可追溯,便于对目标跨链交易的审查和追溯。
图6是图5中步骤S11在一示例性实施例中的流程图。
在一些实施例中,核心区块链和第一区块链可以直接通信,也可以通过第一中继设备进行通信,本公开对此不做限制。
其中,第一中继设备可以为任意具有计算功能的服务器或者终端设备,该第一中继设备可以由各个区块链信任的机构提供的设备,例如可以由各个区块链服务提供商、银行、金融机构、信贷机构、征信机构或者消费机构等提供的设备。
在一些实施例中,该第一中继设备可以为多条区块链提供服务,但是该第一中继设备不参与区块链的共识,也就是说该第一中继设备为链外设备。
需要注意的是,本实施例中的第一中继设备可以是一个也可以是多个,本公开实施例对第一中继设备的个数不做限制。若第一中继设备为多个,那么核心区块链或者第一区块链可以从多个第一设备发送的信息中接受最先到达的信息。
通过第一中继设备进行核心区块链和第一区块链之间的通信,可以完成信号的转换、复制、调整、放大等一系列操作,简化信号在第一区块链和核心区块链之间的传输流程。
在一些实施例中,上述步骤S11中核心区块链获取的第一区块的区块头信息可以由第一区块链主动发送,也可以由核心区块链主动获取,本公开对此不做限制。
在第一区块链主动发送第一区块的区块头信息的模式中,第一区块链会实时监控上链数据,若第一区块链发现上链数据中存在需要进行跨链的交易(例如一笔商业数据,既需要第一区块链进行扣税操作,又需要第二区块链进行购汇操作等),第一区块链则会根据该上链数据构建目标跨链交易、生成目标跨链交易数据;然后将目标跨链交易数据存储在第一区块中;最后将第一区块的区块头信息主动发送给核心区块链(也可以将第一区块的区块头信息发送给第一中继设备,由第一中继设备发送给核心区块链),以便核心区块链进行数据的记录和转发。
在核心区块链主动获得第一区块的区块头信息的模式中,核心区块链可以通过自身完成对第一区块链的监控,也可以通过第一中继设备完成对第一区块链的监控。
本实施例中,将以核心区块链通过第一中继设备完成对第一区块链的监控为例解释核心区块链如何主动获取第一区块的区块头信息。
参考图6,上述通过第一中继设备从第一区块链中获取第一区块的区块头信息可以包括以下步骤。
在步骤S111中,所述核心区块链通过所述第一中继设备对所述第一区块链进行检测。
在步骤S112中,当所述第一中继设备检测到所述第一区块链中存在新增的第一区块,并且所述第一区块中存储有所述目标跨链交易数据时,所述核心区块链则通过所述第一中继设备从所述第一区块链中获取所述第一区块的区块头信息。
在一些实施例中,核心区块链可以通过第一中继设备对第一区块链进行检测,当第一中继设备发现第一区块链中产生新增的第一区块时;第一中继设备会进一步的确定该新增的第一区块是否包括目标跨链交易数据;若第一中继设备发现新增的第一区块中存在目标跨链交易数据,则将新增的第一区块的区块头信息发送给核心区块链。
本公开为进行清楚解释,将新增的区块限定为第一区块,将新增的区块中存储的跨链交易数据限定为第一区块链和第二区块链之间的目标跨链交易数据。可以理解的是,在实际应用中第一中继设备在对第一区块链进行检测时,无需确定新增的区块是不是存储有目标跨链交易数据的第一区块,仅需要确定新增的区块中是否存在跨链交易数据即可。若新增的区块中存在跨链交易,则将该新增的区块的区块头信息发送给核心区块链,核心区块链再根据新增的区块的区块头信息中的跨链交易数据确定该跨链交易数据的目标链地址,并将该跨链交易数据根据目标链地址进行转发。
可以理解的是,无论第一区块的区块头信息是由第一区块链主动发送,还是由核心区块链检测后获取的,上述方法均能够实现对第一区块链的监控,以在第一区块链中产生跨链交易时自动的完成第一区块的区块头信息在第一区块链和核心区块链之间的流转。上述方法,既实现了第一区块的区块头信息的自动流转,又简化了流转流程。
图7是图5中步骤S12在一示例性实施例中的流程图。
在一些实施例中,第一区块的区块头信息可以包括第一区块的区块地址信息,部署于核心区块链上的智能合约可以包括核心同步合约和核心跨链治理合约。
参考图7,上述步骤S12可以包括以下步骤。
在步骤S121中,通过所述核心同步合约对所述第一区块的区块地址信息进行校验,以确定所述第一区块的区块地址信息的合法性。
在一些实施例中,可以提前将第一区块、第二区块以及核心区块的公钥在各个区块链中进行同步。当核心区块链获得第一区块的区块头信息时,可以通过核心同步合约使用第一区块链的公钥对区块头信息中的区块地址信息进行验证,以确定第一区块的源区块链(即发送第一区块的区块链)以及第一区块在该源区块链中的合法性(即该第一区块在该源区块中是否经过了共识验证)等。
在步骤S122中,基于所述第一区块的区块头信息获取所述目标跨链交易的跨链交易参数以及针对所述目标跨链交易数据的第一默克尔树证明。
在一些实施例中,若第一区块的区块地址信息验证通过,还可以进一步地获取目标跨链交易的跨链参数以及针对目标跨链交易数据的第一默克尔树证明。
其中,目标跨链交易的跨链参数可以存在于第一日志中,该第一日志可以是在第一区块链构建目标跨链交易时产生,并存储在第一区块的区块头信息中,或者以交易树的形式存储在第一区块的区块体,本公开对此不做限制。
若上述第一日志直接存储在第一区块的区块头中,则可以从第一区块的区块头信息中直接获取该第一日志,并从第一日志中获取目标跨链交易的跨链交易参数;若上述第一日志以交易树的形式存储于第一区块的区块体中,则可以从第一区块的区块头中获取交易树根并根据上述交易树根从第一区块中获取该第一日志,并进一步地从第一日志中获取目标跨链交易的跨链交易参数。
在一些实施例中,目标跨链交易数据可以以默克尔树的形式(如图4所示或图8所示)存储于第一区块的区块体中,并将该默克尔树的树根存储于第一区块的区块头中(如图3所示)。可以理解的是,当目标跨链交易数据发生改变时,该默克尔树的树根即发生改变。因此可以获取目标跨链交易对应的叶子节点的哈希值(例如图8中的9Dog:64)、该叶子相邻的兄弟节点(如图8中的1FXq:18)、该叶子节点的父节点的相邻兄弟节点(如图8中的ec20)以及该叶子节点的祖父节点的相邻兄弟节点(如图8中的8f74),以此类推…,然后根据上述节点计算第一区块的区块体中默克尔树的树根。若通过上述节点计算处理的默克尔树根与第一区块的区块头中存储的默克尔树根一致,则说明目标跨链交易确实存在于第一区块中,且未发生篡改。
在一些实施例中,可以将图8中9Dog:64(目标跨链交易数据对应的哈希值)、1FXq:18、ec20以及8f74作为目标跨链交易在第一区块中的第一默克尔树证明。
在步骤S123中,通过所述核心跨链治理合约对所述第一默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性。
在一些实施例中,可以通过核心跨链治理合约将第一默克尔树证明与第一区块头中的默克尔树根进行比较,若通过第一默克尔树证明获得的树根与第一区块头中的默克尔树根一致,则说明第一区块中确实存储有目标跨链交易数据,且该目标跨链交易数据未发生改变。
在步骤S124中,通过所述核心跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,跨链交易参数可以包括所述目标跨链交易的源链地址(即发起目标跨链交易的区块链的地址)和目标链地址(接收目标跨链交易的区块链的地址)。在本实施例中,上述源链地址与第一区块链对应,目标链地址与第二区块链对应。
在一些实施例中,可以通过核心跨链治理合约检测源链地址和目标链地址是否在核心区块链已注册;若源链地址和目标链地址在核心区块链已注册,则确定该跨链交易参数合法,该目标跨链交易合法。
在一些实施例中,核心区块链在做目标跨链交易数据转发时可以根据跨链交易参数中的目标链地址进行数据的转发,例如可以根据目标链地址将目标区块的区块头信息发送给第二区块链,以便第二区块链根据目标区块的区块头信息进行目标跨链交易。
上述实施例提供的技术方案,通过核心同步合约和核心跨链治理合约从多个维度对目标跨链交易数据进行了验证,以确保目标跨链交易数据在跨链流转时的安全性和公信力。另外,通过部署在核心区块链上的核心同步合约和核心区块链治理合约使得任意区块链均可以通过核心区块链进行数据的流转,大大的简化了多个区块链之间数据流转的流程。
图9是根据一示例性实施例示出的一种跨区块链的数据流转方法的流程图。本公开实施例所提供的方法可以应用于第一区块链,其具体方法可以由第一区块链所对应的第一区块链网络中任意具备计算处理能力的电子设备来执行,例如服务器或终端设备来执行,在下面的实施例中,以服务器为执行主体为例进行举例说明,但本公开并不限定于此。
参照图9,本公开实施例提供的跨链交易数据方法可以包括以下步骤。
在步骤S21中,响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易。
在一些实施例中,目标地址可以指的是在第一区块链中注册过的目标客户端的地址,用户可以通过该客户端请求将目标数据在第一区块链中上链。
在一些实施例中,当用户通过目标客户端向第一区块链请求数据上链时,第一区块链会根据该上链请求获取请求上链的目标数据。
在步骤S22中,通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据。
在一些实施例中,若目标数据中包括跨链交易内容,则通过部署于第一区块链上的智能合约对目标数据进行处理,以根据目标数据生成目标跨链交易数据。
其中,部署于第一区块链上的智能合约可以包括第一业务合约和第一跨链治理合约。
那么,通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据可以包括:
通过第一业务合约执行目标数据内与第一区块链对应的第一操作内容,以获得第一操作结果(例如从第一区块链的某个节点的账户中扣除100元);通过第一跨链治理合约对第一操作结果和目标数据进行处理,在第一区块链中构建目标跨链交易以生成所述目标跨链交易数据。
在步骤S23中,将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息。
在步骤S24中,将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
本实施例提供的技术方案,在第一区块链中上链包含目标跨链交易的数据时,根据该数据自动构建、存储目标跨链交易数据,并将存储有目标跨链交易数据的第一区块的区块头信息自动转发至核心区块链,以便核心区块链根据第一区块的区块头信息获取、记录目标跨链交易数据,并将目标跨链交易数据转发至第二区块链,以完成目标跨链交易。
图10是图9中步骤S24在一示例性实施例中的流程图。
在一些实施例中,在通过智能合约对目标数据进行处理以生成目标跨链交易数据的同时还会生成针对目标跨链交易的第一交易日志,该第一交易日志包括目标跨链交易的跨链交易参数。
参考图10,上述步骤S24可以包括以下步骤。
在步骤S241中,将所述第一区块的区块头信息发送给核心区块链,以便所述核心区块链对所述第一区块的区块头信息进行校验。
在步骤S242中,响应于所述核心区块链的交易参数获取请求,将所述第一交易日志发送给所述核心区块链,以便所述核心区块链获取所述跨链交易参数。
在一些实施例中,当第一区块的区块头信息在核心区块链中的校验通过后,核心区块链会向第一区块链发起交易参数获取请求,以从第一区块链中获取目标跨链交易参数。
响应于核心区块链的交易参数获取请求,第一区块链会将上述第一交易日志发送给核心区块链,以便核心区块链获取目标跨链交易参数。
在步骤S243中,响应于所述核心区块链的数据证明获取请求,根据所述目标跨链交易数据在所述第一区块中的第一默克尔树生成第一默克尔树证明。
在一些实施例中,当第一区块的区块头信息在核心区块链中的校验通过后,核心区块链会向第一区块链发起数据证明获取请求,以从第一区块链中获取目标跨链交易数据的第一默克尔树证明。
响应于核心区块链的数据证明获取请求,第一区块链会根据目标跨链交易参数的默克尔树动态生成第一默克尔树证明。
在步骤S244中,将所述第一默克尔树证明发送给所述核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易。
本实施例提供的技术方案,向核心区块链发送了第一区块的区块头信息、跨链交易数据、第一默克尔树证明等,方便了核心区块链针对目标跨链交易的校验,确保了目标跨链交易数据在流转过程中的安全性和公信力。
图11是根据一示例性实施例示出的一种跨区块链数据流转方法的流程图。
本公开实施例所提供的方法可以应用于第二区块链,其具体方法可以由第二区块链所对应的第二区块链网络中任意具备计算处理能力的电子设备来执行,例如服务器或终端设备来执行,在下面的实施例中,以服务器为执行主体为例进行举例说明,但本公开并不限定于此。
参考图11,上述跨区块链数据流转方法可以包括以下步骤。
在步骤S31中,第二区块链接收核心区块链发送的目标区块的区块头信息,所述目标区块用来记录第一区块链和所述第二区块链之间的目标跨链交易,所述目标跨链交易由所述第一区块链发起。
在一些实施例中,目标区块中可以存储有由第一区块链发起的目标跨链交易的目标跨链交易数据,目标区块的区块头信息可以包括目标区块的区块地址信息、目标跨链交易的默克尔树根、目标跨链交易的执行日志等。
在一些实施例中,核心区块链接收的目标区块的区块头信息可以由核心区块链主动发送,也可以由第二区块链主动获取,本公开对此不做限制。
核心区块链主动发送目标区块的区块头信息的过程与第一区块链主动发送第一区块的区块头信息的方式类似,本公开不再赘述。
在第二区块链主动获得目标区块的区块头信息的模式中,第二区块链可以通过自身完成对目标区块链的监控,也可以通过第二中继设备完成对目标区块的监控。
其中,第二区块链通过第二中继设备完成对目标区块的监控以主动获取目标区块的区块头信息的方法可以包括:第二区块链通过第二中继设备对核心区块链进行检测;当第二中继设备检测到核心区块链中存在新增的目标区块,并且目标区块中存储有目标跨链交易数据时,第二区块链通过第二中继设备从核心区块链中获取目标区块的区块头信息。
在步骤S32中,通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验。
在一些实施例中,第二区块链中可以部署有智能合约,通过该智能合约可以完成对目标跨链交易数据在第二区块链上的校验、执行等。
例如,通过部署在第二区块链上的智能合约可以完成对跨链交易数据参数的校验,该校验过程与核心区块链对跨链交易参数的校验过程类似,此处不再赘述。
在步骤S33中,所述目标区块的区块头信息校验通过后,基于所述目标区块的区块头信息从所述目标区块中获取所述目标跨链交易的目标跨链交易数据。
在一些实施例中,第二区块链可以直接与目标区块链进行交互,以根据目标区块的区块头信息从目标区块中获取目标跨链交易数据;也可以通过第二中继设备与目标区块链进行交互,以根据目标区块的区块头信息从目标区块中获取目标跨链交易数据,该目标跨链交易数据可以通过日志的形式返回。
需要注意的是,本实施例中的第二中继设备可以是一个也可以是多个,本公开实施例对第二中继设备的个数不做限制。若第二中继设备为多个,那么核心区块链或者第二区块链可以从多个第二设备发送的信息中接受最先到达的信息。
在步骤S34中,执行所述目标跨链交易数据内与所述第二区块链对应的第二操作内容,以获得第二操作结果。
在一些实施例中,可以通过部署在第二区块链上的智能合约完成目标跨链交易数据中与第二区块链对应的交易内容(例如向第二区块链链中的某个节点的账户中转入100元),以获得第二操作结果。
在步骤S35中,将所述目标跨链交易数据和所述第二操作结果存储在所述第二区块链的第二区块中,以完成所述目标跨链交易。
在一些实施例中,当完成目标跨链交易数据和第二操作结果在第二区块链中的上链操作后,可以向核心区块链反馈针对目标跨链交易的处理结果,以便核心区块链将该交易结果返回给第一区块链,完成此次跨链交易。
本实施例提供的技术方案,通过核心区块链发送的目标区块的区块头信息,安全有效的获取了第一区块链发送的目标跨链交易数据,并根据目标跨链交易数据完成了目标跨链交易,整个过程简单且便捷。
图12是图11中步骤S32在一示例性实施例中的流程图。
在一些实施例中,目标区块的区块头信息可以包括目标区块的区块地址信息,部署于第二区块链上的智能合约可以包括第二同步合约和第二跨链治理合约。
参考图12,上述步骤S32可以包括以下步骤。
在步骤S321中,通过所述第二同步合约对所述目标区块的区块头信息进行校验,以确定所述目标区块的区块地址信息的合法性。
在一些实施例中,第二区块链中可以存储有核心区块链的公钥,当接收到目标区块的区块头信息后,第二区块链可以通过核心区块链的公钥对目标区块的区块地址进行校验,以确定目标区块确实由核心区块链构建。
在步骤S322中,基于所述目标区块的区块头信息获取所述目标跨链交易数据的跨链交易参数以及针对所述目标跨链交易数据的第二默克尔树证明。
在一些实施例中,若目标区块的区块地址信息验证通过,第二区块链还可以进一步地从核心区块链获取目标跨链交易的跨链参数以及针对目标跨链交易数据的第二默克尔树证明。
其中,目标跨链交易的跨链参数可以存在于核心区块链的第二日志中,该第二日志可以是在核心区块链针对目标跨链交易数据进行上链操作时产生,并存储在目标区块的区块头信息中,或者以交易树的形式存储在目标区块的区块体,本公开对此不做限制。
若上述第二日志直接存储在目标区块的区块头中,则可以从目标区块的区块头信息中直接获取该第二日志,并从第二日志中获取目标跨链交易的跨链交易参数;若上述第二日志以交易树的形式存储于目标区块的区块体中,则可以从第二区块的区块头中获取交易树根并根据上述交易树根从目标区块中获取该第二日志,并进一步地从第二日志中获取目标跨链交易的跨链交易参数。
在一些实施例中,目标跨链交易数据可以以默克尔树的形式(如图4所示或图8所示)存储于第一区块的区块体中,并将该默克尔树的树根存储于第一区块的区块头中(如图3所示)。当第二区块链请求获得第二默克尔树证明时,核心区块链会根据目标跨链交易数据的默克尔树动态生成第二默克尔树证明,已发送给第二区块链。
在步骤S323中,通过所述第二跨链治理合约对所述第二默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性。
在一些实施例中,可以通过第二跨链治理合约将第二默克尔树证明与目标区块头中的默克尔树根进行比较,若通过第二默克尔树证明获得的树根与目标区块头中的默克尔树根一致,则说明目标区块中确实存储有目标跨链交易数据,且该目标跨链交易数据未发生改变。
在步骤S324中,通过所述第二跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,跨链交易参数可以包括所述目标跨链交易的源链地址(即发起目标跨链交易的区块链的地址)和目标链地址(接收目标跨链交易的区块链的地址)。在本实施例中,上述源链地址与第一区块链对应,目标链地址与第二区块链对应。
在一些实施例中,可以通过第二跨链治理合约检测源链地址是否可以与第二区块链的链交易是否合法,若源链地址和第二区块链的跨链交易合法,则确定该跨链交易参数合法,该目标跨链交易合法。
在本公开实施例中,第二区块链在进行目标跨链交易时,通过智能合约对目标跨链交易的跨链交易数据进行了多维度的校验,以确保目标跨链交易数据在流转过程中的安全性和公信力。
图13是根据一示例性实施例示出的一种跨区块链的数据流转结构示意图。参考图13所示的跨区块链的数据流转示意图可以包括以下过程。
响应于用户针对目标数据的上链请求,第一区块链获取目标数据,目标数据涉及第一区块链与第二区块链的目标跨链交易;通过部署于第一区块链上的第一业务合约执行目标数据内与所述第一区块链对应的第一操作内容,以获得第一操作结果;调用第一跨链治理合约接口,以通过第一跨链治理合约对第一操作结果和目标数据进行处理,在第一区块链中构建目标跨链交易以生成目标跨链交易数据;将目标跨链交易数据以默克尔树的形式存储在第一区块中,第一区块包括区块头信息;核心区块链通过第一中继设备对第一区块链进行检测;当第一中继设备检测到第一区块链中存在新增的第一区块,并且第一区块中存储有目标跨链交易数据时,所述核心区块链则通过第一中继设备从第一区块链中获取第一区块的区块头信息;核心区块链通过核心同步合约对第一区块的区块地址信息进行校验,以确定第一区块的区块地址信息的合法性;核心区块链通过第一中继设备、基于第一区块的区块头信息获取目标跨链交易的跨链交易参数以及针对目标跨链交易数据的第一默克尔树证明;核心区块链通过核心跨链治理合约对第一默克尔树证明进行校验,以确定目标跨链交易数据的安全性;核心区块链通过核心跨链治理合约对跨链交易参数进行校验,以确定跨链交易参数的合法性;核心区块链针对第一区块的区块头信息校验通过后,基于第一区块的区块头信息从第一区块中获取目标跨链交易的目标跨链交易数据,并将目标跨链交易数据记录在所述核心区块链的目标区块中;第二区块链通过第二中继设备对核心区块链进行检测;当第二中继设备检测到核心区块链中存在新增的目标区块,并且目标区块中存储有目标跨链交易数据时,第二区块链则通过第二中继设备从核心区块链中获取目标区块的区块头信息;第二区块链通过部署于所述第二区块链上的第二同步合约对目标区块的区块头信息进行校验,以确定目标区块的区块地址信息的合法性;所述第二区块链通过第二中继设备、基于目标区块的区块头信息从核心区块链中获取目标跨链交易数据的跨链交易参数以及针对目标跨链交易数据的第二默克尔树证明;第二区块链通过第二跨链治理合约对第二默克尔树证明进行校验,以确定目标跨链交易数据的安全性;第二区块链通过第二跨链治理合约对跨链交易参数进行校验,以确定跨链交易参数的合法性;第二区块链针对目标区块的区块头信息校验通过后,基于目标区块的区块头信息从目标区块中获取目标跨链交易的目标跨链交易数据;第二区块链通过第二业务合约执行目标跨链交易数据内与第二区块链对应的第二操作内容,以获得第二操作结果;将目标跨链交易数据和第二操作结果存储在第二区块链的第二区块中,并向核心区块链返回跨链交易完成提示信息,以便核心区块链将该跨链交易完成提示记录并返回给第一区块链,以便第一区块链确定当前目标跨链交易完成,实现目标跨链交易的闭环。
需要说明的是,在目标跨链交易数据同步执行的过程中,目标跨链交易发起方也即是本公开中的第一区块链可以给于核心区块链一定的激励,例如给核心区块链转移一定的电子资产(例如虚拟货币)等。
本公开实施例提供的目标区块信息获取模块方法,通过核心区块链完成了第一区块链和第二区块链之间的数据流转。该方法,一方面通过核心区块链记录和见证了数据流转过程,使得整个数据流转过程可追溯,便于后续追溯整个跨链交易数据的具体流转过程;另一方面,在由于在通过核心区块链实现流转过程中对流转的目标跨链交易数据进行了校验,确保目标跨链交易数据在流转过程中不被篡改,保证了数据流转的安全性;另外,任何区块链都可以通过本公开提供的核心区块链实现数据的流转,简化了数据流转的流程。
图14是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。参照图14,本公开实施例提供的跨区块链的数据流转装置1400可以应用于不属于第一区块链和第二区块链的核心区块链,所述数据流转装置1400包括:第一区块信息获取模块1401、第一区块信息校验模块1402、目标跨链交易数据获取第一模块1403、目标区块生成模块1404、目标区块信息发送模块1405。
其中,所述第一区块信息获取模块1401可以配置为获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易。所述第一区块信息校验模块1402可以配置为通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验。所述目标跨链交易数据获取第一模块1403可以配置为所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据。所述目标区块生成模块1404可以配置为将所述目标跨链交易数据记录在所述核心区块链的目标区块中。所述目标区块信息发送模块1405可以配置为将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
在一些实施例中,所述第一区块的区块头信息包括所述第一区块的区块地址信息,部署于所述核心区块链上的智能合约包括核心同步合约和核心跨链治理合约。其中,所述第一区块信息校验模块1402可以包括:第一区块地址校验单元、第一默克尔树证明获取单元、第一默克尔树证明校验单元以及跨链交易参数校验单元。
其中,所述第一区块地址校验单元可以配置为通过所述核心同步合约对所述第一区块的区块地址信息进行校验,以确定所述第一区块的区块地址信息的合法性;所述第一默克尔树证明获取单元可以配置为基于所述第一区块的区块头信息获取所述目标跨链交易的跨链交易参数以及针对所述目标跨链交易数据的第一默克尔树证明;所述第一默克尔树证明校验单元可以配置为通过所述核心跨链治理合约对所述第一默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;所述跨链交易参数校验单元可以配置为通过所述核心跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,所述核心区块链通过第一中继设备与所述第一区块链进行数据传输,所述第一区块链和所述核心区块链具有不同的数据存储规范,部署于所述核心区块链上的智能合约包括核心同步合约。其中,所述目标跨链交易数据获取第一模块1403可以包括:目标跨链交易第一获取单元和转换单元。
其中,所述目标跨链交易第一获取单元可以配置为基于所述第一区块的区块头信息从所述第一区块链中获取符合第一区块链存储规范的目标跨链交易数据;所述转换单元可以配置为所述核心区块链通过所述核心同步合约将所述符合第一区块链存储规范的目标跨链交易数据,转换为符合核心区块链存储规范的目标跨链交易数据,以便将所述符合核心区块链存储规范的目标跨链交易数据存储在所述目标区块中。
在一些实施例中,所述核心区块链通过第一中继设备与所述第一区块链进行数据传输。其中,所述第一区块信息获取模块1401可以包括:第一检测单元、第一区块信息获取单元。
其中,所述第一检测单元可以配置为所述核心区块链通过所述第一中继设备对所述第一区块链进行检测;所述第一区块信息获取单元可以配置为当所述第一中继设备检测到所述第一区块链中存在新增的第一区块,并且所述第一区块中存储有所述目标跨链交易数据时,所述核心区块链则通过所述第一中继设备从所述第一区块链中获取所述第一区块的区块头信息。
在一些实施例中,所述跨链交易参数包括所述目标跨链交易的源链地址和目标链地址,所述源链地址与所述第一区块链对应,所述目标链地址与所述第二区块链对应。其中,所述第一默克尔树证明校验单元可以包括:注册校验子单元、参数合法性校验子单元。
其中,所述注册校验子单元可以配置为通过所述核心跨链治理合约检测所述源链地址和所述目标链地址是否在所述核心区块链已注册;所述参数合法性校验子单元可以配置为若所述源链地址和所述目标链地址在所述核心区块链已注册,则确定所述跨链交易参数的合法性。
其中,所述目标区块信息发送模块1405可以包括:目标区块信息发送单元,配置为根据所述目标链地址将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
由于本公开的示例实施例的跨区块链的数据流转装置1400的各个功能模块与上述跨区块链的数据流转方法的示例实施例的步骤对应,因此在此不再赘述。
图15是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。
在一些实施例中,该跨区块链的数据流转装置应用于第一区块链。
参考图15,上述跨区块链的数据流转装置可以包括:目标数据获取模块1501、目标跨链交易数据生成模块1502、第一区块生成模块1503以及第一区块信息发送模块。
其中,所述目标数据获取模块1501可以配置为响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易;所述目标跨链交易数据生成模块1502可以配置为通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据;所述第一区块生成模块1503可以配置为将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息;所述第一区块信息发送模块1504可以配置为将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
在一些实施例中,在生成所述目标跨链交易数据时还会生成所述目标跨链交易的第一交易日志,所述第一交易日志包括所述目标跨链交易的跨链交易参数。其中,所述第一区块信息发送模块1504可以包括:第一区块信息发送单元、第一交易日志发送单元、第一默克尔树证明生成单元以及第一默克尔树证明发送单元。
其中,所述第一区块信息发送单元可以配置为将所述第一区块的区块头信息发送给核心区块链,以便所述核心区块链对所述第一区块的区块头信息进行校验;所述第一交易日志发送单元可以配置为响应于所述核心区块链的交易参数获取请求,将所述第一交易日志发送给所述核心区块链,以便所述核心区块链获取所述跨链交易参数;第一默克尔树证明生成单元可以配置为响应于所述核心区块链的数据证明获取请求,根据所述目标跨链交易数据在所述第一区块中的第一默克尔树生成第一默克尔树证明;所述第一默克尔树证明发送单元可以配置为将所述第一默克尔树证明发送给所述核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易。
在一些实施例中,部署于所述第一区块链上的智能合约包括第一业务合约和第一跨链治理合约。其中,所述目标跨链交易数据生成模块1502可以包括:第一操作单元和目标跨链交易数据生成单元。
其中,所述第一操作单元可以配置为通过所述第一业务合约执行所述目标数据内与所述第一区块链对应的第一操作内容,以获得第一操作结果;所述目标跨链交易数据生成单元可以配置为通过所述第一跨链治理合约对所述第一操作结果和所述目标数据进行处理,在所述第一区块链中构建目标跨链交易以生成所述目标跨链交易数据。
由于本公开的示例实施例的跨区块链的数据流转装置1500的各个功能模块与上述跨区块链的数据流转方法的示例实施例的步骤对应,因此在此不再赘述。
图16是根据一示例性实施例示出的一种跨区块链的数据流转装置的框图。
在一些实施例中,所述跨区块链的数据流转装置应用于第二区块链。
参考图16,上述跨区块链的数据流转装置可以包括:目标区块信息获取模块1601、目标区块信息校验模块1602、目标跨链交易数据获取第二模块1603、第二结果获取模块1604以及第二区块生成模块1605。
其中,所述目标区块信息获取模块1601可以配置为第二区块链接收核心区块链发送的目标区块的区块头信息,所述目标区块用来记录第一区块链和所述第二区块链之间的目标跨链交易,所述目标跨链交易由所述第一区块链发起;所述目标区块信息校验模块1602可以配置为通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验;所述目标跨链交易数据获取第二模块1603可以配置为所述目标区块的区块头信息校验通过后,基于所述目标区块的区块头信息从所述目标区块中获取所述目标跨链交易的目标跨链交易数据;所述第二结果获取模块1604可以配置为执行所述目标跨链交易数据内与所述第二区块链对应的第二操作内容,以获得第二操作结果;所述第二区块生成模块1605可以配置为将所述目标跨链交易数据和所述第二操作结果存储在所述第二区块链的第二区块中,以完成所述目标跨链交易。
在一些实施例中,所述目标区块的区块头信息包括所述目标区块的区块地址信息,部署于所述第二区块链上的智能合约包括第二同步合约和第二跨链治理合约;其中,所述目标区块信息校验模块1602可以包括:目标区块信息校验单元、第二默克尔树证明获取单元、第二默克尔树证明校验单元以及跨链交易参数合法性校验单元。
其中,所述目标区块信息校验单元可以配置为通过所述第二同步合约对所述目标区块的区块头信息进行校验,以确定所述目标区块的区块地址信息的合法性;所述第二默克尔树证明获取单元可以配置为基于所述目标区块的区块头信息获取所述目标跨链交易数据的跨链交易参数以及针对所述目标跨链交易数据的第二默克尔树证明;所述第二默克尔树证明校验单元可以配置为通过所述第二跨链治理合约对所述第二默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;所述跨链交易参数合法性校验单元可以配置为通过所述第二跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
在一些实施例中,所述第二区块链通过第二中继设备与所述核心区块链进行数据的传输;其中,所述目标区块信息获取模块1601可以包括:第二检测单元和目标区块信息获取单元。
其中,所述第二检测单元可以配置为所述第二区块链通过所述第二中继设备对所述核心区块链进行检测;所述目标区块信息获取单元可以配置为当所述第二中继设备检测到所述核心区块链中存在新增的目标区块,并且所述目标区块中存储有目标跨链交易数据时,所述第二区块链通过所述第二中继设备从所述核心区块链中获取所述目标区块的区块头信息。
由于本公开的示例实施例的跨区块链的数据流转装置1600的各个功能模块与上述跨区块链的数据流转方法的示例实施例的步骤对应,因此在此不再赘述。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块和/或单元和/或子单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元和/或子单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些模块和/或单元和/或子单元的名称在某种情况下并不构成对该模块和/或单元和/或子单元本身的限定。
下面参考图17,其示出了适于用来实现本申请实施例的计算设备(例如终端设备或者服务器等)计算机***1700的结构示意图。图17示出的计算机***仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,计算机***1700包括中央处理单元(CPU)1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从储存部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。在RAM 1703中,还存储有***1700操作所需的各种程序和数据。CPU 1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的储存部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入储存部分1708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的***中限定的上述功能。
需要说明的是,本申请所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;将所述目标跨链交易数据记录在所述核心区块链的目标区块中;将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图5的一个或多个所示的步骤。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (15)

1.一种跨区块链的数据流转方法,其特征在于,应用于核心区块链;其中,所述方法包括:
获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;
通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;
所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;
将所述目标跨链交易数据记录在所述核心区块链的目标区块中;
将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
2.根据权利要求1所述方法,其特征在于,所述第一区块的区块头信息包括所述第一区块的区块地址信息,部署于所述核心区块链上的智能合约包括核心同步合约和核心跨链治理合约;其中,通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验,包括:
通过所述核心同步合约对所述第一区块的区块地址信息进行校验,以确定所述第一区块的区块地址信息的合法性;
基于所述第一区块的区块头信息获取所述目标跨链交易的跨链交易参数以及针对所述目标跨链交易数据的第一默克尔树证明;
通过所述核心跨链治理合约对所述第一默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;
通过所述核心跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
3.根据权利要求1所述方法,其特征在于,所述第一区块链和所述核心区块链具有不同的数据存储规范,部署于所述核心区块链上的智能合约包括核心同步合约;其中,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据,包括:
基于所述第一区块的区块头信息从所述第一区块链中获取符合第一区块链存储规范的目标跨链交易数据;
所述核心区块链通过所述核心同步合约将所述符合第一区块链存储规范的目标跨链交易数据,转换为符合核心区块链存储规范的目标跨链交易数据,以便将所述符合核心区块链存储规范的目标跨链交易数据存储在所述目标区块中。
4.根据权利要求1所述方法,其特征在于,所述核心区块链通过第一中继设备与所述第一区块链进行数据传输;其中,获取所述第一区块链中第一区块的区块头信息,包括:
所述核心区块链通过所述第一中继设备对所述第一区块链进行检测;
当所述第一中继设备检测到所述第一区块链中存在新增的第一区块,并且所述第一区块中存储有所述目标跨链交易数据时,所述核心区块链则通过所述第一中继设备从所述第一区块链中获取所述第一区块的区块头信息。
5.根据权利要求2所述方法,其特征在于,所述目标跨链交易数据包括所述跨链交易参数的源链地址和目标链地址,所述源链地址与所述第一区块链对应,所述目标链地址与所述第二区块链对应;其中,通过所述核心跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性,包括:
通过所述核心跨链治理合约检测所述源链地址和所述目标链地址是否在所述核心区块链已注册;
若所述源链地址和所述目标链地址在所述核心区块链已注册,则确定所述跨链交易参数的合法性;
其中,将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易,包括:
根据所述目标链地址将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
6.一种跨区块链的数据流转方法,其特征在于,应用于第一区块链;其中,所述方法包括:
响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易;
通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据;
将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息;
将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
7.根据权利要求6所述方法,其特征在于,在生成所述目标跨链交易数据时还会生成所述目标跨链交易的第一交易日志,所述第一交易日志包括所述目标跨链交易的跨链交易参数;其中,将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,包括:
将所述第一区块的区块头信息发送给核心区块链,以便所述核心区块链对所述第一区块的区块头信息进行校验;
响应于所述核心区块链的交易参数获取请求,将所述第一交易日志发送给所述核心区块链,以便所述核心区块链获取所述跨链交易参数;
响应于所述核心区块链的数据证明获取请求,根据所述目标跨链交易数据在所述第一区块中的第一默克尔树生成第一默克尔树证明;
将所述第一默克尔树证明发送给所述核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易。
8.根据权利要求6所述方法,其特征在于,部署于所述第一区块链上的智能合约包括第一业务合约和第一跨链治理合约;其中,通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据,包括:
通过所述第一业务合约执行所述目标数据内与所述第一区块链对应的第一操作内容,以获得第一操作结果;
通过所述第一跨链治理合约对所述第一操作结果和所述目标数据进行处理,在所述第一区块链中构建目标跨链交易以生成所述目标跨链交易数据。
9.一种跨区块链的数据流转方法,其特征在于,应用于第二区块链;其中,所述方法包括:
所述第二区块链接收核心区块链发送的目标区块的区块头信息,所述目标区块用来记录第一区块链和所述第二区块链之间的目标跨链交易,所述目标跨链交易由所述第一区块链发起;
通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验;
所述目标区块的区块头信息校验通过后,基于所述目标区块的区块头信息从所述目标区块中获取所述目标跨链交易的目标跨链交易数据;
执行所述目标跨链交易数据内与所述第二区块链对应的第二操作内容,以获得第二操作结果;
将所述目标跨链交易数据和所述第二操作结果存储在所述第二区块链的第二区块中,以完成所述目标跨链交易。
10.根据权利要求9所述方法,其特征在于,所述目标区块的区块头信息包括所述目标区块的区块地址信息,部署于所述第二区块链上的智能合约包括第二同步合约和第二跨链治理合约;其中,通过部署于所述第二区块链上的智能合约对所述目标区块的区块头信息进行校验,包括:
通过所述第二同步合约对所述目标区块的区块头信息进行校验,以确定所述目标区块的区块地址信息的合法性;
基于所述目标区块的区块头信息获取所述目标跨链交易数据的跨链交易参数以及针对所述目标跨链交易数据的第二默克尔树证明;
通过所述第二跨链治理合约对所述第二默克尔树证明进行校验,以确定所述目标跨链交易数据的安全性;
通过所述第二跨链治理合约对所述跨链交易参数进行校验,以确定所述跨链交易参数的合法性。
11.根据权利要求9所述方法,其特征在于,所述第二区块链通过第二中继设备与所述核心区块链进行数据的传输;其中,第二区块链接收核心区块链发送的目标区块的区块头信息,包括:
所述第二区块链通过所述第二中继设备对所述核心区块链进行检测;
当所述第二中继设备检测到所述核心区块链中存在新增的目标区块,并且所述目标区块中存储有目标跨链交易数据时,所述第二区块链通过所述第二中继设备从所述核心区块链中获取所述目标区块的区块头信息。
12.一种跨区块链的数据流转装置,其特征在于,应用于核心区块链;其中,所述装置包括:
第一区块信息获取模块,配置为获取所述第一区块链中第一区块的区块头信息,所述第一区块用来记录所述第一区块链和所述第二区块链之间的目标跨链交易;
第一区块信息校验模块,配置为通过部署于所述核心区块链上的智能合约针对所述第一区块的区块头信息进行校验;
目标跨链交易数据获取第一模块,配置为所述第一区块的区块头信息校验通过后,基于所述第一区块的区块头信息从所述第一区块中获取所述目标跨链交易的目标跨链交易数据;
目标区块生成模块,配置为将所述目标跨链交易数据记录在所述核心区块链的目标区块中;
目标区块信息发送模块,配置为将所述目标区块的区块头信息发送给所述第二区块链,以便所述第二区块链根据所述目标区块的区块头信息进行所述目标跨链交易。
13.一种跨区块链的数据流转装置,其特征在于,应用于第一区块链;其中,所述装置包括:
目标数据获取模块,配置为响应于目标地址针对目标数据的上链请求,所述第一区块链获取所述目标数据,所述目标数据涉及所述第一区块链与第二区块链的目标跨链交易;
目标跨链交易数据生成模块,配置为通过部署于所述第一区块链上的智能合约对所述目标数据进行处理,以根据所述目标数据生成目标跨链交易数据;
第一区块生成模块,配置为将所述目标跨链交易数据存储在第一区块中,所述第一区块包括区块头信息;
第一区块信息发送模块,配置为将所述第一区块的区块头信息发送给核心区块链,以便通过所述核心区块链将所述目标跨链交易数据发送给所述第二区块链以进行所述目标跨链交易,所述核心区块链不属于所述第一区块链和所述第二区块链。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-11中任一项所述的方法。
CN202011367758.0A 2020-11-27 2020-11-27 跨区块链的数据流转方法、装置及相关设备 Active CN114567643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367758.0A CN114567643B (zh) 2020-11-27 2020-11-27 跨区块链的数据流转方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367758.0A CN114567643B (zh) 2020-11-27 2020-11-27 跨区块链的数据流转方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN114567643A true CN114567643A (zh) 2022-05-31
CN114567643B CN114567643B (zh) 2023-05-23

Family

ID=81711619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367758.0A Active CN114567643B (zh) 2020-11-27 2020-11-27 跨区块链的数据流转方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN114567643B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118528A (zh) * 2022-08-26 2022-09-27 人民法院信息技术服务中心 一种区块链安全性的评判方法、装置、设备和存储介质
CN116308368A (zh) * 2023-05-24 2023-06-23 国网区块链科技(北京)有限公司 一种中继区块链跨链数据安全存储方法、装置及相关设备
CN116827957A (zh) * 2023-08-30 2023-09-29 腾讯科技(深圳)有限公司 基于多区块链的信息处理方法、装置、设备以及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109919615A (zh) * 2019-03-01 2019-06-21 上海分布信息科技有限公司 基于区块链的跨链数据交互方法及跨链数据交互***
WO2019141984A1 (en) * 2018-01-17 2019-07-25 SETL Development Limited Interaction between blockchains
CN110442652A (zh) * 2019-08-15 2019-11-12 腾讯科技(深圳)有限公司 一种基于区块链的跨链数据处理方法及装置
CN110597907A (zh) * 2019-09-10 2019-12-20 腾讯科技(深圳)有限公司 跨区块链的数据信息同步方法、装置、设备及介质
CN110650189A (zh) * 2019-09-20 2020-01-03 深圳供电局有限公司 一种基于中继的区块链的交互***及方法
CN111107136A (zh) * 2019-12-05 2020-05-05 上海中信信息发展股份有限公司 一种基于ipfs的区块链跨链中继方法
CN111914021A (zh) * 2020-07-02 2020-11-10 连连智能科技有限公司 一种跨区块链的交互方法、***、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019141984A1 (en) * 2018-01-17 2019-07-25 SETL Development Limited Interaction between blockchains
CN109919615A (zh) * 2019-03-01 2019-06-21 上海分布信息科技有限公司 基于区块链的跨链数据交互方法及跨链数据交互***
CN110442652A (zh) * 2019-08-15 2019-11-12 腾讯科技(深圳)有限公司 一种基于区块链的跨链数据处理方法及装置
CN110597925A (zh) * 2019-08-15 2019-12-20 腾讯科技(深圳)有限公司 一种基于区块链的跨链数据处理方法及装置
CN110597907A (zh) * 2019-09-10 2019-12-20 腾讯科技(深圳)有限公司 跨区块链的数据信息同步方法、装置、设备及介质
CN110650189A (zh) * 2019-09-20 2020-01-03 深圳供电局有限公司 一种基于中继的区块链的交互***及方法
CN111107136A (zh) * 2019-12-05 2020-05-05 上海中信信息发展股份有限公司 一种基于ipfs的区块链跨链中继方法
CN111914021A (zh) * 2020-07-02 2020-11-10 连连智能科技有限公司 一种跨区块链的交互方法、***、计算机设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118528A (zh) * 2022-08-26 2022-09-27 人民法院信息技术服务中心 一种区块链安全性的评判方法、装置、设备和存储介质
CN116308368A (zh) * 2023-05-24 2023-06-23 国网区块链科技(北京)有限公司 一种中继区块链跨链数据安全存储方法、装置及相关设备
CN116308368B (zh) * 2023-05-24 2023-07-18 国网区块链科技(北京)有限公司 一种中继区块链跨链数据安全存储方法、装置及相关设备
CN116827957A (zh) * 2023-08-30 2023-09-29 腾讯科技(深圳)有限公司 基于多区块链的信息处理方法、装置、设备以及介质
CN116827957B (zh) * 2023-08-30 2023-11-07 腾讯科技(深圳)有限公司 基于多区块链的信息处理方法、装置、设备以及介质

Also Published As

Publication number Publication date
CN114567643B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN108665372B (zh) 基于区块链的信息处理、查询、储存方法和装置
CN108881187B (zh) 一种适用于许可链场景的跨链数据传递方法及设备
CN111737724B (zh) 一种数据处理方法、装置、智能设备及存储介质
US11050690B2 (en) Method for providing recording and verification service for data received and transmitted by messenger service, and server using method
CN112000976B (zh) 区块链***的认证管理方法、装置、介质及电子设备
CN114567643B (zh) 跨区块链的数据流转方法、装置及相关设备
Ferrer-Gomila et al. A fair contract signing protocol with blockchain support
CN111066047A (zh) 实现基于区块链的工作流
CN112613877B (zh) 应用于区块链网络的智能合约触发方法、装置及相关设备
WO2022166637A1 (zh) 基于区块链网络的数据处理方法、装置及计算机设备
JP2022534023A (ja) コンピュータで実施されるシステムおよび方法
CN113706313A (zh) 基于区块链的融资方法、***及计算机可读存储介质
CN111833190A (zh) 年金数据处理方法、装置、介质及电子设备
CN113129008B (zh) 数据处理方法、装置、计算机可读介质及电子设备
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
CN110827034B (zh) 用于发起区块链交易的方法及装置
WO2023244993A1 (en) Systems and methods for mitigating network congestion on blockchain networks by supporting blockchain operations through off-chain interactions
CN116975901A (zh) 基于区块链的身份验证方法、装置、设备、介质及产品
CN113014556B (zh) 银企通讯***、通讯方法以及电子终端
CN114301912A (zh) 基于区块链的信息交互方法和装置
CN114641967A (zh) 区块链交易的回调机制
CN116186786A (zh) 基于区块链的业务处理方法、装置、电子设备和可读介质
CN115967508A (zh) 数据访问控制方法及装置、设备、存储介质、程序产品
WO2021064565A1 (en) Call-back mechanisms for blockchain transactions
US11755746B1 (en) Systems and methods for conducting blockchain actions based on network mappings of self-executing program characteristics

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40071423

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant