CN114844904A - System and method for cross-block chain interaction - Google Patents

System and method for cross-block chain interaction Download PDF

Info

Publication number
CN114844904A
CN114844904A CN202210465212.1A CN202210465212A CN114844904A CN 114844904 A CN114844904 A CN 114844904A CN 202210465212 A CN202210465212 A CN 202210465212A CN 114844904 A CN114844904 A CN 114844904A
Authority
CN
China
Prior art keywords
routing node
sub
blockchain network
signature
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210465212.1A
Other languages
Chinese (zh)
Other versions
CN114844904B (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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210465212.1A priority Critical patent/CN114844904B/en
Publication of CN114844904A publication Critical patent/CN114844904A/en
Application granted granted Critical
Publication of CN114844904B publication Critical patent/CN114844904B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure relates to systems and methods for cross blockchain interaction. The system comprises a first block chain network, a second block chain network and an upper block chain network. The first routing node of the first blockchain network obtains the cross-chain transaction, requests the signature of the consensus node of the first blockchain network, and transmits the cross-chain transaction and the received signature to a first upper routing node trusted by the first blockchain network in the upper blockchain network. And the first upper routing node verifies whether the received signature is correct and transmits the cross-chain transaction and the signature of the first upper routing node to a second upper routing node trusted by a second blockchain network in the upper blockchain network when the received signature passes the verification. And the second upper layer routing node verifies whether the received signature is correct or not and transmits the cross-chain transaction and the signature to a second routing node of the second block chain network when the verification is passed. The second routing node verifies whether the received signature is correct and broadcasts a cross-chain transaction in the second blockchain network when the verification passes.

Description

System and method for cross-block chain interaction
Technical Field
One or more embodiments of the present disclosure relate to the field of blockchain technology, and more particularly, to a system, method, apparatus, computing device, and storage medium for cross-blockchain interaction.
Background
The Blockchain (Blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like. Based on the basic characteristics of a blockchain, a blockchain is usually composed of several blocks. The time stamps corresponding to the creation time of the block are recorded in the blocks respectively, and all the blocks form a time-ordered data chain according to the time stamps recorded in the blocks strictly. The real data generated by the physical world can be constructed into a standard transaction (transaction) format supported by a block chain, then is issued to the block chain, the node equipment in the block chain performs consensus processing on the received transaction, and after the consensus is achieved, the node equipment serving as an accounting node in the block chain packs the transaction into a block and performs persistent evidence storage in the block chain. Because the blockchain has the characteristics of decentralization, information non-tampering, autonomy and the like, the blockchain is also paid more and more attention and is applied by people.
With the rapid development of the blockchain technology, the blockchain technology is applied in various fields such as finance, logistics, supply chain, medical treatment, judicial expertise, asset management, and the like. Different blockchain networks may be constructed to handle different types of traffic. In many application scenarios, some complex services need to be implemented by interacting between different blockchain networks.
Disclosure of Invention
It is an object of one or more embodiments of the present disclosure to provide a system, method, apparatus, computing device and storage medium for cross blockchain interaction.
In accordance with an aspect of one or more embodiments of the present disclosure, there is provided a system for cross blockchain interaction, comprising: a first blockchain network comprising a first routing node and a plurality of first consensus nodes in communication with each other; a second blockchain network comprising a second routing node and a plurality of second consensus nodes in communication with each other; and an upper blockchain network of the first blockchain network and the second blockchain network, the upper blockchain network comprising a first upper routing node trusted by the first blockchain network and communicating with the first routing node and a second upper routing node trusted by the second blockchain network and communicating with the second routing node, the first upper routing node and the second upper routing node communicating with each other, wherein the first routing node is configured to obtain a cross-chain transaction to be performed in the second blockchain network from the first blockchain network, request the plurality of first common identification nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first common identification node to the first upper routing node when the number of received signatures of the first common identification node reaches a preset threshold, wherein the first upper routing node is configured to verify whether the signature of the first common identification node received from the first routing node is correct, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node when the verification passes, wherein the second upper routing node is configured to verify whether the signature of the first upper routing node received from the first upper routing node is correct and transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification passes, and wherein the second routing node is configured to verify whether the signature of the second upper routing node received from the second upper routing node is correct and broadcast the cross-chain transaction in the second blockchain network when the verification passes, such that the master node of the plurality of second common identification nodes of the second blockchain network receives and executes the cross-chain transaction.
In accordance with another aspect of one or more embodiments of the present disclosure, there is provided a method for interacting across blockchains, comprising: obtaining, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be executed in a second blockchain network, requesting a plurality of first common nodes of the first blockchain network to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first common node to a first upper routing node of the upper blockchain networks of the first blockchain network and the second blockchain network, the first upper routing node being trusted by the first blockchain network, when the number of received signatures of the first common nodes reaches a preset threshold; verifying whether the signature of the first common identification node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node of the upper blockchain network, wherein the second upper routing node is trusted by the second blockchain network; verifying whether the signature of the first upper layer routing node received from the first upper layer routing node is correct or not through the second upper layer routing node, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to a second routing node of the second block chain network when the signature passes the verification; and verifying whether the signature of the second upper layer routing node received from the second upper layer routing node is correct through the second routing node, and broadcasting the cross-chain transaction in the second block chain network when the signature passes through the verification, so that the main node in a plurality of second common identification nodes of the second block chain network receives and executes the cross-chain transaction.
In accordance with another aspect of one or more embodiments of the present disclosure, there is provided an apparatus for interacting across a blockchain, comprising: a collection module configured to obtain, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be performed in a second blockchain network, request a plurality of first consensus nodes of the first blockchain network to sign the cross-chain transaction; a transmission module configured to transmit, by the first routing node, the cross-chain transaction and the received signature of the first consensus node to a first upper routing node of an upper blockchain network of the first blockchain network and the second blockchain network that is trusted by the first blockchain network when the number of received signatures of the first consensus node reaches a preset threshold, verifying by the first upper routing node whether the signature of the first common node received from the first routing node is correct, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node of the upper blockchain network that is trusted by the second blockchain network when the verification passes, and verifying by the second upper level routing node whether the signature of the first upper level routing node received from the first upper level routing node is correct, transmitting the cross-chain transaction and the signature of the second upper layer routing node to a second routing node of the second block chain network when the verification is passed; and an execution module configured to verify, by the second routing node, whether a signature of the second upper routing node received from the second upper routing node is correct, and broadcast the cross-chain transaction in the second blockchain network when the verification is passed, so that a master node of a plurality of second common nodes of the second blockchain network receives and executes the cross-chain transaction.
In accordance with yet another aspect of one or more embodiments of the present disclosure, there is provided a computing device for cross blockchain interaction, comprising: one or more processors; and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform a method according to any embodiment of the present disclosure.
According to yet another aspect of one or more embodiments of the present disclosure, there is provided a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform a method according to any one of the embodiments of the present disclosure.
Other features of the present disclosure and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the disclosure and together with the description, serve to explain the principles of one or more embodiments of the disclosure.
One or more embodiments of the disclosure may be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
fig. 1 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 2 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 3 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 4 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 5 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 6 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 7 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 8 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 9 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 10 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 11 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 12 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 13 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 14 is a schematic diagram of a system for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
fig. 15 is a flowchart of a method for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
fig. 16 is a schematic block diagram of an apparatus for cross blockchain interaction in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 17 is a schematic block diagram illustrating a computer system on which one or more exemplary embodiments of the present disclosure may be implemented;
fig. 18 is a schematic block diagram of a computing device for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. It should be understood, however, that one or more embodiments of the present disclosure may be presented in a number of different ways and are not limited to the embodiments described below. It is also to be understood that one or more embodiments of the present disclosure can be combined in various ways to provide further additional embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
It should be understood that like reference numerals refer to like elements throughout the several views. In the drawings, the size of some of the features may be varied for clarity.
It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. All terms (including technical and scientific terms) used herein have the meaning commonly understood by one of ordinary skill in the art unless otherwise defined. Well-known functions or constructions may not be described in detail for brevity and/or clarity.
In this document, the term "coupled" is intended to encompass a physical, electrical, and/or communicative coupling of one feature to another, and may or may not have intervening features between the one feature and the other feature. When the connection is a communication connection, even though reference is made to a and B as being "directly connected," it is intended to emphasize that there is no feature or features emphasized by one or more embodiments of the present disclosure between the connection of a and B, but does not represent a limitation that the connection between a and B is not through any element, and those skilled in the art will understand that the connection between a and B may be through a cable, a router, a gateway, a channel, a link, a network, and the like. It should be noted that in the drawings of one or more embodiments of the present disclosure, a direct connection or an indirect connection between a and B is represented by a straight line or other graphic element connected between a and B.
Herein, the term "a or B" includes "a and B" and "a or B" rather than exclusively including only "a" or only "B" unless otherwise specifically stated.
In this document, the term "exemplary" means "serving as an example, instance, or illustration," and not as a "model" that is to be reproduced exactly. Any implementation exemplarily described herein is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the detailed description.
In this document, the term "substantially" is intended to encompass any minor variations due to design or manufacturing imperfections, tolerances of the devices or components, environmental influences and/or other factors. The term "substantially" also allows for differences from a perfect or ideal situation due to parasitics, noise, and other practical considerations that may exist in a practical implementation.
In addition, "first," "second," and like terms may also be used herein for reference purposes only, and thus are not intended to be limiting. For example, the terms "first," "second," and other such numerical terms referring to structures or elements do not imply a sequence or order unless clearly indicated by the context.
It will be further understood that the terms "comprises/comprising," "includes" and/or "including," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
For ease of understanding, some terms referred to in this disclosure are described below.
Block chain network: a system for commonly maintaining chained data based on blockchain techniques through consensus rules by multiple participants on a distributed network.
Block chain consensus node: network nodes in the blockchain network have a complete copy of the ledger and have the ability to participate in blockchain network consensus and ledger maintenance.
The block link is formed by a node: network nodes in a blockchain network, having the ability to communicate across blockchains but not to participate in blockchain network consensus and ledger maintenance, may sometimes be configured to have a complete ledger copy.
With the increasing enlargement of the size of the blockchain, the number of nodes added into the blockchain network is more and more, and the types of the related services are more and more, so that the structure of a single chain is difficult to maintain high performance. In addition, from a business perspective, some loosely coupled services do not necessarily run on the same chain, and some nodes may have a need to implement small-scale transactions and other nodes may not be expected to obtain these small-scale transactions and related data. Thus, different blockchain networks can be constructed to handle different types of traffic. In many application scenarios, nodes belonging to different blockchain networks may have a need for cross-blockchain (also referred to herein as simply cross-chain) interaction between them to achieve their traffic. Since the nodes belong to different blockchain networks, cross-chain transactions between the nodes have a mutual trust problem.
To this end, the present disclosure provides, in one aspect, a system for cross-blockchain interaction, which constructs a multi-layer blockchain network architecture with high scalability, can allow cross-chain interaction between lower-layer blockchain networks through a common upper-layer blockchain network by deploying a plurality of lower-layer blockchain networks under the same upper-layer blockchain network, and can implement trust between lower-layer blockchain networks by allowing each lower-layer blockchain network to delegate trust representatives in the upper-layer blockchain network. A system 100 for cross blockchain interaction in accordance with various exemplary embodiments of the present disclosure will be described in detail below in conjunction with fig. 1-14.
As shown in fig. 1, the system 100 may include a first blockchain network 1110, a second blockchain network 1120, and their upper blockchain networks 1100. In other words, the first blockchain network 1110 and the second blockchain network 1120 are lower blockchain networks of the upper blockchain network 1100. Thus, the first blockchain network 1110, the second blockchain network 1120, and the upper blockchain network 1100 form a two-layer blockchain network architecture. For example, the upper layer blockchain network 1100 may be a relay-chain network that is a master network of a large-scale blockchain network, and the first blockchain network 1110 and the second blockchain network 1120 may be different sub-networks of the relay-chain network. The upper blockchain network 1100 may be deployed at a relay layer, and the first and second blockchain networks 1110, 1120 may be deployed at a network layer below the relay layer. Of course, the upper layer blockchain network 1100, the first blockchain network 1110 and the second blockchain network 1120 are not limited to the relay chain network and the sub-networks thereof, and may be an upper layer blockchain network and a lower layer blockchain network in other two-layer blockchain network architectures. For example, the upper blockchain network 1100 may be deployed at the network layer, and the first blockchain network 1110 and the second blockchain network 1120 may be deployed at a service layer below the network layer. It is to be understood that the upper block chain network 1100, the first block chain network 1110, and the second block chain network 1120 may be respectively disposed in any two adjacent layers of the multi-layer block chain network architecture, as long as the upper block chain network 1100 is an upper block chain network common to the first block chain network 1110 and the second block chain network 1120.
The first blockchain network 1110 may include a first routing node BR11 and a plurality of first common nodes X1, X2, X3, X4 in communication with each other. The first consensus nodes X1, X2, X3, and X4 may be used to implement specific services of the first blockchain network 1110, and are responsible for performing verification of transactions and consensus chaining. While the number of first consensus nodes X1, X2, X3, X4 is illustrated as 4, this is merely exemplary and not limiting, and an actual first blockchain network 1110 may include any number of consensus nodes. The first routing node BR11 may be used to communicate with a first upper routing node BR1 in the upper blockchain network 1100 that is trusted by the first blockchain network 1110, responsible for sending and receiving cross-chain messages.
The second blockchain network 1120 may include a second routing node BR21 and a plurality of second consensus nodes Y1, Y2, Y3, Y4 in communication with each other. The second consensus nodes Y1, Y2, Y3, Y4 may be used to implement specific services of the second blockchain network 1120, responsible for validating transactions and uplink consensus. While the number of second consensus nodes Y1, Y2, Y3, Y4 is illustrated as 4, this is merely exemplary and not limiting, and an actual second blockchain network 1120 may include any number of consensus nodes. The second routing node BR21 may be used to communicate with a second upper routing node BR2 in the upper blockchain network 1100 that is trusted by the second blockchain network 1120, responsible for sending and receiving cross-chain messages.
As already mentioned above, the upper blockchain network 1100 may comprise a first upper routing node BR1 trusted by the first blockchain network 1110 and communicating with the first routing node BR11, and a second upper routing node BR2 trusted by the second blockchain network 1120 and communicating with the second routing node BR 21. The first upper routing node BR1 is in communication with the second upper routing node BR2, which may be implemented via a communication network dedicated to a blockchain, or via another communication network such as the internet. Upper routing nodes (e.g., BR1, BR2) of the upper blockchain network 1100 are bridges that the upper blockchain network 1100 communicates with its lower blockchain network, and may be responsible for forwarding cross-chain requests between the lower blockchain networks and responding to requests by the lower blockchain network to the upper blockchain network 1100. In addition, the upper layer blockchain network 1100 may also have its own common node to implement its own specific service.
Each of the first and second blockchain networks 1110, 1120 when accessing the upper layer blockchain network 1100 may register with a respective one of the first and second upper layer routing nodes BR1, BR2 and obtain a network identity assigned by the respective one of the first and second upper layer routing nodes BR1, BR2 after successful registration. Since the first blockchain network 1110 and the second blockchain network 1120 are both registered under the upper blockchain network 1100, the first blockchain network 1110 and the second blockchain network 1120 are homogeneous, and typically employ the same set of protocols, request formats, authentication methods, and the like. As a non-limiting example, four bytes may be used to indicate the network identifier, where the first byte may indicate the identifier of the uppermost (first layer) blockchain network (e.g., a trunk-chain network) node, and the subsequent bytes may indicate the identifier of the lower layer network node (e.g., the second byte indicates the identifier of the second layer network node, the third byte indicates the identifier of the third layer network node, and the fourth byte indicates the identifier of the fourth layer network node), which ensures the scalability of the network. Assuming that the identity of the BR1 is 81 and the identity of the BR2 is 82, the network identity of the first blockchain network 1110 registered in the first upper routing node BR1 may be 81000000 and the network identity of the second blockchain network 1120 registered in the second upper routing node BR2 may be 82000000. Assuming that the first blockchain network 1110 corresponds to blockchain X and the second blockchain network 1120 corresponds to blockchain Y, a blockchain can be represented by means of URI (such as network id/chain id), for example, the URI of blockchain X is identified as 81000000/X and the URI of blockchain Y is identified as 82000000/Y. If a service is to be published in the upper blockchain network 1100 by the first blockchain network 1110 or the second blockchain network 1120, a service may also be represented by means of a URI (such as a network identifier/chain identifier/service identifier), for example, the URI identifier of the blockchain Y that publishes a contract C service in the upper blockchain network 1100 is 82000000/Y/C, and after the service is published, a node registered in any lower blockchain network below the upper blockchain network 1100 (e.g., the first blockchain network 1110 and the second blockchain network 1120) may invoke the service by the URI identifier of the service.
The first upper routing node BR1 is provided in the upper blockchain network 1100 by the first blockchain network 1110, and the first routing node BR11 is provided in the first blockchain network 1110 by the first blockchain network 1110, so that the first upper routing node BR1 and the first routing node BR11 can be considered to have a strong trust relationship and will not be bad. The second upper layer routing node BR2 is provided in the upper layer blockchain network 1100 by the second blockchain network 1120, and the second routing node BR21 is provided in the second blockchain network 1120 by the second blockchain network 1120, so that the second upper layer routing node BR2 and the second routing node BR21 can be considered to have a strong trust relationship and will not be malicious. Since the first blockchain network 1110 trusts the first upper routing node BR1, the second blockchain network 1120 trusts the second upper routing node BR2, and the first upper routing node BR1 and the second upper routing node BR2 belong to the same blockchain network and trust each other, trust transfer is achieved between the first blockchain network 1110 and the second blockchain network 1120 via the upper blockchain network 1100 without requiring the first blockchain network 1110 and the second blockchain network 1120 to trust each other. In this way, it is possible to both facilitate cross-chain interaction between the first blockchain network 1110 and the second blockchain network 1120 and ensure information isolation between the first blockchain network 1110 and the second blockchain network 1120, so that the other party only needs to know information required to perform the requested cross-chain transaction and does not know other information of the other party.
Continuing next with reference to fig. 1, a cross-chain interaction process from a first blockchain network 1110 to a second blockchain network 1120 is described.
The first routing node BR11 may be configured to obtain a cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120. In some embodiments, the cross-chain transaction may be sent by a first common identification node of the first blockchain network 1110 to the first routing node BR 11. In some embodiments, cross-chain transactions in the first blockchain network 1110 may also be collected by the first routing node BR11 itself. For example, after a cross-chain request is generated in the first blockchain network 1110, the cross-chain request is consensus within the blockchain. After consensus is completed, a cross-chain transaction packaging out block is generated. The first routing node BR11 may then query the tiles for cross-chain transactions by monitoring the tiles. In some embodiments, the first routing node BR11 may also be configured to construct a cross-chain transaction into a particular cross-chain message format for cross-chain interaction.
The first routing node BR11 may be further configured to request the plurality of first consensus nodes X1, X2, X3, X4 of the first blockchain network 1110 to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node BR1 when the number of received signatures of the first consensus node reaches a preset threshold. The preset threshold is configurable. In this context, the preset threshold may be any quantity related quantity, which may be expressed as a numerical value, or may be expressed as a proportion or percentage, for example. For example, in some embodiments, the first routing node BR11 may be required to transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node BR1 after receiving the signatures of all the first consensus nodes X1, X2, X3, X4 in the first blockchain network 1110; in other embodiments, the first routing node BR11 may be required to transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node BR1 after receiving the signature of the first consensus node in the first blockchain network 1110 above a predetermined percentage (e.g., more than two-thirds, more than one-half, etc.); in other embodiments, the first routing node BR11 may be required to transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node BR1 only after receiving the signature of a predetermined number of or more (e.g., more than two, more than three, more than five, etc.) first consensus nodes in the first blockchain network 1110. The first routing node BR11 may only collect and forward signatures of the first consensus node without verifying whether the signatures are correct or not and without verifying the cross-chain transaction. In the example of fig. 1, the first routing node BR11 received and transmitted the signatures sign (X1, X2, X3, X4) of all the first common nodes X1, X2, X3, X4 to the first upper routing node BR1 together with the cross-chain transaction msg _ req.
The first upper level routing node BR1 may be configured to verify that the signature of the first consensus node received from the first routing node BR11 is correct and to transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 when the verification is passed. A specific trust policy may be configured to determine when a received signature satisfies what conditions the verification passes. For example, the trust policy may require that the received signatures all be correct, or may require that the correct signatures in the received signatures be more than a predetermined percentage (e.g., more than two-thirds, more than one-half, etc.), and is not particularly limited herein. When the first upper layer routing node BR1 verifies the received signature of the first common node, the first upper layer routing node BR1 signs itself. The first upper level routing node BR1 may not need to authenticate the cross-chain transaction itself. Also, the first upper routing node BR1 may not need to transmit the signature of the first consensus node to the second upper routing node BR2, since the second upper routing node BR2 does not have a direct trust relationship with the first blockchain network 1110, and the second upper routing node BR2 does not recognize the first consensus node in the first blockchain network 1110. In the example of fig. 1, the first upper routing node BR1 transmits its own signature sign (BR1) to the second upper routing node BR2 along with the cross-chain transaction msg _ req.
The cross-chain transaction may include a network identification of a first blockchain network 1110 as the sender and a network identification of a second blockchain network 1120 as the receiver. The first upper layer routing node BR1 may be configured to query the second blockchain network 1120 for a trusted second upper layer routing node BR2 in the upper layer blockchain network 1100 according to the network identification of the second blockchain network 1120 included in the cross-chain transaction, and to transmit the cross-chain transaction and the signature of the first upper layer routing node BR1 to the second upper layer routing node BR 2. For example, in the aforementioned example, the URI identification of the contract C service published by the blockchain Y of the second blockchain network 1120 in the upper level blockchain network 1100 is 82000000/Y/C, and the URI identification including the contract C service in its cross-chain transaction is 82000000/Y/C, assuming that the blockchain X of the first blockchain network 1110 wants to invoke the contract C service, then the first upper level routing node BR1 may check the network identification in the URI identification of the target service, i.e., the contract C service, determine from the first byte 82 of the network identification that the upper level routing node trusted by the target blockchain network, i.e., the second blockchain network 1120, is the second upper level routing node BR2, and then may transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR 2.
The second upper level routing node BR2 may be configured to verify that the signature of the first upper level routing node BR1 received from the first upper level routing node BR1 is correct and to transmit the cross-chain transaction and the signature of the second upper level routing node BR2 to the second routing node BR21 when the verification is passed. Likewise, a particular trust policy may be configured to determine when a received signature satisfies what conditions it will verify, and is not particularly limited herein. When the second upper layer routing node BR2 verifies the received signature of the first upper layer routing node BR1, the second upper layer routing node BR2 signs itself. The second upper level routing node BR2 may not need to authenticate the cross-chain transaction itself. Also, the second upper layer routing node BR2 may not need to transmit the signature of the first upper layer routing node BR1 to the second routing node BR21, since there is no direct trust relationship between the second routing node BR21 and the first upper layer routing node BR1, and the second routing node BR21 does not recognize the first upper layer routing node BR 1. In the example of fig. 1, the second upper routing node BR2 transmits its own signature sign (BR2) to the second routing node BR21 together with the cross-chain transaction msg _ req. Additionally, the second upper layer routing node BR2 may be further configured to look up the second routing node BR21 of the second blockchain network 1120 that is registered locally to itself based on the network identification (e.g., subsequent bytes) of the second blockchain network 1120 included in the cross-chain transaction, and transmit the cross-chain transaction and the signature of the second upper layer routing node BR2 to the second routing node BR21 upon verifying that the signature of the first upper layer routing node BR1 passes.
The second routing node BR21 may be configured to verify whether the signature of the second upper layer routing node BR2 received from the second upper layer routing node BR2 is correct and, when verified, broadcast the cross-chain transaction in the second blockchain network 1120 such that the master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 receives and performs the cross-chain transaction. Likewise, a particular trust policy may be configured to determine when a received signature satisfies what conditions to verify, and is not particularly limited herein. The second routing node BR21 may not need to verify the cross-chain transaction itself, and the second consensus node of the second blockchain network 1120 may verify and agree on the chain for the cross-chain transaction. In addition, the master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 may be determined by the specific consensus mechanism of the second blockchain network 1120. Thus, cross-chain transactions requested by the first blockchain network 1110 are performed in the second blockchain network 1120. The cross-chain transaction may include a URI identification of a service that the first blockchain network 1110 wants to invoke, and the master node of the second blockchain network 1120 may perform the corresponding service according to the service identification.
In some embodiments, after a cross-chain transaction is performed in the second blockchain network 1120, the results of the performance of the cross-chain transaction (e.g., including, but not limited to, receipt messages) may also be transmitted from the second blockchain network 1120 to the first blockchain network 1110. Referring next to fig. 2, a cross-chain interaction process from the second blockchain network 1120 to the first blockchain network 1110 is described.
As shown in fig. 2, the second routing node BR21 may be configured to obtain execution results from the second blockchain network 1120 indicating that a cross-chain transaction is performed. In some examples, the execution result may be sent by a second consensus node of the second blockchain network 1120 to a second routing node BR 21. In some examples, the results of the execution in the second blockchain network 1120 may also be collected by the second routing node BR21 itself. For example, after the execution result is generated in the second blockchain network 1120, the execution result is identified in the blockchain. And packaging the blocks after the consensus is completed. The second routing node BR21 may then query the execution results in the tile by monitoring the tile. In some embodiments, the second routing node BR21 may also be configured to construct the results of the execution into a specific cross-chain message format for cross-chain interaction.
The second routing node BR21 may be further configured to request the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 to sign the execution result, and transmit the execution result and the received signature of the second consensus node to the second upper routing node BR2 when the number of received signatures of the second consensus nodes reaches a preset threshold. The preset threshold is configurable. For example, in some embodiments, the second routing node BR21 may be required to transmit the execution result and the received signature of the second consensus node to the second upper layer routing node BR2 after receiving the signatures of all the second consensus nodes Y1, Y2, Y3, Y4 in the second blockchain network 1120; in other embodiments, the second routing node BR21 may be required to transmit the execution result and the received signature of the second consensus node to the second upper routing node BR2 after receiving the signature of the second consensus node in the second blockchain network 1120 above a predetermined percentage (e.g., more than two-thirds, more than one-half, etc.); in other embodiments, the second routing node BR21 may be required to transmit the execution result and the received signature of the second cognate node to the second upper routing node BR2 as soon as the signature of more than a preset number (e.g., more than two, more than three, more than five, etc.) of second cognate nodes in the second blockchain network 1120 is received. The second routing node BR21 may only collect and forward signatures of the second cognizant node without verifying whether the signatures are correct or not and without verifying the execution results. In the example of fig. 2, the second routing node BR21 has received the signatures sign (Y1, Y2, Y3, Y4) of all the second consensus nodes Y1, Y2, Y3, Y4 and transmitted it to the second upper routing node BR2 together with the execution result msg _ resp.
The second upper level routing node BR2 may be configured to verify that the signature of the second cognizant node received from the second routing node BR21 is correct and to transmit the execution result and the signature of the second upper level routing node BR2 to the first upper level routing node BR1 when the verification is passed. Likewise, a particular trust policy may be configured to determine when a received signature satisfies what conditions to verify, and is not particularly limited herein. When the second upper layer routing node BR2 verifies the received signature of the second consensus node, the second upper layer routing node BR2 signs itself. The second upper level routing node BR2 may not need to validate the execution result itself. Also, the second upper routing node BR2 may not need to transmit the signature of the second consensus node to the first upper routing node BR1, since there is no direct trust relationship between the first upper routing node BR1 and the second blockchain network 1120, the first upper routing node BR1 does not recognize the second consensus node in the second blockchain network 1120. In the example of fig. 2, the second upper routing node BR2 transmits its own signature sign (BR2) to the first upper routing node BR1 together with the execution result msg _ resp. In some embodiments, the execution result may comprise the network identification of the second blockchain network 1120 as the sender and the network identification of the first blockchain network 1110 as the receiver, and the second upper layer routing node BR2 may be configured to query the first upper layer routing node BR1 trusted by the first blockchain network 1110 in the upper layer blockchain network 1100 according to the network identification of the first blockchain network 1110 included in the execution result, and to transmit the execution result and the signature of the second upper layer routing node BR2 to the first upper layer routing node BR 1. For example, in the aforementioned example, the block chain X of the first block chain network 1110 calls the contract C service, and the block chain Y performs the contract C service in response thereto, and the execution result thereof may include the URI identification 81000000/X of the block chain X, then the second upper layer routing node BR2 may check the network identification in the URI identification of the target block chain, i.e., the block chain X, determine that the upper layer routing node trusted by the target block chain network, i.e., the first block chain network 1110, is the first upper layer routing node BR1 according to the first node 81 of the network identification, and then may transmit the execution result and the signature of the second upper layer routing node BR2 to the first upper layer routing node BR 1.
The first upper level routing node BR1 may be configured to verify whether the signature of the second upper level routing node BR2 received from the second upper level routing node BR2 is correct and to transmit the execution result and the signature of the first upper level routing node BR1 to the first routing node BR11 when the verification is passed. Likewise, a particular trust policy may be configured to determine when a received signature satisfies what conditions to verify, and is not particularly limited herein. When the first upper layer routing node BR1 verifies the received signature of the second upper layer routing node BR2, the first upper layer routing node BR1 signs itself. The first upper level routing node BR1 may not need to validate the execution result itself. Also, the first upper level routing node BR1 may not need to transmit the signature of the second upper level routing node BR2 to the first routing node BR11, since there is no direct trust relationship between the first routing node BR11 and the second upper level routing node BR2, and the second upper level routing node BR2 is not known to the first routing node BR 11. In the example of fig. 2, the first upper routing node BR1 transmits its own signature sign (BR1) to the first routing node BR11 together with the execution result msg _ resp.
The first routing node BR11 may be configured to verify that the signature of the first upper routing node BR1 received from the first upper routing node BR1 is correct and to broadcast the execution result in the first blockchain network 1110 when the verification passes. Likewise, a particular trust policy may be configured to determine when a received signature satisfies what conditions to verify, and is not particularly limited herein. The first routing node BR11 may verify the execution result itself and the first common node of the first blockchain network 1110 may verify and common uplink the execution result.
In the example of fig. 1, the first blockchain network 1110 is provided with one first routing node BR11, but in some other examples, the first blockchain network 1110 may be provided with a plurality of first routing nodes. For example, the a and B agencies are participating in the blockchain X of the first blockchain network 1110 together, but the a and B agencies, while having some degree of trust with each other, may not have as much trust in each other, and therefore the a and B agencies may each set their own first routing node in the first blockchain network 1110 for communicating with the upper blockchain network 1100. Thus, in some embodiments, the first blockchain network 1110 may include a plurality of said first routing nodes, each of which may be in communication with a first upper routing node BR1 and configured to separately obtain a cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120, request said plurality of first consensus nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node BR1 when the number of received signatures of the first consensus nodes reaches a preset threshold, and the first upper routing node BR1 may be configured to verify whether the signature of the first consensus node received from each of the first routing nodes is correct, and when the number of verified first routing nodes in said plurality of said first routing nodes reaches a preset threshold, the cross-chain transaction and the signature of the first upper routing node BR1 are transmitted to a second upper routing node BR 2. Also, the preset threshold is configurable. For example, in some embodiments, the first upper level routing node BR1 may be required to transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 after all first routing nodes have been verified; in other embodiments, the first upper routing node BR1 may be required to transmit the cross-chain transaction and the signature of the first upper routing node BR1 to the second upper routing node BR2 after the first routing node above a predetermined percentage (e.g., more than two-thirds, more than one-half, etc.) is verified; in other embodiments, the first upper level routing node BR1 may be further required to transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 after a predetermined number (e.g., more than two, more than three, more than five, etc.) of first routing nodes are verified. In some embodiments, the first upper level routing node BR1 is further configured to verify whether the hash values of the cross-chain transactions received from each first routing node are consistent, and to transmit the cross-chain transaction that is passed through the deduplication and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 when the verification passes. In other words, the first upper routing node BR1 may receive the same cross-chain transaction from multiple first routing nodes multiple times in a repeat, but the first upper routing node BR1 may deduplicate the received cross-chain transaction and transmit the deduplicated cross-chain transaction to the second upper routing node BR 2. In some embodiments, the first upper layer routing node BR1 may return a failure message to the first routing node when the first upper layer routing node BR1 verifies that the hash values of the cross-chain transactions received from each first routing node are inconsistent (i.e., the hash verifications fail).
For example, referring to fig. 3, the first blockchain network 1110 is provided with two first routing nodes BR11 and BR 12. BR11 and BR12 each separately obtain a cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120, request the plurality of first consensus nodes X1, X2, X3, X4 to sign the cross-chain transaction, and transmit the cross-chain transaction msg _ req and the received signature sign (X1, X2, X3, X4) of the first consensus node to the first upper routing BR1 upon receipt of the signatures of all the first consensus nodes X1, X2, X3, X4. The first upper routing node BR1, after verifying that the sign (X1, X2, X3, X4) received from each of the first routing nodes BR11 and BR12 passes, signs its own signature, and transmits its own signature (BR1) and the deduplicated cross-chain transaction msg _ req to the second upper routing node BR 2. If the second blockchain network 1120 is also provided with a plurality of second routing nodes, the second upper routing node BR2 may transmit its signature sign (BR2) and the cross-chain transaction msg _ req to each of the second routing nodes after verifying that the signature of the first upper routing node BR1 is correct.
In the example of fig. 2, the second blockchain network 1120 is provided with one second routing node BR21, but in some other examples, the second blockchain network 1120 may also be provided with a plurality of second routing nodes. For example, C and D agencies have participated in the blockchain Y of the second blockchain network 1120 together, but may not have a very trusted counterpart although they trust each other to some extent, and thus may each set up their own second routing node in the second blockchain network 1120 for communicating with the upper blockchain network 1100. Thus, in some embodiments, the second blockchain network may comprise a plurality of said second routing nodes, each of which may be in communication with a second upper routing node BR2 and configured to separately obtain execution results from the second blockchain network 1120 indicating that a cross-chain transaction was performed, request said plurality of second consensus nodes to sign the execution results, and transmit the execution results and the received signatures of the second consensus nodes to the second upper routing node BR2 when the number of received signatures of the second consensus nodes reaches a preset threshold, and the second upper level routing node BR2 may be configured to verify that the signature of the second consensus node received from each second routing node is correct, and when the number of verified second routing nodes in the plurality of second routing nodes reaches a preset threshold, the execution result and the signature of the second upper level routing node BR2 are transmitted to the first upper level routing node BR 1. Also, the preset threshold is configurable. For example, in some embodiments, the second upper level routing node BR2 may be required to transmit the execution result and the signature of the second upper level routing node BR2 to the first upper level routing node BR1 after all the second routing nodes have been verified; in other embodiments, the second upper layer routing node BR2 may be required to transmit the execution result and the signature of the second upper layer routing node BR2 to the first upper layer routing node BR1 after the second routing node above a preset ratio (e.g., more than two-thirds, more than one-half, etc.) is verified; in other embodiments, the second upper layer routing node BR2 may be further required to transmit the execution result and the signature of the second upper layer routing node BR2 to the first upper layer routing node BR1 after a predetermined number (e.g., more than two, more than three, more than five, etc.) of second routing nodes pass verification. In some embodiments, the second upper level routing node BR2 is further configured to verify whether the hash values of the execution results received from each second routing node are consistent, and to transmit the re-passed execution results and the signature of the second upper level routing node BR2 to the first upper level routing node BR1 when the verification passes. In other words, the second upper level routing node BR2 may receive the same execution result from multiple second routing nodes repeatedly multiple times, but the second upper level routing node BR2 may perform deduplication on the received execution result and transmit the deduplicated execution result to the first upper level routing node BR 1. In some embodiments, the second upper routing node BR2 may return a failure message to the second routing node when the second upper routing node BR2 verifies that the hash values of the execution results received from each second routing node are inconsistent (i.e., the hash verification fails).
For example, referring to fig. 4, the second blockchain network 1120 is provided with two second routing nodes BR21 and BR 22. BR21 and BR22 each separately obtain execution results from the second blockchain network 1120 indicating that a cross-chain transaction is performed, request the plurality of second consensus nodes Y1, Y2, Y3, Y4 to sign the execution results, and transmit the execution result msg _ resp and the received signature sign (Y1, Y2, Y3, Y4) of the second consensus nodes to the second upper routing node BR2 upon receiving the signatures of all the second consensus nodes Y1, Y2, Y3, Y4. The second upper routing node BR2, after verifying that the sign (Y1, Y2, Y3, Y4) received from each of the second routing nodes BR21 and BR22 passes, signs itself, and transmits its signature (BR2) and the deduplication execution result msg _ resp to the first upper routing node BR 1. If the first blockchain network 1110 is also provided with a plurality of first routing nodes, the first upper layer routing node BR1 may transmit its signature sign (BR1) and execution result msg _ resp to each first routing node after verifying that the signature of the second upper layer routing node BR2 is correct.
Additionally, in the example of fig. 1, the first blockchain network 1110 sets a trusted first upper level routing node BR1 in the upper level blockchain network 1100. Considering that a first upper routing node may have a problem of unreliable single point of failure, the problem can be solved by setting a cluster. That is, the first blockchain network 1110 may set a set of trust nodes in the upper blockchain network 1100, and such a set of trust nodes may include a plurality of first upper routing nodes that are trusted by the first blockchain network 1110.
In some embodiments, the upper blockchain network 1100 may include a plurality of said first upper routing nodes trusted by the first blockchain network 1110 and in communication with the first routing node BR11, the first routing node BR11 may be configured to transmit the cross-chain transaction and the received signature of the first consensus node to each of said plurality of said first upper routing nodes, each first upper routing node may be configured to individually verify whether the signature of the first consensus node received from the first routing node BR11 is correct and to transmit the cross-chain transaction and the signature of the first upper routing node to the second upper routing node BR2 upon passing verification, and the second upper routing node BR2 may be configured to verify whether the signature of the first upper routing node received from each first upper routing node is correct and to reach the verified number of first upper routing nodes in said plurality of said first upper routing nodes by the number of verified first upper routing nodes The cross-chain transaction and the signature of the second upper routing node BR2 are transmitted to the second routing node BR21 when the preset threshold is reached. Also, the preset threshold is configurable, and is not particularly limited herein. In some embodiments, the second upper level routing node BR2 is further configured to verify whether the hash values of the cross-chain transactions received from each first upper level routing node are consistent, and to transmit the cross-chain transaction that has passed the duplication and a signature of the second upper level routing node BR2 to the second routing node BR21 when the verification passes. It is to be appreciated that while the above describes a cross-chain interaction process from the first blockchain network 1110 to the second blockchain network 1120, the cross-chain interaction process from the second blockchain network 1120 to the first blockchain network 1110 is similar, for example the second upper level routing node BR2 may send the result of the execution of the cross-chain transaction in the second blockchain network 1120 and the signature of the second upper level routing node BR2 to each first upper level routing node, and verifying the signature of the second upper routing node BR2 by each first upper routing node individually and transmitting the execution result and the signature of the first upper routing node to the first routing node BR11 when the verification is passed, the first routing node BR11 may verify whether the signature of each first upper routing node is correct and broadcast the execution result in the first blockchain network 1110 when the number of verified first upper routing nodes reaches a preset threshold. Also, the preset threshold is configurable, and is not particularly limited herein.
For example, referring to fig. 5, the upper blockchain network 1100 comprises two first upper routing nodes BR1 and BR1 'trusted by the first blockchain network 1110 and communicating with the first routing node BR11, the first routing node BR11 transmits to each first upper routing node BR1, BR 1' a cross-chain transaction msg _ req and a received signature sign of the first common node (X1, X2, X3, X4), each first upper routing node BR1, BR1 'individually verifying whether the signature of the first common node received from the first routing node BR11 is correct and transmitting to the second upper routing node BR2 the cross-chain transaction and the signature of the first upper routing node when verified to pass, and the second upper routing node BR 5 verifying whether the signature of the first upper routing node BR 1' received from each first upper routing node BR 24, BR1 'is correct and transmitting to the second upper routing node BR2 when the signature of the first upper routing node BR1, BR 695q is correct and the signature of the second upper routing node BR 8228 is transmitted to the first routing node BR 695 9, BR 82695' when the cross-chain transaction is verified to pass Routing node BR 21.
Alternatively, when the upper-layer blockchain network 1100 includes a plurality of first upper-layer routing nodes that are trusted by the first blockchain network 1110 and communicate with the first routing node BR11, it is also possible not to cause each of the first upper-layer routing nodes to individually perform both the authentication and the transceiving of data, but to cause one or more of the first upper-layer routing nodes to perform the transceiving of data and another one or more of the first upper-layer routing nodes to perform the authentication of data. Therefore, the method can prevent the single point failure from being unreliable and can save the computing resources. In particular, in some embodiments, the plurality of first upper routing nodes trusted by the first blockchain network 1110 and in communication with the first routing node BR11 may include a first upper routing node and a second first upper routing node, the first routing node BR11 may be configured to transmit the cross-chain transaction and the received signature of the first common identifying node to the first upper routing node, the second first upper routing node may be configured to receive the cross-chain transaction from the first routing node and the received signature of the first common identifying node from the first upper routing node, verify whether the received signature of the first common identifying node is correct, and transmit the cross-chain transaction and the signature of the second first upper routing node to the first upper routing node upon verification, the first upper routing node may be configured to transmit the signatures of the cross-chain transaction and the second first upper routing node and the signature of the first upper routing node to the first upper routing node And two upper routing nodes. The second upper routing node may transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node after verifying that the signature of the second first upper routing node and the signature of the first upper routing node are correct. It will be appreciated that although a cross-chain interaction procedure from the first blockchain network 1110 to the second blockchain network 1120 is described above, a cross-chain interaction procedure from the second blockchain network 1120 to the first blockchain network 1110 is also similar, e.g., the second upper routing node BR2 may transmit the result of the execution of the cross-chain transaction in the second blockchain network 1120 and the signature of the second upper routing node BR2 to the first upper routing node and to the second first upper routing node by the first upper routing node, the second first upper routing node verifies the signature of the second upper routing node BR2 and transmits the result of the execution and the signature of the second first upper routing node to the first upper routing node when the verification passes, the first upper routing node transmits the result of the execution and the signature of the second first upper routing node and the signature of the first upper routing node BR11 to the first upper routing node, the first routing node BR11 may broadcast the execution result in the first blockchain network 1110 upon verifying that the signature of the second first upper layer routing node and the signature of the first upper layer routing node are correct.
For example, referring to fig. 6, the upper-level blockchain network 1100 comprises a first upper-level routing node BR1 and a second first upper-level routing node BR1 ' trusted by the first blockchain network 1110 and communicating with the first routing node BR11, the first routing node BR11 transmits the cross-chain transaction msg _ req and the received signature sign of the first common node (X1, X2, X3, X4) to the first upper-level routing node BR1, the first upper-level routing node BR1 transmits the cross-chain transaction msg _ req and the received signature sign of the first common node (X1, X2, X3, X4) to the second first upper-level routing node BR1 ', the second first upper-level routing node BR1 ' receives the cross-chain transaction msg _ req and the received signature of the first common node BR11 from the first upper-level routing node BR1, verifies the received cross-chain transaction msg _ req and the received signature of the first common node BR1 ', and verifies whether the received signature of the first common node msg _ req and the first common node BR1 ' are correctly signed on the first upper-level routing node BR 3683 and verifies the received cross-chain transaction To the first upper routing node BR1, the first upper routing node BR1 transmits the cross-chain transaction msg _ req and the signature sign of the second first upper routing node (BR1 'and the signature sign of the first upper routing node (BR1) to the second upper routing node BR2 the second upper routing node may transmit the cross-chain transaction msg _ req and the signature sign of the second upper routing node (BR2) to the second upper routing node BR21 after verifying that the signature sign of the second first upper routing node (BR 1') and the signature sign of the first upper routing node (BR1) are correct.
Although it is described above that only one upper routing node of the first blockchain network 1110 is responsible for data transceiving and another upper routing node is responsible for data verification in the set of trusted nodes deployed in the upper blockchain network 1100, this is merely exemplary and not limiting. For example, the first blockchain network 1110 may also be configured to have a set of trusted nodes deployed in the upper blockchain network 1100 including one or more groups of trusted upper-layer routing nodes, each group including one or more transceiving routing nodes responsible for data transceiving and one or more verification routing nodes responsible for data verification, and data from the first routing node BR11 or the second upper layer routing node BR2 would be transmitted to one or more transceiving routing nodes in each group, the respective transceiving routing nodes in each group will then transmit data to each validating routing node in the group individually for validation, after passing the verification, the respective verification routing nodes in the group transmit data to each transceiving routing node in the group, and then the respective transceiving routing nodes in each group transmit data to the second upper layer routing node BR2 or the first routing node BR 11.
Additionally, in the example of fig. 1, the second blockchain network 1120 sets a trusted second upper level routing node BR2 in the upper level blockchain network 1100. Considering that a second upper routing node may have a problem of unreliable single point of failure, the problem can be solved by setting a cluster. That is, the second blockchain network 1120 may set a set of trust nodes in the upper blockchain network 1100, such set of trust nodes may include a plurality of second upper routing nodes that are trusted by the second blockchain network 1120.
In some embodiments, the upper blockchain network 1100 may include a plurality of said second upper routing nodes trusted by the second blockchain network 1120 and in communication with the second routing node BR21, the first upper routing node BR1 may be configured to transmit the cross-chain transaction and the signature of the first upper routing node BR1 to each of said plurality of said second upper routing nodes, each of the second upper routing nodes may be configured to individually verify whether the signature of the first upper routing node BR1 received from the first upper routing node BR1 is correct and to transmit the cross-chain transaction and the signature of the second upper routing node BR21 when verified, and the second routing node BR21 may be configured to verify whether the signature of the second upper routing node received from each of the second upper routing nodes is correct and to pass the verified number of second upper routing nodes of said plurality of said second upper routing nodes Broadcasting the cross-chain transaction in the second blockchain network 1120 when the amount reaches a preset threshold, so that a master node of the plurality of second consensus nodes of the second blockchain network 1120 receives and executes the cross-chain transaction. Also, the preset threshold is configurable, and is not particularly limited herein. In some embodiments, the second routing node BR21 may be further configured to verify whether the hash values of the cross-chain transactions received from each second upper routing node are consistent, and broadcast the cross-chain transactions that are subject to the deduplication in the second blockchain network 1120 when the verification passes, such that master nodes in the plurality of second consensus nodes of the second blockchain network 1120 receive and perform the cross-chain transactions. It is to be appreciated that while the above describes a cross-chain interaction process from the first blockchain network 1110 to the second blockchain network 1120, the cross-chain interaction process from the second blockchain network 1120 to the first blockchain network 1110 is similar, for example the second routing node BR21 may send the result of the execution of the cross-chain transaction in the second blockchain network 1120 and the received signature of the second consensus node to each second upper routing node, and verifying by each second upper routing node separately whether the signature of the second common node is correct and transmitting the execution result and the signature of the second upper routing node to the first upper routing node BR1 when the verification is passed, the first upper routing node BR1 may verify whether the signature of each second upper routing node is correct and transmit the execution result and the signature of the first upper routing node BR1 to the first routing node BR11 when the number of verified second upper routing nodes reaches a preset threshold. Also, the preset threshold is configurable, and is not particularly limited herein.
For example, referring to fig. 7, the upper layer blockchain network 1100 comprises two second upper layer routing nodes BR2 and BR2 'trusted by the second blockchain network 1120 and communicating with the second routing node BR21, the first upper layer routing node BR1 transmits to each second upper layer routing node BR2, BR 2' a cross-chain transaction msg _ req and a signature sign (BR1) of the first upper layer routing node BR1, each second upper layer routing node BR2, BR2 'individually verifies whether the signature sign (BR1) of the first upper layer routing node BR1 received from the first upper layer routing node BR1 is correct and transmits to the second routing node BR21 when verified to pass the cross-chain transaction and the signature of the second upper layer routing node BR1, and the second routing node BR21 verifies that the signature sign of the cross-chain transaction BR 2' received from each second upper layer routing node BR2, BR2 'is correct and broadcasts in the cross-chain transaction BR2, BR 2' when the signature sign of the second upper layer routing node BR2 is correct, causing a master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 to receive and perform a cross-chain transaction.
Alternatively, when the upper blockchain network 1100 includes a plurality of second upper layer routing nodes that are trusted by the second blockchain network 1120 and communicate with the second routing node BR21, it is also possible not to cause each of the second upper layer routing nodes to individually perform both the authentication and the transceiving of data, but to cause one or more of the second upper layer routing nodes to perform the transceiving of data and another one or more of the second upper layer routing nodes to perform the authentication of data. Therefore, the method can prevent the single point failure from being unreliable and can save the computing resources. In particular, in some embodiments, the plurality of second upper routing nodes trusted by the second blockchain network 1120 and in communication with the second routing node BR21 may include a first second upper routing node and a second upper routing node, the first upper routing node BR1 may be configured to transmit the cross-chain transaction and the signature of the first upper routing node BR1 to the first second upper routing node, the second upper routing node may be configured to receive the cross-chain transaction and the signature of the first upper routing node BR1 from the first upper routing node BR1 from the first upper routing node, verify whether the received signature of the first upper routing node BR1 is correct, and transmit the cross-chain transaction and the signature of the second upper routing node to the first second upper routing node upon verifying that the cross-chain transaction and the signature of the second upper routing node are correct, the first second upper routing node may be configured to transmit the cross-chain transaction and the signature of the second upper routing node to the first second upper routing node The signature is transmitted to the second routing node BR 21. The second routing node BR21 may broadcast the cross-chain transaction in the second blockchain network 1120 upon verifying that the signature of the second upper layer routing node and the signature of the first second upper layer routing node are correct, such that the master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 receives and performs the cross-chain transaction. It is to be appreciated that although a cross-chain interaction process from the first blockchain network 1110 to the second blockchain network 1120 is described above, a cross-chain interaction process from the second blockchain network 1120 to the first blockchain network 1110 is also similar, e.g., the second routing node BR21 may transmit the execution result of the cross-chain transaction in the second blockchain network 1120 and the received signature of the second common identifying node to the first second upper routing node and to the second upper routing node by the first second upper routing node, the second upper routing node verifies the signature of the second common identifying node and transmits the execution result and the signature of the second upper routing node to the first second upper routing node when the verification passes, the first second upper routing node transmits the execution result and the signature of the second upper routing node and the signature of the first upper routing node to the first upper routing node BR1, the first upper layer routing node BR1 may transmit the execution result with the signature of the first upper layer routing node BR1 to the first routing node BR1 upon verifying that the signature of the second upper layer routing node and the signature of the first second upper layer routing node are correct, and the first routing node BR11 may broadcast the execution result in the first blockchain network 1110 upon verifying that the signature of the first upper layer routing node is correct.
For example, referring to fig. 8, the upper layer blockchain network 1100 includes a first second upper layer routing node BR2 and a second upper layer routing node BR2 ' trusted by the second blockchain network 1120 and in communication with the second routing node BR21, the first upper layer routing node BR1 transmits the cross-chain transaction msg _ req and the signature sign (BR1) of the first upper layer routing node BR 84 to the first second upper layer routing node BR2, the first second upper layer routing node BR2 transmits the cross-chain transaction msg _ req and the signature sign (BR1) of the first upper layer routing node BR1 to the second upper layer routing node BR2 ', the second upper layer routing node BR2 ' receives from the first second upper layer routing node BR2 the cross-chain transaction msg _ req from the first upper layer routing node BR1 and the signature (BR 6866) of the first upper layer routing node BR1, and the signature verification whether the signature (BR 3527) of the first upper layer routing node BR1 is received from the first upper layer routing node BR2, the first upper layer routing node BR 638, and the first upper layer routing node BR 6327 receives the signature (BR 6327) and the signature of the cross-chain transaction msg _ req And transmits the cross-chain transaction msg _ req and the signature sign (BR2 ') of the second upper routing node to the first and second upper routing nodes BR2 when the verification is passed, and the first and second upper routing nodes BR2 transmit the cross-chain transaction msg _ req and the signature sign (BR 2') of the second upper routing node and the signature sign (BR2) of the first and second upper routing nodes to the second routing node BR 21. The second routing node BR21 may broadcast a cross-chain transaction msg _ req in the second blockchain network 1120 upon verifying that the signature sign (BR 2') of the second upper routing node and the signature sign (BR2) of the first second upper routing node are correct, such that a master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 receives and performs the cross-chain transaction.
Although it is described above that only one upper routing node of the set of trusted nodes deployed in the upper blockchain network 1100 is responsible for data transceiving by the second blockchain network 1120 and another upper routing node is responsible for data verification, this is merely exemplary and not limiting. For example, the second blockchain network 1120 may also be configured to have a set of trusted nodes deployed in the upper blockchain network 1100 including one or more groups of trusted upper routing nodes, each group including one or more transceiving routing nodes responsible for data transceiving and one or more verification routing nodes responsible for data verification, and data from the first upper routing node BR1 or the second routing node BR21 would be transmitted to one or more transceiving routing nodes in each group, the respective transceiving routing nodes in each group will then transmit data to each validating routing node in the group individually for validation, after passing the verification, the respective verification routing nodes in the group transmit data to each transceiving routing node in the group, and then the respective transceiving routing nodes in each group transmit data to the second routing node BR21 or the first upper layer routing node BR 1.
Although the number of first routing nodes, first upper level routing nodes, second upper level routing nodes, and second routing nodes are illustrated as one or two in the examples of fig. 1-8, this is merely exemplary and not limiting, and system 100 may include any suitable number of first routing nodes, first upper level routing nodes, second upper level routing nodes, and second routing nodes, and one or more of the foregoing embodiments may be correspondingly combined in any combination to implement various alternative cross-chain interaction processes.
Although the system 100 is illustrated in the examples of fig. 1-8 as including two lower layer blockchain networks 1110 and 1120 under the same upper layer blockchain network 1100, this is merely exemplary and not limiting, the system 100 is scalable, two or more lower layer blockchain networks may be registered under the same upper layer blockchain network 1100, and any two of these lower layer blockchain networks may implement cross-chain interaction through the aforementioned process.
Although the system 100 is illustrated as a two-layer blockchain network architecture in the examples of fig. 1-8, this is merely exemplary and not limiting, the system 100 is vertically scalable, the system 100 can be deployed as two or more layer blockchain network architectures, e.g., each of the first blockchain network 1110 and the second blockchain network 1120 can serve as an upper blockchain network of the other blockchain network or networks, and any two lower blockchain networks of each of the first blockchain network 1110 and the second blockchain network 1120 can implement cross-chain interaction through the aforementioned process. A system 100 having a three-tier blockchain network architecture is illustratively described below in conjunction with fig. 9-14.
In some embodiments, for example as shown in fig. 9, system 100 may also include a first sub-blockchain network 1111 and a second sub-blockchain network 1112. The first blockchain network 1110 is an upper blockchain network common to the first and second sub-blockchain networks 1111 and 1112, in other words, the first and second sub-blockchain networks 1111 and 1112 are lower blockchain networks of the first blockchain network 1110. Thus, the first sub-blockchain network 1111, the second sub-blockchain network 1112, and the first blockchain network 1110 form a two-layer blockchain network architecture, and the first sub-blockchain network 1111, the second sub-blockchain network 1112, the first blockchain network 1110, and the upper blockchain network 1100 form a three-layer blockchain network architecture.
The first sub-blockchain network 1111 may include a plurality of first sub-consensus nodes P1, P2, P3, P4 in communication with each other. The first sub-consensus nodes P1, P2, P3, P4 may be used to implement specific services of the first sub-blockchain network 1111, and are responsible for performing verification of transactions and uplink consensus. Although the number of first sub-consensus nodes P1, P2, P3, P4 is illustrated as 4, this is merely exemplary and not limiting, and an actual first sub-blockchain network 1111 may include any number of consensus nodes. The second sub-blockchain network 1112 may include a plurality of second sub-consensus nodes Q1, Q2, Q3, Q4 in communication with each other. The second sub-consensus nodes Q1, Q2, Q3, Q4 may be used to implement specific services of the second sub-blockchain network 1112, which are responsible for validating transactions and jointly uplink. While the number of second sub-consensus nodes Q1, Q2, Q3, Q4 is illustrated as 4, this is merely exemplary and not limiting, and an actual second sub-blockchain network 1112 may include any number of consensus nodes.
In some embodiments, the first and second sub-blockchain networks 1111, 1112 may each trust the first routing node BR11 of the first blockchain network 1110, the plurality of first sub-consensus nodes P1, P2, P3, P4 each communicate with the first routing node BR11, and the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4 each communicate with the first routing node BR 11. Each of the first sub-blockchain network 1111 and the second sub-blockchain network 1112 may register with the first routing node BR11 when accessing the first blockchain network 1110, and obtain the network identifier allocated by the first routing node BR11 after successful registration. For example, the network identification of first sub-blockchain network 1111 may be 81000100, the network identification of second sub-blockchain network 1112 may be 81000200, the URI identification of blockchain P of first sub-blockchain network 1111 may be 81000100/P, and the URI identification of blockchain Q of second sub-blockchain network 1112 may be 81000200/Q. If the URI of the service G published by the block chain Q in the upper block chain network 1100 is identified as 81000200/Q/G, a node registered in any lower block chain network below the upper block chain network 1100 (e.g., the first block chain network 1110, the second block chain network 1120, the first sub-block chain network 1111, the second sub-block chain network 1112) can invoke the service through the URI identification of the service.
Since both the first sub-blockchain network 1111 and the second sub-blockchain network 1112 trust the first routing node BR11 of the first blockchain network 1110, a trust transfer is achieved between the first sub-blockchain network 1111 and the second sub-blockchain network 1112 via the first blockchain network 1110 without requiring the first sub-blockchain network 1111 and the second sub-blockchain network 1112 to trust each other. In this way, not only can cross-link interaction between the first sub-blockchain network 1111 and the second sub-blockchain network 1112 be facilitated, but also information isolation between the first sub-blockchain network 1111 and the second sub-blockchain network 1112 can be ensured, so that the other party only needs to know information required for executing the requested cross-link transaction, and does not know other information of the other party.
Referring next to fig. 9, a cross-chain interaction process from the first sub-blockchain network 1111 to the second sub-blockchain network 1112 is described. It is understood that the cross-chain interaction process from the second sub-blockchain network 1112 to the first sub-blockchain network 1111 is similar and will not be described herein. In the example of fig. 9, the first routing node BR11 may be configured to obtain a cross-chain transaction from the first sub-blockchain network 1111 to be performed in the second sub-blockchain network 1112, to request and verify a signature of the plurality of first sub-consensus nodes P1, P2, P3, P4 for the cross-chain transaction, and to transmit the cross-chain transaction and the signature of the first routing node BR11 to a second sub-consensus node in the second sub-blockchain network 1112 upon verification passing (again, a specific trust policy may be configured to determine when the received signature satisfies what condition, not described herein again), and the second sub-consensus node is configured to verify whether the signature of the first routing node BR11 received from the first routing node BR11 is correct, and to broadcast the cross-chain transaction in the second sub-blockchain network 1112 upon verification passing, such that the plurality of second sub-consensus nodes Q1 of the second sub-blockchain network 1112, The master node of Q2, Q3, Q4 receives and executes cross-chain transactions.
In further embodiments, for example, referring to fig. 10, the first blockchain network 1110 may include a first routing node BR11 trusted by the first subchunk chain network 1111 and in communication with the plurality of first sub-consensus nodes P1, P2, P3, P4 and a second routing node BR12 trusted by the second subchunk chain network 1112 and in communication with the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4, the first routing node BR11 may be configured to obtain a cross-chain transaction from the first subchunk chain network 1111 to be performed in the second subchunk chain network 1112, request and verify the plurality of first sub-consensus nodes P1, P2, P3, P4 signing the cross-chain transaction, and transmit the signature of the cross-chain and first routing node BR11 to the second routing node BR12 upon verification, the first routing node BR 465 may be configured to verify whether the first routing node BR11 is correctly signed by the first routing node BR12, And transmit the cross-chain transaction and the signature of the second first routing node BR12 to a second sub-consensus node in the second sub-blockchain network 1112 upon verification, and the second sub-consensus node may be configured to verify whether the signature of the second first routing node BR12 received from the second first routing node BR12 is correct and to broadcast the cross-chain transaction in the second sub-blockchain network 1112 upon verification such that a master node in the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4 of the second sub-blockchain network 1112 receives and performs the cross-chain transaction. It is to be understood that similar to the embodiments described above with respect to fig. 5 to 8, the first sub-blockchain network 1111 and the second sub-blockchain network 1112 may also each set their own trusted first set of routing nodes in the upper first blockchain network 1110, and may accordingly perform cross-chain interaction in a similar manner, which is not described herein again.
In some embodiments, for example referring to fig. 11, the first sub-blockchain network 1111 may further include a first sub-routing node BR111 in communication with the plurality of first sub-consensus nodes P1, P2, P3, P4, the second sub-blockchain network 1112 may further include a second sub-routing node BR112 in communication with the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4, the first sub-blockchain network 1111 and the second sub-blockchain network 1112 each trust the first routing node BR11 of the first blockchain network 1110, the first sub-routing node BR111 and the second sub-routing node BR112 each in communication with the first routing node BR11, the first sub-routing node BR111 may be configured to obtain a cross-chain transaction from the first sub-blockchain network 1111 to be performed in the second sub-blockchain network 1112, request the plurality of first sub-consensus nodes P1, P2, P3, P73742, to sign the first sub-chain transaction when the first sub-blockchain transaction is received and the first sub-chain transaction is to a predetermined number of signatures across the first sub-chain transaction to be signed and the first sub-blockchain transaction is to be received and signed A signature of a sub-consensus node is transmitted to the first routing node BR11, the first routing node BR11 may be configured to verify whether the signature of the first sub-consensus node received from the first sub-routing node BR111 is correct and, when verified, to transmit the cross-chain transaction and the signature of the first routing node BR11 to the second sub-routing node BR112, the second sub-routing node BR112 may be configured to verify whether the signature of the first routing node BR11 received from the first routing node BR11 is correct and, when verified, to broadcast the cross-chain transaction in the second sub-blockchain network 1112 such that the master node of the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4 of the second sub-blockchain network 1112 receives and performs the cross-chain transaction. It is understood that similar to the embodiments described above with respect to fig. 3-4, first sub-blockchain network 1111 and second sub-blockchain network 1112 may also each include a plurality of sub-routing nodes and may accordingly perform cross-chain interaction in a similar manner, which is not described again here.
In some embodiments, for example referring to fig. 12, the first sub-blockchain network 1111 may further include a first sub-routing node BR111 in communication with the plurality of first sub-consensus nodes P1, P2, P3, P4, the second sub-blockchain network 1112 may further include a second sub-routing node BR121 in communication with the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4, the first blockchain network 1110 includes a first routing node BR11 trusted by the first sub-blockchain network 1111 and in communication with the first sub-routing node BR111 and a second first routing node BR12 trusted by the second sub-blockchain network 1112 and in communication with the second sub-routing node BR 121. The first sub routing node BR111 may be configured to obtain a cross-chain transaction from the first sub-blockchain network 1111 to be performed in the second sub-blockchain network 1112, request the plurality of first sub consensus nodes P1, P2, P3, P4 to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first sub consensus node to the first routing node BR11 when the number of received signatures of the first sub consensus node reaches a preset threshold. The first routing node BR11 may be configured to verify that the signature of the first sub-consensus node received from the first sub-routing node BR111 is correct and to transmit the cross-chain transaction and the signature of the first routing node BR11 to the second first routing node BR12 when the verification is passed. The second first routing node BR12 may be configured to verify that the signature of the first routing node BR11 received from the first routing node BR11 is correct and to transmit the cross-chain transaction and the signature of the second first routing node BR12 to the second child routing node BR121 when the verification is passed. The second sub-routing node BR121 may be configured to verify whether the signature of the second first routing node BR12 received from the second first routing node BR12 is correct and, when verified, to broadcast the cross-chain transaction in the second sub-blockchain network 1112 such that a master node of the plurality of second sub-consensus nodes Q1, Q2, Q3, Q4 of the second sub-blockchain network 1112 receives and performs the cross-chain transaction. It is to be understood that, similar to the embodiments described above with respect to fig. 3 to fig. 8, the first sub-blockchain network 1111 and the second sub-blockchain network 1112 may also each include a plurality of sub-routing nodes and/or each set a trusted first routing node set in the upper first blockchain network 1110, and may accordingly perform cross-chain interaction in a similar manner, which is not described herein again.
In some embodiments, for example as shown in fig. 13, the system 100 may further include a third sub-blockchain network 1121. The second blockchain network 1120 is an upper blockchain network of the third blockchain network 1121, in other words, the third blockchain network 1121 is a lower blockchain network of the second blockchain network 1120. Thus, the third sub-blockchain network 1121, the second blockchain network 1120 form a two-layer blockchain network architecture, and the third sub-blockchain network 1121, the second blockchain network 1120 and the upper-layer blockchain network 1100 form a three-layer blockchain network architecture.
The third sub-blockchain network 1121 may include a plurality of third sub-consensus nodes R1, R2, R3, R4 in communication with each other. The third sub-consensus nodes R1, R2, R3, and R4 may be used to implement specific services of the third sub-blockchain network 1121, and are responsible for performing verification on transactions and uplink consensus. Although the number of the third sub-consensus nodes R1, R2, R3, R4 is illustrated as 4, this is merely exemplary and not limiting, and an actual third sub-blockchain network 1121 may include any number of consensus nodes. In some embodiments, the third sub-blockchain network 1121 may trust the second routing node BR21 of the second blockchain network 1120, the plurality of third sub-consensus nodes R1, R2, R3, R4 each communicating with the second routing node BR 21. The third blockchain network 1121 may register with the second routing node BR21 when accessing the second blockchain network 1120, and obtain the network identifier allocated by the second routing node BR21 after the registration is successful.
Since the first sub-blockchain network 1111 trusts the first routing node BR11 of the first blockchain network 1110, the third sub-blockchain network 1121 trusts the second routing node BR21 of the second blockchain network 1120, the first blockchain network 1110 trusts the first upper routing node BR1 in the upper-layer blockchain network 1100, and the second blockchain network 1120 trusts the second upper routing node BR2 in the upper-layer blockchain network 1100, trust transfer is achieved between the first sub-blockchain network 1111 and the third sub-blockchain network 1121 via the first blockchain network 1110, the upper-layer blockchain network 1100, and the second blockchain network 1120 without requiring the first sub-blockchain network 1111 and the third sub-blockchain network 1121 to trust each other. In this way, not only can the cross-link interaction between the first sub-blockchain network 1111 and the third sub-blockchain network 1121 be promoted, but also the information isolation between the first sub-blockchain network 1111 and the third sub-blockchain network 1121 can be ensured, so that the other party only needs to know the information required for executing the requested cross-link transaction, and does not know other information of the other party. It may also be noted that in a three-tier blockchain network structure as shown in fig. 13 (and similarly in a more-tier blockchain network structure), direct trust relationships occur between neighboring tiers, while cross-tier trust transfers but are information isolated, e.g., BR2 recognizes BR21 but does not recognize R1-R4, BR21 recognizes BR2 and also recognizes R1-R4, which may make management of node relationships simpler.
Referring next to fig. 13, a cross-chain interaction process from the first sub-blockchain network 1111 to the third sub-blockchain network 1121 is described. It is understood that the cross-chain interaction process from the third sub-blockchain network 1121 to the first sub-blockchain network 1111 is similar and will not be described herein. In the embodiment as shown in fig. 13, the first sub-blockchain network 1111 trusts the first routing node BR11 of the first blockchain network 1110 and the plurality of first sub-consensus nodes P1, P2, P3, P4 each communicate with the first routing node BR11, the third sub-blockchain network 1121 trusts the second routing node BR21 of the second blockchain network 1120 and the plurality of third sub-consensus nodes R1, R2, R3, R4 each communicate with the second routing node BR 21. The first routing node BR11 may be configured to obtain a cross-chain transaction from the first sub-blockchain network 1111 to be performed in the third sub-blockchain network 1121, request and verify a signature of the cross-chain transaction by the plurality of first sub-consensus nodes P1, P2, P3, P4, and transmit the cross-chain transaction and the signature of the first routing node BR11 to the first upper routing node BR1 when the verification is passed. The first upper level routing node BR1 may be configured to verify that the signature of the first routing node BR11 received from the first routing node BR11 is correct and to transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 when the verification is passed. The second upper level routing node BR2 may be configured to verify that the signature of the first upper level routing node BR1 received from the first upper level routing node BR1 is correct and to transmit the cross-chain transaction and the signature of the second upper level routing node BR2 to the second routing node BR21 when the verification is passed. The second routing node BR21 may be configured to verify that the signature of the second upper routing node BR2 received from the second upper routing node BR2 is correct, and to transmit the cross-chain transaction and the signature of the second routing node BR21 to a third child consensus node in the third sub-blockchain network 1121 when the verification is passed. The third sub-consensus node may be configured to verify whether the signature of the second routing node BR21 received from the second routing node BR21 is correct and to broadcast the cross-chain transaction in the third sub-blockchain network 1121 when the verification is passed, such that a master node of the plurality of third sub-consensus nodes R1, R2, R3, R4 of the third sub-blockchain network 1121 receives and performs the cross-chain transaction. It is to be understood that, similar to the embodiments described above with respect to fig. 3 to fig. 8, the first sub-blockchain network 1111 and the third sub-blockchain network 1121 may also respectively set their own trusted routing node sets in the upper-layer first blockchain network 1110 and the second blockchain network 1120, and the first blockchain network 1110 and the second blockchain network 1120 may also respectively set their own trusted upper-layer routing node sets in the upper-layer blockchain network 1100, and accordingly perform cross-chain interaction in a similar manner, which is not described herein again.
In some embodiments, for example referring to fig. 14, the first sub-blockchain network 1111 may further comprise a first sub-routing node BR111 in communication with the plurality of first sub-consensus nodes P1, P2, P3, P4, the first sub-blockchain network 1111 trusts the first routing node BR11 of the first blockchain network 1110 and the first sub-routing node BR111 communicates with the first routing node BR11, the third sub-blockchain network 1121 may further comprise a third sub-routing node BR211 in communication with the plurality of third sub-consensus nodes R1, R2, R3, R4, the third sub-blockchain network 1121 trusts the second routing node BR21 of the second blockchain network 1120 and the third sub-routing node BR211 communicates with the second routing node BR 21. The first sub routing node BR111 may be configured to obtain a cross-chain transaction from the first sub block-chain network 1111 to be performed in the third sub block-chain network 1121, request the plurality of first sub consensus nodes P1, P2, P3, P4 to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first sub consensus node to the first routing node BR11 when the number of received signatures of the first sub consensus node reaches a preset threshold. The first routing node BR11 may be configured to verify whether the signature of the first sub-consensus node received from the first sub-routing node BR111 is correct and to transmit the cross-chain transaction and the signature of the first routing node BR11 to the first upper routing node BR1 when the verification is passed. The first upper level routing node BR1 may be configured to verify that the signature of the first routing node BR11 received from the first routing node BR11 is correct and to transmit the cross-chain transaction and the signature of the first upper level routing node BR1 to the second upper level routing node BR2 when the verification is passed. The second upper level routing node BR2 may be configured to verify that the signature of the first upper level routing node BR1 received from the first upper level routing node BR1 is correct and to transmit the cross-chain transaction and the signature of the second upper level routing node BR2 to the second routing node BR21 when the verification is passed. The second routing node BR21 may be configured to verify that the signature of the second upper routing node BR2 received from the second upper routing node BR2 is correct and to transmit the cross-chain transaction and the signature of the second routing node BR2 to the third child routing node BR211 when the verification passes. The third sub-routing node BR211 may be configured to verify whether the signature of the second routing node BR21 received from the second routing node BR21 is correct and to broadcast the cross-chain transaction in the third sub-blockchain network 1121 when the verification is passed, such that a master node of the plurality of third sub-consensus nodes R1, R2, R3, R4 of the third sub-blockchain network 1121 receives and performs the cross-chain transaction. It is to be understood that, similar to the embodiments described above with respect to fig. 3 to fig. 8, the first sub-blockchain network 1111 and the third sub-blockchain network 1121 may also each include a plurality of sub-routing nodes, the first sub-blockchain network 1111 and the third sub-blockchain network 1121 may also each set their own set of trusted routing nodes in the upper layer first blockchain network 1110 and the second blockchain network 1120, and the first blockchain network 1110 and the second blockchain network 1120 may also each set their own set of trusted upper layer routing nodes in the upper layer blockchain network 1100, and accordingly perform cross-chain interaction in a similar manner, which is not described herein again.
It is to be appreciated that while fig. 9-14 illustrate the first and second blockchain networks 1110, 1120 as including one or two lower layer blockchain networks, this is merely exemplary and not limiting, the first and second blockchain networks 1110, 1120 may include any number of lower layer blockchain networks, and cross-chain interaction as described herein may be conducted between any two lower layer blockchain networks (not necessarily in the same layer) having a common highest layer blockchain network (e.g., the highest layer blockchain network may be an upper layer blockchain network 1100 in the figures herein). In addition, when the first sub-blockchain network 1111, the second sub-blockchain network 1112, and the third sub-blockchain network 1121 include sub-routing nodes, the corresponding lower-layer blockchain networks may be further extended, respectively. In some embodiments, if the first and second blockchain networks 1110, 1120 do not extend the respective lower-layer blockchain network (e.g., there is no first, second, third, etc. blockchain network 1111, 1112, 1121), they may also not include the respective routing nodes, but rather have each common node directly coupled to the respective upper-layer routing nodes, similar to fig. 9, 10, 13.
Systems for inter-blockchain interaction according to various embodiments of the present disclosure can be easily scaled horizontally and vertically, and inter-chain interaction between any two blockchain networks having a common upper blockchain network can be efficiently achieved under large-scale networks.
Referring to fig. 15, the present disclosure provides in yet another aspect a method 200 for inter-blockchain interaction. The method 200 may include: at step S202, obtaining, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be executed in a second blockchain network, requesting a plurality of first common nodes of the first blockchain network to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first common node to a first upper routing node of the upper blockchain networks of the first blockchain network and the second blockchain network that is trusted by the first blockchain network when the number of received signatures of the first common node reaches a preset threshold; at step S204, verifying, by the first upper layer routing node, whether the signature of the first consensus node received from the first routing node is correct, and transmitting, when the verification is passed, the cross-chain transaction and the signature of the first upper layer routing node to a second upper layer routing node of the upper layer blockchain network that is trusted by the second blockchain network; at step S206, verifying, by the second upper layer routing node, whether the signature of the first upper layer routing node received from the first upper layer routing node is correct, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to a second routing node of the second blockchain network when the verification is passed; and verifying, by the second routing node, whether the signature of the second upper routing node received from the second upper routing node is correct, and broadcasting the cross-chain transaction in the second blockchain network when the verification is passed, so that the master node of a plurality of second consensus nodes of the second blockchain network receives and executes the cross-chain transaction at step S208. The embodiment of the method 200 is substantially similar to the embodiment of the system for inter-blockchain interaction, and therefore, the detailed description thereof is omitted, and the related points can be referred to the description of the system embodiment.
Referring to fig. 16, the present disclosure provides in yet another aspect an apparatus 300 for interacting across a blockchain. The apparatus 300 may include a collection module 302, a transmission module 304, and an execution module 306. The collection module 302 may be configured to obtain, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be performed in a second blockchain network, requesting a plurality of first consensus nodes of the first blockchain network to sign the cross-chain transaction. The transmission module 304 may be configured to: transmitting, by the first routing node, the cross-chain transaction and the received signature of the first consensus node to a first upper routing node of an upper blockchain network of the first blockchain network and the second blockchain network that is trusted by the first blockchain network when the number of received signatures of the first consensus node reaches a preset threshold; verifying whether the signature of the first common identification node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node of the upper blockchain network, wherein the second upper routing node is trusted by the second blockchain network; and verifying whether the signature of the first upper layer routing node received from the first upper layer routing node is correct or not through the second upper layer routing node, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to the second routing node of the second block chain network when the verification is passed. The execution module 306 may be configured to verify, by the second routing node, whether the signature of the second upper routing node received from the second upper routing node is correct, and broadcast the cross-chain transaction in the second blockchain network when the verification is passed, such that the master node of the plurality of second co-identified nodes of the second blockchain network receives and executes the cross-chain transaction. The embodiment of the apparatus 300 is substantially similar to the embodiment of the system and method for inter-blockchain interaction described above, and therefore, the detailed description is omitted here, and reference may be made to the description of the system embodiment and method embodiment section for the relevant points.
Fig. 17 is a schematic block diagram illustrating a computer system 600 upon which one or more exemplary embodiments of the present disclosure may be implemented. Computer system 600 includes a bus 602 or other communication mechanism for communicating information, and a processing device 604 coupled with bus 602 for processing information. Computer system 600 also includes a memory 606, which may be a Random Access Memory (RAM) or other dynamic storage device, coupled to bus 602 for storing instructions to be executed by processing device 604. Memory 606 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processing device 604. Computer system 600 also includes a Read Only Memory (ROM)608 or other static storage device coupled to bus 602 for storing static information and instructions for processing apparatus 604. A storage device 610, such as a magnetic disk or optical disk, is provided and coupled to bus 602 for storing information and instructions. Computer system 600 may be coupled via bus 602 to an output device 612, such as, but not limited to, a display, such as a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD), speakers, etc., for providing output to a user. An input device 614, such as a keyboard, mouse, microphone, or the like, is coupled to bus 602 for communicating information and command selections to processing apparatus 604. Computer system 600 may perform embodiments of the present disclosure. Consistent with certain implementations of the present disclosure, the results are provided by computer system 600 in response to processing device 604 executing one or more sequences of one or more instructions contained in memory 606. Such instructions may be read into memory 606 from another computer-readable medium, such as storage device 610. Execution of the sequences of instructions contained in memory 606 causes processing device 604 to perform the methods described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement the teachings. Thus, implementations of the present disclosure are not limited to any specific combination of hardware circuitry and software. In various embodiments, computer system 600 may be connected across a network to one or more other computer systems, such as computer system 600, via network interface 616 to form a networked system. The network may comprise a private network or a public network such as the internet. In a networked system, one or more computer systems may store data and supply the data to other computer systems. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processing device 604 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610. Volatile media includes dynamic memory, such as memory 606. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 602. Common forms of computer-readable media or computer program products include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, Digital Video Disk (DVD), blu-ray disk, any other optical medium, thumb drives, memory cards, a RAM, a PROM, and EPROM, a flash EPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read. Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processing device 604 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 600 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infrared detector coupled to bus 602 can receive the data carried in the infrared signal and place the data on bus 602. The bus 602 carries the data to the memory 606, and the processing device 604 retrieves instructions from the memory 606 and executes the instructions. Alternatively, the instructions received by memory 606 may be stored on storage device 610 either before or after execution by processing device 604.
According to various embodiments, instructions configured to be executed by a processing device to perform a method are stored on a computer-readable medium. The computer readable medium may be a device that stores digital information. For example, the computer readable medium includes a compact disk read only memory (CD-ROM) for storing software as is known in the art. The computer readable medium is accessed by a processor adapted to execute instructions configured to be executed.
For example, the present disclosure may also provide a computing device that may include one or more processors and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform a method according to any of the preceding embodiments of the present disclosure. As shown in fig. 18, the computing device 700 may include processor(s) 701 and memory 702 storing computer-executable instructions that, when executed by the processor(s) 701, cause the processor(s) 701 to perform a method according to any of the preceding embodiments of the present disclosure. The processor(s) 701 may be, for example, a Central Processing Unit (CPU) of the computing device 700. Processor(s) 701 may be any type of general-purpose processor, or may be a processor specially designed for interacting across a chain of blocks, such as an application specific integrated circuit ("ASIC"). Memory 702 can include a variety of computer-readable media that can be accessed by processor(s) 701. In various embodiments, memory 702 described herein may include volatile and nonvolatile media, removable and non-removable media. For example, memory 702 may include any combination of the following: random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read-only memory ("ROM"), flash memory, cache memory, and/or any other type of non-transitory computer-readable medium. The memory 702 may be stored such that, when executed by the processor 701, causes the processor 701 to perform a method according to any of the preceding embodiments of the present disclosure.
Additionally, the present disclosure may also provide a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform a method according to any of the preceding embodiments of the present disclosure.
One or more exemplary embodiments of the present disclosure are described above. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a server system. Of course, this application does not exclude that with future developments in computer technology, the computer implementing the functionality of the above described embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in processes, methods, articles, or apparatus that include the recited elements is not excluded. For example, if the terms first, second, etc. are used to denote names, they do not denote any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of "one embodiment," "some embodiments," "an example," "a specific example," or "some examples" or the like means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is merely exemplary of one or more embodiments of the present disclosure and is not intended to limit the scope of one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.

Claims (51)

1. A system for interacting across blockchains, comprising:
a first blockchain network comprising a first routing node and a plurality of first consensus nodes in communication with each other;
a second blockchain network comprising a second routing node and a plurality of second consensus nodes in communication with each other; and
an upper blockchain network of a first blockchain network and a second blockchain network, the upper blockchain network comprising a first upper routing node trusted by the first blockchain network and communicating with the first routing node and a second upper routing node trusted by the second blockchain network and communicating with the second routing node, the first upper routing node and the second upper routing node communicating with each other,
wherein the first routing node is configured to obtain a cross-chain transaction from the first blockchain network to be performed in the second blockchain network, request the plurality of first common nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first common node to the first upper routing node when the number of received signatures of the first common node reaches a preset threshold,
wherein the first upper routing node is configured to verify whether the signature of the first common identification node received from the first routing node is correct, and to transmit the cross-link transaction and the signature of the first upper routing node to the second upper routing node when the verification is passed,
wherein the second upper routing node is configured to verify whether the signature of the first upper routing node received from the first upper routing node is correct and transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification is passed, and
wherein the second routing node is configured to verify whether a signature of the second upper layer routing node received from the second upper layer routing node is correct, and to broadcast the cross-chain transaction in the second blockchain network when the verification is passed, such that the master node of the plurality of second consensus nodes of the second blockchain network receives and executes the cross-chain transaction.
2. The system of claim 1, wherein,
the second routing node is configured to obtain an execution result indicating that the cross-chain transaction is executed from the second blockchain network, request the plurality of second consensus nodes to sign the execution result, and transmit the execution result and the received signature of the second consensus node to the second upper routing node when the number of received signatures of the second consensus nodes reaches a preset threshold,
the second upper routing node is configured to verify whether the signature of the second consensus node received from the second routing node is correct, and to transmit the execution result and the signature of the second upper routing node to the first upper routing node when the verification is passed,
the first upper routing node is configured to verify whether a signature of the second upper routing node received from the second upper routing node is correct, and transmit an execution result and the signature of the first upper routing node to the first routing node when the verification is passed, and
the first routing node is configured to verify whether a signature of the first upper routing node received from the first upper routing node is correct, and to broadcast the execution result in the first blockchain network when the verification is passed.
3. The system of claim 1, wherein,
the first blockchain network comprises a plurality of said first routing nodes, each said first routing node being in communication with a first upper routing node and being configured to individually obtain a cross-chain transaction from the first blockchain network to be performed in the second blockchain network, request said plurality of first consensus nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first consensus node to the first upper routing node when the number of received signatures of the first consensus node reaches a preset threshold, and
the first upper routing node is configured to verify whether the signature of the first common identification node received from each of the first routing nodes is correct, and transmit the cross-link transaction and the signature of the first upper routing node to a second upper routing node when the number of verified first routing nodes in the plurality of first routing nodes reaches a preset threshold.
4. The system of claim 3, wherein the first upper routing node is further configured to verify whether the hash values of the received cross-chain transactions from each of the first routing nodes are consistent, and to transmit the cross-chain transactions that have passed over duplication and the signature of the first upper routing node to the second upper routing node when the verification passes.
5. The system of claim 2, wherein,
the second blockchain network comprises a plurality of second routing nodes, each of the second routing nodes being in communication with a second upper routing node and being configured to individually obtain an execution result from the second blockchain network indicating that a cross-chain transaction is performed, request the plurality of second consensus nodes to sign the execution result, and transmit the execution result and the received signature of the second consensus node to the second upper routing node when the number of received signatures of the second consensus node reaches a preset threshold, and
the second upper layer routing node is configured to verify whether the signature of the second consensus node received from each of the second routing nodes is correct, and transmit an execution result and the signature of the second upper layer routing node to the first upper layer routing node when the number of verified second routing nodes in the plurality of second routing nodes reaches a preset threshold.
6. The system of claim 5, wherein the second upper level routing node is further configured to verify whether the hash values of the execution results received from each of the second routing nodes are consistent, and to transmit the re-weighted execution results and the signature of the second upper level routing node to the first upper level routing node when the verification passes.
7. The system of claim 1, wherein the upper blockchain network comprises a plurality of the first upper routing nodes that are trusted by the first blockchain network and that communicate with the first routing node.
8. The system of claim 7, wherein,
the first routing node is configured to transmit the cross-chain transaction and the received signature of the first consensus node to each of the plurality of the first upper routing nodes,
each of the plurality of first upper routing nodes is configured to individually verify whether the signature of the first consensus node received from the first routing node is correct and to transmit the cross-chain transaction and the signature of the first upper routing node to the second upper routing node when the verification is passed, and
the second upper routing node is configured to verify whether the signature of the first upper routing node received from each of the first upper routing nodes is correct, and transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the number of verified first upper routing nodes in the plurality of first upper routing nodes reaches a preset threshold.
9. The system of claim 8, wherein the second upper routing node is further configured to verify whether the hash values of the cross-chain transactions received from each of the first upper routing nodes are consistent, and to transmit the cross-chain transactions that are passed through the deduplication and the signature of the second upper routing node to the second routing node when the verification passes.
10. The system of claim 7, wherein the plurality of first upper routing nodes includes a first upper routing node configured to transmit the cross-chain transaction and the received signature of the first common node to the first upper routing node and a second first upper routing node configured to receive the cross-chain transaction from the first routing node and the received signature of the first common node from the first upper routing node, verify whether the received signature of the first common node is correct, and transmit the cross-chain transaction and the signature of the second first upper routing node to the first upper routing node upon passing of the verification, the first upper routing node is configured to transmit the cross-chain transaction and the signature of the second first upper routing node and the signature of the first upper routing node to the second upper routing node.
11. The system of claim 1, wherein the upper blockchain network comprises a plurality of the second upper routing nodes that are trusted by the second blockchain network and that communicate with the second routing node.
12. The system of claim 11, wherein,
the first upper routing node is configured to transmit a cross-chain transaction and a signature of the first upper routing node to each of the plurality of second upper routing nodes,
each of the plurality of second upper routing nodes is configured to individually verify whether the signature of the first upper routing node received from the first upper routing node is correct and transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification passes, and
the second routing node is configured to verify whether a signature of the second upper routing node received from each of the second upper routing nodes is correct, and broadcast the cross-chain transaction in the second blockchain network when the number of verified second upper routing nodes in the plurality of second upper routing nodes reaches a preset threshold value, so that the master node in the plurality of second common identification nodes of the second blockchain network receives and executes the cross-chain transaction.
13. The system of claim 12, wherein the second routing node is further configured to verify whether the hash values of the cross-chain transactions received from each of the second upper routing nodes are consistent, and upon verification, broadcast the cross-chain transactions that are subject to the past duplication in the second blockchain network, such that the master node of the plurality of second consensus nodes of the second blockchain network receives and executes the cross-chain transactions.
14. The system of claim 11, wherein the plurality of second upper routing nodes includes a first second upper routing node configured to transmit the cross-link transaction and the signature of the first upper routing node to the first second upper routing node, and a second upper routing node configured to receive the cross-link transaction and the signature of the first upper routing node from the first second upper routing node, verify that the received signature of the first upper routing node is correct, and transmitting the cross-chain transaction and the signature of the second upper routing node to the first second upper routing node when the verification passes, the first second upper routing node being configured to transmit the cross-chain transaction and the signature of the second upper routing node and the signature of the first second upper routing node to the second routing node.
15. The system of claim 1, wherein each of the first and second blockchain networks registers with a respective one of the first and second upper routing nodes upon accessing the upper blockchain network, and obtains a network identification assigned by the respective one of the first and second upper routing nodes upon successful registration.
16. The system of claim 15, wherein the cross-chain transaction includes a network identification of the first blockchain network as the sender and a network identification of the second blockchain network as the receiver, and the first upper routing node is configured to query a second upper routing node trusted by the second blockchain network in the upper blockchain network based on the network identification of the second blockchain network included in the cross-chain transaction and transmit the cross-chain transaction and the signature of the first upper routing node to the second upper routing node.
17. The system of claim 1, further comprising:
a first sub-blockchain network that is an underlying blockchain network of the first blockchain network and that includes a plurality of first sub-consensus nodes in communication with each other; and
a second sub-blockchain network that is an underlying blockchain network of the first blockchain network and that includes a plurality of second sub-consensus nodes in communication with each other.
18. The system of claim 17, wherein the first and second blockchain networks each trust a first routing node of the first blockchain network, the plurality of first sub-consensus nodes each communicate with the first routing node, and the plurality of second sub-consensus nodes each communicate with the first routing node,
wherein the first routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the second sub-blockchain network, request and verify a signature of the plurality of first sub-consensus nodes on the cross-chain transaction, and transmit the cross-chain transaction and the signature of the first routing node to a second sub-consensus node in the second sub-blockchain network when the verification passes, and
the second sub-consensus node is configured to verify whether the signature of the first routing node received from the first routing node is correct and to broadcast the cross-chain transaction in the second sub-blockchain network upon passing the verification, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
19. The system of claim 17, wherein the first blockchain network includes a first routing node that is trusted by the first sub-blockchain network and that communicates with the first plurality of sub-consensus nodes and a second routing node that is trusted by the second sub-blockchain network and that communicates with the second plurality of sub-consensus nodes,
wherein the first routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the second sub-blockchain network, request and verify a signature of the plurality of first sub-consensus nodes for the cross-chain transaction, and transmit the cross-chain transaction and the signature of the first routing node to the second first routing node when the verification passes,
the second first routing node is configured to verify whether the signature of the first routing node received from the first routing node is correct and to transmit the cross-chain transaction and the signature of the second first routing node to a second sub-consensus node in the second sub-blockchain network when the verification passes, and
the second sub-consensus node is configured to verify whether a signature of the second first routing node received from the second first routing node is correct and to broadcast the cross-chain transaction in the second sub-blockchain network when the verification is passed, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
20. The system of claim 17, wherein the first sub-blockchain network further includes a first sub-routing node in communication with the first plurality of sub-consensus nodes, the second sub-blockchain network further includes a second sub-routing node in communication with the second plurality of sub-consensus nodes, the first and second sub-blockchain networks each trusting a first routing node of the first sub-blockchain network, the first and second sub-routing nodes each communicating with the first routing node,
wherein the first sub-routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the second sub-blockchain network, request the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold,
wherein the first routing node is configured to verify whether the signature of the first sub-consensus node received from the first sub-routing node is correct, and to transmit the cross-chain transaction and the signature of the first routing node to the second sub-routing node when the verification passes,
wherein the second sub-routing node is configured to verify whether the signature of the first routing node received from the first routing node is correct, and to broadcast the cross-chain transaction in the second sub-blockchain network when the verification is passed, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
21. The system of claim 17, wherein the first sub-blockchain network further comprises a first sub-routing node in communication with the first plurality of sub-consensus nodes, the second sub-blockchain network further comprises a second sub-routing node in communication with the second plurality of sub-consensus nodes, the first blockchain network comprising a first routing node that is trusted by the first sub-blockchain network and that communicates with the first sub-routing node and a second first routing node that is trusted by the second sub-blockchain network and that communicates with the second sub-routing node,
wherein the first sub-routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the second sub-blockchain network, request the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold,
wherein the first routing node is configured to verify whether the signature of the first sub-consensus node received from the first sub-routing node is correct and to transmit the cross-chain transaction and the signature of the first routing node to the second first routing node when the verification is passed,
wherein the second first routing node is configured to verify whether the signature of the first routing node received from the first routing node is correct and to transmit the cross-chain transaction and the signature of the second first routing node to the second child routing node when the verification passes, and
wherein the second sub-routing node is configured to verify whether a signature of the second first routing node received from the second first routing node is correct, and to broadcast the cross-chain transaction in the second sub-blockchain network when the verification is passed, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
22. The system of claim 1, further comprising:
a first sub-blockchain network that is an underlying blockchain network of the first blockchain network and that includes a plurality of first sub-consensus nodes in communication with each other; and
a third sub-blockchain network that is an underlying blockchain network of the second blockchain network and that includes a plurality of third sub-consensus nodes in communication with each other.
23. The system of claim 22, wherein a first sub-blockchain network trusts a first routing node of the first blockchain network and the plurality of first sub-consensus nodes each communicate with the first routing node, a third sub-blockchain network trusts a second routing node of the second blockchain network and the plurality of third sub-consensus nodes each communicate with the second routing node,
wherein the first routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the third sub-blockchain network, request and verify a signature of the plurality of first sub-consensus nodes for the cross-chain transaction, and transmit the cross-chain transaction and the signature of the first routing node to the first upper routing node when the verification passes,
wherein the first upper routing node is configured to verify whether the signature of the first routing node received from the first routing node is correct, and to transmit the cross-chain transaction and the signature of the first upper routing node to the second upper routing node when the verification passes,
wherein the second upper routing node is configured to verify whether the signature of the first upper routing node received from the first upper routing node is correct, and to transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification passes,
the second routing node is configured to verify whether a signature of the second upper routing node received from the second upper routing node is correct, and transmit the cross-chain transaction and the signature of the second routing node to a third child consensus node in a third child blockchain network when the verification passes, and
the third sub-consensus node is configured to verify whether the signature of the second routing node received from the second routing node is correct and to broadcast the cross-chain transaction in the third sub-blockchain network when the verification is passed, such that a master node of the plurality of third sub-consensus nodes of the third sub-blockchain network receives and executes the cross-chain transaction.
24. The system of claim 22, wherein the first sub-blockchain network further includes a first sub-routing node in communication with the first plurality of sub-common identification nodes, the first sub-blockchain network trusting a first routing node of the first blockchain network and the first sub-routing node communicating with the first routing node, the third sub-blockchain network further includes a third sub-routing node in communication with the third plurality of sub-common identification nodes, the third sub-blockchain network trusting a second routing node of the second blockchain network and the third sub-routing node communicating with the second routing node,
wherein the first sub-routing node is configured to obtain a cross-chain transaction from the first sub-blockchain network to be performed in the third sub-blockchain network, request the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmit the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold,
wherein the first routing node is configured to verify whether the signature of the first sub-consensus node received from the first sub-routing node is correct, and to transmit the cross-chain transaction and the signature of the first routing node to the first upper routing node when the verification passes,
wherein the first upper routing node is configured to verify whether the signature of the first routing node received from the first routing node is correct, and to transmit the cross-chain transaction and the signature of the first upper routing node to the second upper routing node when the verification passes,
wherein the second upper routing node is configured to verify whether the signature of the first upper routing node received from the first upper routing node is correct, and to transmit the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification passes,
wherein the second routing node is configured to verify whether the signature of the second upper routing node received from the second upper routing node is correct and to transmit the cross-chain transaction and the signature of the second routing node to the third child routing node when the verification passes, and
wherein the third sub-routing node is configured to verify whether the signature of the second routing node received from the second routing node is correct, and to broadcast the cross-chain transaction in the third sub-blockchain network when the verification is passed, such that the master node of the plurality of third sub-consensus nodes of the third sub-blockchain network receives and executes the cross-chain transaction.
25. A method for interacting across blockchains, comprising:
obtaining, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be executed in a second blockchain network, requesting a plurality of first common nodes of the first blockchain network to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first common node to a first upper routing node of the upper blockchain networks of the first blockchain network and the second blockchain network, the first upper routing node being trusted by the first blockchain network, when the number of received signatures of the first common nodes reaches a preset threshold;
verifying whether the signature of the first common identification node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node of the upper blockchain network, wherein the second upper routing node is trusted by the second blockchain network;
verifying whether the signature of the first upper layer routing node received from the first upper layer routing node is correct or not through the second upper layer routing node, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to the second routing node of the second block chain network when the signature passes the verification; and
and verifying whether the signature of the second upper layer routing node received from the second upper layer routing node is correct or not through the second routing node, and broadcasting the cross-chain transaction in the second block chain network when the signature passes through the verification, so that the main node in a plurality of second common identification nodes of the second block chain network receives and executes the cross-chain transaction.
26. The method of claim 25, further comprising:
obtaining, by a second routing node, an execution result indicating that a cross-link transaction is executed from a second blockchain network, requesting the plurality of second consensus nodes to sign the execution result, and transmitting the execution result and the received signature of the second consensus node to a second upper routing node when the number of received signatures of the second consensus nodes reaches a preset threshold;
verifying whether the signature of the second consensus node received from the second routing node is correct or not through the second upper routing node, and transmitting the execution result and the signature of the second upper routing node to the first upper routing node when the verification is passed;
verifying whether the signature of the second upper layer routing node received from the second upper layer routing node is correct or not through the first upper layer routing node, and transmitting an execution result and the signature of the first upper layer routing node to the first routing node when the verification is passed; and
verifying, by the first routing node, whether the signature of the first upper routing node received from the first upper routing node is correct, and broadcasting the execution result in the first blockchain network when the verification is passed.
27. The method of claim 25, wherein a first blockchain network includes a plurality of the first routing nodes, and the method comprises:
obtaining, by each of the first routing nodes, a cross-chain transaction from a first blockchain network to be executed in a second blockchain network, requesting the plurality of first common node to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first common node to a first upper routing node when the number of received signatures of the first common node reaches a preset threshold; and
verifying whether the signature of the first common identification node received from each first routing node is correct through the first upper routing node, and transmitting the cross-link transaction and the signature of the first upper routing node to a second upper routing node when the number of the verified first routing nodes in the plurality of first routing nodes reaches a preset threshold value.
28. The method of claim 27, further comprising:
verifying whether the hash values of the cross-chain transactions received from each first routing node are consistent or not through the first upper routing node, and transmitting the cross-chain transactions subjected to the past weight and the signature of the first upper routing node to a second upper routing node when the verification is passed.
29. The method of claim 26, wherein a second blockchain network comprises a plurality of the second routing nodes, and the method comprises:
obtaining, by each second routing node individually, an execution result indicating that a cross-chain transaction is executed from a second blockchain network, requesting the plurality of second consensus nodes to sign the execution result, and transmitting the execution result and the received signature of the second consensus node to a second upper routing node when the number of received signatures of the second consensus nodes reaches a preset threshold; and
and verifying whether the signature of the second consensus node received from each second routing node is correct or not through a second upper routing node, and transmitting an execution result and the signature of the second upper routing node to the first upper routing node when the number of the verified second routing nodes in the plurality of second routing nodes reaches a preset threshold value.
30. The method of claim 29, further comprising:
and verifying whether the hash values of the execution results received from each second routing node are consistent or not by the second upper routing node, and transmitting the repeated execution results and the signature of the second upper routing node to the first upper routing node when the verification is passed.
31. The method of claim 25, wherein the upper blockchain network includes a plurality of the first upper routing nodes that are trusted by the first blockchain network and that communicate with the first routing node.
32. The method of claim 31, comprising:
transmitting, by a first routing node, a cross-chain transaction and a received signature of a first consensus node to each of the plurality of first upper routing nodes;
individually verifying, by each of the plurality of the first upper routing nodes, whether the signature of the first consensus node received from the first routing node is correct and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node when the verification passes; and
verifying whether the signature of the first upper layer routing node received from each first upper layer routing node is correct through a second upper layer routing node, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to the second routing node when the number of the verified first upper layer routing nodes in the plurality of first upper layer routing nodes reaches a preset threshold value.
33. The method of claim 32, further comprising:
and verifying whether the hash values of the cross-chain transactions received from each first upper routing node are consistent or not through a second upper routing node, and transmitting the cross-chain transactions subjected to the repeated verification and the signature of the second upper routing node to the second routing node when the verification is passed.
34. The method of claim 31, wherein the plurality of first upper routing nodes comprises first and second first upper routing nodes, and the method comprises:
transmitting, by the first routing node, the cross-chain transaction and the received signature of the first consensus node to a first upper routing node;
receiving, by the second first upper routing node from the first upper routing node, the cross-link transaction from the first routing node and the received signature of the first common node, verifying whether the received signature of the first common node is correct, and transmitting the cross-link transaction and the signature of the second first upper routing node to the first upper routing node when the verification is passed; and
the cross-chain transaction and the signature of the second first upper routing node and the signature of the first upper routing node are transmitted to the second upper routing node by the first upper routing node.
35. The method of claim 25, wherein the upper blockchain network includes a plurality of the second upper routing nodes that are trusted by the second blockchain network and communicate with the second routing node.
36. The method of claim 35, comprising:
transmitting, by a first upper routing node, a cross-chain transaction and a signature of the first upper routing node to each of the plurality of second upper routing nodes;
individually verifying, by each of the plurality of second upper routing nodes, whether the signature of the first upper routing node received from the first upper routing node is correct and transmitting the cross-chain transaction and the signature of the second upper routing node to the second routing node when the verification passes; and
verifying, by the second routing node, whether the signature of the second upper layer routing node received from each second upper layer routing node is correct, and broadcasting the cross-chain transaction in the second blockchain network when the number of verified second upper layer routing nodes in the plurality of second upper layer routing nodes reaches a preset threshold value, so that the master node in the plurality of second common identification nodes of the second blockchain network receives and executes the cross-chain transaction.
37. The method of claim 36, further comprising:
verifying, by the second routing node, whether the hash values of the cross-chain transactions received from each of the second upper routing nodes are consistent, and broadcasting the cross-chain transactions subjected to the past duplication in the second blockchain network when the verification is passed, so that the master node of the plurality of second common nodes of the second blockchain network receives and executes the cross-chain transactions.
38. The method of claim 35, wherein the plurality of second upper routing nodes comprises a first second upper routing node and a second upper routing node, and the method comprises:
transmitting the cross-chain transaction and the signature of the first upper routing node to a first second upper routing node through the first upper routing node;
receiving, by a second upper routing node from a first second upper routing node, a cross-chain transaction and a signature of the first upper routing node from the first upper routing node, verifying whether the received signature of the first upper routing node is correct, and transmitting the cross-chain transaction and the signature of the second upper routing node to the first second upper routing node when the verification is passed; and
the cross-chain transaction and the signature of the second upper layer routing node and the signature of the first upper layer routing node are transmitted to the second routing node by the first upper layer routing node.
39. The method of claim 25, wherein each of the first and second blockchain networks registers with a respective one of the first and second upper routing nodes upon accessing the upper blockchain network, and obtains the network identification assigned by the respective one of the first and second upper routing nodes upon successful registration.
40. The method of claim 39, wherein the cross-chain transaction comprises a network identification of a first blockchain network as a sender and a network identification of a second blockchain network as a receiver, and the method comprises:
and querying a second upper layer routing node trusted by the second blockchain network in the upper layer blockchain network through the first upper layer routing node according to the network identifier of the second blockchain network included in the cross-chain transaction, and transmitting the cross-chain transaction and the signature of the first upper layer routing node to the second upper layer routing node.
41. The method of claim 25, wherein the lower blockchain network of the first blockchain network comprises a first sub-blockchain network comprising a plurality of first sub-consensus nodes in communication with each other and a second sub-blockchain network comprising a plurality of second sub-consensus nodes in communication with each other.
42. The method of claim 41, wherein the first and second blockchain networks each trust a first routing node of the first blockchain network, the plurality of first sub-consensus nodes each communicate with the first routing node, and the plurality of second sub-consensus nodes each communicate with the first routing node, and the method comprises:
obtaining, by a first routing node, a cross-chain transaction from a first sub-blockchain network to be performed in a second sub-blockchain network, requesting and verifying a signature of the plurality of first sub-consensus nodes for the cross-chain transaction, and transmitting the cross-chain transaction and the signature of the first routing node to a second sub-consensus node in the second sub-blockchain network when the verification passes; and
verifying, by the second sub-consensus node, whether the signature of the first routing node received from the first routing node is correct, and broadcasting the cross-chain transaction in the second sub-blockchain network when the verification is passed, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
43. The method of claim 41, wherein the first blockchain network includes a first routing node that is trusted by the first blockchain network and that communicates with the first plurality of sub-consensus nodes and a second routing node that is trusted by the second blockchain network and that communicates with the second plurality of sub-consensus nodes, and the method comprises:
obtaining, by a first routing node, a cross-chain transaction from a first sub-blockchain network to be performed in a second sub-blockchain network, requesting and verifying a signature of the plurality of first sub-consensus nodes for the cross-chain transaction, and transmitting the cross-chain transaction and the signature of the first routing node to a second first routing node when the verification passes;
verifying whether the signature of the first routing node received from the first routing node is correct or not through the second first routing node, and transmitting the cross-chain transaction and the signature of the second first routing node to a second sub-consensus node in the second sub-block-chain network when the verification is passed; and
verifying, by the second sub-block chain network, whether the signature of the second first routing node received from the second first routing node is correct, and broadcasting the cross-chain transaction in the second sub-block chain network when the verification is passed, so that the master node of the plurality of second sub-block chain nodes of the second sub-block chain network receives and executes the cross-chain transaction.
44. The method of claim 41, wherein the first sub-blockchain network further includes a first sub-routing node in communication with the first plurality of sub-consensus nodes, the second sub-blockchain network further includes a second sub-routing node in communication with the second plurality of sub-consensus nodes, the first and second sub-blockchain networks each trust the first routing node of the first sub-blockchain network, the first and second sub-routing nodes each communicate with the first routing node, and the method comprises:
obtaining, by a first sub-routing node, a cross-chain transaction to be executed in a second sub-blockchain network from the first sub-blockchain network, requesting the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold;
verifying whether the signature of the first sub-common identification node received from the first sub-routing node is correct or not through the first routing node, and transmitting the cross-chain transaction and the signature of the first routing node to the second sub-routing node when the verification is passed; and
verifying, by the second sub-routing node, whether the signature of the first routing node received from the first routing node is correct, and broadcasting the cross-chain transaction in the second sub-blockchain network when the verification is passed, such that a master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
45. The method of claim 41, wherein the first sub-blockchain network further comprises a first sub-routing node in communication with the first plurality of sub-consensus nodes, the second sub-blockchain network further comprises a second sub-routing node in communication with the second plurality of sub-consensus nodes, the first blockchain network comprises a first routing node that is trusted by the first sub-blockchain network and that is in communication with the first sub-routing node and a second first routing node that is trusted by the second sub-blockchain network and that is in communication with the second sub-routing node, and the method comprises:
obtaining, by a first sub-routing node, a cross-chain transaction from a first sub-blockchain network to be executed in a second sub-blockchain network, requesting the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold;
verifying whether the signature of the first sub common identification node received from the first sub routing node is correct or not through the first routing node, and transmitting the cross-chain transaction and the signature of the first routing node to a second first routing node when the verification is passed;
verifying whether the signature of the first routing node received from the first routing node is correct or not through the second routing node, and transmitting the cross-chain transaction and the signature of the second routing node to the second sub-routing node when the verification is passed; and
verifying, by the second sub-routing node, whether the signature of the second first routing node received from the second first routing node is correct, and broadcasting the cross-chain transaction in the second sub-blockchain network when the verification is passed, so that the master node of the plurality of second sub-consensus nodes of the second sub-blockchain network receives and executes the cross-chain transaction.
46. The method of claim 25, wherein the lower blockchain network of the first blockchain network comprises a first sub-blockchain network including a first plurality of sub-consensus nodes in communication with each other, and the lower blockchain network of the second blockchain network comprises a third sub-blockchain network including a third plurality of sub-consensus nodes in communication with each other.
47. The method of claim 46, wherein the first blockchain network trusts a first routing node of the first blockchain network and the plurality of first sub-consensus nodes each communicate with the first routing node, the third blockchain network trusts a second routing node of the second blockchain network and the plurality of third sub-consensus nodes each communicate with the second routing node, and the method comprises:
obtaining, by the first routing node, a cross-chain transaction from the first sub-blockchain network to be performed in the third sub-blockchain network, requesting and verifying a signature of the plurality of first sub-consensus nodes for the cross-chain transaction, and transmitting the cross-chain transaction and the signature of the first routing node to the first upper routing node when the verification passes;
verifying whether the signature of the first routing node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-link transaction and the signature of the first upper routing node to a second upper routing node when the signature passes the verification;
verifying whether the signature of the first upper routing node received from the first upper routing node is correct or not through the second upper routing node, and transmitting the cross-link transaction and the signature of the second upper routing node to the second routing node when the signature passes the verification;
verifying whether the signature of the second upper layer routing node received from the second upper layer routing node is correct or not through the second routing node, and transmitting the cross-chain transaction and the signature of the second routing node to a third sub-consensus node in a third sub-block chain network when the verification is passed; and
and verifying whether the signature of the second routing node received from the second routing node is correct through the third sub-consensus node, and broadcasting the cross-chain transaction in the third sub-blockchain network when the signature passes the verification, so that the main node in the plurality of third sub-consensus nodes of the third sub-blockchain network receives and executes the cross-chain transaction.
48. The method of claim 46 wherein the first sub-blockchain network further includes a first sub-routing node in communication with the first plurality of sub-common identification nodes, the first sub-blockchain network trusts a first routing node of the first blockchain network and the first sub-routing node communicates with the first routing node, the third sub-blockchain network further includes a third sub-routing node in communication with the third plurality of sub-common identification nodes, the third sub-blockchain network trusts a second routing node of the second blockchain network and the third sub-routing node communicates with the second routing node, and the method comprises:
obtaining, by a first sub-routing node, a cross-chain transaction from a first sub-blockchain network to be executed in a third sub-blockchain network, requesting the plurality of first sub-consensus nodes to sign the cross-chain transaction, and transmitting the cross-chain transaction and the received signature of the first sub-consensus node to the first routing node when the number of received signatures of the first sub-consensus node reaches a preset threshold;
verifying whether the signature of the first sub common identification node received from the first sub routing node is correct or not through the first routing node, and transmitting the cross-link transaction and the signature of the first routing node to the first upper routing node when the verification is passed;
verifying whether the signature of the first routing node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-link transaction and the signature of the first upper routing node to a second upper routing node when the signature passes the verification;
verifying whether the signature of the first upper routing node received from the first upper routing node is correct or not through the second upper routing node, and transmitting the cross-link transaction and the signature of the second upper routing node to the second routing node when the signature passes the verification;
verifying whether the signature of the second upper layer routing node received from the second upper layer routing node is correct or not through the second routing node, and transmitting the cross-chain transaction and the signature of the second routing node to a third sub-routing node when the verification is passed; and
verifying whether the signature of the second routing node received from the second routing node is correct through the third sub-routing node, and broadcasting the cross-chain transaction in the third sub-blockchain network when the signature passes through the third sub-routing node, so that the main node in the plurality of third sub-consensus nodes of the third sub-blockchain network receives and executes the cross-chain transaction.
49. An apparatus for interacting across a blockchain, comprising:
a collection module configured to obtain, by a first routing node of a first blockchain network, a cross-chain transaction from the first blockchain network to be performed in a second blockchain network, request a plurality of first consensus nodes of the first blockchain network to sign the cross-chain transaction;
a transmission module configured to:
transmitting, by the first routing node, the cross-chain transaction and the received signature of the first consensus node to a first upper routing node of an upper blockchain network of the first blockchain network and the second blockchain network that is trusted by the first blockchain network when the number of received signatures of the first consensus node reaches a preset threshold;
verifying whether the signature of the first common identification node received from the first routing node is correct or not through the first upper routing node, and transmitting the cross-chain transaction and the signature of the first upper routing node to a second upper routing node of the upper blockchain network, wherein the second upper routing node is trusted by the second blockchain network; and
verifying whether the signature of the first upper layer routing node received from the first upper layer routing node is correct or not through the second upper layer routing node, and transmitting the cross-chain transaction and the signature of the second upper layer routing node to the second routing node of the second block chain network when the signature passes the verification; and
and the execution module is configured to verify whether the signature of the second upper layer routing node received from the second upper layer routing node is correct or not through the second routing node, and broadcast the cross-chain transaction in the second blockchain network when the signature passes the verification, so that a main node in a plurality of second common identification nodes of the second blockchain network receives and executes the cross-chain transaction.
50. A computing device for interacting across blockchains, comprising:
one or more processors; and
memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any one of claims 25-48.
51. A non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform the method of any of claims 25-48.
CN202210465212.1A 2022-04-29 2022-04-29 System and method for cross-blockchain interactions Active CN114844904B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210465212.1A CN114844904B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210465212.1A CN114844904B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions

Publications (2)

Publication Number Publication Date
CN114844904A true CN114844904A (en) 2022-08-02
CN114844904B CN114844904B (en) 2024-03-29

Family

ID=82567648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210465212.1A Active CN114844904B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions

Country Status (1)

Country Link
CN (1) CN114844904B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207083A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interaction

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266655A (en) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 A kind of across chain interconnected method, equipment and system based on block chain
WO2019211225A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN112200682A (en) * 2020-12-04 2021-01-08 腾讯科技(深圳)有限公司 Block chain-based cross-chain transaction method and device and computer-readable storage medium
WO2021136251A1 (en) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 Cross-blockchain communication method and apparatus, cross-chain service system and cross-chain transaction system
CN113259460A (en) * 2021-06-02 2021-08-13 支付宝(杭州)信息技术有限公司 Cross-chain interaction method and device
CN113657900A (en) * 2021-07-13 2021-11-16 中国人民银行数字货币研究所 Cross-chain transaction verification method and system and cross-chain transaction system
CN114221972A (en) * 2020-09-03 2022-03-22 中国电信股份有限公司 Relay blockchain system and cross-chain transaction method
CN114240439A (en) * 2022-02-28 2022-03-25 北京邮电大学 Cross-chain transaction rollback method and device based on threshold signature and double-hash chain mode

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019211225A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN110266655A (en) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 A kind of across chain interconnected method, equipment and system based on block chain
WO2021136251A1 (en) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 Cross-blockchain communication method and apparatus, cross-chain service system and cross-chain transaction system
CN114221972A (en) * 2020-09-03 2022-03-22 中国电信股份有限公司 Relay blockchain system and cross-chain transaction method
CN112200682A (en) * 2020-12-04 2021-01-08 腾讯科技(深圳)有限公司 Block chain-based cross-chain transaction method and device and computer-readable storage medium
CN113259460A (en) * 2021-06-02 2021-08-13 支付宝(杭州)信息技术有限公司 Cross-chain interaction method and device
CN113657900A (en) * 2021-07-13 2021-11-16 中国人民银行数字货币研究所 Cross-chain transaction verification method and system and cross-chain transaction system
CN114240439A (en) * 2022-02-28 2022-03-25 北京邮电大学 Cross-chain transaction rollback method and device based on threshold signature and double-hash chain mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023207083A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interaction

Also Published As

Publication number Publication date
CN114844904B (en) 2024-03-29

Similar Documents

Publication Publication Date Title
CN114793235B (en) System and method for cross-blockchain interactions
WO2022121538A1 (en) Data synchronization method and system based on blockchain, and related device
WO2021082340A1 (en) Data processing method, apparatus, system, and storage medium
CN114785804B (en) System and method for cross-blockchain interactions
CN111222109A (en) Operation method of block chain account, node equipment and storage medium
CN110400217B (en) Rule change processing method and device for intelligent contract
KR101976787B1 (en) Method for distributing an electronic document using a smart contract in a blockchain
CN113518005B (en) Block consensus method, device, equipment and storage medium
CN113570479B (en) Block chain transmission method, system and storage medium for real estate transaction data
CN110910000A (en) Block chain asset management method and device
WO2023160089A1 (en) Message broadcasting method for blockchain network, and blockchain node and blockchain system
WO2023040453A1 (en) Transaction information processing method and apparatus
CN114844904A (en) System and method for cross-block chain interaction
CN115099815A (en) Data verification method and block link point
CN113409047B (en) Data processing method, device and equipment based on block chain and readable storage medium
CN110784324B (en) Node admission method and device
Krummacker et al. DLT architectures for trust anchors in 6G
WO2023092986A1 (en) Cross-chain data transfer method and system based on decentralized identity identifier
WO2023019903A1 (en) Cross-chain transaction system and method, and device and storage medium
CN114844905B (en) System and method for cross-blockchain interactions
CN115545683A (en) Block chain-based electronic ticket processing method and device
Zeuch et al. Derivation of categories for interoperability of blockchain-and distributed ledger systems
CN115174572B (en) Data multicasting method in blockchain, blockchain node and storage medium
CN114338669B (en) Block chain-based data transmission method, device, equipment and storage medium
CN113987071A (en) HyperLegger Fabric-based external bridging and chain-crossing method, device, equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant