CN111416808A - 跨区块链的数据互存方法、装置、设备及存储介质 - Google Patents
跨区块链的数据互存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111416808A CN111416808A CN202010175290.9A CN202010175290A CN111416808A CN 111416808 A CN111416808 A CN 111416808A CN 202010175290 A CN202010175290 A CN 202010175290A CN 111416808 A CN111416808 A CN 111416808A
- Authority
- CN
- China
- Prior art keywords
- node
- data information
- data
- relay node
- transferred
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
- G06F16/1837—Management specially adapted to peer-to-peer storage networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- 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/23—Updating
- G06F16/2308—Concurrency control
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- 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)
- H04L9/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种跨区块链的数据互存方法、装置、设备及存储介质,该方法包括:获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;通过第一预言机合约对初始数据信息进行验证;在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点。采用本申请实施例,可以实现跨链信息的相互存储。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种跨区块链的数据互存方法、装置、设备及存储介质。
背景技术
目前,在A区块链与B区块链的进行数据交互的过程中,需要采用资产流转的方式将A区块链中的交易数据信息(例如,相应数据的比特币或者电子票据等)转移至B区块链,那这意味着当B区块链上的某个节点(例如,第二节点)上存在这个交易数据信息时,A区块链上的相应节点(例如,第一节点)上势必是不会有这个交易数据信息。
比如,若第一节点需要将A区块链中的电子票据流转至B链上的第二节点,则需要第一节点在A区块链上对该电子票据进行资产冻结,进而在B链上的第二节点确认签收该电子票据时,会在A区块链上将原电子票据销毁,以通知第二节点在B区块链上发布与该电子票据相同的另一电子票据,从而实现跨链数据的流转。由此可见,现有技术在不同链上进行数据流转的过程中,难以实现不同区块链上存在相同数据信息。
申请内容
本申请实施例提供一种跨区块链的数据互存方法、装置、设备及存储介质,可以实现跨链信息的相互存储。
本申请实施例一方面提供一种跨区块链的数据互存方法,该方法由第一区块链网络中的第一节点执行,包括:
获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;第一数据格式为目标区块中的交易数据信息的数据格式;第一节点中包含第一预言机合约;
通过第一预言机合约对初始数据信息进行验证;
在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;第二预言机合约部署在与第一区块链网络不同的第二区块链网络中的第二节点上;
将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点;第二中继节点用于通过第二节点对待转移数据信息进行数据存储。
本申请实施例一方面提供一种跨区块链的数据互存方法,该方法由第二区块链网络中的第二节点执行,包括:
基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息;待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
基于第二预言机合约,对待转移数据信息进行验证;
在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
将目标数据信息写入第二区块链网络对应的第二区块链中。
本申请实施例一方面提供一种跨区块链的数据互存装置,该装置运行于第一区块链网络中的第一节点,包括:
获取模块,用于获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;第一数据格式为目标区块中的交易数据信息的数据格式;第一节点中包含第一预言机合约;
验证模块,用于通过第一预言机合约对初始数据信息进行验证;
转换模块,用于在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;第二预言机合约部署在与第一区块链网络不同的第二区块链网络中的第二节点上;
发送模块,用于将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点;第二中继节点用于通过第二节点对待转移数据信息进行数据存储。
其中,获取模块包括:
第一获取单元,用于从第一区块链网络中确定与第一节点具有网络连接关系的第一中继节点,获取第一中继节点所监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息,交易数据信息是根据第一节点中的第一业务合约所确定的;
第一确定单元,用于将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息;
第二获取单元,用于调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。
其中,验证模块包括:
调用单元,用于调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证;
第一验证单元,用于若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证成功;
第二验证单元,用于若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证失败。
其中,转换模块包括:
第三获取单元,用于在验证成功时,获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约;
第四获取单元,用于获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,将用于进行跨链交易的数据格式确定为第二数据格式;
转换单元,用于将初始数据信息的数据格式由第一数据格式转换为第二数据格式;
第二确定单元,用于将具有第二数据格式的初始数据信息确定为待转移数据信息。
其中,发送模块包括:
第五获取单元,用于获取部署在第一节点上的第一跨链合约;
发送单元,用于调用第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至第一中继节点;第一中继节点用于基于第二区块链网络对应的第二中继节点的公钥对待转移数据信息进行加密,得到加密数据信息;第二中继节点用于基于第二中继节点的私钥对加密数据信息进行解密,通过第二节点将解密后得到的待转移数据信息进行数据存储。
本申请一方面提供了一种节点设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
本申请实施例一方面提供一种跨区块链的数据互存装置,该装置运行于第二区块链网络中的第二节点,包括:
接收模块,用于基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息;待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
信息验证模块,用于基于第二预言机合约,对待转移数据信息进行验证;
格式转换模块,用于在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
写入模块,用于将目标数据信息写入第二区块链网络对应的第二区块链中。
其中,接收模块包括:
接收单元,用于调用第二节点中所包含的第二跨链合约中的跨链数据转移函数,接收第二区块链网络上的第二中继节点基于第二中继节点的私钥对待转移数据信息进行签名后的签名信息;待转移数据信息是第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到;加密数据信息是由第一区块链网络中的第一中继节点基于第二中继节点的公钥对待转移数据信息进行加密后所得到的;
公钥获取单元,用于在第二区块链网络中获取第二中继节点的公钥;
验签单元,用于基于公钥对签名信息进行验签,得到验签结果;验签结果中包含待转移数据信息。
信息获取单元,用于当验签结果指示验签成功时,获取第二中继节点所发送的待转移数据信息。
其中,信息验证模块包括:
格式获取单元,用于获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第二预言机合约所确定的第二数据格式的匹配度进行验证;
第一格式验证单元,用于若匹配度指示待转移数据信息的数据格式为第二数据格式,则验证成功;
第二格式验证单元,用于若匹配度指示待转移数据信息的数据格式不是第二数据格式,则验证失败。
其中,写入模块包括:
生成单元,用于基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块;
广播单元,用于将待验证区块广播至第二区块链上的所有区块链节点;
写入单元,用于在确定第二区块链上的所有区块链节点达成共识时,将待验证区块写入第二区块链中。
其中,该装置还包括:
分类确定模块,基于第二节点中包含的第二业务合约,确定目标数据信息所属的业务分类;
业务回调模块,用于基于业务分类,将目标数据信息进行业务回调。
本申请一方面提供了一种节点设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息进行数据存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链节点系统的结构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图;
图4是本申请实施例提供的一种区块链的结构示意图;
图5是本申请实施例提供的一种发送待转移数据信息的场景示意图;
图6是本申请实施例提供的一种验证签名信息的场景示意图;
图7是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图;
图8是本申请实施例提供的一种跨链信息进行存储的场景示意图;
图9是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图;
图10是本申请实施例提供的一种节点设备的示意图;
图11是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图;
图12是本申请实施例提供的一种节点设备的示意图;
图13是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种区块链节点系统的结构示意图。如图1所示,本申请实施例中的区块链节点系统110(即第一区块链节点系统)中的节点与区块链节点系统120(即第二区块链节点系统)中的节点之间可以进行跨链数据信息相互存储。其中,区块链节点系统110中可以包含多个节点,如图1所示,区块链节点系统110中具体可以包括节点1100a、节点1100b、节点1100c、…、节点1100n以及中继节点(例如,中继节点110A)。区块链节点系统120中可以包括多个节点。如图1所示,该区块链节点系统120具体可以包括节点1200a、节点1200b、节点1200c、…、节点1200n以及中继节点(例如在,中继节点120A)。
其中,本申请实施例可以将区块链节点系统110对应的区块链网络称之为第一区块链网络,将该第一区块链网络对应的区块链可以称之为第一区块链。其中,本申请实施例可以将区块链节点系统120对应的区块链网络称之为第二区块链网络,将该第二区块链网络对应的区块链可以称之为第二区块链。
目前,区块链的类型可包括:公有链(Public Blockchain)、私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。公有链对外公开,任何人可以加入并访问区块链;公有链上的区块可以被任何人查看,任何人也可以在公有链上发起交易,还可以随时参与公有链的共识过程。私有链可以在私有组织内部使用,区块链上的读写权限、参与记账权限按私有组织规则来制定;通常用于企业内部的数据管理、审计等。联盟链可以限于联盟成员参与,区块链上的读写权限、参与记账权限按联盟规则来制定;一般用于机构间的交易、结算或清算等场景。两条不同类型的区块链有各自的规范,例如:公有链中的共识机制一般是工作量证明(Proof of Work,简称PoW)或权益证明(Proof of Stake,简称PoS),而联盟链中的共识机制一般是权益证明或拜占庭共识算法(Practical Byzantine FaultTolerant,简称PBFT)、RAFT(一种共识算法)等共识算法。相同类型的两条区块链也会有各自管理规范的差异,例如:同为联盟链,一条联盟链的共识机制可以为权益证明,而另一条联盟链的共享机制可以为PBFT共识机制。
应当理解,本申请实施例描述了一种跨链信息相互存储的方法,其中,两条区块链之间的跨链交互可以根据所跨越的区块链底层技术平台的不同,从而可以分为同构链跨链和异构链跨链。可以理解的是,同构链之间安全机制、共识算法、网络拓扑、区块生成验证逻辑都一致,它们之间的跨链交互相对简单。而异构链的跨链交互相对复杂,比如,比特币采用PoW算法,而联盟链Fabric(一种超级账本联盟推出的核心区块链框架)采用传统确定性共识算法,其区块的组成形式和确定性保证机制均有很大不同,直接跨链交互机制不易设计。
可以理解的是,本申请实施例中的第一区块链和第二区块链可以为不同类型的两条区块链。例如,第一区块链可以为私有链,第二区块链可以为联盟链。本申请实施例中的第一区块链和第二区块链也可以为相同类型的两条区块链。例如,第一区块链可以为联盟链,第二区块链也可以为联盟链。这里在此不做限定。
如图1所示,在区块链节点系统110中,每个节点在进行正常工作时,均可以获取与第一区块链网络中的第一业务合约相关联的交易数据信息,以维护区块链节点系统110内的共享数据。为了保证区块链节点系统110内的信息互通,该区块链节点系统110中的每个节点之间可以建立网络连接,以通过网络连接进行数据传输。例如,当区块链节点系统110中的任意节点在获取交易数据信息时,区块链节点系统110中的其他节点便可以根据共识算法获取交易数据信息,并将交易数据信息作为共享数据中的数据进行存储,使得该区块链节点系统110中所有节点上存储的数据均一致。
在区块链节点系统120中,每个节点在进行正常工作时,均可以获取与第二区块链网络中的第二业务合约相关联的目标数据信息,以维护区块链节点系统120内的共享数据。为了保证区块链节点系统120内的信息互通,该区块链节点系统120中的每个节点之间可以建立网络连接,以通过网络连接进行数据传输。例如,当区块链节点系统120中的任意节点在获取目标数据信息时,区块链节点系统120中的其他节点便可以根据共识算法获取目标数据信息,并将目标数据信息作为共享数据中的数据进行存储,使得该区块链节点系统120中所有节点上存储的数据均一致。
对于区块链节点系统(区块链节点系统110或者区块链节点系统120)中的每个节点,均具有与其对应的节点标识,而且区块链节点系统中的每个节点均可以存储有与当前节点具有网络连接关系的其他节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至该区块链节点系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
应当理解,本申请实施例可以在图1所示的区块链节点系统110中的多个节点中选择一个节点作为该第一区块链节点系统对应的第一区块链网络中的第一节点。例如,本申请实施例可以将区块链节点系统110中的节点1100a作为该区块链网络中的第一节点。其中,该第一节点上可以部署业务合约,跨链合约,预言机合约等智能合约。
其中,智能合约可以理解为运行在分布式账本(即区块链)上预置规则、具有状态、条件响应的,可封装、验证、执行分布式节点复杂行为,完成信息交换、价值转移和资产管理的计算机程序。可以理解的是,本申请实施例可以将部署在第一节点上的业务合约称之为第一业务合约,将部署在第一节点上的跨链合约称之为第一跨链合约,将部署在第一节点上的预言机合约称之为第一预言机合约。
本申请实施例可以在图1所示的区块链节点系统120中的多个节点中选择一个节点作为该第二区块链节点系统对应的第二区块链网络中的第二节点。例如,本申请实施例可以将区块链节点系统120中的节点1200a作为该区块链网络中的第二节点。其中,该第二节点上可以部署业务合约,跨链合约,预言机合约等智能合约。可以理解的是,本申请实施例可以将部署在第二节点上的业务合约称之为第二业务合约,将部署在第二节点上的跨链合约称之为第二跨链合约,将部署在第二节点上的预言机合约称之为第二预言机合约。
其中,预言机合约可以为一种将区块链外的数据信息写入到区块链内的机制。其中,部署预言机合约的区块链节点可以作为区块链与现实世界进行数据交互的桥梁,当区块链上的某个智能合约有数据交互需求时,部署预言机合约的区块链节点在接收到需求后,帮助智能合约在区块链链外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。预言机合约的应用场景非常多,可以理解为需要与链下进行数据交互的去中心化应用都需要预言机合约。比如,金融衍生品交易平台、借贷平台、快递追踪、稳定币、博彩游戏、保险以及预测市场等。
应当理解,本申请实施例中区块链节点系统110中的节点1100a可以通过中继节点110A将第一区块链中的交易数据信息进行跨链交易,进而可以发送至区块链节点系统120中的中继节点120A。此时,该中继节点120A可以通过节点1200a将接收到的第一区块链上的交易数据信息存储至第二区块链中。
可以理解的是,区块链节点系统110与区块链节点系统120中分别可以包含多个中继节点。如图1所示,中继节点110A可以为与节点1100a具有网络连接关系的中继节点,中继节点120A可以为与节点1200a具有网络连接关系的中继节点.
如图1所示,节点1100a可以从第一区块链网络中确定与节点1100a具有网络连接关系的的中继节点110A。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点称之为第一中继节点。进一步地,节点1100a可以获取中继节点110A所监听到的第一区块链网络对应的第一区块链上的目标区块中的交易数据信息,进而可以将交易数据信息的数据格式称之为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,本申请实施例可以将第一区块链上具有最大生成时间戳的区块称之为目标区块。可以理解的是,该目标区块中的交易数据信息可以为节点1100a(即第一节点)基于第一区块链网络中的第一业务合约所生成的。
其中,该交易数据信息可以为司法场景下,与节点1100a相关联的用户终端所输入的某案件(例如,刑事案件X)的审判结果以及在审判期间所提供的证据材料。该交易数据信息也可以为快递物流场景下,与节点1100a相关联的用户终端通过扫描二维码来证明的快递件(例如,生活用品Y)所达到的指定区域的物流信息。其中,与节点1100a相关联的用户终端可以为智能手机、平板电脑、桌上型电脑等具有业务数据处理功能的智能终端。该交易数据信息还可以为电子票据处理场景中,与节点1100a相关联的电子票据(例如,电子票据Z)的开票、流转、入账、报销等流程信息。在此不进行一一举例。
其中,第一数据格式可以为第一区块链网络的各节点用于进行数据信息交互时的数据格式。应当理解,数据格式(data format)是描述数据保存在文件或记录中的规则。例如,数据格式可以为二进制格式,pb格式,xml格式、json格式、msgpack格式等。
此时,中继节点110A可以将具有第一数据格式(例如,pb格式)的初始数据信息发送至如图1所示的节点1100a。进一步地,节点1100a可以通过第一预言机合约对所获取的初始数据信息进行验证。应当理解,第一预言机合约与部署在第二节点上的第二预言机合约具有关联关系,换言之,该第一预言机合约与第二预言机合约可以规定用于进行跨链交易的数据格式。本申请实施例可以将用于进行跨链交易的数据格式确定为第二数据格式。在节点1100a验证成功时,节点1100a可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并可以将具有第二数据格式的初始数据信息称之为待转移数据信息。
进一步地,节点1100a可以将待转移数据信息发送至中继节点110A,从而可以使得中继节点110A将待转移数据信息发送至如图2所示的中继节点120A(即第二中继节点)。应当理解,中继节点120A与第二区块链网络中的节点1200a具有网络连接关系,进而中继节点120A可以将待转移数据信息发送至节点1200a(即第二节点),此时,该节点1200a可以基于第二预言机合约,对待转移数据信息进行验证。在验证成功时,节点1200a可以将待转移数据信息的数据格式有第二数据格式转换为第三数据格式,从而得到目标数据信息。其中,本申请实施例可以将具有第三数据格式的待转移数据信息称之为目标数据信息。第三数据格式为第二区块链网络的各节点用于进行数据信息交互时的数据格式。进一步地,节点1200a可以将目标数据信息写入到区块链节点系统120所对应的第二区块链网络对应的第二区块链中。
可选的,本申请实施例中区块链节点系统120中的节点1200a还可以通过中继节点120A将第二区块链中的交易数据信息进行跨链交易,进而可以将交易数据信息对应的待转移数据信息发送至区块链节点系统110中的中继节点110A。此时,该中继节点110A可以通过节点1100a将接收到的第二区块链上的待转移数据信息存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
为便于理解,进一步地,请参见图2,是本申请实施例提供的一种进行数据交互的场景示意图。本申请实施例中的中继节点20A可以为第一区块链网络中的第一中继节点,该第一中继节点可以为上述图1所对应的中继节点110A。本申请实施例中的节点20B可以为第一区块链网络中的第一节点,该第一节点可以为上述图1中区块链节点系统110(即第一区块链系统)中的任意节点,例如,节点1100a。本申请实施例中的中继节点20C可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的中继节点120A。本申请实施例中的节点20D可以为第二区块链网络中的第二节点,该第二节点可以为上述图1中区块链节点系统120(即第二区块链系统)中的任意节点,例如,节点1200a。
应当理解,第一区块链网络对应的第一区块链与第二区块链网络对应的第二区块链的类型可以相同,也可以不同,在此不做限定。本申请实施例中的应用场景以司法场景为例,描述将司法外网中的交易数据信息(例如,与某民事案件相关联的数据信息)存储至司法内网中。其中,第一区块链可以为司法外网对应的区块链,第二区块链可以为司法内网对应的区块链。
其中,可以理解的是,图2所示的区块链1可以为上述图1中区块链节点系统110对应的第一区块链网络的第一区块链,该区块链1可以为节点20B所对应的第一区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以将与第一业务合约相关联的交易数据信息,存储至在该条区块链1中。其中,该区块链1中包括区块10a、区块10b、…、区块10n以及目标区块,该区块10a可以称之为该区块链1的创世区块。该区块链1中的目标区块中包含着节点20B与第一业务合约相关联的交易数据信息。例如,该交易数据信息可以为某民事案件的审判结果以及在审判期间所提供的证据材料。
应当理解,节点20B可以从第一区块链网络中确定与节点20B具有网络连接关系的中继节点20A。可以理解的是,中继节点20A可以基于部署在中继节点20A中的第一预言机合约,获取图2所示的区块链1上的目标区块中的交易数据信息。进一步地,节点20B可以获取上述交易数据信息,进而可以将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,第一数据格式为第一区块链网络中各节点进行数据信息交互时的数据格式。例如,pb格式。
此时,节点20B可以调用部署在节点20B上的第一预言机合约,进而可以从中继节点20A中获取初始数据信息。进一步地,节点20B可以基于第一预言机合约中的数据验证函数,对该初始数据信息进行验证。其中,数据验证函数是指用于对初始数据信息进行验证的函数。在节点20B验证成功时,节点20B可以将初始数据信息的数据格式确定为第一数据格式,进而可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式(例如,二进制格式),并可以将具有第二数据格式的初始数据信息称之为待转移数据信息。其中,第二数据格式是由第一预言机合约以及第二预言机合约所规定的。第二预言机合约可以部署在节点20D中。
应当理解,节点20B可以基于节点20B中所包含的第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至中继节点20A,以使中继节点20A可以将待转移数据信息发送至如图2所示的中继节点20C。其中,跨链数据转移函数可以为用于将节点20B的待转移数据信息转移至中继节点20C的函数。进一步地,节点20D可以基于节点20D所包含的第二跨链合约中的跨链数据转移函数,从中继节点20C中获取待转移数据信息。
此时,该节点20D可以基于节点20D所包含的第二预言机合约,对待转移数据信息进行验证。在验证成功时,节点20D可以将待转移数据信息的数据格式由第二数据格式转换为第三数据格式(例如,json格式),从而得到目标数据信息。其中,第三数据格式为第二区块链网络中各节点进行数据信息交互时的数据格式。进一步地,节点20D可以将目标数据信息写入到第二区块链网络对应的第二区块链(例如,图2所示的区块链2)中。
其中,可以理解的是,图2所示的区块链2可以为上述图1中区块链节点系统120对应的第二区块链网络所对应的第二区块链,该区块链2可以为节点20D所对应第二区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以在该条区块链2中获取该区块链所存储的信息。其中,该区块链2中包括区块20a、区块20b、…、区块20n以及待验证区块,该区块20a可以称之为该区块链2的创世区块。该区块链2中的待验证区块中包含着上述具有第三数据格式的目标数据信息。
其中,该节点20D可以将该目标数据信息写入该节点20D所对应第二区块链网络中的第二区块链。换言之,该节点20D可以从该区块链2中获取具有最大生成时间戳的区块20n。进一步地,该节点20D可以根据该目标数据信息,生成待写入该区块链2中的待验证区块。此时,该节点20D可以将包含该目标数据信息的待验证区块广播至该第二区块链网络中的所有区块链节点(比如,用于进行共识处理的共识节点),在确定所有的区块链节点达成共识时,可以将该待验证区块写入上述区块链2中,也就是将该待验证区块作为区块20n的下一区块,从而可以将区块链1中目标区块的初始数据信息存储至区块链2中待验证区块的目标数据信息,以实现将第一区块链上的交易数据信息存储至第二区块链中。
其中,第一区块链网络中的第一中继节点与第二区块链网络中的第二中继节点还可以为同一个中继节点(例如,中继节点a)。换言之,中继节点a可以与第一区块链网络中的第一节点具有网络连接关系,同时也可以与第二区块链网络中的第二节点具有网络连接关系。
可选的,第二区块链上的交易数据信息也可以存储至第一区块链中,具体实现方式可以参见上述第一区块链的交易数据信息存储至第二区块来的描述,这里不再赘述。由此可见,本申请实施例可以实现跨链信息的相互存储。
其中,第一区块链网络中的第一节点与第二区块链网络中的第二节点进行跨链信息存储的具体实现方式可以参见下述图3-图8所对应的实施例。
进一步地,请参见图3,是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图。该方法可以由第一区块链网络中的第一节点执行,具体可以参见下述步骤S101-步骤S104的描述。如图3所示,该方法可以包括:
S101,获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息。
具体地,第一区块链网络中的第一节点可以从第一区块链网络中确定与第一节点具有网络连接关系的中继节点。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点称之为第一中继节点。可以理解的是,第一中继节点可以监听到第一区块链网络对应的第一区块链中的目标区块中的交易数据信息。其中,目标区块可以为第一区块链中具有最大生成时间戳的区块。进一步地,第一节点可以获取该交易数据信息,从而可以将该交易数据信息的数据格式可以称之为第一数据格式,并将具有第一数据格式的交易数据信息确定为初始数据信息。该第一数据格式可以为第一区块链网络中各节点进行数据信息交互时的数据格式。进一步地,该第一节点可以调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。其中,交易数据信息是基于第一节点中的第一业务合约所确定的。
应当理解,本申请实施例中的第一节点可以为上述图2所对应的节点20B,该节点20B可以为上述图1所对应的区块链节点系统110中的任意一个节点,例如,节点1100a。本申请实施例中的第一中继节点可以为上述图2所对应的节点20A,该节点20A可以为上述图1所对应的区块链节点系统110中的中继节点110A。本申请实施例中的第二节点可以为上述图2所对应的节点20D,该节点20D可以为上述图1所对应的区块链节点系统120中的任意一个节点,例如,节点1200a。本申请实施例中的第二中继节点可以为上述图2所对应的节点20C,该节点20C可以为上述图1所对应的区块链节点系统120中的中继节点120A。
其中,第一节点上可以部署第一业务合约、第一跨链合约、第一预言机合约等智能合约。第一节点对应的区块链网络可以称之为第一区块链网络,第一区块链网络中对应的区块链可以称之为第一区块链。第二节点上可以部署第二业务合约、第二跨链合约、第二预言机合约等智能合约。第二节点对应的区块链网络可以称之为第二区块链网络,第二区块链网络中对应的区块链可以为第二区块链。可以理解的是,第一区块链与第二区块链的区块链类型可以相同,也可以不同,在此不做限定。例如,第一区块链可以为比特币区块链,第二区块来可以为以太坊区块链。
如图2所示,中继节点20A可以部署第一预言机合约。可以理解的是,中继节点20A可以监听图2所示的区块链1上的目标区块,进而可以基于该第一预言机合约,获取目标区块中的交易数据信息。
其中,该交易数据信息可以为司法场景下,与第一节点相关联的用户终端所输入的某案件(例如,刑事案件X)的审判结果以及在审判期间所提供的证据材料。该交易数据信息也可以为快递物流场景下,与第一节点相关联的用户终端通过扫描二维码来证明的快递件(例如,生活用品Y)所达到的指定区域的物流信息。其中,与第一节点相关联的用户终端可以为智能手机、平板电脑、桌上型电脑等具有业务数据处理功能的智能终端。该交易数据信息还可以为电子票据处理场景中,与第一节点相关联的电子票据(例如,电子票据Z)的开票、流转、入账、报销等流程信息。在此不进行一一举例。
进一步地,节点20B可以获取上述交易数据信息,进而可以将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,第一数据格式为第一区块链网络中各节点进行数据信息交互时的数据格式。例如,pb格式。此时,节点20B可以调用部署在第一节点在节点20B的第一预言机合约,从中继节点20A中获取初始数据信息。
S102,通过第一预言机合约对初始数据信息进行验证。
具体地,第一节点可以调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证。可以理解的是,若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证成功;若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证失败。
应当理解,第一节点可以通过部署在第一节点上的第一预言机合约中的数据验证函数,确定初始数据信息的数据格式的属性。例如,该初始数据信息的数据格式的属性是一个区块,此时,第一节点可以验证该区块的属性是否符合第一区块链网络(例如,比特币区块链网络)用于进行数据交易时的第一数据格式的属性。可以理解的是,每一个区块中可以包含的区块头以及区块主体。
为便于理解,进一步地,请参见图4,是本申请实施例提供的一种区块链的结构示意图。本申请实施例中的区块链4可以为上述图1所示的区块链节点系统110中的每个节点所共享一条相同的区块链(即第一区块链)。如图4所示,该区块链4可以由多个区块组成。
每一个区块都包含区块头和区块主体。其中,创世区块中可以包括区块头和区块主体,区块头中存储有本区块输入信息对应的哈希值、版本号、时间戳和难度值,区块主体中存储有第一节点基于第一业务合约所生成的交易数据信息。以目标区块为例,目标区块可以将目标区块的上一区块的哈希值作为父区块哈希值,目标区块中同样可以包括区块头和区块主体,区块头中存储有目标区块的哈希值,作为目标区块的默克尔根、父区块哈希值、版本号、时间戳和难度值。并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
应当理解,在目标区块的区块头中由三组区块元数据组成,首先是一组引用父区块哈希值的数据,这组元数据用于将该目标区块与区块链4中目标区块的上一区块相连接。第二组元数据是难度值,时间戳,随机数,版本号(用于跟踪软件/协议的更新),这组元数据与挖矿竞争相关。第三组元数据是默克尔根(一种用于有效地总结目标区块中所有交易的数据结构)。
可以理解的是,若第一节点所接收到的初始数据信息的数据格式的属性是一个区块(即目标区块),该目标区块中含有上述的三组元数据,则可以理解为第一节点验证成功,若第一节点所接收到的目标区块中缺少某一组元数据,则可以理解为第一节点验证失败。
S103,在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息。
具体地,在第一节点对初始数据信息验证成功时,第一节点可以获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约。其中,该第二预言机合约部署在第二区块链网络中的第二节点上。进一步地,该第一节点可以获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,从而可以将用于进行跨链交易的数据格式确定为第二数据格式。此时,该第一节点可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并将具有第二数据格式的初始数据信息确定为待转移数据信息。
应当理解,本申请实施例中的第一预言机合约与第二预言机合约所规定的用于进行跨链的数据格式为第二数据格式(例如,二进制格式)。因此,在第一节点针对初始数据信息验证成功时,可以将具有第一数据格式(例如,pb格式)的初始数据信息转换为第二数据格式,即转换为二进制格式的初始数据信息,此时,第一节点可以将具有二进制格式的初始数据信息确定为待转移数据信息。
S104,将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点。
具体地,第一节点可以获取部署在第一节点上的第一跨链合约。调用第一跨链合约中的跨链数据转移函数,第一节点可以将待转移数据信息发送至第一中继节点。此时,第一中继节点可以获取第二区块链网络中的第二中继节点的公钥,并基于第二中继节点的公钥对待转移数据信息进行加密,从而可以得到加密数据信息。进一步地,第一中继节点可以将该加密数据信息发送至第二中继节点,以使第二中继节点可以基于第二中继节点的私钥对加密数据信息进行解密,进而可以得到待转移数据信息。此时,该第二中继节点可以通过第二节点将解密后得到的待转移数据信息进行数据存储。
为便于理解,进一步地,请参见图5,是本申请实施例提供的一种发送待转移数据信息的场景示意图。如图5所示,本申请实施例中的节点50A可以为第一区块链网络中的第一节点,该第一节点可以为上述图1所示的区块链节点系统110中的任意节点,例如,节点1100a。本申请实施例中的中继节点50B可以为第一区块链网络中的第一中继节点,该第一中继节点可以为上述图1所对应的中继节点110A。本申请实施例中的中继节点50C可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的中继节点120A。
应当理解,节点50A可以调用部署在节点50A上的第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至中继节点50B。此时,该中继节点50B可以获取第二区块链网络中的中继节点50C的公钥,基于该公钥,可以对待转移数据信息进行加密,从而得到加密数据信息。进一步地,中继节点50B可以将加密数据信息发送至第二区块链网络中的中继节点50C,以使中继节点50C可以根据中继节点50C的私钥,对加密数据信息进行解密,从而可以在解密后,得到待转移数据信息。
进一步地,第二区块链网络中的第二中继节点可以基于第二中继节点的私钥对待转移数据信息进行签名,从而可以得到待转移数据信息的签名信息。第二区块链网络中的第二节点可以基于部署在第二节点上的第二跨链合约中的跨链数据转移函数,接收第二中继节点所发送的签名信息。应当理解,第二节点可以在第二区块链网络中获取第二中继节点的公钥,基于第二中继节点的公钥对所接收的签名信息进行验签,从而可以得到签名信息的验签结果。当验签结果指示第二节点验签成功时,可以获取第二中继节点所发送的待转移数据信息。
为便于理解,进一步地,请参见图6,是本申请实施例提供的一种验证签名信息的场景示意图。如图6所示,本申请实施例中的中继节点600可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的区块链节点系统120中的中继节点120A。本申请实施例中的节点610可以为第二区块链网络中的第二节点,该第二节点可以为上述图1所对应的区块链节点系统120中的任意节点,例如,1200a。
第二区块链网络可以为中继节点600配置一对公私钥。应当理解,中继节点600可以基于中继节点600的私钥对待转移数据信息进行签名,从而可以得到签名信息。其中,可以理解的是,该中继节点600可以对该待转移数据信息进行哈希计算,从而可以得到待转移数据信息的摘要信息h,并基于中继节点600的私钥对该摘要信息h进行数字签名,得到签名信息。其中,该签名信息包括该数字签名和该待转移数据信息。
此时,中继节点600可以将签名信息发送至节点610,以使节点610可以基于中继节点600的公钥对签名信息验签,从而可以得到验签结果。其中,可以理解的是,节点610可以基于中继节点600的公钥对该数字签名进行验签,得到待转移数据信息的摘要信息H,并利用与该中继节点600相同的哈希算法对该待转移数据信息进行哈希计算,从而可以得到该待转移数据信息的摘要信息h。进一步地,节点610可以将验签后所得到的摘要信息H与进行哈希计算得到的摘要信息h进行比对,得到验签结果。
若该摘要信息H与摘要信息h不相同,则可以理解为节点610验签失败。若该摘要信息H与摘要信息h相同,则可以理解为节点610验签成功,从而可以得到待转移数据信息。
进一步地,第二区块链网络中的第二节点可以基于部署在第二节点上的第二预言机合约,对待转移数信息进行验证。可以理解的是,第二节点可以获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第一预言机合约以及第二预言机合约所确定的第二数据格式的匹配度进行验证。若匹配度指示待转移数据信息的数据格式为第二数据格式,则可以理解为第二节点验证成功;若匹配度指示待转移数据信息的数据格式不是第二数据格式,则可以理解为第二节点验证失败。
应当理解,在验证成功时,第二节点可以将待转移数据的数据格式由第二数据格式(例如,二进制格式)转换为第三数据格式(例如,json格式),得到目标数据信息。
进一步地,第二节点可以将目标数据信息写入第二区块链网络对应的第二区块链中。其中,可以理解的是,第二节点可以基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块。进一步地,第二节点可以将待验证区块广播至第二区块链上的所有区块链节点。在确定第二区块链上的所有区块链节点达成共识时,第二节点可以将待验证区块写入第二区块链中。
如图2所示,节点20D可以将目标数据信息写入到第二区块链网络对应的第二区块链(例如,图2所示的区块链2)中。其中,可以理解的是,图2所示的区块链2可以为上述图1中区块链节点系统120对应的第二区块链网络所对应的第二区块链,该区块链2可以为节点20D所对应第二区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以在该条区块链2中获取该区块链所存储的信息。
其中,该区块链2中包括区块20a、区块20b、…、区块20n以及待验证区块,该区块20a可以称之为该区块链2的创世区块。该区块链2中的待验证区块中包含着上述具有第三数据格式的目标数据信息。
其中,该节点20D可以将该目标数据信息写入该节点20D所对应第二区块链网络中的第二区块链。换言之,该节点20D可以从该区块链2中获取具有最大生成时间戳的区块20n。进一步地,该节点20D可以根据该目标数据信息,生成待写入该区块链2中的待验证区块。此时,该节点20D可以将包含该目标数据信息的待验证区块广播至该第二区块链网络中的所有区块链节点(比如,用于进行共识处理的共识节点),在确定所有的区块链节点达成共识时,可以将该待验证区块写入上述区块链2中,也就是将该待验证区块作为区块20n的下一区块,从而可以将区块链1中目标区块的初始数据信息存储至区块链2中待验证区块的目标数据信息。
此外,本申请实施例中的第二节点还可以基于目标数据信息所属第二区块在第二区块链中的第二块高,以及该目标数据信息对应的交易数据信息所属第一区块在第一区块链中的第一块高,建立目标数据信息与交易数据信息的映射关系表,从而便于第二节点查询目标数据信息的来源,以提高跨链信息在后续业务处理时的可靠性。
为便于理解,进一步地,请参见表2,是本申请实施例提供的一种映射关系表。可以理解的是,本申请实施例可以将交易数据信息所属的第一区块在第一区块链的块高称之为第一块高,将交易数据信息对应的目标数据信息所属的第二区块在第二块链的块高称之为第二块高。
表2
可以理解的是,本申请实施例中的第二节点可以建立多个目标数据信息与交易数据信息的一一映射关系,上述表2仅以4个交易数据信息为例,用以阐述映射关系表。如上述表2所示,目标数据信息1所属第二区块在第二区块链的第二块高为A,目标数据信息1对应的交易数据信息1所属的第一区块在第一区块链的第一块高为a。目标数据信息2所属第二区块在第二区块链的第二块高为B,目标数据信息2对应的交易数据信息2所属的第一区块在第一区块链的第一块高为b。目标数据信息3所属第二区块在第二区块链的第二块高为C,目标数据信息3对应的交易数据信息3所属的第一区块在第一区块链的第一块高为c。目标数据信息4所属第二区块在第二区块链的第二块高为D,目标数据信息4对应的交易数据信息4所属的第一区块在第一区块链的第一块高为d。
应当理解,第二节点在需要查询目标数据信息的来源时,可以获取目标数据信息所属第二区块在第二区块链中的第二块高,进而可以在如上述表2所示的映射关系表中查询到目标数据信息所对应的交易数据信息所属第一区块在第一区块链中的第一块高,从而可以获取到交易数据信息。进一步地,第二节点可以比对交易数据信息和目标数据信息,确定目标数据信息是否有被篡改的嫌疑。
例如,目标数据信息1(例如,张三)所属第二区块在第二区块链的第二块高可以为2,目标数据信息1对应的交易数据信息1所属的第一区块在第一区块链的第一块高为4。第二节点可以基于所查询到的第一块高4,确定目标数据信息1对应的交易数据信息1所属的第一区块,并从该第一区块中获取交易数据信息1(例如,zhangsan)。此时,第二节点可以将目标数据信息1用于交易数据信息1进行比对,从而可以确定目标数据信息1未被篡改。
可选的,第二节点可以基于部署在第二节点上的第二业务合约,确定目标数据信息所属的业务分类。基于业务分类,第二节点可以将目标数据信息进行业务回调。例如,司法场景中,第二节点可以确定目标数据信息属于民事诉讼案件,从而可以将目标数据信息进行与民事诉讼有关的业务操作处理。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息进行数据存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
进一步地,请参见图7,是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图。该方法可以由第一区块链网络中的第一节点和第一中继节点以及第二区块链网络中的第二节点和第二中继节点交互执行。其中,第一节点可以为上述图2所对应的节点20B,第一中继节点可以为上述图2所对应的节点20A,第二节点可以为上述图2所对应的节点20D,第二中继节点可以为上述图2所对应的节点20C。如图7所示,该方法可以包括:
S201,第一中继节点向第一节点发送具有第一数据格式的初始数据信息。
具体地,第一区块链网络中的第一节点可以从第一区块链网络中确定与第一节点具有网络连接关系的中继节点。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点称之为第一中继节点。可以理解的是,第一中继节点可以监听到第一区块链网络对应的第一区块链中的目标区块中的交易数据信息。其中,目标区块可以为第一区块链中具有最大生成时间戳的区块。进一步地,第一节点可以获取该交易数据信息,从而可以将该交易数据信息的数据格式可以称之为第一数据格式,将具有第一数据格式的交易数据信息确定为初始数据信息。该第一数据格式可以为第一区块链网络中各节点进行数据信息交互时的数据格式。进一步地,该第一节点可以调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。其中,交易数据信息是基于第一节点中的第一业务合约所确定的。
应当理解,本申请实施例中的第一节点可以为上述图2所对应的节点20B,该节点20B可以为上述图1所对应的区块链节点系统中的区块链节点系统110中的任意一个节点,例如,节点1100a。本申请实施例中的第一中继节点可以为上述图2所对应的节点20A,该节点20A可以为上述图1所对应的区块链节点系统110中的中继节点110A。本申请实施例中的第二节点可以为上述图2所对应的节点20D,该节点20D可以为上述图1所对应的区块链节点系统120中的任意一个节点,例如,节点1200a。本申请实施例中的第二中继节点可以为上述图2所对应的节点20C,该节点20C可以为上述图1所对应的区块链节点系统中的区块链节点系统120中的中继节点120A。
其中,第一节点上可以部署第一业务合约、第一跨链合约、第一预言机合约等智能合约。第一节点对应的区块链网络可以称之为第一区块链网络,第一区块链网络中对应的区块链可以称之为第一区块链。第二节点上可以部署第二业务合约、第二跨链合约、第二预言机合约等智能合约。第二节点对应的区块链网络可以称之为第二区块链网络,第二区块链网络中对应的区块链可以为第二区块链。可以理解的是,第一区块链与第二区块链的区块链类型可以相同,也可以不同,在此不做限定。例如,第一区块链可以为比特币区块链,第二区块来可以为以太坊区块链。
S202,第一节点通过第一预言机合约对初始数据信息进行验证。
具体地,第一节点可以调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证。可以理解的是,若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证成功;若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证失败。
S203,在验证成功时,根据第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息。
具体地,在第一节点对初始数据信息验证成功时,第一节点可以获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约。进一步地,该第一节点可以获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,从而可以将用于进行跨链交易的数据格式确定为第二数据格式。此时,该第一节点可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并将具有第二数据格式的初始数据信息确定为待转移数据信息。
S204,第一节点将待转移数据信息发送至第一中继节点。
具体地,第一节点可以获取部署在第一节点上的第一跨链合约调用第一跨链合约中的跨链数据转移函数,第一节点可以将待转移数据信息发送至第一中继节点。
S205,第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点。
具体地,第一中继节点可以获取第二区块链网络中的第二中继节点的公钥,并基于第二中继节点的公钥对待转移数据信息进行加密,从而可以得到加密数据信息。进一步地,第一中继节点可以将该加密数据信息发送至第二中继节点,以使第二中继节点可以基于第二中继节点的私钥对加密数据信息进行解密,进而可以得到待转移数据信息。
S206,基于第二跨链合约,接收第二区块链网络对应的第二中继节点所发送的待转移数据信息。
具体地,第二区块链网络中的第二中继节点可以基于第二中继节点的私钥对待转移数据信息进行签名,从而可以得到待转移数据信息的签名信息。第二区块链网络中的第二节点可以基于部署在第二节点上的第二跨链合约中的跨链数据转移函数,接收第二中继节点所发送的签名信息。应当理解,第二节点可以在第二区块链网络中获取第二中继节点的公钥,基于第二中继节点的公钥对所接收的签名信息进行验签,从而可以得到签名信息的验签结果。当验签结果指示第二节点验签成功时,可以获取第二中继节点所发送的待转移数据信息。S207,基于第二预言机合约,对待转移数据信息进行验证。
具体地,第二节点可以获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第一预言机合约以及第二预言机合约所确定的第二数据格式的匹配度进行验证。若匹配度指示待转移数据信息的数据格式为第二数据格式,则可以理解为第二节点验证成功;若匹配度指示待转移数据信息的数据格式不是第二数据格式,则可以理解为第二节点验证失败。
S208,在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息。
S209,将目标数据信息写入第二区块链网络对应的第二区块链中。
具体地,第二节点可以基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块。进一步地,第二节点可以将待验证区块广播至第二区块链上的所有区块链节点。在确定第二区块链上的所有区块链节点达成共识时,第二节点可以将待验证区块写入第二区块链中。
其中,该步骤S201-步骤S209的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再赘述。
应当理解,本申请实施例中的中继节点的数量可以为多个,也可以为一个。换言之,第一区块链网络中的第一中继节点与第二区块链网络中的第二中继节点可以为同一个中继节点。
为便于理解,进一步地,请参见图8,是本申请实施例提供的一种跨链信息进行存储的场景示意图。如图8所示,本申请实施例中的节点810可以为第一区块链网络中的第一节点,该第一节点可以为上述图1所对应的区块链节点系统110中的任意节点,例如,节点1100a。本申请实施例中的节点830可以为第二区块链网络中的第二节点,该第二节点可以为上述图1所对应的区块链节点系统120中的任意节点,例如,节点1200a。本申请实施例中的中继节点820可以为既参与第一区块链网络的中继节点,又参与第二区块链网络的中继节点。
应当理解,中继节点820可以部署第一区块链网络中的第一预言机合约,以使中继节点820可以基于该第一预言机合约,监听第一区块链网络对应的第一区块链中的目标区块,从而可以基于该目标区块中的交易数据信息生成初始数据信息。进一步地,中继节点820可以将初始数据信息发送至节点810,以使节点810可以验证初始数据信息。
在验证成功时,节点810可以将具有第一数据格式的初始数据信息转换为具有第二数据格式的待转移数据信息。其中,第二数据格式是由部署在节点810中的第一预言机合约以及部署在节点830中的第二预言机合约所确定的。进一步地,节点810可以将待转移数据信息发送至中继节点820。此时,中继节点820可以将待转移数据信息发送至节点830,以使节点830对待转移数据信息进行验证。在节点830验证成功时,可以将具有第二数据格式的待转移数据信息转换为具有第三数据格式的目标数据信息,从而可以使得节点830可以将目标数据信息写入到第二区块链网络对应的第二区块链中。
可选的,中继节点820中还可以部署第二区块链网络中的第二预言机合约,从而可以监听第二区块链网络中的第二区块链的出块情况,进而可以通过节点810将第二区块链中的目标区块的交易数据信息上传到第一区块链网络对应的第一区块链中,以实现跨链数据的相互存储。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息进行数据存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
进一步地,请参见图9,是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图。该跨区块链的数据互存装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该跨区块链的数据互存装置为一个应用软件;该跨区块链的数据互存装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该跨区块链的数据互存装置1可以运行于第一区块链网络中的第一节点,该第一节点可以为上述图2所对应实施例中的节点20B。该跨区块链的数据互存装置1可以包括:获取模块10,验证模块20,转换模块30以及发送模块40。
该获取模块10,用于获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;第一数据格式为目标区块中的交易数据信息的数据格式;第一节点中包含第一预言机合约。
其中,获取模块10包括:第一获取单元101,第一确定单元102以及第二获取单元103。
该第一获取单元101,用于从第一区块链网络中确定与第一节点具有网络连接关系的第一中继节点,获取第一中继节点所监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息,交易数据信息是根据第一节点中的第一业务合约所确定的;
第一确定单元102,用于将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息;
该第二获取单元103,用于调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。
其中,该第一获取单元101,第一确定单元102以及第二获取单元103的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该验证模块20,用于通过第一预言机合约对初始数据信息进行验证。
其中,验证模块20包括:调用单元201,第一验证单元202以及第二验证单元203。
该调用单元201,用于调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证;
该第一验证单元202,用于若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证成功;
该第二验证单元203,用于若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证失败。
其中,该调用单元201,第一验证单元202以及第二验证单元203的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
该转换模块30,用于在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;第二预言机合约部署在与第一区块链网络不同的第二区块链网络中的第二节点上。
其中,转换模块30包括:第三获取单元301,第四获取单元302,转换单元303以及第二确定单元304。
该第三获取单元301,用于在验证成功时,获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约;
该第四获取单元302,用于获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,将用于进行跨链交易的数据格式确定为第二数据格式;
该转换单元303,用于将初始数据信息的数据格式由第一数据格式转换为第二数据格式;
该第二确定单元304,用于将具有第二数据格式的初始数据信息确定为待转移数据信息。
其中,该第三获取单元301,第四获取单元302,转换单元303以及第二确定单元304的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该发送模块40,用于将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点;第二中继节点用于通过第二节点对待转移数据信息进行数据存储。
其中,发送模块40包括:第五获取单元401以及发送单元402。
该第五获取单元401,用于获取部署在第一节点上的第一跨链合约;
该发送单元402,用于调用第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至第一中继节点;第一中继节点用于基于第二区块链网络对应的第二中继节点的公钥对待转移数据信息进行加密,得到加密数据信息;第二中继节点用于基于第二中继节点的私钥对加密数据信息进行解密,通过第二节点将解密后得到的待转移数据信息进行数据存储。
其中,该第五获取单元401以及发送单元402的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,该获取模块10,验证模块20,转换模块30以及发送模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,是本申请实施例提供的一种节点设备的示意图。如图10所示,该节点设备1000可以为上述图2对应实施例中的节点20B,该节点设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的节点设备1000中,网络接口1004主要用于与第一中继节点进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;第一数据格式为目标区块中的交易数据信息的数据格式;第一节点中包含第一预言机合约;
通过第一预言机合约对初始数据信息进行验证;
在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;第二预言机合约部署在与第一区块链网络不同的第二区块链网络中的第二节点上;
将待转移数据信息发送至第一中继节点,以使第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点;第二中继节点用于通过第二节点对待转移数据信息进行数据存储。
应当理解,本申请实施例中所描述的节点设备1000可执行前文图3和图7所对应实施例中对该跨区块链的数据互存方法的描述,也可执行前文图9所对应实施例中对该跨区块链的数据互存装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的跨区块链的数据互存装置1所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3或者图7所对应实施例中对该跨区块链的数据互存方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
进一步地,请参见图11,是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图。该跨区块链的数据互存装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该跨区块链的数据互存装置为一个应用软件;该跨区块链的数据互存装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该跨区块链的数据互存装置2可以运行于第二区块链网络中的第二节点,该第二节点可以为上述图2所对应实施例中的节点20D。该跨区块链的数据互存装置2可以包括:接收模块100,信息验证模块200,格式转换模块300,写入模块400,分类确定模块500以及业务回调模块600。
该接收模块100,用于基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息;待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点。
其中,接收模块100包括:接收单元1010,公钥获取单元1020,验签单元1030以及信息获取单元1040。
该接收单元1010,用于调用第二节点中所包含的第二跨链合约中的跨链数据转移函数,接收第二区块链网络上的第二中继节点基于第二中继节点的私钥对待转移数据信息进行签名后的签名信息;待转移数据信息是第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到;加密数据信息是由第一区块链网络中的第一中继节点基于第二中继节点的公钥对待转移数据信息进行加密后所得到的;
该公钥获取单元1020,用于在第二区块链网络中获取第二中继节点的公钥;
该验签单元1030,用于基于公钥对签名信息进行验签,得到验签结果;验签结果中包含待转移数据信息;
该信息获取单元1040,用于当验签结果指示验签成功时,获取第二中继节点所发送的待转移数据信息。
其中,该接收单元1010,公钥获取单元1020,验签单元1030以及信息获取单元1040的具体实现方式可以参见上述图7所对应实施例中对步骤S206的描述,这里将不再继续进行赘述。
该信息验证模块200,用于基于第二预言机合约,对待转移数据信息进行验证。
其中,信息验证模块200包括:格式获取单元2010,第一格式验证单元2020以及第二格式验证单元2030。
该格式获取单元2010,用于获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第二预言机合约所确定的第二数据格式的匹配度进行验证;
该第一格式验证单元2020,用于若匹配度指示待转移数据信息的数据格式为第二数据格式,则验证成功;
该第二格式验证单元2030,用于若匹配度指示待转移数据信息的数据格式不是第二数据格式,则验证失败。
其中,该格式获取单元2010,第一格式验证单元2020以及第二格式验证单元2030的具体实现方式可以参见上述图7所对应实施例中对步骤S207的描述,这里将不再继续进行赘述。
该格式转换模块300,用于在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
该写入模块400,用于将目标数据信息写入第二区块链网络对应的第二区块链中。
其中,写入模块400包括:生成单元4010,广播单元4020以及写入单元4030。
该生成单元4010,用于基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块;
该广播单元4020,用于将待验证区块广播至第二区块链上的所有区块链节点;
该写入单元4030,用于在确定第二区块链上的所有区块链节点达成共识时,将待验证区块写入第二区块链中。
其中,该生成单元4010,广播单元4020以及写入单元4030的具体实现方式可以参见上述图7所对应实施例中对步骤S209的描述,这里将不再继续进行赘述。
分类确定模块500,基于第二节点中包含的第二业务合约,确定目标数据信息所属的业务分类;
业务回调模块600,用于基于业务分类,将目标数据信息进行业务回调。
其中,该接收模块100,信息验证模块200,格式转换模块300,写入模块400,分类确定模块500以及业务回调模块600的具体实现方式可以参见上述图7所对应实施例中对步骤S201-步骤S209的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图12,是本申请实施例提供的一种节点设备的示意图。如图12所示,该节点设备3000可以为上述图2对应实施例中的节点20D,该节点设备3000可以包括:至少一个处理器3001,例如CPU,至少一个网络接口3004,用户接口3003,存储器3005,至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图12所示,作为一种计算机存储介质的存储器3005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的节点设备3000中,网络接口3004主要用于与第二中继节点进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序,以实现:
基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息;待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
基于第二预言机合约,对待转移数据信息进行验证;
在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
将目标数据信息写入第二区块链网络对应的第二区块链中。
应当理解,本申请实施例中所描述的节点设备3000可执行前文图7所对应实施例中对该跨区块链的数据互存方法的描述,也可执行前文图11所对应实施例中对该跨区块链的数据互存装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的跨区块链的数据互存装置2所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图7所对应实施例中对该跨区块链的数据互存方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
进一步的,请参见图13,是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图9所对应实施例中的跨区块链的数据互存装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的节点20B,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图11所对应实施例中的跨区块链的数据互存装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的节点20D,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种跨区块链的数据互存方法,其特征在于,所述方法由第一区块链网络中的第一节点执行,包括:
获取所述第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;所述初始数据信息是根据所述第一中继节点监听到所述第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;所述第一数据格式为所述目标区块中的交易数据信息的数据格式;所述第一节点中包含第一预言机合约;
通过所述第一预言机合约对所述初始数据信息进行验证;
在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为待转移数据信息;所述第二预言机合约部署在与所述第一区块链网络不同的第二区块链网络中的第二节点上;
将所述待转移数据信息发送至所述第一中继节点,以使所述第一中继节点将所述待转移数据信息发送至所述第二区块链网络对应的第二中继节点;所述第二中继节点用于通过所述第二节点对所述待转移数据信息进行数据存储。
2.根据权利要求1所述方法,其特征在于,所述获取所述第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息,包括:
从所述第一区块链网络中确定与所述第一节点具有网络连接关系的第一中继节点,获取所述第一中继节点所监听到所述第一区块链网络对应的第一区块链上的目标区块中的交易数据信息;所述交易数据信息是根据所述第一节点中的第一业务合约所确定的;
将所述交易数据信息的数据格式确定为第一数据格式,且将具有所述第一数据格式的交易数据信息确定为初始数据信息;
调用部署在所述第一节点上的第一预言机合约,从所述第一中继节点中获取所述初始数据信息。
3.根据权利要求1所述的方法,其特征在于,所述通过所述第一预言机合约对所述初始数据信息进行验证,包括:
调用所述第一预言机合约中的数据验证函数,对所述初始数据信息的数据格式的属性进行验证;
若所述初始数据信息的数据格式的属性符合所述第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证成功;
若所述初始数据信息的数据格式的属性不符合所述第一区块链网络中用于进行数据交易时的第一数据格式的属性,则验证失败。
4.根据权利要求1所述的方法,其特征在于,所述在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为得到待转移数据信息,包括:
在验证成功时,获取与所述第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约;
获取所述第一预言机合约与所述第二预言机合约所规定的用于进行跨链交易的数据格式,将用于进行跨链交易的数据格式确定为第二数据格式;
将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式;
将具有所述第二数据格式的初始数据信息确定为待转移数据信息。
5.根据权利要求1所述的方法,其特征在于,所述将所述待转移数据信息发送至所述第一中继节点,包括:
获取部署在所述第一节点上的第一跨链合约;
调用所述第一跨链合约中的跨链数据转移函数,将所述待转移数据信息发送至所述第一中继节点;所述第一中继节点用于基于所述第二区块链网络对应的第二中继节点的公钥对所述待转移数据信息进行加密,得到加密数据信息;所述第二中继节点用于基于所述第二中继节点的私钥对所述加密数据信息进行解密,通过所述第二节点将解密后得到的待转移数据信息进行数据存储。
6.一种跨区块链的数据互存方法,其特征在于,所述方法由第二区块链网络中的第二节点执行,包括:
基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息;所述待转移数据信息是由与所述第二区块链网络不同的第一区块链网络中的第一中继节点向所述第二中继节点所发送的;所述第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;所述第二节点中包含第二预言机合约;所述待转移数据信息是所述第一节点基于与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;所述第一节点用于通过所述第一跨链合约将所述待转移数据信息发送给所述第一中继节点;
基于所述第二预言机合约,对所述待转移数据信息进行验证;
在验证成功时,将所述待转移数据的数据格式由所述第二数据格式转换为第三数据格式,得到目标数据信息;
将所述目标数据信息写入所述第二区块链网络对应的第二区块链中。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息,包括:
调用所述第二节点中所包含的第二跨链合约中的跨链数据转移函数,接收所述第二区块链网络上的第二中继节点基于所述第二中继节点的私钥对所述待转移数据信息进行签名后的签名信息;所述待转移数据信息是所述第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到;所述加密数据信息是由所述第一区块链网络中的第一中继节点基于所述第二中继节点的公钥对待转移数据信息进行加密后所得到的;
在所述第二区块链网络中获取所述第二中继节点的公钥;
基于所述公钥对所述签名信息进行验签,得到验签结果;
当所述验签结果指示验签成功时,获取所述第二中继节点所发送的待转移数据信息。
8.根据权利要求6所述的方法,其特征在于,所述基于所述第二预言机合约,对所述待转移数据信息进行验证,包括:
获取所述待转移数据信息的数据格式,对所述待转移数据信息的数据格式与所述第二预言机合约所确定的第二数据格式的匹配度进行验证;
若所述匹配度指示所述待转移数据信息的数据格式为所述第二数据格式,则验证成功;
若所述匹配度指示所述待转移数据信息的数据格式不是所述第二数据格式,则验证失败。
9.根据权利要求6所述的方法,其特征在于,所述将所述目标数据信息写入所述第二区块链网络对应的第二区块链中,包括:
基于所述目标数据信息,生成待写入所述第二区块链网络对应的第二区块链的待验证区块;
将所述待验证区块广播至所述第二区块链上的所有区块链节点;
在确定所述第二区块链上的所有区块链节点达成共识时,将所述待验证区块写入所述第二区块链中。
10.根据权利要求6所述的方法,其特征在于,还包括:
基于所述第二节点中包含的第二业务合约,确定所述目标数据信息所属的业务分类;
基于所述业务分类,将所述目标数据信息进行业务回调。
11.一种跨区块链的数据互存装置,其特征在于,所述装置运行于第一区块链网络中的第一节点,包括:
获取模块,用于获取所述第一区块链网络上的第一中继节点发送的具有第一数据格式的初始数据信息;所述初始数据信息是根据所述第一中继节点监听到所述第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的;所述第一数据格式为所述目标区块中的交易数据信息的数据格式;所述第一节点中包含第一预言机合约;
验证模块,用于通过所述第一预言机合约对所述初始数据信息进行验证;
转换模块,用于在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为待转移数据信息;所述第二预言机合约部署在与所述第一区块链网络不同的第二区块链网络中的第二节点上;
发送模块,用于将所述待转移数据信息发送至所述第一中继节点,以使所述第一中继节点将所述待转移数据信息发送至所述第二区块链网络对应的第二中继节点;所述第二中继节点用于通过所述第二节点对所述待转移数据信息进行数据存储。
12.一种跨区块链的数据互存装置,其特征在于,所述装置运行于第二区块链网络中的第二节点,包括:
接收模块,用于基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息;所述待转移数据信息是由与所述第二区块链网络不同的第一区块链网络中的第一中继节点向所述第二中继节点所发送的;所述第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;所述第二节点中包含第二预言机合约;所述待转移数据信息是所述第一节点基于与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;所述第一节点用于通过所述第一跨链合约将所述待转移数据信息发送给所述第一中继节点;
信息验证模块,用于基于所述第二预言机合约,对所述待转移数据信息进行验证;
格式转换模块,用于在验证成功时,将所述待转移数据的数据格式由所述第二数据格式转换为第三数据格式,得到目标数据信息;
写入模块,用于将所述目标数据信息写入所述第二区块链网络对应的第二区块链中。
13.一种节点设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-10任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-10任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010175290.9A CN111416808B (zh) | 2020-03-13 | 2020-03-13 | 跨区块链的数据互存方法、装置、设备及存储介质 |
PCT/CN2020/129004 WO2021179661A1 (zh) | 2020-03-13 | 2020-11-16 | 跨区块链的数据互存方法、装置、设备及存储介质 |
US17/715,824 US20220231869A1 (en) | 2020-03-13 | 2022-04-07 | Cross-blockchain mutual data storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010175290.9A CN111416808B (zh) | 2020-03-13 | 2020-03-13 | 跨区块链的数据互存方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416808A true CN111416808A (zh) | 2020-07-14 |
CN111416808B CN111416808B (zh) | 2021-04-13 |
Family
ID=71492981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010175290.9A Active CN111416808B (zh) | 2020-03-13 | 2020-03-13 | 跨区块链的数据互存方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220231869A1 (zh) |
CN (1) | CN111416808B (zh) |
WO (1) | WO2021179661A1 (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111817967A (zh) * | 2020-08-28 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化系统、注册方法及报文转发方法 |
CN111914299A (zh) * | 2020-08-20 | 2020-11-10 | 深圳市腾盟技术有限公司 | 预言机接口的优化方法、装置、设备及存储介质 |
CN112016898A (zh) * | 2020-08-31 | 2020-12-01 | 光大科技有限公司 | 基于区块链的协同办公方法及装置、系统 |
CN112132684A (zh) * | 2020-09-23 | 2020-12-25 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112581128A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
CN112637269A (zh) * | 2020-11-30 | 2021-04-09 | 深圳前海益链网络科技有限公司 | 一种储能数据管理系统 |
CN112650742A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN112667749A (zh) * | 2021-03-16 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112734432A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN112804357A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链读取数据的方法和装置 |
CN112804358A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链中转数据的方法和装置 |
CN112822180A (zh) * | 2020-12-30 | 2021-05-18 | 广东电网有限责任公司 | 内外网跨链通信方法、装置、计算机设备和存储介质 |
CN112953999A (zh) * | 2020-12-29 | 2021-06-11 | 合肥达朴汇联科技有限公司 | 应用于t1节点的区块链信息跨链交互方法、系统、设备 |
CN113259130A (zh) * | 2021-06-21 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
CN113259328A (zh) * | 2021-04-22 | 2021-08-13 | 深圳前海益链网络科技有限公司 | 电网内外网数据交互系统 |
CN113302612A (zh) * | 2020-11-25 | 2021-08-24 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可信平台 |
WO2021179661A1 (zh) * | 2020-03-13 | 2021-09-16 | 腾讯科技(深圳)有限公司 | 跨区块链的数据互存方法、装置、设备及存储介质 |
CN114095272A (zh) * | 2021-11-30 | 2022-02-25 | 昆明电力交易中心有限责任公司 | 基于内外网安全架构的内网数据上链方法及装置 |
WO2022062976A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 用于执行交易的跨区块链的系统、跨链交易方法及设备 |
US20220166602A1 (en) * | 2020-11-20 | 2022-05-26 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and Method of Lightweight Communication Protocols between Multiple Blockchains |
WO2022105565A1 (zh) * | 2020-11-18 | 2022-05-27 | 深圳前海微众银行股份有限公司 | 一种跨链的区块链通信方法及装置 |
EP4062357A4 (en) * | 2020-11-25 | 2022-11-16 | Alipay (Hangzhou) Information Technology Co., Ltd. | BLOCKCHAIN-BASED TRUSTED PLATFORM |
TWI808367B (zh) * | 2020-12-29 | 2023-07-11 | 重量科技股份有限公司 | 區塊鏈中介系統以及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645650B1 (en) * | 2020-08-06 | 2023-05-09 | Citibank, N.A. | Systems and methods for blockchain-based transaction break prevention |
US20220094555A1 (en) * | 2020-09-18 | 2022-03-24 | Fujitsu Limited | Validator control for transaction between blockchains |
CN114024985B (zh) * | 2021-10-29 | 2022-10-11 | 湖南大学 | 一种区块链的预言机计算系统及处理大量数据的方法 |
CN114357495B (zh) * | 2022-03-15 | 2022-06-17 | 北京百度网讯科技有限公司 | 基于区块链的预言机链下聚合方法、装置、设备和介质 |
US20240104557A1 (en) * | 2022-09-23 | 2024-03-28 | Parameta Corp. | Method for transmitting specific data whose data format is unknown at relay from first blockchain network to second blockchain network and relay using the same |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
US20170243214A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for tracking transfer of resources in a process data network |
CN107301536A (zh) * | 2017-06-12 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN108959621A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的实现方法、装置、设备及存储介质 |
CN110134668A (zh) * | 2019-04-28 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 应用于区块链的数据迁移方法、装置和设备 |
CN110601856A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据交互方法及装置 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EA201891829A1 (ru) * | 2016-02-23 | 2019-02-28 | Нчейн Холдингс Лимитед | Способ и система для эффективного перевода криптовалюты, связанной с заработной платой, в блокчейне для создания способа и системы автоматизированной выплаты заработной платы на основе смарт-контрактов |
GB201804948D0 (en) * | 2018-03-27 | 2018-05-09 | Nchain Holdings Ltd | Computer implemented system and method |
US11194837B2 (en) * | 2018-05-01 | 2021-12-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN110266655B (zh) * | 2019-05-30 | 2021-11-12 | 中国工商银行股份有限公司 | 一种基于区块链的跨链互联方法、设备以及系统 |
CN110310119B (zh) * | 2019-07-06 | 2023-05-02 | 辽宁大学 | 面向跨区块链交易的可扩容存储方法 |
US10937096B2 (en) * | 2019-07-15 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Transaction processing in a service blockchain |
CN110609679B (zh) * | 2019-09-17 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机可读存储介质和计算机设备 |
CN110719322B (zh) * | 2019-09-25 | 2021-06-22 | 东北大学 | 一种基于区块链跨链的数据交叉存储方法 |
CN111416808B (zh) * | 2020-03-13 | 2021-04-13 | 财付通支付科技有限公司 | 跨区块链的数据互存方法、装置、设备及存储介质 |
-
2020
- 2020-03-13 CN CN202010175290.9A patent/CN111416808B/zh active Active
- 2020-11-16 WO PCT/CN2020/129004 patent/WO2021179661A1/zh active Application Filing
-
2022
- 2022-04-07 US US17/715,824 patent/US20220231869A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170243214A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for tracking transfer of resources in a process data network |
CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
CN107301536A (zh) * | 2017-06-12 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
CN108959621A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 一种区块链网络的实现方法、装置、设备及存储介质 |
CN110134668A (zh) * | 2019-04-28 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 应用于区块链的数据迁移方法、装置和设备 |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN110601856A (zh) * | 2019-09-24 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据交互方法及装置 |
Cited By (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021179661A1 (zh) * | 2020-03-13 | 2021-09-16 | 腾讯科技(深圳)有限公司 | 跨区块链的数据互存方法、装置、设备及存储介质 |
CN111914299A (zh) * | 2020-08-20 | 2020-11-10 | 深圳市腾盟技术有限公司 | 预言机接口的优化方法、装置、设备及存储介质 |
CN111817967A (zh) * | 2020-08-28 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化系统、注册方法及报文转发方法 |
CN111817967B (zh) * | 2020-08-28 | 2020-12-18 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化系统及报文转发方法 |
US11388017B2 (en) | 2020-08-28 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Communication optimization systems of blockchain network, registration methods and message forwarding methods |
CN112016898A (zh) * | 2020-08-31 | 2020-12-01 | 光大科技有限公司 | 基于区块链的协同办公方法及装置、系统 |
CN112132684A (zh) * | 2020-09-23 | 2020-12-25 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
CN112132684B (zh) * | 2020-09-23 | 2024-01-26 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
WO2022062976A1 (zh) * | 2020-09-23 | 2022-03-31 | 华为技术有限公司 | 用于执行交易的跨区块链的系统、跨链交易方法及设备 |
WO2022062782A1 (zh) * | 2020-09-23 | 2022-03-31 | 上海万向区块链股份公司 | 一种基于预言机锁组的结算方法及系统 |
WO2022105565A1 (zh) * | 2020-11-18 | 2022-05-27 | 深圳前海微众银行股份有限公司 | 一种跨链的区块链通信方法及装置 |
US11368288B2 (en) * | 2020-11-20 | 2022-06-21 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method of lightweight communication protocols between multiple blockchains |
CN114868359B (zh) * | 2020-11-20 | 2024-04-23 | 香港应用科技研究院有限公司 | 多区块链间轻量通讯协定装置及方法 |
CN114868359A (zh) * | 2020-11-20 | 2022-08-05 | 香港应用科技研究院有限公司 | 多区块链间轻量通讯协定装置及方法 |
US20220166602A1 (en) * | 2020-11-20 | 2022-05-26 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and Method of Lightweight Communication Protocols between Multiple Blockchains |
WO2022104860A1 (en) * | 2020-11-20 | 2022-05-27 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method of lightweight communication protocols between multiple blockchains |
EP4066439A4 (en) * | 2020-11-25 | 2022-12-14 | Alipay (Hangzhou) Information Technology Co., Ltd. | BLOCKCHAIN-BASED TRUSTED PLATFORM |
CN113302612A (zh) * | 2020-11-25 | 2021-08-24 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可信平台 |
EP4062357A4 (en) * | 2020-11-25 | 2022-11-16 | Alipay (Hangzhou) Information Technology Co., Ltd. | BLOCKCHAIN-BASED TRUSTED PLATFORM |
CN112637269A (zh) * | 2020-11-30 | 2021-04-09 | 深圳前海益链网络科技有限公司 | 一种储能数据管理系统 |
CN112200682B (zh) * | 2020-12-04 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112200682A (zh) * | 2020-12-04 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112581128B (zh) * | 2020-12-10 | 2024-04-05 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
CN112581128A (zh) * | 2020-12-10 | 2021-03-30 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
TWI808367B (zh) * | 2020-12-29 | 2023-07-11 | 重量科技股份有限公司 | 區塊鏈中介系統以及方法 |
CN112953999A (zh) * | 2020-12-29 | 2021-06-11 | 合肥达朴汇联科技有限公司 | 应用于t1节点的区块链信息跨链交互方法、系统、设备 |
CN112822180A (zh) * | 2020-12-30 | 2021-05-18 | 广东电网有限责任公司 | 内外网跨链通信方法、装置、计算机设备和存储介质 |
CN112650742A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN113190622A (zh) * | 2021-03-16 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113190622B (zh) * | 2021-03-16 | 2022-08-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112667749B (zh) * | 2021-03-16 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112667749A (zh) * | 2021-03-16 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112734432A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN113673991A (zh) * | 2021-03-30 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
WO2022205960A1 (zh) * | 2021-03-30 | 2022-10-06 | 蚂蚁区块链科技(上海)有限公司 | 跨链数据处理方法和装置 |
CN112804357B (zh) * | 2021-03-30 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链读取数据的方法和装置 |
CN112734432B (zh) * | 2021-03-30 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 跨链数据处理方法和装置 |
CN112804358B (zh) * | 2021-03-30 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链中转数据的方法和装置 |
CN112804358A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链中转数据的方法和装置 |
CN112804357A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链读取数据的方法和装置 |
CN113259328A (zh) * | 2021-04-22 | 2021-08-13 | 深圳前海益链网络科技有限公司 | 电网内外网数据交互系统 |
CN113259130A (zh) * | 2021-06-21 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备以及介质 |
CN114095272A (zh) * | 2021-11-30 | 2022-02-25 | 昆明电力交易中心有限责任公司 | 基于内外网安全架构的内网数据上链方法及装置 |
CN114095272B (zh) * | 2021-11-30 | 2023-10-31 | 昆明电力交易中心有限责任公司 | 基于内外网安全架构的内网数据上链方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021179661A1 (zh) | 2021-09-16 |
CN111416808B (zh) | 2021-04-13 |
US20220231869A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416808B (zh) | 跨区块链的数据互存方法、装置、设备及存储介质 | |
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
CN108805656B (zh) | 供需匹配方法、平台、系统和计算机可读存储介质 | |
CN112446785B (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
CN109117097B (zh) | 一种基于区块链的数据存储方法及系统 | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN110599173B (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN111464518B (zh) | 一种跨链通信数据的发送、验证方法及装置 | |
CN108734028B (zh) | 基于区块链的数据管理方法、区块链节点及存储介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN111314067A (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN111066047A (zh) | 实现基于区块链的工作流 | |
AU2019380381A1 (en) | Smart logistics management using blockchain | |
CN111327426B (zh) | 数据共享方法及相关装置、设备及系统 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN109840769B (zh) | 基于区块链的存证方法及装置、系统与存储介质 | |
CN110598456A (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN110706113A (zh) | 一种跨区块链的数据处理方法、装置、设备及介质 | |
CN111461799A (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN111339141A (zh) | 一种数据传输的方法、区块链节点设备以及介质 | |
CN111274597A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025603 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |