CN110442652B - Cross-chain data processing method and device based on block chain - Google Patents

Cross-chain data processing method and device based on block chain Download PDF

Info

Publication number
CN110442652B
CN110442652B CN201910752817.7A CN201910752817A CN110442652B CN 110442652 B CN110442652 B CN 110442652B CN 201910752817 A CN201910752817 A CN 201910752817A CN 110442652 B CN110442652 B CN 110442652B
Authority
CN
China
Prior art keywords
chain
cross
operation result
block chain
data processing
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.)
Active
Application number
CN201910752817.7A
Other languages
Chinese (zh)
Other versions
CN110442652A (en
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 CN201910752817.7A priority Critical patent/CN110442652B/en
Priority to CN201910937160.1A priority patent/CN110597925B/en
Publication of CN110442652A publication Critical patent/CN110442652A/en
Application granted granted Critical
Publication of CN110442652B publication Critical patent/CN110442652B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Abstract

The application relates to the technical field of internet, and discloses a block chain-based cross-chain data processing method and device, which are used for improving the efficiency and reducing the resource consumption in the cross-chain data processing process, and the method comprises the following steps: the first block chain determines data processing contents according to the received cross-chain data processing request; the first block chain calls a first cross-chain intelligent contract according to the first calling address, and executes a first operation corresponding to the first block chain in the data processing content to obtain a first operation result; after the first blockchain achieves consensus on the first operation result, writing the data processing content and the first operation result into a first account book; when the first block chain learns that a second operation result is written in a second account book of a second block chain, obtaining the second operation result from the second account book; and the first blockchain writes the second operation result into the first account book.

Description

Cross-chain data processing method and device based on block chain
Technical Field
The present application relates to the field of internet technologies, and in particular, to a block chain-based cross-chain data processing method and apparatus.
Background
The block chain is a chain data structure formed by combining data blocks in a sequential connection mode according to a time sequence, and is a distributed account book which is guaranteed in a cryptographic mode and cannot be tampered and forged. Broadly speaking, the blockchain technique is a completely new distributed infrastructure and computing paradigm that utilizes blockchain data structures to verify and store data, utilizes distributed node consensus algorithms to generate and update data, cryptographically secure data transmission and access, and utilizes intelligent contracts composed of automated script code to program and manipulate data.
With the rapid development of blockchain technology and applications, various independent blockchain networks have appeared, and implementing cross-blockchain transactions has become an urgent requirement for blockchain applications. The cross-chain technology can be understood as a bridge for communication between each blockchain. The main chain-crossing technologies at present are: notary mechanisms (Notary schemes), side chains/relays (Sidechains/relays), Hash-locking (Hash-locking), and the like.
In the existing chain crossing technology, the chain crossing transaction is generally synchronous processing. During the processing of transactions by the second blockchain, the first blockchain needs to wait for the completion of the transaction, and no other transactions can be processed during the processing. Therefore, there are problems of resource waste and long time consumption.
Disclosure of Invention
The embodiment of the application provides a block chain-based cross-chain data processing method and device, which are used for improving the efficiency in the cross-chain data processing process and reducing the resource consumption.
According to a first aspect of the embodiments of the present application, a method for processing data across chains based on a blockchain is provided, including:
the first blockchain determines data processing contents according to the received cross-chain data processing request, wherein the data processing contents comprise a first calling address of a first cross-chain intelligent contract deployed in the first blockchain and a second calling address of a second cross-chain intelligent contract deployed in a second blockchain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract;
the first block chain calls a first cross-chain intelligent contract according to the first calling address, and executes a first operation corresponding to the first block chain in the data processing content to obtain a first operation result;
after the first blockchain achieves consensus on the first operation result, writing the data processing content and the first operation result into a first account book;
when the first block chain learns that a second operation result is written in a second account book of a second block chain, obtaining the second operation result from the second account book, wherein the second operation result is obtained by the second block chain calling a second cross-chain intelligent contract according to the second calling address to execute a second operation corresponding to the second block chain in the data processing content;
and the first blockchain writes the second operation result into the first account book.
In an optional embodiment, after obtaining the second operation result, the first blockchain further includes:
the first block chain detects the second operation result;
if the second operation result is consistent with the data processing content, the operation of writing the second operation result into the first account book is executed;
and if the second operation result does not accord with the data processing content, performing rollback operation on the first operation result.
In an optional embodiment, the invoking, by the first blockchain, a first cross-chain intelligent contract according to the first call address, executing a first operation corresponding to the first blockchain in the data processing content, and obtaining a first operation result by the first blockchain further includes:
the first blockchain calls the first cross-chain intelligent contract and constructs a first Merkel tree based on the data processing content and the first operation result;
the first blockchain writes a root node of the first Merkel tree into the first ledger;
after the first block chain learns that a second operation result is written in a second account book of the second block chain, the method further includes:
the first block chain acquires a root node of a second Merkel tree from the second account book, and the second Merkel tree calls the second cross-chain intelligent contract for the second block chain and is constructed based on the second operation result;
the detecting, by the first blockchain, the second operation result includes:
and the first block chain calls a first management intelligent contract, and the root node of the second Merkel tree is utilized to detect the second operation result.
In an optional embodiment, after determining the data processing content according to the received cross-chain data processing request, the first blockchain further includes:
the first blockchain detects a digital signature in the cross-chain data processing request;
the first block chain calls a first management intelligent contract to detect the legality of the data processing content;
if the detection is successful, calling the first cross-chain intelligent contract to execute the first operation to obtain a first operation result;
and if the detection fails, marking the data processing content with a failure result.
In an optional embodiment, the learning, by the first blockchain, of the second operation result written in the second book of the second blockchain includes:
the first block chain checks the state mark of the second account book according to a set frequency;
and if the first blockchain finds that the status flag changes, determining that the second operation result is written in the second account book.
According to a second aspect of the embodiments of the present application, there is provided a method for processing data across chains based on a blockchain, the method including:
acquiring the data processing content from a first account book when a second block chain learns that a first operation result is written in the first account book of a first block chain; the data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in the first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract, the first cross-chain intelligent contract is deployed in the first block chain, and the second cross-chain intelligent contract is deployed in the second block chain;
the second block chain calls a second cross-chain intelligent contract according to the second calling address, and executes a second operation corresponding to the second block chain in the data processing content to obtain a second operation result;
and after the second blockchain agrees with the second operation result, writing the second operation result into a second account book.
In an optional embodiment, after the second blockchain learns that the first operation result is written in the first book of the first blockchain, the method further includes:
the second blockchain acquires a root node of a first Merkel tree from the first account book, and the first Merkel tree calls the first cross-chain intelligent contract for the first blockchain, wherein the first cross-chain intelligent contract is constructed based on the data processing content and the first operation result;
the second block chain calls a second management intelligent contract, and the root node of the first Merkel tree is used for detecting the data processing content and the first operation result;
the second block chain calls a second cross-chain intelligent contract according to a second calling address in the data processing content, executes a second operation corresponding to the second block chain in the data processing content, and after a second operation result is obtained, the method further includes:
the second block chain calls the second cross-chain intelligent contract and constructs a second Merkel tree based on the second operation result;
the second blockchain writes a root node of the second Merkel tree into the second ledger.
In an optional embodiment, the learning, by the second blockchain, of the first operation result written in the first ledger of the first blockchain includes:
the second block chain checks the state mark of the first account book according to a set frequency;
and if the second blockchain finds that the status flag changes, determining that the first operation result is written in the first account book.
According to a third aspect of the embodiments of the present application, there is provided a block chain-based inter-chain data processing apparatus, including:
a first obtaining unit, configured to determine, according to a received cross-chain data processing request, data processing content, where the data processing content includes a first call address of a first cross-chain intelligent contract deployed in the first blockchain and a second call address of a second cross-chain intelligent contract deployed in a second blockchain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract;
the first execution unit is used for calling a first cross-chain intelligent contract according to the first calling address and executing a first operation corresponding to the first block chain in the data processing content to obtain a first operation result;
a first writing unit, configured to write the data processing content and the first operation result into a first account book after the first operation result is agreed;
the first obtaining unit is further configured to obtain a second operation result from a second account book when it is known that a second operation result is written in the second account book of the second block chain, where the second operation result is obtained by the second block chain calling a second inter-chain intelligent contract according to the second call address to execute a second operation corresponding to the second block chain in the data processing content;
the first writing unit is further configured to write the second operation result into the first ledger.
In an optional embodiment, the apparatus further comprises a first detection unit, configured to:
detecting the second operation result;
if the second operation result is consistent with the data processing content, the first execution unit executes the operation of writing the second operation result into the first account book;
and if the second operation result does not accord with the data processing content, the first execution unit executes rollback operation on the first operation result.
In an optional embodiment, the first execution unit is further configured to invoke the first cross-chain intelligent contract, and construct a first meikel tree based on the data processing content and the first operation result;
the first writing unit is further configured to write a root node of the first meikel tree into the first account book;
the first obtaining unit is further configured to obtain a root node of a second meikel tree from the second account book, where the second meikel tree calls the second cross-chain smart contract for the second blockchain, where the second cross-chain smart contract is constructed based on the second operation result;
the first detection unit is further configured to invoke a first management intelligence contract, and detect the second operation result by using a root node of the second meikel tree.
In an optional embodiment, the first detecting unit is further configured to:
detecting a digital signature in the cross-chain data processing request;
calling a first management intelligent contract to detect the legality of the data processing content;
if the detection is successful, the first execution unit calls the first cross-chain intelligent contract to execute the first operation to obtain a first operation result;
and if the detection fails, the first writing unit marks the data processing content with a failure result.
In an optional embodiment, the first obtaining unit is specifically configured to:
checking the state mark of the second account book according to a set frequency;
and if the state flag is found to be changed, determining that the second operation result is written in the second account book.
According to a fourth aspect of the embodiments of the present application, there is provided a block chain-based inter-chain data processing apparatus, including:
the second obtaining unit is used for obtaining the data processing content from a first account book when a first operation result is written in the first account book of the first block chain; the data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in the first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract, the first cross-chain intelligent contract is deployed in the first block chain, and the second cross-chain intelligent contract is deployed in the second block chain;
the second execution unit is used for calling a second cross-chain intelligent contract according to the second calling address and executing a second operation corresponding to the second block chain in the data processing content to obtain a second operation result;
and the second writing unit is used for writing the second operation result into a second account book after the second operation result is agreed.
In an optional embodiment, the second obtaining unit is further configured to obtain a root node of a first meikel tree from the first ledger, where the first meikel tree calls the first cross-chain intelligent contract for the first blockchain, where the first cross-chain intelligent contract is constructed based on the data processing content and the first operation result;
the second detection unit is used for calling a second management intelligent contract and detecting the data processing content and the first operation result by utilizing the root node of the first Merkel tree;
the second execution unit is further configured to invoke the second cross-chain intelligent contract, and construct a second meikel tree based on the second operation result;
the second writing unit is further configured to write a root node of the second meikel tree into the second ledger.
In an optional embodiment, the second obtaining unit is specifically configured to:
checking the state mark of the first account book according to a set frequency;
and if the state flag is found to be changed, determining that the first operation result is written in the first account book.
According to a fifth aspect of embodiments herein, there is provided a computing device comprising at least one processor, and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the steps of the disclosure offer task processing method provided herein.
According to a fifth aspect of embodiments of the present application, there is provided a storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the steps of the disclosure offer task processing method provided by embodiments of the present application.
In the embodiment of the application, after receiving a cross-chain data processing request, a first blockchain determines data processing content carried in the cross-chain data request. The data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in a first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, wherein the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract. Processing of transactions between different blockchains is achieved by deploying respective cross-chain intelligent contracts on the first blockchain and the second blockchain. The first block chain calls a first cross-chain intelligent contract according to a first calling address in the data processing content, and executes a first operation through the first cross-chain intelligent contract to obtain a first operation result. The first operation is a transaction operation in the data processing content corresponding to the first blockchain. And after all the nodes in the first block chain achieve consensus on the first operation result, the first block chain writes the data processing content and the first operation result into the first account book. Therefore, the second blockchain can acquire the data processing content from the first account book, and call the second cross-chain intelligent contract according to the second call address in the data processing content to execute the second operation, so as to obtain a second operation result. The second operation is a transaction operation in the data processing content corresponding to the second blockchain. And after all the nodes in the second block chain achieve consensus on the second operation result, the second block chain writes the second operation result into a second account book. Therefore, when the first block chain learns that the second block chain writes the second operation into the second account book, the second operation result can be obtained from the second account book, and the second operation result is written into the first account book. In the embodiment of the application, the process of processing the cross-chain transaction by the first blockchain and the second blockchain is asynchronous. After the first blockchain obtains the first operation result, the first operation result is written into the first account book instead of being directly sent to the second blockchain. Therefore, the first block chain does not need to wait for the processing result of the second block chain, and other transactions can be processed continuously, so that the processing efficiency is improved, and the time is saved. And the second block chain does not need to process the cross-chain transaction immediately, the processing time of each cross-chain transaction can be flexibly arranged, and the processing pressure of the second block chain is balanced. Meanwhile, after the second operation result is obtained by the second block chain, the second operation result is recorded into the second account book, the second account book is monitored by the first block chain, and the second operation result is processed at a proper time, so that the processing time can be selected by the first block chain, the operation is more flexible, the data processing performance under a cross-chain scene is improved, and the time is saved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application.
FIG. 1 is a system architecture diagram of a cross-chain data processing system in an embodiment of the present application;
fig. 2 is a flowchart of a block chain-based inter-chain data processing method in an embodiment of the present application;
FIG. 3 is a schematic structural diagram of a Merkel tree in an embodiment of the present application;
FIGS. 4a to 4c are flowcharts illustrating a cross-chain data processing method according to an embodiment of the present application;
FIG. 5 is a block diagram illustrating an architecture of a block chain-based inter-chain data processing apparatus according to an embodiment of the present application;
FIG. 6 is a block diagram illustrating an alternative arrangement of a block chain-based inter-chain data processing apparatus according to an embodiment of the present application;
fig. 7 is a block diagram illustrating a server according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments, but not all embodiments, of the technical solutions of the present application. All other embodiments obtained by a person skilled in the art without any inventive step based on the embodiments described in the present application are within the scope of the protection of the present application.
Some concepts related to the embodiments of the present application are described below.
Block chaining techniques: the distributed data processing method is a brand-new distributed infrastructure and a computing mode, wherein a block chain type data structure is used for verifying and storing data, a distributed node consensus algorithm is used for generating and updating data, a cryptology mode is used for guaranteeing the safety of data transmission and access, and an intelligent contract consisting of automatic script codes is used for programming and operating the data.
Block chains: a blockchain is a distributed storage system that is commonly maintained and trusted by multiple nodes. The block chain bottom layer is a chain formed by a series of blocks, each block records the hash value of the block besides the data of the block, and the chained data structure is formed in this way. A block consists of a block header and a block body, where the block header definition includes the block height, the hash value (prevHash) of the previous block, etc. of the important fields, and the block body mainly stores transaction data. The block chain guarantees the safety of data transmission and access in a cryptographic mode, and guarantees that data on the chain cannot be tampered by using a chain structure. The basic architecture model of the block chain generally comprises a data layer, a network layer, a consensus layer, an excitation layer, an intelligent contract layer and an application layer. Among them, the chain block structure based on time stamp, the consensus mechanism of distributed nodes, the economic incentive based on consensus power and the flexible programmable intelligent contract are the most representative innovation points of the block chain technology. The intelligent contract layer is actually business logic and algorithms built on the virtual machine, and is the basis for realizing flexible programming and operating data of the block chain system.
Consensus: are nodes that participate together in a blockchain network, and agree on transaction data in some way. A blockchain, which is a data structure that stores data in time sequence, may support different consensus mechanisms. The consensus mechanism is an important component of the blockchain technique. The goal of the blockchain consensus mechanism is to have all honest nodes maintain a consistent blockchain view while satisfying two properties: consistency, wherein prefix parts of block chains stored by all honest nodes are completely the same; validity, information released by a honest node will be recorded in its blockchain by all other honest nodes.
Source chain, target chain: the source chain is a block chain in which the cross-chain data processing request initiator is located. The target chain is a block chain in which a receiver of the cross-chain data processing request is located. In an alternative embodiment, the source chain receives a cross-chain transaction request issued based on a source account in the cross-chain transaction system, and then transaction assets in the transaction information corresponding to the cross-chain transaction request need to be transferred from the source account to a target account on the target chain.
Intelligent contract: smart contract, is a set of conventions that are defined, propagated, verified, or executed in digital form, including protocols on which contract participants may execute such conventions. Smart contracts allow trusted transactions to be conducted without third parties, which transactions are traceable and irreversible.
And (3) chain crossing: and data communication is carried out among different block chains, so that value interconnection of a block chain world is realized.
Merkel tree: the hash tree is a binary tree for storing hash values and consists of a root node, a group of intermediate nodes and a group of leaf nodes. The lowest leaf node contains hash values, each intermediate node is a hash value of the contents of its two child nodes, and the root node is also composed of hash values of the contents of its two child nodes. Any data storage, processing and transmission between computers can be verified very efficiently, and it can be confirmed that the received data is not damaged or tampered.
In this embodiment, the first blockchain corresponds to a source chain, the second blockchain corresponds to a destination chain, each blockchain is composed of a plurality of nodes, and each node may be a receiving node, a processing node, a consensus node, or the like. The receiving node, the processing node, the consensus node, and the like in the embodiments of the present application are only functional descriptions and examples, and are not limited. Any node in the block chain may be a receiving node, a processing node, or a consensus node, and there are various possibilities that the same node is both a receiving node and a processing node, or another node is both a processing node and a consensus node, or another node is a receiving node, a processing node, and a consensus node, etc. The first block chain and the second block chain are only used for distinguishing roles played by different block chains; the first blockchain generally refers to a type of blockchain that can be used as a source chain, and the second blockchain generally refers to a type of blockchain that can be used as a target chain, and does not refer to a certain blockchain as a "first blockchain" or a "second blockchain". That is, any blockchain in the cross-chain data processing system can be used as a source chain, and the blockchain used as the source chain can be referred to as a first blockchain; similarly, any blockchain in the same system can also be used as the target chain, and the blockchain used as the target chain can be referred to as a second blockchain.
Referring to fig. 1, a system architecture diagram of a cross-chain data processing system including a first terminal 11, a first data processing server 12, a first blockchain, a second terminal 14, a second data processing server 15, and a second blockchain is shown according to an embodiment of the present application. In the embodiment shown in fig. 1, the first data processing server 12 and the second data processing server 15 may be one server, or may be a server cluster or a cloud computing center formed by several servers. The first blockchain is supported by the plurality of blockchain servers 13, the first blockchain includes at least one server having a cross-chain intelligent contract function, and the server supporting the cross-chain intelligent contract function may be one or more of the plurality of blockchain servers 13. The second blockchain is supported by the plurality of blockchain servers 16, the second blockchain includes at least one server having a cross-chain intelligent contract function, and the server supporting the cross-chain intelligent contract function may be one or more of the plurality of blockchain servers 16. And the public block chains with the function of cross-chain intelligent contracts in the block chain network are Ethernet, hyper ledger Hyperridge, RSK and the like.
The first terminal 11 and the second terminal 14 may be electronic devices with network communication capability, only two terminals are illustrated in the figure, and actually, there are many terminal devices connected to the first data processing server 12 or the second data processing server 15 through a network, and the terminal devices may be electronic devices with wireless communication function such as a mobile phone, a tablet computer, or a dedicated handheld device, and may also be devices connected to the internet by a wired access method such as a Personal Computer (PC) or a notebook computer.
The first data processing server 12 may communicate with the first terminal 11 and the first blockchain through a network, which may be any one of communication networks such as a local area network, a wide area network, or a mobile internet. The first terminal 11 has installed therein a client supported by the first data processing server 12. The first terminal 11 communicates with the first data processing server 12 based on the installed client.
The second data processing server 15 may communicate with the second terminal 14 and the second blockchain through a network, which may be any one of communication networks such as a local area network, a wide area network, or a mobile internet. The second terminal 14 has installed therein a client supported by the second data processing server 15. The second terminal 14 communicates with the second data processing server 15 based on the installed client.
In this scenario, the first terminal 11 may act as a publisher of the cross-chain transaction, and send a cross-chain transaction request to the first data processing server 12 through its installed client. The first data processing server 12 uploads the cross-chain transaction request to the first blockchain. The second terminal 14 may be a target of the cross-chain transaction, and receive a processing result of the cross-chain transaction request sent by the second data processing server 15 through its installed client. Of course, the first terminal 11 may also be a target party of the cross-chain transaction to receive a processing result of the cross-chain transaction request, and the second terminal 14 may also be an issuer of the cross-chain transaction request to initiate the cross-chain transaction.
It should be noted that the above-mentioned application scenarios are only presented for the convenience of understanding the spirit and principles of the present application, and the embodiments of the present application are not limited in this respect. Rather, the embodiments of the present application may be applied to any applicable scenario.
For ease of understanding, the first blockchain is described as a source chain and the second blockchain is described as a destination chain.
In the prior art, cross-chain transactions are generally synchronous processing. Specifically, after the source chain completes partial processing of the cross-chain transaction in the source chain, the source chain sends a cross-chain transaction request to the target chain. And the target link receives the cross-link transaction request, records the processing result into an account book of the target link after the cross-link transaction is executed and completed on the part of the target link, and sends the cross-link transaction processing result to the source link. And after the source link receives the cross-chain transaction processing result, the total processing result is posted, so that the cross-chain transaction is finished. In the process of processing the cross-chain transaction by the second blockchain, the first blockchain needs to wait all the time, and other transactions cannot be processed. After the second blockchain sends the cross-chain transaction processing result to the first blockchain, the second blockchain also needs to wait for the reply of the first blockchain to finish the cross-chain transaction. The cross-chain transaction synchronous processing mode has the problem of resource and time waste.
The method is based on the blockchain technology, and the process of processing the cross-chain transaction by the first blockchain and the second blockchain is asynchronous. After the first blockchain obtains the transaction execution result, the transaction execution result is written into the first account book instead of being directly sent to the second blockchain. Therefore, the first block chain does not need to wait for the processing feedback of the second block chain, and other transactions can be processed continuously, so that the waiting time of the first block chain is saved, and the processing efficiency is improved. And the second block chain does not need to process the cross-chain transaction immediately, the processing time of each cross-chain transaction can be flexibly arranged, and the processing pressure of the second block chain is balanced. Similarly, after the second blockchain executes the cross-chain transaction to obtain the transaction execution result, the transaction execution result is recorded into the second account book, the first blockchain monitors the second account book, and the second operation result is determined to be processed at a proper time, so that the processing time can be selected by the first blockchain, the method is more flexible, the data processing performance under the cross-chain scene is improved, and the time is saved.
In order to solve the above problem, the following describes a block chain-based inter-chain data processing method according to an embodiment of the present application with reference to an application scenario shown in fig. 1.
Referring to fig. 2, an embodiment of the present application provides a method for processing inter-chain data based on a block chain, where as shown in fig. 2, the method includes:
step S201: the first block chain determines data processing contents according to the received cross-chain data processing request.
The data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in a first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract. The first cross-chain intelligent contract is deployed in the first blockchain, and the second cross-chain intelligent contract is deployed in the second blockchain.
The intelligent contract deployment can be understood as that the contracted contract is deployed in the blockchain after being recognized by the blockchain network; the running of the intelligent contract can be understood as automatically executing the contract when the contract execution condition is checked to be met and recording the running result in the blockchain. Briefly, smart contracts are digitized versions of traditional contracts. They are computer programs running on a blockchain database that can execute on their own when the conditions written in their source code are met. The intelligent contract once written can be trusted by the user, and the contract terms cannot be changed. Specifically, before performing the cross-chain data processing, the first blockchain and the second blockchain may jointly negotiate a cross-chain intelligent contract, and a cross-chain intelligent contract program (such as program code related to some callable functions) completed in development is declared in the cross-chain intelligent contract. Then, issuing a first cross-chain intelligent contract in the first block chain, and carrying out consensus processing by node equipment in the first block chain; after the consensus passes, the first cross-chain intelligent contract inclusion may be stored to a distributed database of the first blockchain to complete the deployment of the first intelligent contract. Meanwhile, a second chain-crossing intelligent contract is issued in a second block chain, and consensus processing is carried out by node equipment in the second block chain; after the consensus passes, the second cross-chain intelligent contract inclusion may be stored to a distributed database of the second blockchain to complete the deployment of the second cross-chain intelligent contract.
It should be noted that, in the embodiment of the present application, only two blockchains are involved, but the method for processing cross-chain data in the embodiment of the present application is also applicable to a cross-chain data processing system with multiple blockchains. Under the condition that a plurality of blockchains exist in the system, negotiation can be carried out on all blockchains, and a cross-chain intelligent contract is deployed on each blockchain, so that cross-chain transaction can be carried out between any blockchains in the system.
In a specific implementation process, after a receiving node in a first block chain receives a cross-chain transaction request, the request is analyzed, and transaction content is determined. The transaction content includes a first call address of a first cross-chain intelligent contract deployed by an application layer of a first blockchain, an application layer user address of the first blockchain, a second blockchain ID, a second call address of a second cross-chain intelligent contract corresponding to the second blockchain, an operation method and an operation input parameter.
It should be noted that the receiving node, the processing node, the common node, and the like in the embodiment of the present application are only functional descriptions and examples, and are not limited. Any node in the block chain may be a receiving node, a processing node, or a consensus node, and there are various possibilities that the same node is both a receiving node and a processing node, or another node is both a processing node and a consensus node, or another node is a receiving node, a processing node, and a consensus node, etc.
Step S202: the first block chain calls a first cross-chain intelligent contract according to the first calling address, and executes a first operation corresponding to the first block chain in the data processing content to obtain a first operation result.
In a specific implementation process, the processing node of the first blockchain calls a first cross-chain intelligent contract deployed on the first blockchain according to a first calling address, and executes a first operation corresponding to the first blockchain in the operation method. The operation method may be, for example, transfer, deduction, etc., and the input parameters may be operated, for example, transfer amount, deduction amount, etc. The processing node inputs a first operation and an operation input parameter into a first cross-chain intelligent contract, the first cross-chain intelligent contract executes a transaction, outputs a first transaction execution result, allocates a cross-chain transaction identifier, binds the first transaction execution result, a second block chain ID in data processing content, a second calling address on a second block chain, an operation method, an operation input parameter and the like, and caches a transaction execution state and content.
Step S203: after the first blockchain agrees with the first operation result, the data processing content and the first operation result are written into the first account book.
In a specific implementation process, all nodes in the first block chain need to perform consensus on the first transaction execution result, and after the consensus passes, the processing node writes the first transaction execution result, the second block chain ID, the second calling address, the operation method and other transaction contents into the first account book of the first block chain.
Step S204: and when the second block chain learns that the first operation result is written in the first account book of the first block chain, acquiring data processing contents from the first account book.
Here, the second blockchain learns the update of the first account book, and may monitor the first account book actively for the second blockchain or learn the update of the first account book passively for the second blockchain. The second blockchain actively monitors the first account book, for example, the second blockchain checks the state of the first account book according to a preset frequency, and determines whether new transaction content is added to the first account book. The second blockchain passively learns that the first account book is updated, for example, after the first account book is updated by the first blockchain, a viewing request is sent to the second blockchain, and the second blockchain can immediately reply a message confirming receipt to the first blockchain, but the second blockchain does not immediately view the first account book, but views and acquires the transaction content in the first account book at a proper time point, for example, when the second blockchain is idle or in a specified time period every day. In this way, the second blockchain can flexibly control the timing of transaction processing, and the first blockchain does not need to wait for the processing result of the second blockchain and can continue to process other transactions.
Step S205: and the second block chain calls a second cross-chain intelligent contract according to the second calling address, and executes a second operation corresponding to the second block chain in the data processing content to obtain a second operation result.
Specifically, after the second blockchain acquires the data processing content in the first account book, the processing node of the second blockchain calls a second cross-chain intelligent contract deployed on the second blockchain according to a second call address in the data processing content, and executes a second operation corresponding to the second blockchain in the operation method. The operation method may, for example, input funds or the like, and operate input parameters such as the amount of money transferred or the like. And the processing node inputs the second operation and the operation input parameters into a second cross-chain intelligent contract, the second cross-chain intelligent contract executes the transaction, outputs a second transaction execution result, and caches the second transaction execution result.
Step S206: and after the second block chain achieves the consensus on the second operation result, writing the second operation result into a second account book.
In a specific implementation process, all nodes in the second blockchain need to perform consensus on the second transaction execution result, and after the consensus passes, the processing node writes the second transaction execution result into a second account book of the second blockchain. Preferably, for identification, the second transaction execution result is also bound to the cross-chain transaction identifier.
Step S207: and when the first block chain learns that a second operation result is written in a second account book of the second block chain, acquiring the second operation result from the second account book.
Similarly, the first block chain learns the update of the second account book, and may monitor the second account book actively for the first block chain, or learn the update of the second account book passively for the first block chain, which is not described herein.
Step S208: and the first block chain writes the second operation result into the first account book.
In the embodiment of the application, after receiving a cross-chain data processing request, a first blockchain determines data processing content carried in the cross-chain data request. The data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in a first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, wherein the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract. Processing of transactions between different blockchains is achieved by deploying respective cross-chain intelligent contracts on the first blockchain and the second blockchain. The first block chain calls a first cross-chain intelligent contract according to a first calling address in the data processing content, and executes a first operation through the first cross-chain intelligent contract to obtain a first operation result. The first operation is a transaction operation in the data processing content corresponding to the first blockchain. And after all the nodes in the first block chain achieve consensus on the first operation result, the first block chain writes the data processing content and the first operation result into the first account book. Therefore, the second blockchain can acquire the data processing content from the first account book, and call the second cross-chain intelligent contract according to the second call address in the data processing content to execute the second operation, so as to obtain a second operation result. The second operation is a transaction operation in the data processing content corresponding to the second blockchain. And after all the nodes in the second block chain achieve consensus on the second operation result, the second block chain writes the second operation result into a second account book. Therefore, when the first block chain learns that the second block chain writes the second operation into the second account book, the second operation result can be obtained from the second account book, and the second operation result is written into the first account book. In the embodiment of the application, the process of processing the cross-chain transaction by the first blockchain and the second blockchain is asynchronous. After the first blockchain obtains the first operation result, the first operation result is written into the first account book instead of being directly sent to the second blockchain. Therefore, the first block chain does not need to wait for the processing result of the second block chain, and other transactions can be processed continuously, so that the processing efficiency is improved, and the time is saved. And the second block chain does not need to process the cross-chain transaction immediately, the processing time of each cross-chain transaction can be flexibly arranged, and the processing pressure of the second block chain is balanced. Meanwhile, after the second operation result is obtained by the second block chain, the second operation result is recorded into the second account book, the second account book is monitored by the first block chain, and the second operation result is processed at a proper time, so that the processing time can be selected by the first block chain, the operation is more flexible, the data processing performance under a cross-chain scene is improved, and the time is saved.
In order to ensure consistency of data processing results in the first blockchain and the second blockchain, the first blockchain needs to detect the second operation result. Namely, after step S207, the method further includes:
the first block chain detects a second operation result;
if the second operation result is consistent with the data processing content, the operation of writing the second operation result into the first account book is executed;
and if the second operation result does not accord with the data processing content, performing rollback operation on the first operation result.
In the specific implementation process, there is a possibility that the second blockchain fails to execute the second operation. In this case, the common node of the first block chain may detect that the second operation result does not match the data processing content by detecting the second operation result, that is, the second operation result is different from the execution result of the first block chain, and it is determined that the second operation result of the second block chain is incorrect and the first block chain needs to roll back the first operation result, thereby ensuring data consistency of the first block chain and the second block chain.
In addition, in order to ensure the validity of the cross-chain transaction request and the validity of the cross-chain transaction, after the first blockchain determines the data processing content according to the received cross-chain data processing request, the method further includes:
the first blockchain detects a digital signature in the cross-chain data processing request;
the first block chain calls a first management intelligent contract to detect the legality of the data processing content;
if the detection is successful, calling a first cross-chain intelligent contract to execute a first operation to obtain a first operation result;
and if the detection fails, marking the data processing content with a failure result.
Specifically, the cross-chain data processing request also includes a digital signature of an initiator of the cross-chain data processing request. After the first block link receives the cross-link data processing request, the consensus node detects the digital signature in the cross-link data processing request, if the detection is successful, the subsequent processing is carried out, if the detection is failed, the cross-link data processing request is directly marked with a failure result, and the failure result and the failure reason are fed back to an initiator of the cross-link data processing request.
And after the digital signature is successfully detected, the first block chain also calls a first management intelligent contract to check the legality of the data processing content. Specifically, it may be detected whether a cross-chain intelligent contract is deployed on the first blockchain, whether an application layer user address of the first blockchain is legal, whether an application layer user balance on the first blockchain is sufficient to pay a cross-chain transaction fee, and the like. And in the case that the detection is passed, calling a first cross-chain intelligent contract to execute a first operation. And if any one of the detection conditions fails, identifying a failure result of the cross-chain data processing request, and feeding back the failure result and the failure reason to an initiator of the cross-chain data request.
The first management intelligent contract is also deployed on the first block chain, and the function and the effect of the first management intelligent contract are different from those of the first cross-chain intelligent contract. The first cross-chain intelligent contract is mainly used for executing cross-chain transaction and constructing a first Merkel tree. The first management intelligent contract has the main functions of checking the legality of the data, checking whether the data is tampered or not and ensuring the accuracy and the safety of the data.
It should be noted that the management intelligence contract in the embodiment of the present application is a definition of functionality. The management intelligent contract may be a collective term for a plurality of intelligent contracts, for example, on the first block chain, one intelligent contract is deployed for verification of a digital signature in a cross-chain transaction, one intelligent contract is deployed for verification of validity of the cross-chain transaction, and one intelligent contract is deployed for detection of whether data is tampered by using a meikel tree, so that the three contracts are collectively referred to as the first management intelligent contract. In another possible embodiment, the first management intelligent contract can also simultaneously check the digital signature, the cross-chain transaction validity and the Merkel tree for the same intelligent contract. In addition, the management intelligent contract may also have other functions, such as management of cross-chain intelligent contracts, and the like, which is not limited by the embodiment of the present application.
Furthermore, on one hand, in order to prevent the cross-chain transaction from being tampered in the transmission process, on the other hand, it is required to ensure that the cross-chain transaction does not make errors in the transmission process. In an alternative embodiment, the blockchain constructs a Merkel tree based on the execution results of the cross-chain transaction, and checks with the Merkel tree. The traditional approach is to encrypt the transaction, then transmit it, and decrypt it at the receiving node. However, the block transmission is frequent, the transaction amount is large, the frequent encryption and decryption and the key management are relatively complex, so that the traditional method cannot be used, and the use of the Merkel tree not only solves the problem of the correctness of the transaction list in the transmission aspect, but also reduces the transmission link, thereby accelerating the overall speed. By constructing the Merkel tree, the Merkel tree is additionally transmitted in the process of cross-chain transaction transmission. At the receiver, only the root node of the merkel tree is verified. If the transaction information is tampered, the root node of the Merkel tree is changed, and the tampered transaction information can be found through binary search.
Specifically, step S202: the first blockchain calls a first cross-chain intelligent contract according to the first calling address, executes a first operation corresponding to the first blockchain in the data processing content, and after obtaining a first operation result, the method further comprises:
the first block chain calls a first cross-chain intelligent contract, and a first Merkel tree is constructed based on the data processing content and the first operation result;
the first blockchain writes a root node of a first Merkel tree into a first ledger.
Taking the merkel tree shown in fig. 3 as an example, the specific construction method is as follows:
calculating hash values of all transaction data, for example, taking a first operation result as data 1, a second block chain ID in data processing content as data 2, a second calling address as data 3, and an operation method as data 4, respectively calculating the hash value of the first operation result, the hash value of the second block chain ID, the hash value of the second calling address, and the hash value of the operation method, and obtaining 4 nodes of the meikel tree, which are respectively a node 1-1, a node 1-2, a node 1-3, and a node 1-4. Wherein, the hash () is to execute hash operation on the data. The nodes 1-1, 1-2, 1-3 and 1-4 are leaf nodes of the Merkel tree. And sequentially combining the hash values in two adjacent leaf nodes into a character string, then calculating the hash value of the character string, and taking the obtained hash value as a parent node of the two leaf nodes. Referring to fig. 3, node 1-1 and node 1-2 are merged into a string, and the hash value of the string is calculated as the value of node 2-1, where node 2-1 is the parent node of node 1-1 and node 1-2. And (3) constructing layer by layer upwards, copying the last node of a certain layer if the number of the nodes of the layer is odd, and executing the parent node hash value calculation process after the nodes of the layer are integrated into even numbers. The above process is repeatedly executed until a single root node is obtained, the root node is the root node of the Merkel tree, and the whole data structure is the Merkel tree structure.
The first block chain calls a first cross-chain intelligent contract, a first Merkel tree is constructed according to the method, namely data such as data processing contents and a first operation result are input into the first cross-chain intelligent contract, the first cross-chain intelligent contract constructs the first Merkel tree based on the construction method, a root node of the first Merkel tree is output, and the root node of the first Merkel tree is written into a first account book.
After the second block chain learns that the first operation result is written in the first account book of the first block chain, the method further includes:
the second block chain acquires a root node of the first Merkel tree from the first account book;
and the second block chain calls a second management intelligent contract, and the root node of the first Merkel tree is utilized to detect the data processing content and the first operation result.
In a specific implementation process, after the second blockchain acquires the root node of the first meikel tree from the first account book, the root node of the first meikel tree is used for detecting the acquired data processing content and the first operation result, and the data processing content and the first operation result are determined to be not tampered. Specifically, a second management intelligent contract is called for the second block chain, a Merkel tree is built again for the received data processing content and the first operation result according to the Merkel tree building mode, and then the root node of the newly built Merkel tree is compared with the root node of the first Merkel tree. If the two are the same, indicating that the data processing content and the first operation result are not tampered; if the two are different, the data processing content and the data in the first operation result are tampered, the subsequent processing is stopped, and an alarm message is sent to the first block chain.
On the other hand, the second blockchain also constructs a Meckel tree for the second operation result, thereby preventing the data acquired by the first blockchain from the second blockchain from being tampered.
The second block chain calls a second cross-chain intelligent contract according to a second calling address in the data processing content, executes a second operation corresponding to the second block chain in the data processing content, and after a second operation result is obtained, the method further includes:
the second block chain calls a second cross-chain intelligent contract and constructs a second Merkel tree based on a second operation result;
the second blockchain writes the root node of the second meikel tree into the second ledger.
Specifically, after the second operation is completed by the second block chain and the second operation result is obtained, a second meikel tree is constructed based on the second operation result and other information needing to be synchronized to the first block chain, so as to prevent the second operation result from being tampered. And the second block chain calls a second chain-crossing intelligent contract, data such as a second operation result and other related data are input into the second chain-crossing intelligent contract, the second chain-crossing intelligent contract constructs a second Merkel tree based on the construction method, a root node of the second Merkel tree is output, and the root node of the second Merkel tree is written into a second account book. The specific construction method of the second meiker tree refers to the construction method of the meiker tree, and is not described herein.
Thus, after the first blockchain learns that the second operation result is written in the second book of the second blockchain, the method further includes:
the first block chain acquires a root node of a second Merkel tree from the second account book;
the first blockchain detects a second operation result, and the method comprises the following steps:
the first blockchain invokes the first managed intelligence contract to detect the second operation result using the root node of the second meikel tree.
Specifically, after determining that the content related to the cross-chain data processing request in the second account book is updated, the first blockchain acquires the root node of the second meikel tree from the second account book. And detecting the acquired data processing content and the first operation result by using a root node of the first Merkel tree, and determining that the data processing content and the first operation result are not tampered. Specifically, the second blockchain builds a meikel tree again for the received data processing content and the first operation result according to the method for building the meikel tree, and then compares the root node of the newly built meikel tree with the root node of the first meikel tree. If the two are the same, indicating that the data processing content and the first operation result are not tampered; if the two are different, the data processing content and the data in the first operation result are tampered, the subsequent processing is stopped, and an alarm message is sent to the first block chain.
The method for the first block chain to learn that the second operation result is written in the second book of the second block chain may be active learning or passive learning. Preferably, in order to increase flexibility of processing the cross-chain transaction, here, monitoring the second ledger for the first blockchain specifically includes:
the first block chain checks the state mark of the second account book according to the set frequency;
and if the first block chain finds that the state mark is changed, determining that a second operation result is written in the second account book.
In an implementation, the second blockchain may set a status flag for the second account, for example, a flag bit is set in the second account, including two character statuses. And if the data information recorded in the second account book is changed, changing the mark character from the current character to another character. The first block chain monitors the mark characters of the second account book, namely the mark characters of the second account book are compared with the mark characters cached in the first block chain, if the mark characters are the same, the mark characters of the second account book are not changed, and the content of the second account book is not changed; if the two are different, the content of the second account book is changed, and the second block chain writes the second operation result into the second account book, so that the first block chain obtains the second operation result from the second account book and correspondingly changes the mark character in the first block chain.
For example, the current character on the flag bit of the second account book is 1. When the second blockchain writes the second operation result into the second book, the second blockchain changes the character on the flag bit from 1 to 0. The flag character in the first block chain corresponding to the second book is still 1. In this way, when the first blockchain monitors the second account book, and the flag character of the second account book is found to be inconsistent with the flag character cached in the first blockchain, it is determined that the transaction data in the second account book is changed, a second operation result is obtained from the second account book, and the flag character cached in the first blockchain is also changed from 1 to 0.
Further, to identify the second operation result specific to which cross-chain transaction was written, the second blockchain may also bind the status flag with the identification of the cross-chain transaction, thereby distinguishing it from other cross-chain transactions.
Correspondingly, the second blockchain learns that the first operation result is written in the first account book, and the method comprises the following steps:
the second block chain checks the state mark of the first account book according to the set frequency;
and if the second block chain finds that the state mark is changed, determining that the first operation result is written in the first account book.
In an implementation, the first blockchain may set a status flag for the first account, for example, a flag bit is set in the first account, including two character statuses. And if the data information recorded in the first account book changes, changing the mark character from the current character to another character. The second block chain monitors the mark characters of the first account book, namely the mark characters of the first account book are compared with the mark characters cached in the second block chain, if the mark characters of the first account book are the same as the mark characters of the second block chain, the mark characters of the first account book are not changed, and the content of the first account book is not changed; if the two are different, the content of the first account book is changed, the first block chain writes the first operation result into the first account book, and therefore the second block chain obtains the first operation result from the first account book and correspondingly changes the mark character in the second block chain.
The above flow is described in detail with a specific embodiment, where an application scenario of the specific embodiment is that a user a opens a bank account in a bank M, the user a opens a game account in a game company N, the bank M maintains a first blockchain, the game company N maintains a second blockchain, an application layer of the first blockchain is deployed with a first cross-chain intelligent contract, an application layer of the second blockchain is deployed with a second cross-chain intelligent contract, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract. The user a needs to transfer x elements from a bank account to a game account, the user a sends a transfer application to the bank M through the mobile phone APP, and the bank M generates a cross-chain transaction request according to the transfer application and uploads the cross-chain transaction request to the first block chain. Thus, the first blockchain is the source chain of the cross-chain transaction request, and the second blockchain is the destination chain. And the source chain transfers the cross-chain transaction request from the bank account of the user a to the fund x element after the transaction execution of the source chain is completed, and writes the transaction execution result of the source chain into the account book of the source chain. And the target chain monitors the ledger of the source chain, and synchronizes the ledger of the target chain with the ledger of the source chain in a proper time period, so that the transaction content of the cross-chain transaction request on the target chain is obtained. And after the target chain completes the execution of the cross-chain transaction request, transferring the game asset y pen into the game account of the user a, wherein the game asset y pen is equal to the fund x element. And writing the transaction execution result of the source chain into an account book of the source chain. And the source chain monitors the account book of the target chain, and synchronizes the account book of the source chain with the account book of the target chain in a proper time period so as to obtain a processing result of the target chain on the transaction. And the source chain synchronizes the processing result of the target chain to the ledger of the source chain. In addition, if the target chain processing fails, the source chain performs a rollback operation on the transaction execution result on the source chain ledger.
In the application scenario, a process of processing a cross-chain transaction request by a source chain is shown in fig. 4a, and includes:
step S401: and the source chain analyzes the cross-chain transaction request by calling an intelligent contract to determine the cross-chain transaction content. The cross-chain transaction content comprises an address of a first cross-chain intelligent contract, an account P address in an application layer, a target chain ID, a second cross-chain intelligent contract address, an operation method and operation input parameters. The cross-chain transaction request also includes the digital signature of the bank M.
Step S402: the source chain checks the validity of the digital signature; if the verification is passed, step S403 is executed, otherwise step S404 is executed.
Step S403: the source chain calls a first management intelligent contract and detects the legality of cross-chain transaction content, wherein the method comprises the following steps: whether a cross-chain intelligent contract is deployed in a source chain, whether an account P address in an application layer is legal, whether the balance in the account P is enough to pay cross-chain transaction cost and the like. If the detection is successful, step S405 is executed, otherwise step S404 is executed.
Step S404: and the source chain marks the processing result of the cross-chain transaction request as failure and caches the failure. Step S407 is then executed.
Step S405: and calling a first cross-chain intelligent contract by the source chain, executing a first operation method in the transaction content, namely 'transferring out funds x yuan', caching an obtained first operation result, distributing a cross-chain transaction ID, and binding the operation parameters of the cross-chain transaction, the target chain ID, the address of a second cross-chain intelligent contract and the like. Meanwhile, a corresponding first Merkel tree is generated, and the root node of the first Merkel tree is cached.
Step S406: and after the source chain identifies the cached content, writing the cached content into a first account book of the source chain, and changing the state mark of the first account book.
Step S407: and after the source chain identifies the cached content, writing the cached content into a first account book of the source chain, feeding back a processing failure result to the bank M, and ending the process.
The process of processing the cross-chain transaction request by the target chain is shown in fig. 4b, and comprises the following steps:
step S408: and monitoring the state mark of the first account book by the target chain, and determining that the state mark of the first account book changes.
Step S409: the target chain obtains cross-chain transaction content, a first operation result and a root node of the first Merkel tree from the first account book.
Step S410: the target chain calls a second management intelligent contract, and cross-chain transaction content is detected, wherein the steps comprise: whether the target chain ID is correct, whether the second cross-chain intelligent contract address is correct, whether the operation parameters are correct, and whether the cross-chain transaction content and the first operation result pass the verification of the Meckel tree. If the detection is passed, step S412 is executed, and if the detection is not passed, step S411 is executed.
Step S411: and the target chain marks the processing result of the cross-chain transaction request as failure and caches the failure. Step S413 is then performed.
Step S412: and the target chain calls a second cross-chain intelligent contract, executes an operation method formulated in cross-chain transaction content to obtain a second operation result, constructs a second Merkel tree based on the second operation result, and caches the second operation result and a root node of the second Merkel tree.
Step S413: and after the target chain achieves the consensus, the cache content is written into the second account book, and the state mark of the second account book is changed.
The process for the source chain to continue processing the cross-chain transaction request is shown in fig. 4c, and includes:
step S414: and the source chain monitors the state mark of the second account book and determines that the state mark of the second account book changes.
Step S415: and the source chain acquires the second operation result and the root node of the second Merkel tree from the first account book. If the second operation result is processing failure, step S417 is executed, otherwise step S416 is executed.
Step S416: and calling the first management intelligent contract by the source chain, and checking the second operation result by utilizing the root node of the second Merkel tree. If the check is passed, step S418 is performed, otherwise step S417 is performed.
Step S417: and the source chain executes a rollback operation on the first operation result in the first account book, feeds back a processing failure result to the bank M, and ends the process.
Step S418: and the source chain writes the second operation result into the first account book, feeds back a successful processing result to the bank M, and ends the process.
In the above flow, the steps S401 to S407 and S408 to S413, and the steps S408 to S413 and S413 to S418 are all asynchronous processes, that is, the source chain (or the destination chain) only needs to record the processing result into the account of the block chain, and does not need to wait for the processing result of the other party. Therefore, the execution efficiency of the cross-chain transaction is improved, and the overall processing time is saved.
The following are embodiments of the apparatus of the present application, and for details not described in detail in the embodiments of the apparatus, reference may be made to the above-mentioned one-to-one corresponding method embodiments.
Referring to fig. 5, a block diagram of a block chain-based inter-chain data processing according to an embodiment of the present application is shown. The cross-chain data processing apparatus is implemented by hardware or a combination of hardware and software as all or a part of the blockchain server 13 in fig. 1. The device includes: a first acquisition unit 501, a first execution unit 502 and a first writing unit 503.
A first obtaining unit 501, configured to determine, according to a received cross-chain data processing request, data processing content, where the data processing content includes a first call address of a first cross-chain intelligent contract deployed in the first block chain and a second call address of a second cross-chain intelligent contract deployed in a second block chain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract;
a first execution unit 502, configured to invoke a first cross-chain intelligent contract according to the first invocation address, and execute a first operation corresponding to the first block chain in the data processing content, to obtain a first operation result;
a first writing unit 503, configured to write the data processing content and the first operation result into a first account book after the first operation result is agreed;
the first obtaining unit 501 is further configured to, when it is known that a second operation result is written in a second account book of a second block chain, obtain the second operation result from the second account book, where the second operation result is obtained by the second block chain calling a second inter-chain intelligent contract according to the second call address to execute a second operation corresponding to the second block chain in the data processing content;
the first writing unit 503 is further configured to write the second operation result into the first ledger.
In an optional embodiment, the apparatus further includes a first detecting unit 504, configured to:
detecting the second operation result;
if the second operation result is consistent with the data processing content, the first execution unit executes the operation of writing the second operation result into the first account book;
and if the second operation result does not accord with the data processing content, the first execution unit executes rollback operation on the first operation result.
In an alternative embodiment, the first execution unit 502 is further configured to invoke the first cross-chain intelligent contract, and construct a first meikel tree based on the data processing content and the first operation result;
the first writing unit 503 is further configured to write a root node of the first meikel tree into the first ledger;
the first obtaining unit 501 is further configured to obtain a root node of a second meikel tree from the second account book, where the second meikel tree is constructed by invoking the second cross-chain smart contract for the second blockchain based on the second operation result;
the first detecting unit 504 is further configured to invoke a first management intelligence contract, and detect the second operation result by using a root node of the second meikel tree.
In an optional embodiment, the first detecting unit 504 is further configured to:
detecting a digital signature in the cross-chain data processing request;
calling a first management intelligent contract to detect the legality of the data processing content;
if the detection is successful, the first execution unit calls the first cross-chain intelligent contract to execute the first operation to obtain a first operation result;
and if the detection fails, the first writing unit marks the data processing content with a failure result.
In an optional embodiment, the first obtaining unit 501 is specifically configured to:
checking the state mark of the second account book according to a set frequency;
and if the state flag is found to be changed, determining that the second operation result is written in the second account book.
Referring to fig. 6, a block diagram of a structure of a block chain-based inter-chain data processing according to an embodiment of the present application is shown. The cross-chain data processing apparatus is implemented as all or a portion of the blockchain server 16 of fig. 1, either in hardware or a combination of hardware and software. The device includes: a second acquisition unit 601, a second execution unit 602, and a second writing unit 603.
A second obtaining unit 601, configured to obtain the data processing content from a first account book of a first block chain when a first operation result is written in the first account book; the data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in the first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract, the first cross-chain intelligent contract is deployed in the first block chain, and the second cross-chain intelligent contract is deployed in the second block chain;
a second executing unit 602, configured to invoke a second inter-chain intelligent contract according to the second invocation address, and execute a second operation corresponding to the second block chain in the data processing content, to obtain a second operation result;
a second writing unit 603, configured to write the second operation result into a second ledger after the second operation result is agreed.
In an optional embodiment, the second obtaining unit 601 is further configured to obtain a root node of a first merkel tree from the first ledger, where the first merkel tree calls the first cross-chain intelligent contract for the first blockchain, where the first cross-chain intelligent contract is constructed based on the data processing content and the first operation result;
the second detection unit 604 is further configured to invoke a second management intelligence contract, and detect the data processing content and the first operation result by using the root node of the first meikel tree;
the second execution unit 602 is further configured to invoke the second cross-chain intelligent contract, and construct a second meikel tree based on the second operation result;
the second writing unit 603 is further configured to write a root node of the second meikel tree into the second ledger.
In an optional embodiment, the second obtaining unit 601 is specifically configured to:
checking the state mark of the first account book according to a set frequency;
and if the state flag is found to be changed, determining that the first operation result is written in the first account book.
Referring to fig. 7, a block diagram of a server according to an embodiment of the present application is shown. The server 700 is implemented as the blockchain server 13 or the blockchain server 16 in fig. 1. Specifically, the method comprises the following steps:
the server 700 includes a Central Processing Unit (CPU)701, a system memory 704 including a Random Access Memory (RAM)702 and a Read Only Memory (ROM)703, and a system bus 705 connecting the system memory 704 and the central processing unit 701. The server 700 also includes a basic input/output system (I/O system) 706, which facilitates transfer of information between devices within the computer, and a mass storage device 707 for storing an operating system 713, application programs 714, and other program modules 715.
The basic input/output system 706 comprises a display 708 for displaying information and an input device 709, such as a mouse, keyboard, etc., for a user to input information. Wherein the display 708 and input device 709 are connected to the central processing unit 701 through an input output controller 710 coupled to the system bus 705. The basic input/output system 706 may also include an input/output controller 710 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, input-output controller 710 may also provide output to a display screen, a printer, or other type of output device.
The mass storage device 707 is connected to the central processing unit 701 through a mass storage controller (not shown) connected to the system bus 705. The mass storage device 707 and its associated computer-readable media provide non-volatile storage for the server 700. That is, the mass storage device 707 may include a computer-readable medium (not shown), such as a hard disk or CD-ROM drive.
Without loss of generality, the computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer storage media is not limited to the foregoing. The system memory 704 and mass storage device 707 described above may be collectively referred to as memory.
The server 700 may also operate as a remote computer connected to a network via a network, such as the internet, according to various embodiments of the present application. That is, the server 700 may be connected to the network 712 through a network interface unit 711 connected to the system bus 705, or may be connected to other types of networks or remote computer systems (not shown) using the network interface unit 711.
The memory also includes one or more programs stored in the memory, the one or more programs including instructions for performing the check-in methods provided by embodiments of the present application.
It will be understood by those skilled in the art that all or part of the steps in the check-in method of the above embodiments may be implemented by a program instructing associated hardware, and the program may be stored in a computer-readable storage medium, and the storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
Those skilled in the art will appreciate that all or part of the steps in the check-in method of the above embodiments may be implemented by a program instructing associated hardware, and the program may be stored in a computer-readable storage medium, and the storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (9)

1. A block chain-based cross-chain data processing method is characterized by comprising the following steps:
the first blockchain determines data processing contents according to the received cross-chain data processing request, wherein the data processing contents comprise a first calling address of a first cross-chain intelligent contract deployed in the first blockchain and a second calling address of a second cross-chain intelligent contract deployed in a second blockchain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract;
the first block chain calls a first cross-chain intelligent contract according to the first calling address, and executes a first operation corresponding to the first block chain in the data processing content to obtain a first operation result;
after the first blockchain achieves consensus on the first operation result, writing the data processing content and the first operation result into a first account book;
when the first block chain learns that a second operation result is written in a second account book of a second block chain, obtaining the second operation result from the second account book, wherein the second operation result is obtained by the second block chain calling a second cross-chain intelligent contract according to the second calling address to execute a second operation corresponding to the second block chain in the data processing content;
the first blockchain writes the second operation result into the first account book;
wherein, the first block chain learns that a second operation result is written in a second account book of a second block chain, and the method comprises the following steps:
the first block chain checks the flag character of the second book according to a set frequency;
and if the first block chain finds that the flag character of the second account book is different from the flag character cached in the first block chain, determining that the second operation result is written in the second account book.
2. The method of claim 1, wherein after the first blockchain obtains the second operation result, further comprising:
the first block chain detects the second operation result;
if the second operation result is consistent with the data processing content, the operation of writing the second operation result into the first account book is executed;
and if the second operation result does not accord with the data processing content, performing rollback operation on the first operation result.
3. The method of claim 2, wherein the first blockchain invokes a first cross-chain smart contract according to the first call address to perform a first operation corresponding to the first blockchain in the data processing content, and after obtaining a first operation result, the method further comprises:
the first blockchain calls the first cross-chain intelligent contract and constructs a first Merkel tree based on the data processing content and the first operation result;
the first blockchain writes a root node of the first Merkel tree into the first ledger;
after the first block chain learns that a second operation result is written in a second account book of the second block chain, the method further includes:
the first block chain acquires a root node of a second Merkel tree from the second account book, and the second Merkel tree calls the second cross-chain intelligent contract for the second block chain and is constructed based on the second operation result;
the detecting, by the first blockchain, the second operation result includes:
and the first block chain calls a first management intelligent contract, and the root node of the second Merkel tree is utilized to detect the second operation result.
4. The method of claim 1, wherein the first blockchain, after determining data processing content according to the received cross-chain data processing request, further comprises:
the first blockchain detects a digital signature in the cross-chain data processing request;
the first block chain calls a first management intelligent contract to detect the legality of the data processing content;
if the detection is successful, calling the first cross-chain intelligent contract to execute the first operation to obtain a first operation result;
and if the detection fails, marking the data processing content with a failure result.
5. A block chain-based cross-chain data processing method is characterized by comprising the following steps:
acquiring the data processing content from a first account book when a second block chain learns that a first operation result is written in the first account book of a first block chain; the data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in the first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract, the first cross-chain intelligent contract is deployed in the first block chain, and the second cross-chain intelligent contract is deployed in the second block chain;
the second block chain calls a second cross-chain intelligent contract according to the second calling address, and executes a second operation corresponding to the second block chain in the data processing content to obtain a second operation result;
after the second block chain agrees with the second operation result, writing the second operation result into a second account book, so that when the first block chain checks the flag character of the second account book according to a set frequency and finds that the flag character of the second account book is different from the flag character cached in the first block chain, when the second operation result is determined to be written into the second account book, obtaining the second operation result from the second account book, and writing the second operation result into the first account book.
6. The method of claim 5, wherein after learning that the first operation result is written in the first ledger of the first blockchain, the second blockchain further comprises:
the second blockchain acquires a root node of a first Merkel tree from the first account book, and the first Merkel tree calls the first cross-chain intelligent contract for the first blockchain, wherein the first cross-chain intelligent contract is constructed based on the data processing content and the first operation result;
the second block chain calls a second management intelligent contract, and the root node of the first Merkel tree is used for detecting the data processing content and the first operation result;
the second block chain calls a second cross-chain intelligent contract according to a second calling address in the data processing content, executes a second operation corresponding to the second block chain in the data processing content, and after a second operation result is obtained, the method further includes:
the second block chain calls the second cross-chain intelligent contract and constructs a second Merkel tree based on the second operation result;
the second blockchain writes a root node of the second Merkel tree into the second ledger.
7. An apparatus for block chain based inter-chain data processing, the apparatus comprising:
a first obtaining unit, configured to determine, according to a received cross-chain data processing request, data processing content, where the data processing content includes a first call address of a first cross-chain intelligent contract deployed in a first block chain and a second call address of a second cross-chain intelligent contract deployed in a second block chain, and the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract;
the first execution unit is used for calling a first cross-chain intelligent contract according to the first calling address and executing a first operation corresponding to the first block chain in the data processing content to obtain a first operation result;
a first writing unit, configured to write the data processing content and the first operation result into a first account book after the first operation result is agreed;
the first obtaining unit is further configured to obtain a second operation result from a second account book when it is known that a second operation result is written in the second account book of the second block chain, where the second operation result is obtained by the second block chain calling a second inter-chain intelligent contract according to the second call address to execute a second operation corresponding to the second block chain in the data processing content;
the first writing unit is further configured to write the second operation result into the first account book;
when the first block chain learns that a second operation result is written in a second account book of a second block chain, the first obtaining unit is further configured to:
the first block chain checks the flag character of the second book according to a set frequency;
and if the first block chain finds that the flag character of the second account book is different from the flag character cached in the first block chain, determining that the second operation result is written in the second account book.
8. An apparatus for block chain based inter-chain data processing, the apparatus comprising:
the second obtaining unit is used for obtaining the data processing content from a first account book when a first operation result is written in the first account book of the first block chain; the data processing content comprises a first calling address of a first cross-chain intelligent contract deployed in the first block chain and a second calling address of a second cross-chain intelligent contract deployed in a second block chain, the first cross-chain intelligent contract corresponds to the second cross-chain intelligent contract, the first cross-chain intelligent contract is deployed in the first block chain, and the second cross-chain intelligent contract is deployed in the second block chain;
the second execution unit is used for calling a second cross-chain intelligent contract according to the second calling address and executing a second operation corresponding to the second block chain in the data processing content to obtain a second operation result;
and a second writing unit, configured to write the second operation result into a second ledger after the second operation result is agreed, so that when the first blockchain looks up a flag character of the second ledger according to a set frequency and finds that the flag character of the second ledger is different from a flag character cached in the first blockchain, and it is determined that the second operation result is written into the second ledger, the second operation result is obtained from the second ledger, and the second operation result is written into the first ledger.
9. A computer storage medium having stored thereon computer-executable instructions for performing the method of block chain based inter-chain data processing according to any one of claims 1 to 4.
CN201910752817.7A 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain Active CN110442652B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910752817.7A CN110442652B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain
CN201910937160.1A CN110597925B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910752817.7A CN110442652B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910937160.1A Division CN110597925B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain

Publications (2)

Publication Number Publication Date
CN110442652A CN110442652A (en) 2019-11-12
CN110442652B true CN110442652B (en) 2021-09-21

Family

ID=68435680

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910937160.1A Active CN110597925B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain
CN201910752817.7A Active CN110442652B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910937160.1A Active CN110597925B (en) 2019-08-15 2019-08-15 Cross-chain data processing method and device based on block chain

Country Status (1)

Country Link
CN (2) CN110597925B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2029245B1 (en) * 2021-09-24 2022-08-12 Shenzhen Hande Finmaker Co Ltd Method and a system for cross-ecological identification of digital product based on blockchain, and medium

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163129B (en) * 2019-12-05 2021-12-14 深圳前海微众银行股份有限公司 Resource processing method and device based on cross-link network
CN111090661B (en) * 2019-12-10 2024-03-01 京东科技信息技术有限公司 Block chain cross-chain data access method, device, adapter and system
CN110706113A (en) * 2019-12-13 2020-01-17 腾讯科技(深圳)有限公司 Cross-block-chain data processing method, device, equipment and medium
CN111399993B (en) * 2020-03-25 2023-03-07 百度国际科技(深圳)有限公司 Cross-chain implementation method, device, equipment and medium for associated transaction request
CN111461723B (en) * 2020-04-17 2020-12-15 支付宝(杭州)信息技术有限公司 Data processing system, method and device based on block chain
US11664973B2 (en) * 2020-04-21 2023-05-30 International Business Machines Corporation Trust-varied relationship between blockchain networks
JPWO2021229691A1 (en) * 2020-05-12 2021-11-18
CN111414436B (en) * 2020-05-29 2023-08-04 支付宝(杭州)信息技术有限公司 Data pushing method, device, equipment and system
CN112000976B (en) * 2020-10-29 2021-01-29 腾讯科技(深圳)有限公司 Authentication management method, device, medium and electronic equipment for block chain system
CN114567643B (en) * 2020-11-27 2023-05-23 腾讯科技(深圳)有限公司 Cross-blockchain data transfer method, device and related equipment
CN112488679A (en) * 2020-12-03 2021-03-12 陈鹏 Cross-link contract analysis method of block chain, relay chain and cross-link system
CN113760999A (en) * 2021-04-30 2021-12-07 支付宝(杭州)信息技术有限公司 Block chain transaction execution method, block chain node and control device
CN113467888B (en) * 2021-06-29 2024-02-23 网易(杭州)网络有限公司 Cross-chain calling method and device of intelligent contract, electronic equipment and storage medium
CN115701078A (en) * 2021-07-27 2023-02-07 腾讯科技(深圳)有限公司 Cross-chain transaction processing method and device, electronic equipment and storage medium
CN115082069B (en) * 2022-08-16 2022-11-04 人民法院信息技术服务中心 Cross-chain data acquisition method and device based on intelligent contract scheduling
CN115580621B (en) * 2022-09-08 2024-02-27 中国联合网络通信集团有限公司 Block chain cross-chain business processing method, node, medium and block chain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147735A (en) * 2017-05-12 2017-09-08 北京博晨技术有限公司 A kind of distributed account book system based on hierarchy
CN108848119A (en) * 2018-04-03 2018-11-20 阿里巴巴集团控股有限公司 The exchange method and device, system, electronic equipment of transregional piece of chain
CN109118364A (en) * 2018-08-27 2019-01-01 深圳前海益链网络科技有限公司 Method, apparatus, computer equipment and the storage medium of asynchronous execution intelligence contract
CN109559227A (en) * 2018-11-29 2019-04-02 咪咕文化科技有限公司 A kind of method of commerce, device and the storage medium of transregional piece of chain network
CN109600433A (en) * 2018-12-06 2019-04-09 北京磁云数字科技有限公司 Data summarization method and device in a kind of system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107085810A (en) * 2017-04-19 2017-08-22 朱皞罡 Across the chain operating method and block chain management system of a kind of block chain
CN107992621A (en) * 2017-12-22 2018-05-04 杭州云象网络技术有限公司 A kind of intelligent cinematic industry service system based on block chain multichain technological incorporation
CN108900585A (en) * 2018-06-15 2018-11-27 浙江华信区块链科技服务有限公司 Across chain transaction consistency implementation method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147735A (en) * 2017-05-12 2017-09-08 北京博晨技术有限公司 A kind of distributed account book system based on hierarchy
CN108848119A (en) * 2018-04-03 2018-11-20 阿里巴巴集团控股有限公司 The exchange method and device, system, electronic equipment of transregional piece of chain
CN109118364A (en) * 2018-08-27 2019-01-01 深圳前海益链网络科技有限公司 Method, apparatus, computer equipment and the storage medium of asynchronous execution intelligence contract
CN109559227A (en) * 2018-11-29 2019-04-02 咪咕文化科技有限公司 A kind of method of commerce, device and the storage medium of transregional piece of chain network
CN109600433A (en) * 2018-12-06 2019-04-09 北京磁云数字科技有限公司 Data summarization method and device in a kind of system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2029245B1 (en) * 2021-09-24 2022-08-12 Shenzhen Hande Finmaker Co Ltd Method and a system for cross-ecological identification of digital product based on blockchain, and medium

Also Published As

Publication number Publication date
CN110442652A (en) 2019-11-12
CN110597925A (en) 2019-12-20
CN110597925B (en) 2021-09-14

Similar Documents

Publication Publication Date Title
CN110442652B (en) Cross-chain data processing method and device based on block chain
EP3622687B1 (en) Enclave pool management
CN111213340B (en) Selecting attestation delegation for cryptographic functions and making it secure
CN107577427B (en) data migration method, device and storage medium for blockchain system
EP3622686B1 (en) Enclave ring and pair topologies
EP3685294B1 (en) Cryptlet binding key graph
US20190172026A1 (en) Cross blockchain secure transactions
KR102120703B1 (en) Apparatus for managing group of nodes which comprises transaction of dual signature based on group key on blockchain network and computing apparatus
CN111445333B (en) Block generation method, device, computer equipment and storage medium
EP3779760B1 (en) Blockchain-based data processing method and apparatus, and electronic device
KR20210003234A (en) Maintaining blocks of a blockchain in a segmented blockchain network
CN110300985A (en) Transaction is executed parallel in block chain network based on intelligent contract white list
US20210099283A1 (en) Pruning entries in tamper-evident data stores
CN111681003A (en) Resource cross-chain transfer method and device, computer equipment and storage medium
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
US11270030B2 (en) System and method for consensus management
KR102537774B1 (en) Systems and methods that provide specialized proof of confidential knowledge
CN111597567B (en) Data processing method, data processing device, node equipment and storage medium
CN115668194A (en) Cross-partition calls in a partition's tamper-resistant data store
CN110930152B (en) Data processing method based on block chain and related equipment
CN111782551B (en) Test method and device for block chain item and computer equipment
CN110599175A (en) Block processing method and related equipment
CN112040015B (en) Consensus node list generation method and related device
TW202139127A (en) Compute services for a platform of services associated with a blockchain
PG et al. Blockchain based verification of vehicle history for pre-owned vehicle industry

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016760

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant