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

System and method for cross-block chain interaction Download PDF

Info

Publication number
CN114793235A
CN114793235A CN202210466073.4A CN202210466073A CN114793235A CN 114793235 A CN114793235 A CN 114793235A CN 202210466073 A CN202210466073 A CN 202210466073A CN 114793235 A CN114793235 A CN 114793235A
Authority
CN
China
Prior art keywords
routing node
blockchain network
network
cross
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
CN202210466073.4A
Other languages
Chinese (zh)
Other versions
CN114793235B (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 CN202210466073.4A priority Critical patent/CN114793235B/en
Publication of CN114793235A publication Critical patent/CN114793235A/en
Priority to PCT/CN2022/135558 priority patent/WO2023207085A1/en
Application granted granted Critical
Publication of CN114793235B publication Critical patent/CN114793235B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Peptides Or Proteins (AREA)

Abstract

The present disclosure relates to systems and methods for cross blockchain interaction. The system includes a first blockchain network, a second blockchain network, and an upper blockchain network configured to manage consensus nodes of each of the first and second blockchain networks by chain-crediting in the upper blockchain network changes of the consensus nodes of each of the first and second blockchain networks.

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 blocks are respectively recorded with time stamps corresponding to the creation time of the block, and all the blocks form a time-ordered data chain strictly according to the time stamps recorded in the blocks. 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 many fields such as finance, logistics, supply chain, medical treatment, judicial law, asset management, etc. 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 common 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 including a first upper routing node trusted by the first blockchain network and in communication with the first routing node, a second upper routing node trusted by the second blockchain network and in communication with the second routing node, and a plurality of upper consensus nodes, the first upper routing node, the second upper routing node and the plurality of upper consensus nodes being in communication with each other, wherein the upper blockchain network is configured to manage the consensus nodes of each of the first blockchain network and the second blockchain network by chain-crediting changes of the consensus nodes of each of the first blockchain network and the second blockchain network in the upper blockchain network.
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 performed in a second blockchain network and transmitting the cross-chain transaction to a first upper routing node of the first blockchain network and an upper blockchain network of the second blockchain network that is trusted by the first blockchain network; transmitting, by a first upper routing node, a cross-chain transaction received from the first routing node to a second upper routing node of the upper blockchain network that is trusted by a second blockchain network; transmitting, by a second upper routing node, the cross-chain transaction received from the first upper routing node to a second routing node of a second blockchain network; and broadcasting, by the second routing node, the cross-chain transaction received from the second upper routing node in the second blockchain network such that a plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction, wherein the upper blockchain network is configured to manage the consensus nodes of each of the first and second blockchain networks by chain-crediting in the upper blockchain network changes of the consensus nodes of each of the first and second blockchain networks.
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; a transmission module configured to transmit, by a first routing node, a cross-chain transaction to a first upper layer routing node of an upper layer blockchain network of a first blockchain network and a second blockchain network that is trusted by the first blockchain network, transmit, by the first upper layer routing node, the cross-chain transaction received from the first routing node to a second upper layer routing node of the upper layer blockchain network that is trusted by the second blockchain network, and transmit, by the second upper layer routing node, the cross-chain transaction received from the first upper layer routing node to a second routing node of the second blockchain network; and an execution module configured to broadcast, by the second routing node, the cross-chain transaction received from the second upper routing node in the second blockchain network such that a plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction, wherein the upper blockchain network is configured to manage the consensus nodes of each of the first and second blockchain networks by uplink crediting in the upper blockchain network a change of the consensus node of each of the first and second blockchain networks.
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 with reference to the accompanying drawings, in which:
fig. 1 is a schematic diagram of a system for cross blockchain interaction 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 cross blockchain interaction 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 flow diagram of a method for cross blockchain interaction in accordance with one or more exemplary embodiments of the present disclosure;
fig. 12 is a schematic block diagram of an apparatus for interacting across a blockchain in accordance with one or more exemplary embodiments of the present disclosure;
FIG. 13 is a schematic block diagram illustrating a computer system upon which one or more exemplary embodiments of the present disclosure may be implemented;
fig. 14 is a schematic block diagram of a computing device for cross blockchain interaction 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 should also 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 of ordinary skill in the art based on the embodiments in the present specification without making any creative effort shall fall within the protection scope 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 same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, 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, the connection between a and B, whether direct or indirect, is represented by a straight line or other graphic element connecting between a and B.
Herein, the term "a or B" includes "a and B" and "a or B" rather than exclusively including "a" or "B" only, unless specifically stated otherwise.
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: the network nodes in the block chain network have a complete copy of the ledger and have the ability to participate in block chain 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 having the ability to participate in blockchain network consensus and ledger maintenance, may sometimes be configured to have a complete ledger copy.
Chains of homogeneous blocks (also referred to herein simply as homogeneous chains): the block chains constructed based on the same block chain bottom technology platform have the same security mechanism, consensus algorithm, network topology and block generation verification logic among isomorphic chains, and generally adopt the same set of protocol, request format, verification mode and the like.
Heterogeneous blockchains (also referred to herein simply as heterogeneous chains): block chains constructed based on different block chain bottom technology platforms, security mechanisms, consensus algorithms, network topologies and block generation verification logics among heterogeneous chains are inconsistent, and different protocols, request formats, verification modes and the like are generally adopted. For example, bitcoin adopts a workload certification PoW consensus algorithm and alliance chain Fabric adopts a traditional deterministic consensus algorithm, and the block composition form and the deterministic assurance mechanism of the bitcoin and the traditional deterministic consensus algorithm are very different.
Performing cross-chain transaction: a transaction of one blockchain requires, during execution, either a call to an intelligent contract (which may also be referred to herein simply as a contract) deployed in another blockchain, or a contract execution result of another blockchain as input.
And (3) chain loading and certificate storing: after the common acknowledgement of each common node is successfully performed by each common node (i.e., "common uplink" or "uplink"), the result of the execution is available for future inquiry. This term may be used interchangeably herein with "co-identified chain".
With the increasing enlargement of the size of the block chain, the number of nodes added into the block chain 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 traffic perspective, some loosely coupled traffic does 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 simply as 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 achieve trust between lower-layer blockchain networks by allowing each lower-layer blockchain network to delegate a trust representative 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-10.
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 and second blockchain networks 1110, 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 trunk-chain network that is a master network of the large-scale blockchain network, and the first blockchain network 1110 and the second blockchain network 1120 may be different sub-networks of the trunk-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 also 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 located below the network layer. It is understood that the upper blockchain network 1100 and the first blockchain network 1110 and the second blockchain network 1120 can be respectively deployed in any two adjacent layers in the multi-layer blockchain network architecture as long as the upper blockchain network 1100 is an upper blockchain network common to the first blockchain network 1110 and the second blockchain 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. This can be achieved through a communication network dedicated to the block chain, or through other communication networks such as the internet.
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, which are responsible for the verification of the transaction and the chain of 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. This may be achieved through a communication network dedicated to the blockchain, or through other communication networks such as the internet.
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 in communication with the first routing node BR11 and a second upper routing node BR2 trusted by the second blockchain network 1120 and in communication with the second routing node BR 21. In addition, the upper-level blockchain network 1100 may further include a plurality of upper-level consensus nodes a1, a2, A3, a 4. The upper layer consensus nodes a1, a2, A3, a4 may be used to implement specific services of the upper layer blockchain network 1100, and are responsible for performing verification on transactions and performing uplink consensus. Although the number of upper level consensus nodes a1, a2, A3, a4 is illustrated as 4, this is merely exemplary and not limiting, and an actual upper level blockchain network 1100 may include any number of consensus nodes. The first upper routing node BR1, the second upper routing node BR2 and the upper consensus nodes a1, a2, A3, a4 communicate with each other. This can be achieved through a communication network dedicated to the block chain, or through other communication networks 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 inter-link requests between the lower blockchain networks and responding to requests by the lower blockchain network to the upper blockchain network 1100.
Each of the first and second blockchain networks 1110, 1120 may, upon accessing the upper layer blockchain network 1100, 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 upon successful registration. Since the first and second blockchain networks 1110 and 1120 are both registered under the upper blockchain network 1100, the first and second blockchain networks 1110 and 1120 are homogeneous. As a non-limiting example, four bytes may be used to represent the network identifier, where the first byte may represent the identifier of the uppermost (first layer) blockchain network (e.g., a relay chain network) node, and the subsequent bytes may represent the identifier of the lower layer network node (e.g., the second byte represents the identifier of the second layer network node, the third byte represents the identifier of the third layer network node, and the fourth byte represents the identifier of the fourth layer network node), and this way of identifying 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.
In addition, the upper blockchain network 1100 is further configured to manage the common node of each of the first blockchain network 1110 and the second blockchain network 1120 by linking up the chain in the upper blockchain network 1100 with a change of the common node of each of the first blockchain network 1110 and the second blockchain network 1120. That is, the upper-layer blockchain network 1100 can manage the node member information of all lower-layer blockchain networks registered thereunder, and any change (joining, exiting) of the nodes of the lower-layer blockchain network must be chain-certified in the upper-layer blockchain network 1100. In this way, any node of the upper layer blockchain network 1100 (e.g., the first upper layer routing node BR1, the second upper layer routing node BR2, the upper layer consensus nodes a1, a2, A3, a4) knows the node membership information of each lower layer blockchain network registered under the upper layer blockchain network 1100, and thus can perform Simple Payment Verification (SPV) of transactions of the lower layer blockchain network by way of verifying a signature set or an aggregate signature without maintaining on-chain data of the lower layer blockchain network.
In some embodiments, for each lower blockchain network of the upper blockchain network 1100, e.g., in fig. 1 for each of the first blockchain network 1110 and the second blockchain network 1120: when a new node is to join the blockchain network as a consensus node, the new node may be configured to acquire a certificate from the upper blockchain network 1100 and invoke in the blockchain network a first method for requesting joining the blockchain network of a first joining contract deployed in the blockchain network based on the acquired certificate (at this time, a state of the new node may be marked as "pending" and a formal consensus node of the blockchain network is not calculated), the blockchain network may be configured to invoke in the upper blockchain network 1100 a second joining contract deployed in the upper blockchain network 1100 in response to executing the first method to request the upper blockchain network 1100 to join the new node in the blockchain network, the upper blockchain network 1100 may be configured to link an execution result of the second joining contract in the upper blockchain network 1100 after executing the second joining contract (at this time, the node is marked as "join" in the upper blockchain network 1100) and transmits a ul certificate to the blockchain network, which may be configured to invoke the second method for confirming joining of the blockchain network of the first join contract in the blockchain network based on the ul certificate to set the new node as a consensus node of the blockchain network (at this time, the state of the new node may be marked as "active" to become a formal consensus node of the blockchain network). The aforementioned certificate may refer to an identity certificate (for example, public key information of the node may be included, or other information that can characterize the node identity, such as a node identification ID), which may be issued through a root of trust, for example. The new node needs a prior identity certificate to let the blockchain network know it and decide whether to allow it to join. Additionally, in some embodiments, for each lower blockchain network of the upper blockchain network 1100, such as in fig. 1 for each of the first blockchain network 1110 and the second blockchain network 1120: when the common node of the blockchain network is to exit the blockchain network, the common node may be configured to invoke a first exit contract deployed in the blockchain network to exit the blockchain network in the blockchain network (at which point the node may no longer participate in the common identification at once), the blockchain network may be configured to invoke a second exit contract deployed in the upper blockchain network 1100 in response to executing the first exit contract in the upper blockchain network 1100 to request the common node to exit the blockchain network from the upper blockchain network 1100, and the upper blockchain network 1100 may be configured to uplink the common node in the upper blockchain network 1100 as a result of executing the second exit contract after executing the second exit contract (at which point the node is marked as "exit" in the upper blockchain network 1100).
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. The upper blockchain network 1100 does not need to know the on-chain data of each of the first blockchain network 1110 and the second blockchain network 1120 but only needs to manage the node member information of each of the first blockchain network 1110 and the second blockchain network 1120. Since the first upper routing node BR1 knows both the node membership information of the first blockchain network 1110 and the node membership information of the second blockchain network 1120, and the second upper routing node BR2 knows both the node membership information of the second blockchain network 1120 and the node membership information of the first blockchain network 1110, cross-chain interactions between the first blockchain network 1110 and the second blockchain network 1120 can be endorsed by upper routing nodes that are trusted by the first blockchain network 1110 and the second blockchain network 1120, respectively. One of the first blockchain network 1110 and the second blockchain network 1120 can interact with each other across chains without knowing the data and node membership information on the chain of the other of the first blockchain network 1110 and the second blockchain network 1120. Thus, 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. Thus, it is possible to promote cross-link 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 an opposite party only needs to know information required for performing a requested cross-link transaction and does not know other information of the opposite party, and data maintenance burden of each node of the upper blockchain network 1100, the first blockchain network 1110, and the second blockchain network 1120 can be reduced.
Continuing next with reference to fig. 1, an example process of cross-chain interaction from a first blockchain network 1110 to a second blockchain network 1120 is described. As shown in fig. 1, when a first blockchain network 1110 initiates a cross-chain transaction to be performed in a second blockchain network 1120: the first routing node BR11 may be configured to obtain a cross-chain transaction msg _ req from the first blockchain network 1110 to be performed in the second blockchain network 1120 and transmit the cross-chain transaction msg _ req to a first upper routing node BR 1. 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. In some examples, the first routing node BR11 may itself also be a full node. 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 package-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 be further configured to construct a cross-chain transaction into a particular cross-chain message format for cross-chain interaction. Next, the first upper level routing node BR1 may be configured to transmit the cross-chain transaction msg _ req received from the first routing node BR11 to a second upper level routing node BR 2. The second upper routing node BR2 may be configured to transmit the cross-chain transaction msg _ req received from the first upper routing node BR1 to the second routing node BR 21. The second routing node BR21 may be configured to broadcast a cross-chain transaction msg _ req received from a second upper routing node BR2 in the second blockchain network 1120 such that the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120 receive and execute the cross-chain transaction. In some embodiments, the cross-chain transaction may be received and executed by a master node of the plurality of second consensus nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120, which may be determined by a 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.
In transferring the cross-chain transaction from the first blockchain network 1110 to the second blockchain network 1120, neither the first consensus nodes of the first blockchain network 1110 are required to be signed, nor are the routing nodes that are routed through required to verify the cross-chain transaction and/or sign their own signature. In fact, as long as the node that generates the request for the cross-chain transaction has a legitimate identity in the network architecture of the upper blockchain network 1100, that node may invoke an intelligent contract or service in the second blockchain network 1120.
For example, a cross-chain transaction may include a network identification of a first blockchain network 1110 as a sender and a network identification of a second blockchain network 1120 as a 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 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 assuming that the blockchain X of the first blockchain network 1110 wants to invoke the contract C service, the URI identification of the cross-chain transaction including the contract C service is 82000000/Y/C, 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 may then transmit the cross-chain transaction to the second upper-level routing node BR 2. Next, 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 it registers locally according to 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 to the second routing node BR 21. 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. Fig. 2 depicts an example process of cross-chain interaction from the second blockchain network 1120 to the first blockchain network 1110.
As shown in fig. 2, after the cross-chain transaction is performed in the second blockchain network: the second routing node BR21 may be configured to obtain execution results from the second blockchain network 1120 indicating that a cross-chain transaction was performed and an uplink grant for the execution results and transmit the execution results and the uplink grant to the second upper routing node BR 2. The uplink certificate may refer to a signature of the second cognizant node, which may be in the form of a set of signatures or an aggregate signature, for example. In some embodiments, the execution result and the uplink grant may be sent by a second cognizant node of the second blockchain network 1120 to the second routing node BR 21. In some embodiments, the execution results and uplink credentials in the second blockchain network 1120 may also be collected by the second routing node BR21 itself. In some examples, the second routing node BR21 may itself also be a full node. For example, after performing a cross-chain transaction in the second blockchain network 1120, the execution result is identified within the blockchain. After the consensus is completed, the results of the execution are packed into blocks and a UL certificate is generated. The second routing node BR21 may then query the execution results and uplink credentials through the monitoring block. In some embodiments, the second routing node BR21 may also be configured to construct execution results into a particular cross-chain message format for cross-chain interaction.
In some embodiments, the second routing node BR21 may also be configured to, after obtaining an execution result from the second blockchain network 1120 indicating that a cross-chain transaction is executed, 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 uplink attestation including 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. 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 second routing node BR21 may be required to transmit the execution result and the uplink credentials to the second upper routing node BR2 after receiving the signatures of all 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 uplink certificate to the second upper routing node BR2 after receiving the signature of a second common node in the second blockchain network 1120 in an amount greater than a predetermined ratio (e.g., greater than two-thirds, greater than one-half, etc.); in other embodiments, the second routing node BR21 may be required to transmit the execution result and the uplink certificate to the second upper routing node BR2 only after receiving the signature of a predetermined number (e.g., more than two, more than three, more than five, etc.) of second common nodes in the second blockchain network 1120. 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 and transmitted an upper chain proof sign (Y1, Y2, Y3, Y4) comprising the signatures of all second consensus nodes Y1, Y2, Y3, Y4, to the second upper routing node BR2 together with the execution result msg _ resp.
Next, the second upper level routing node BR2 may be configured to transmit the execution result and the uplink grant received from the second routing node BR21 to the first upper level routing node BR 1. In some embodiments, the execution result may comprise the network identity of the second blockchain network 1120 as the sender and the network identity 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 identity of the first blockchain network 1110 comprised in the execution result, and to transmit the execution result and the uplink certificate 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 upper chain identification to the first upper layer routing node BR 1.
The first upper routing node BR1 may be configured to verify whether the uplink credentials received from the second upper routing node BR2 are correct and to transmit the execution results and the signature of the first upper routing node BR1 to the first routing node BR11 when the verification is passed. In the example of fig. 2, the second upper routing node BR2 transmits the execution result msg _ resp and the uplink attestation sign (Y1, Y2, Y3, Y4) to the first upper routing node BR 1. Since the node member information of the second blockchain network 1120 is already linked up in the upper-layer blockchain network 1100, the first upper-layer routing node BR1 recognizes all the second common-recognition nodes Y1, Y2, Y3, Y4 of the second blockchain network 1120, and is thereby able to verify whether the uplink certification sign (Y1, Y2, Y3, Y4) is correct. A specific trust policy may be configured to determine when a received signature satisfies what conditions the verification passes. For example, when the upper chain certification sign (Y1, Y2, Y3, Y4) is a set of signatures of the second consensus nodes Y1, Y2, Y3, Y4, the trust policy may require that the received signatures are all correct, or may require that the correct signatures in the received signatures account for more than a preset percentage (e.g., more than two-thirds, more than one-half, etc.), and is not particularly limited herein. When the first upper routing node BR1 verifies the received uplink certificate, the first upper routing node BR1 may sign itself to the execution result. The first upper level routing node BR1 may not need to validate the execution result itself. Also, the first upper routing node BR1 may not need to transmit the uplink certificate to the first routing node BR11, because the first routing node BR11 and the first consensus node in the first blockchain network 1100 do not maintain node member information of the second blockchain network 1120 and thus do not know the second consensus node in the second blockchain network 1120, so the first routing node BR11 and the first consensus node in the first blockchain network 1100 cannot directly verify the uplink certificate, but trust the execution result by trusting the signature of the first upper routing node BR 1. 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 broadcast in the first blockchain network 1110 the execution result received from the first upper layer routing node BR1 and the signature of the first upper layer routing node BR1, such that the plurality of first common identifying nodes X1, X2, X3, X4 of the first blockchain network 1110 verify whether the signature of the received first upper layer routing node BR1 is correct, and trust the received execution result when the verification passes. The first blockchain network 1110 may trust the execution results for subsequent processing, such as chain crediting the execution results in the first blockchain network 1110 and/or entering the execution results into subsequent contract operations. In some embodiments, the signature of the first upper layer routing node BR1 may be verified by a master node of the plurality of first common nodes X1, X2, X3, X4 of the first blockchain network 1110 and the results of the execution are subsequently processed when the verification passes. The first routing node BR11 may not need to verify the signature of the first upper layer routing node BR1 but only forward, which may simplify functionality by eliminating the need for the first routing node BR11 to maintain the identity and key information of the first upper layer routing node BR 1. Additionally, in some embodiments, the first routing node BR11 may additionally verify that the signature of the first upper layer routing node BR1 is correct and broadcast the execution results received from the first upper layer routing node BR1 and the signature of the first upper layer routing node BR1 in the first blockchain network 1110 when the verification passes. In this way, the first common identification node can be helped to filter out invalid message forwarding in advance.
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, a and B agencies are participating in a blockchain X of the first blockchain network 1110 together, but the a and B agencies may not trust each other very much, although they trust each other to some extent, and thus the a and B agencies may each provide 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 comprise a plurality of said first routing nodes, each of which may be in communication with a first upper level routing node BR 1. When the first blockchain network 1100 initiates a cross-chain transaction to be performed in the second blockchain network 1120, each of the first routing nodes may be configured to individually obtain the cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120 and transmit the cross-chain transaction to a first upper routing node BR 1. In some examples, the first upper level routing node BR1 may be further configured to receive a cross-chain transaction from each of the first routing nodes, verify whether hash values of the cross-chain transactions received from each of the first routing nodes are consistent, and transmit the cross-chain transaction that is passed through a deduplication 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 examples, 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 do not pass), the first upper layer routing node BR1 may return a failure message to the first routing node. Additionally, after the cross-chain transaction is performed in the second blockchain network 1120, each of the first routing nodes may be configured to separately receive the execution result and the signature of the first upper routing node BR1 from the first upper routing node BR1 and broadcast the received execution result and the signature of the first upper routing node BR1 in the first blockchain network 1110. In some examples, the first common node may be further configured to verify whether the hash values of the execution results received from each of the first upper layer routing nodes BR1 are consistent after verifying the signature of the first upper layer routing node BR1, and trust the execution results that are past due when the verification passes.
For example, referring to fig. 3, a first blockchain network 1110 is provided with two first routing nodes BR11 and BR 12. The first routing node BR11 and the first routing node BR12 each separately obtain a cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120 and transmit the cross-chain transaction to the first upper routing node BR1, the first upper routing node BR1 transmitting the passed-weight cross-chain transaction to the second upper routing node BR2 and further to the second routing node BR 21. The second routing node BR21 broadcasts the received cross-chain transaction in the second blockchain network 1120 such that the cross-chain transaction is uplinked in the second blockchain network 1120. The second routing node BR21 then obtains the execution result from the second blockchain network 1120 indicating that the cross-chain transaction was executed and the uplink proof for the execution result, and the execution result and the uplink proof are transmitted to the second upper routing node BR2 and the first upper routing node BR1 in turn, the first upper routing node BR1 transmitting the execution result and the signature of the first upper routing node BR1 to each of the first routing nodes BR11 and BR12 upon verification of the uplink proof. Each of the first routing nodes BR11 and BR12 may broadcast the received execution result and the signature of the first upper layer routing node BR1, respectively, in the first blockchain network 1110. If the second blockchain network 1120 is also provided with a plurality of second routing nodes, the second upper layer routing node BR2 may transmit the received cross-chain transaction to each second routing node and may receive the execution result and uplink certificate obtained by the second routing node from each second routing node, respectively.
In the example of fig. 1, 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, the C and D agencies have participated in the blockchain Y of the second blockchain network 1120 together, but the C and D agencies, while somewhat trusting each other, may not have as much trust in each other, so the C and D agencies may each set 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 1120 may comprise a plurality of said second routing nodes, each of which may be in communication with a second upper level routing node BR 2. When the first blockchain network 1100 initiates a cross-chain transaction to be performed in the second blockchain network 1120, each of the second routing nodes may be configured to individually receive the cross-chain transaction from the second upper routing node BR2 and broadcast the received cross-chain transaction in the second blockchain network 1120. In some examples, the second consensus node may be further configured to verify whether the hash values of the cross-chain transactions received from each of the second routing nodes are consistent, and to perform the cross-chain transaction subject to the deduplication when the verification passes. Additionally, after the cross-chain transaction is performed in the second blockchain network 1120, each of the second routing nodes may be configured to separately obtain an execution result indicating that the cross-chain transaction is performed and an uplink certificate for the execution result from the second blockchain network 1120 and transmit the execution result and the uplink certificate to the second upper routing node BR 2. In some examples, the second upper routing node BR2 may be further configured to receive the execution results and the uplink certificates from each of the second routing nodes, verify whether the hash values of the execution results and the hash values of the uplink certificates received from each of the second routing nodes are consistent, and transmit the re-executed execution results and the uplink certificates to the first upper routing node BR1 when the verification passes. In other words, the second upper routing node BR2 may receive the same execution result and uplink grant from multiple second routing nodes repeatedly multiple times, but the second upper routing node BR2 may perform de-duplication of the received execution result and uplink grant and transmit the de-duplicated execution result and de-duplicated uplink grant to the first upper routing node BR 1. In some examples, 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 and/or the hash values of the uplink certificates received from each second routing node are inconsistent (i.e., the hash verifications do not pass).
For example, referring to fig. 4, a second blockchain network 1120 is provided with two second routing nodes BR21 and BR 22. The first routing node BR1 obtains a cross-chain transaction from the first blockchain network 1110 to be performed in the second blockchain network 1120 and the cross-chain transaction is transmitted to the first upper layer routing node BR1 and the second upper layer routing node BR2 in sequence. The second upper routing node BR2 transmits the received cross-chain transaction to each of the second routing nodes BR21 and BR 22. Each of the second routing nodes BR21 and BR22 broadcasts the received cross-chain transaction in the second blockchain network 1120 such that the cross-chain transaction is uplink executed in the second blockchain network 1120. Then, each of the second routing nodes BR21 and BR22 obtains an execution result indicating that a cross-chain transaction is performed and a uplink certificate for the execution result from the second blockchain network 1120 and transmits the execution result and the uplink certificate to the second upper routing node BR2, respectively, the second upper routing node BR2 transmits the execution result and the uplink certificate, which are past duplicates, to the first upper routing node BR1, and the first upper routing node BR1 transmits the execution result and a signature of the first upper routing node BR1 to the first routing node BR11 when the uplink certificate is verified to be passed. The first routing node BR11 broadcasts the received execution result and the signature of the first upper layer routing node BR1 in the first blockchain network 1110. If the first blockchain network 1110 is also provided with a plurality of first routing nodes, the first upper layer routing node BR1 may receive the cross-chain transaction obtained by each first routing node from the first routing node and may transmit the received execution result and the signature of the first upper layer routing node BR1 to each first routing node, respectively.
Additionally, in the example of fig. 1, the first blockchain network 1110 sets one 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 BR 11. When the first blockchain network 1110 initiates a cross-chain transaction to be performed in the second blockchain network 1120, the first routing node BR11 may be configured to transmit the cross-chain transaction to each of the first upper routing nodes, i.e., each of the first upper routing nodes may be configured to individually receive the cross-chain transaction from the first routing node. Each of the first upper routing nodes may be configured to transmit the received cross-chain transaction to a second upper routing node BR 2. In some examples, the second upper level routing node BR2 may be configured to receive a cross-chain transaction from each of the first upper level routing nodes, verify whether hash values of the cross-chain transactions received from each of the first upper level routing nodes are consistent, and transmit the cross-chain transaction that is passed through to the second routing node BR21 when the verification passes. Additionally, after the cross-chain transaction is performed in the second blockchain network 1120, the second upper routing node BR2 may be configured to transmit the execution result received from the second routing node BR21 and the uplink certificate for the execution result to each of the first upper routing nodes, i.e., each of the first upper routing nodes is configured to receive the execution result and the uplink certificate separately from the second upper routing node BR 2. Each of the first upper routing nodes may be configured to verify whether the received uplink credentials are correct and, if so, to transmit the execution results and the signature of the first upper routing node to the first routing node. In some examples, the first routing node BR11 may be configured to broadcast the execution result received from each of the first upper layer routing nodes and the signature of the first upper layer routing node in the first blockchain network 1110, such that the plurality of first common identifying nodes of the first blockchain network verify whether the signature received for each of the first upper layer routing nodes is correct, and trust the received execution result when the number of verified first upper layer routing nodes in the plurality of first upper layer routing nodes reaches a preset threshold. Also, the preset threshold is configurable, and is not particularly limited herein. In some examples, the first common identifying node may be further configured to verify whether the hash values of the received execution results are consistent after verifying that the signature of the first upper layer routing node BR1 passes, and trust the executed result that has passed over when the verification passes. Alternatively, the hash verification and deduplication of the execution result may be performed in advance by the first routing node BR 11.
For example, referring to fig. 5, the upper blockchain network 1100 may include two first upper routing nodes BR1 and BR1 ' trusted by the first blockchain network 1110 and in communication with the first routing node BR11, the first routing node BR11 may transmit a cross-chain transaction to each first upper routing node BR1, BR1 ', each first upper routing node BR1, BR1 ' may transmit a received cross-chain transaction to the second upper routing node BR2, and the second upper routing node BR2 may transmit a passed-weight cross-chain transaction to the second routing node BR 21. After the cross-chain transaction is performed in the second blockchain network 1120, the second routing node B21 may transmit the execution result and the uplink grant to the second upper routing node BR2 and further to each of the first upper routing nodes BR1 and BR1 ', each of the first upper routing nodes BR1 and BR 1' respectively verifies whether the uplink grant is correct and transmits the execution result and the signature of the first upper routing node to the first routing node BR11 and further to broadcast in the first blockchain network 1110 when the verification is passed.
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 save the computing resources. In particular, in some embodiments, the plurality of first upper level routing nodes trusted by the first blockchain network 1110 and in communication with the first routing node BR11 may include a first upper level routing node and a second first upper level routing node. When the first blockchain network 1110 initiates a cross-chain transaction to be performed in the second blockchain network 1120, the first routing node BR11 may be configured to transmit the cross-chain transaction to a first upper level routing node, i.e., the first upper level routing node may be configured to receive the cross-chain transaction from the first routing node BR11 and transmit the received cross-chain transaction to a second upper level routing node BR 2. After the cross-chain transaction is performed in the second blockchain network 1120, the second upper level routing node BR2 may be configured to transmit the execution result and the uplink credentials for the execution result to the first upper level routing node, that is, the first upper routing node may be configured to receive the execution result and the uplink certificate from the second upper routing node BR2 and transmit the received execution result and the uplink certificate to the second first upper routing node, the second first upper routing node may be configured to verify whether the uplink certificate received from the first upper routing node is correct and transmit the execution result and the signature of the second first upper routing node to the first upper routing node when the verification is passed, and the first upper routing node may be further configured to transmit the execution result and the signature of the second first upper routing node and the signature of the first upper routing node to the first routing node BR 11. In some examples, the first routing node BR11 may be further configured to broadcast, in the first blockchain network 1110, the execution results received from the first upper layer routing node and the signatures of the second first upper layer routing nodes and the signatures of the first upper layer routing nodes such that the plurality of first common nodes X1, X2, X3, X4 (e.g., master nodes) of the first blockchain network 1110 verify that the received signatures of the second first upper layer routing nodes and the signatures of the first upper layer routing nodes are correct, and upon verification, trust the received execution results.
For example, referring to fig. 6, the upper blockchain network 1100 includes a first upper layer routing node BR1 and a second first upper layer routing node BR 1' that are trusted by the first blockchain network 1110 and that communicate with the first routing node BR 11. The first routing node BR11 may transmit the cross-chain transaction to a first upper routing node BR1, and the first upper routing node BR1 may transmit the cross-chain transaction to a second upper routing node BR2 and further to a second routing node BR21 to broadcast and perform uplink in a second blockchain network 1120. The second routing node BR21 may transmit the execution result and the uplink grant to the second upper routing node BR2 and further to the first upper routing node BR1, the first upper routing node BR1 may forward the execution result and the uplink grant to the second first upper routing node BR1 ' to verify whether the uplink grant is correct, the second first upper routing node BR1 ' may sign the execution result with its signature after the verification is passed and transmit the execution result and the signature of the second first upper routing node BR1 ' to the first upper routing node BR1, the first upper layer routing node BR1 may, upon receipt, sign itself and transmit the execution result to the first routing node BR11 together with the signature of the second first upper layer routing node BR 1' and the signature of the first upper layer routing node BR1 for broadcast in the first blockchain network 1110. The first consensus node may verify that the signature of the second first upper routing node BR 1' and the signature of the first upper routing node BR1 are correct and trust the execution result when the verification passes.
Although it is described above that only one upper routing node of the set of trusted nodes deployed in the upper blockchain network 1100 of the first blockchain network 1110 is responsible for data transceiving and another upper routing node is responsible for data verification, 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 is 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 verification routing node in the group for verification individually when data verification is required, the respective verification routing nodes in the group transmit data to each transceiving routing node in the group after verification is passed, 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. Of course, if no data validation is required, the individual transceiving routing nodes in each group may transmit data directly 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 1200. Considering that a second upper layer routing node may have a problem of single point failure unreliability, the cluster can be set to solve the problem. 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 BR 21. When the first blockchain network 1110 initiates a cross-chain transaction to be performed in the second blockchain network 1120, the first upper routing node BR1 may be configured to transmit the cross-chain transaction to each of the second upper routing nodes, i.e., each of the second upper routing nodes may be configured to individually receive the cross-chain transaction from the first upper routing node. Each of the second upper routing nodes may be configured to transmit the received cross-chain transaction to a second routing node BR 21. In some examples, the second routing node BR2 may be configured to broadcast the cross-chain transaction received from each of the second upper routing nodes in the second blockchain network 1120, and the second consensus node may be configured to verify whether hash values of the cross-chain transactions from each of the second upper routing nodes are consistent and to perform a cross-chain transaction that is subject to a deduplication when the verification passes. Alternatively, the hash verification and deduplication for the cross-chain transaction may be performed in advance by the second routing node BR 21. Additionally, after the cross-chain transaction is performed in the second blockchain network 1120, the second routing node BR21 may be configured to transmit the obtained execution result and the uplink certificate for the execution result to each of the second upper routing nodes, i.e., each of the second upper routing nodes is configured to individually receive the execution result and the uplink certificate from the second routing node BR 21. Each of the second upper level routing nodes may be configured to transmit the received execution result and the uplink credentials to the first upper level routing node BR 1. In some examples, the first upper level routing node BR1 may be configured to receive the execution result and the uplink grant from each of the second upper level routing nodes, verify whether the uplink grant received from each of the second upper level routing nodes is correct, and transmit the execution result and the signature of the first upper level routing node BR1 to the first routing node BR11 when the number of verified second upper level routing nodes of the plurality of second upper level routing nodes reaches a preset threshold. Also, the preset threshold is configurable, and is not particularly limited herein. In some examples, the first upper level routing node BR1 may be further configured to verify whether the hash values of the execution results received from each of the second upper level routing nodes are consistent, and to transmit the repeated execution results and the signature of the first upper level routing node BR11 to the first routing node BR11 when the verification passes.
For example, referring to fig. 7, the upper layer blockchain network 1100 may include two second upper layer routing nodes BR2 and BR2 ' trusted by the second blockchain network 1120 and in communication with the second routing node BR21, the first routing node BR11 may transmit a cross-chain transaction to the first upper layer routing node BR1 to each of the second upper layer routing nodes BR2 and BR2 ', and each of the second upper layer routing nodes BR2 and BR2 ' may transmit a received cross-chain transaction to the second routing node BR21 to broadcast and perform uplink in the second blockchain network 1120. After the cross-chain transaction is performed in the second blockchain network 1120, the second routing node B21 may transmit the results of the performance and the uplink credentials to each of the second upper routing nodes BR2 and BR 2'. Each of the second upper level routing nodes BR2 and BR2 'may transmit the execution result and the uplink grant to the first upper level routing node BR1, respectively, and the first upper level routing node BR1, upon verifying that the uplink grants from the second upper level routing nodes BR2 and BR 2' are both correct, may transmit the past heavy execution result and the signature of the first upper level routing node BR1 to the first routing node BR11 for broadcast in the first blockchain network 1110.
Alternatively, when the upper layer 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 that each of the second upper layer routing nodes is not caused to individually perform both the authentication and the transceiving of data, but one or more of the second upper layer routing nodes are caused to perform the transceiving of data and another one or more of the second upper layer routing nodes are caused to perform the authentication of data. Therefore, the method can prevent the single-point failure from being unreliable and save the computing resources. In particular, in some embodiments, the plurality of second upper level routing nodes trusted by the second blockchain network 1120 and in communication with the second routing node BR21 may include a first second upper level routing node and a second upper level routing node. When the first blockchain network 1110 initiates a cross-chain transaction to be performed in the second blockchain network 1120, the first upper level routing node may be configured to transmit the cross-chain transaction to the first second upper level routing node, i.e., the first second upper level routing node may be configured to receive the cross-chain transaction from the first upper level routing node and transmit the received cross-chain transaction to the second routing node. After the cross-chain transaction is performed in the second blockchain network 1120, the second routing node BR21 may be configured to transmit the execution result and the uplink certificate for the execution result to the first second upper routing node, i.e., the first second upper routing node is configured to receive the execution result and the uplink certificate from the second routing node BR21 and transmit the received execution result and the uplink certificate to the first upper routing node BR 1.
For example, referring to fig. 8, the upper blockchain network 1100 comprises a first second upper layer routing node BR2 and a second upper layer routing node BR 2' that are trusted by the second blockchain network 1120 and communicate with a second routing node BR 21. The first routing node BR11 may transmit a cross-chain transaction to a first upper routing node BR1, and the first upper routing node BR1 may transmit a cross-chain transaction to a first second upper routing node BR2 and further to a second routing node BR21 for broadcasting and uplink execution in the second blockchain network 1120. The second routing node BR21 may transmit the execution result and the uplink grant to the first second upper layer routing node BR2 and further to the first upper layer routing node BR1, and the first upper layer routing node BR1 may transmit the execution result and the signature of the first upper layer routing node BR1 to the first routing node BR11 for broadcasting in the first blockchain network 1110 after the uplink grant is verified to pass. The first consensus node may verify that the signature of the first upper routing node BR1 is correct and trust the execution result when the verification passes. The first second upper routing node BR2 may be responsible for transceiving data and the second upper routing node BR2 'may be responsible for verification of data, e.g. when the second blockchain network 1120 initiates a cross-chain transaction to be in the first blockchain network 1110, the second upper routing node BR 2' may receive the execution result and the uplink attestation from the first upper routing node BR1 via the first second upper routing node BR2 and transmit the execution result and the signature of the second upper routing node BR2 'to the first second upper routing node BR2 when the verification attestation passes, such that the execution result and the signature of the second upper routing node BR 2' and the signature of the first second upper routing node BR2 are transmitted by the first second upper routing node BR2 to the second routing node BR21 to broadcast the blockchain network 1120.
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 individually to each verification routing node in the group for verification when data verification is required, 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. Of course, if no data validation is required, the individual transceiving routing nodes in each group may directly transmit data to the second routing node BR21 or the first upper layer routing node BR 1.
Although the number of first, second 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, second 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 example 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 expandable, the system 100 can be deployed as two or more layers of blockchain network architectures, for example, 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 (not necessarily at the same layer) of the upper blockchain network 1100 can similarly implement cross-chain interaction through the aforementioned process.
Although system 100 is illustrated in the examples of fig. 1-8 as being used for cross-chain interaction between homogeneous chains, this is merely exemplary and not limiting, and system 100 may be further configured for cross-chain interaction between heterogeneous chains. A system 100 for interacting across heterogeneous chains is illustratively described below in conjunction with fig. 9 and 10.
In fig. 9, for simplicity of illustration, the second blockchain network 1120 has been omitted, such that fig. 9 focuses on cross-chain interactions between the first blockchain network 1110 and blockchain networks heterogeneous thereto. Specifically, as shown in fig. 9, the system 100 may further include a first transit bridge network 1130 and a first heterogeneous blockchain network 1131.
The first transit bridge network 1130 may be deployed below the upper blockchain network 1100, i.e., at the same level as the first blockchain network 1110 and the second blockchain network 1120. The first transit bridge network 1130 may include a first transit bridge routing node BR31 and a plurality of first transit bridge consensus nodes I1, I2, I3, I4 in communication with each other. The first transit bridge routing node BR31 may communicate with a third upper level routing node BR3 in the upper level blockchain network 1100 that is trusted by the first transit bridge network 1130. The first transit bridge network 1130 may register with the third upper layer routing node BR3 when accessing the upper layer blockchain network 1100, and obtain the network identifier allocated by the third upper layer routing node BR3 after successful registration. The first transit bridge network 1130 and the upper blockchain network 1100, the first blockchain network 1110, and the second blockchain network 1120 are homogeneous. In some embodiments, the first transit bridge network 1130 may be a blockchain network. In some embodiments, the first transit bridge network 1130 may not form a blockchain network, but merely perform signature voting. Herein, for simplicity of description, a block chain or a block chain network that is homogeneous with the upper block chain network 1100 may be described as a homogeneous chain or a homogeneous chain network, and a block chain or a block chain network that is heterogeneous with the upper block chain network 1100 may be described as a heterogeneous chain or a heterogeneous chain network. Thus, the first handover bridge network 1130, the first blockchain network 1110 and the second blockchain network 1120 may be homogeneous chain networks with respect to the upper blockchain network 1100.
The first heterogeneous blockchain network 1131 may be deployed below the first transfer bridge network 1130 and include a plurality of first heterogeneous consensus nodes P1, P2, P3, P4. The first heterogeneous consensus nodes P1, P2, P3, and P4 may be used to implement specific services of the first heterogeneous blockchain network 1131, and are responsible for performing verification and joint chain consensus on the transaction. While the number of first heterogeneous consensus nodes P1, P2, P3, P4 is illustrated as 4, this is merely exemplary and not limiting, and an actual first heterogeneous blockchain network 1131 may include any number of consensus nodes.
The first heterogeneous blockchain network 1131 is heterogeneous from the upper blockchain network 1100, the first blockchain network 1110, and the second blockchain network 1120, and thus the first heterogeneous blockchain network 1131 may be a heterogeneous chain network with respect to the upper blockchain network 1100. The plurality of first heterogeneous consensus nodes P1, P2, P3, P4 of the first heterogeneous blockchain network 1131 are in communication with first transfer bridge consensus nodes I1, I2, I3, I4. It is to be understood that in fig. 9 (and fig. 10 described later), for simplicity of illustration, only the first heterogeneous consensus node P1 is depicted in communication with the first transfer bridge consensus nodes I1, I2, I3, I4, but in practice, although not shown, other respective first heterogeneous consensus nodes P2, P3, P4 are also in communication with the first transfer bridge consensus nodes I1, I2, I3, I4, respectively. Although the number of the first junction bridge common nodes I1, I2, I3, I4 is illustrated as 4, this is merely exemplary and not limiting. In some examples, different first transfer bridge consensus nodes I1, I2, I3, I4 may be provided in the first transfer bridge network 1130 by different lower blockchain networks of the upper blockchain network 1100 that require cross-chain transactions with the first heterogeneous blockchain network 1131, such as first transfer bridge consensus node I1 may be provided in the first transfer bridge network 1130 by first blockchain network 1110 and first transfer bridge consensus node I2 may be provided in the first transfer bridge network 1130 by second blockchain network 1120. This is because different underlying blockchain networks (behind which often, for example, different organizations) may not trust each other, so it is desirable to configure the first transit bridge consensus node in the first transit bridge network 1130 itself. The first heterogeneous blockchain network 1131 may submit a registration request to the first transit bridge common node when accessing the first transit bridge network 1130 to obtain a network identifier, or alternatively, the first transit bridge network 1130 provides the network identifier allocated in advance to the first heterogeneous blockchain network 1131, and then the first heterogeneous blockchain network 1131 may perform binding registration using the obtained network identifier. Even if there are multiple first transit bridge common nodes in the first transit bridge network 1130 causing the first heterogeneous blockchain network 1131 to register multiple times, this does not cause a problem because it does not cause the first heterogeneous blockchain network 1131 to be unaddressed by multiple network identities corresponding to the first heterogeneous blockchain network 1131 at most.
Each of the plurality of first transit bridge consensus nodes I1, I2, I3, I4 of the first transit bridge network 1130 may be configured with simple payment confirmation (SPV) capabilities to monitor and verify block behavior in the first heterogeneous blockchain network 1131. For ease of understanding, each first transit bridge consensus node may be considered an upper layer routing node of the first heterogeneous blockchain network 1131. When the first heterogeneous blockchain network 1131 needs to initiate a cross-chain transaction, the cross-chain transaction may be wrapped into chunks, and then the first transit bridge consensus node may collect the chunks in the first heterogeneous blockchain network 1131, verify the chunks in the first heterogeneous blockchain network 1131, and the signature of the first heterogeneous consensus node.
Similar to the first blockchain network 1110 and the second blockchain network 1120, the upper blockchain network 1100 may be configured to manage the common nodes of the first transit bridge network 1130 by linking credentials in the upper blockchain network 1100 with changes to the common nodes of the first transit bridge network 1130. That is, any node (e.g., the first upper layer routing node BR1, the second upper layer routing node BR2, and the third upper layer routing node BR3) of the upper layer blockchain network 1100 knows the node member information of the first transit bridge network 1130, without maintaining other data of the first transit bridge network 1130, and even without maintaining the on-chain data and the node member information of the first heterogeneous blockchain network 1131.
Continuing next with fig. 9, an example cross-chain interaction process from the first blockchain network 1110 to the first heterogeneous blockchain network 1131 is described. In the example of fig. 9, when the first blockchain network 1110 initiates a cross-chain transaction to be performed in the first heterogeneous blockchain network 1131, the first routing node BR11 may be configured to obtain the cross-chain transaction from the first blockchain network 1110 to be performed in the first heterogeneous blockchain network 1131 and transmit the cross-chain transaction to the first upper routing node BR 1. The first upper routing node BR1 may be configured to transmit a cross-chain transaction received from the first routing node BR11 to a third upper routing node BR 3. The third upper level routing node BR3 may be configured to transmit cross-chain transactions received from the first upper level routing node BR1 to the first transit bridge routing node BR 31. The first transit bridge routing node BR31 may be configured to broadcast in the first transit bridge network 1130 the cross-chain transactions received from the third upper routing node BR3 such that the plurality of first transit bridge consensus nodes I1, I2, I3, I4 of the first transit bridge network 1130 receive and convert the cross-chain transactions to have a format that fits the first heterogeneous blockchain network 1131, and transmit the converted cross-chain transactions to the first heterogeneous blockchain network 1131 such that the plurality of first heterogeneous consensus nodes P1, P2, P3, P4 (e.g., master nodes) of the first heterogeneous blockchain network 1131 receive and execute the converted cross-chain transactions. In some embodiments, the plurality of first transit bridge consensus nodes I1, I2, I3, I4 of the first transit bridge network 1130 may be further configured to chain the received cross-chain transaction in the first transit bridge network 1130 for later querying. In some embodiments, after the converted cross-chain transaction is executed in the first heterogeneous blockchain network 1131, the plurality of first transit bridge consensus nodes I1, I2, I3, I4 of the first transit bridge network 1130 may be configured to obtain an execution result of the converted cross-chain transaction and to chain-link the execution result in the first transit bridge network 1130. For example, the first transit bridge consensus node may be configured to monitor and validate tiles in the first heterogeneous blockchain network 1131 to collect execution results in the first heterogeneous blockchain network 1131 regarding the translated cross-chain transaction. The first transit bridge routing node BR31 may be configured to obtain a uplink credential for the execution result and transmit the uplink credential to a third upper layer routing node BR 3. The third upper level routing node BR3 may be configured to transmit the uplink credentials received from the first transit bridge routing node BR31 to the first upper level routing node BR 1. The first upper routing node BR1 may be configured to verify that the uplink credentials received from the third upper routing node BR3 are correct and, when verified, to transmit the uplink credentials and the signature of the first upper routing node BR1 to the first routing node BR 11. The first routing node BR11 may be configured to broadcast in the first blockchain network 1110 the received uplink credentials from the first upper layer routing node BR1 and the signature of the first upper layer routing node BR1, such that the plurality of first common nodes X1, X2, X3, X4 of the first blockchain network 1110 verify whether the received signature of the first upper layer routing node BR1 is correct and trust the received uplink credentials when the verification passes. Here, since the first blockchain network 1110 is heterogeneous to the first heterogeneous blockchain network 1131, the plurality of first common identifying nodes X1, X2, X3, X4 of the first blockchain network 1110 do not have any knowledge of the execution results generated in the first heterogeneous blockchain network 1131 regarding the cross-chain transaction. Since the plurality of first common identification nodes X1, X2, X3, X4 of the first blockchain network 1110 trust the uplink attestation of the first transit bridge network 1130 by verifying the signature of the first upper routing node BR1, it is believed that the cross-chain transaction it initiated was successfully performed in the first heterogeneous blockchain network 1131. Thus, the first blockchain network 1110 does not need to query the first heterogeneous blockchain network 1131, but rather performs trust endorsements through the first transit bridge network 1130. The first blockchain network 1110 may then perform subsequent processing on the received uplink certificate after trusting it, such as chain storing the received uplink certificate in the first blockchain network 1110, or for subsequent contract operations. The process of the first heterogeneous blockchain network 1131 initiating a cross-chain transaction in the first blockchain network 1110 is similar to the above, and is not described herein again. In addition, cross-chain interactions of the first heterogeneous blockchain network 1131 with the second blockchain network 1120 or other lower-layer blockchain networks of the upper-layer blockchain network 1100 (not limited to which layer below the upper-layer blockchain network 1100) are also similar.
When multiple heterogeneous blockchain networks are to be accessed in the system 100, multiple transit bridge networks can be constructed accordingly. Fig. 10 depicts an example scenario in which two heterogeneous blockchain networks are accessed in system 100. In fig. 10, for simplicity of illustration, the first blockchain network 1110 and the second blockchain network 1120 have been omitted, such that fig. 10 focuses on cross-chain interactions between the first heterogeneous blockchain network 1131 and the second heterogeneous blockchain network 1141. It is to be appreciated that the second heterogeneous blockchain network 1141 can also cross-chain interact with the first blockchain network 1110, the second blockchain network 1120, or other lower blockchain networks of the upper blockchain network 1100 (not limited to which layer below the upper blockchain network 1100) as described above. Specifically, as shown in fig. 10, the system 100 may further include a second transit bridge network 1140 and a second heterogeneous blockchain network 1141.
The second transit bridge network 1140 may be deployed below the upper blockchain network 1100, i.e., at the same level as the first blockchain network 1110, the second blockchain network 1120, and the first transit bridge network 1130. The second transit bridge network 1140 may include a second transit bridge defined by node BR41 and a plurality of second transit bridge common nodes J1, J2, J3, J4 in communication with one another. The second transit bridge routing node BR41 may communicate with a fourth upper routing node BR4 in the upper blockchain network 1100 that is trusted by the second transit bridge network 1140. The second transit bridge network 1140 may register with the fourth upper layer routing node BR4 when accessing the upper layer blockchain network 1100, and obtain the network identifier allocated by the fourth upper layer routing node BR4 after successful registration. The second transit bridge 1140 is homogeneous with the upper blockchain network 1100, the first blockchain network 1110, the second blockchain network 1120, and the first transit bridge 1130. In some embodiments, the second transit bridge network 1140 may be a blockchain network. In some embodiments, the second transit bridge network 1140 may not form a blockchain network, but merely perform signature voting.
The second heterogeneous blockchain network 1141 may be deployed below the second transit bridge network 1140 and include a plurality of second heterogeneous consensus nodes Q1, Q2, Q3, Q4. The second heterogeneous consensus nodes Q1, Q2, Q3, Q4 may be used to implement specific services of the second heterogeneous blockchain network 1141, which are responsible for transaction verification and consensus uplink. While the number of second heterogeneous consensus nodes Q1, Q2, Q3, Q4 is illustrated as 4, this is merely exemplary and not limiting, and an actual second heterogeneous blockchain network 1141 may include any number of consensus nodes.
The second heterogeneous blockchain network 1141 is heterogeneous from the upper blockchain network 1100, the first blockchain network 1110, and the second blockchain network 1120. In some embodiments, the second heterogeneous blockchain network 1141 is heterogeneous from the first heterogeneous blockchain network 1131. In other embodiments, the second heterogeneous blockchain network 1141 and the first heterogeneous blockchain network 1131 may be homogeneous, but in such cases it may be more preferable to have the second heterogeneous blockchain network 1141 and the first heterogeneous blockchain network 1131 interact across homogeneous chains via their common upper blockchain network, for example using the process described above in connection with fig. 1-8. Therefore, hereinafter, it is described as an example that the second heterogeneous blockchain network 1141 and the first heterogeneous blockchain network 1131 are heterogeneous to each other. The plurality of second heterogeneous consensus nodes Q1, Q2, Q3, Q4 of the second heterogeneous blockchain network 1141 are in communication with second transit bridge consensus nodes J1, J2, J3, J4. It is to be understood that in fig. 10, for simplicity of illustration, only the second heterogeneous consensus node Q1 is depicted in communication with the second transit bridge consensus nodes J1, J2, J3, J4, but in practice, although not shown, the other respective second heterogeneous consensus nodes Q2, Q3, Q4 are likewise in communication with the second transit bridge consensus nodes J1, J2, J3, J4, respectively. Although the number of the second transit bridge consensus nodes J1, J2, J3, J4 is illustrated as 4, this is merely exemplary and not limiting. In some examples, different second transit bridge consensus nodes J1, J2, J3, J4 can be provided in the second transit bridge network 1140 by different lower blockchain networks of the upper blockchain network 1100 that require cross-chain transactions with the second heterogeneous blockchain network 1141, such as second transit bridge consensus node J1 can be provided in the second transit bridge network 1140 by the first blockchain network 1110, second transit bridge consensus node J2 can be provided in the second transit bridge network 1140 by the second blockchain network 1120, and third transit bridge consensus node J3 can be provided in the second transit bridge network 1140 by the first heterogeneous blockchain network 1131. This is because different underlying blockchain networks (often behind, for example, different agencies) may not trust each other, so it is desirable to configure the second transit bridge consensus node in the second transit bridge network 1140 itself. The second heterogeneous blockchain network 1141 may submit a registration request to the second transit bridge common node when accessing the second transit bridge network 1140, so as to obtain a network identifier, or alternatively, the second transit bridge network 1140 may provide the network identifier allocated in advance to the second heterogeneous blockchain network 1141, and then the second heterogeneous blockchain network 1141 may perform binding registration using the obtained network identifier. Even if there are multiple second transit bridge common nodes in the second transit bridge network 1140 that cause the second heterogeneous blockchain network 1141 to register multiple times, this does not cause a problem because it does not cause the second heterogeneous blockchain network 1141 to be unaddressed because it at most causes multiple network identities to correspond to the second heterogeneous blockchain network 1141.
Each of the plurality of second transit bridge consensus nodes J1, J2, J3, J4 of the second transit bridge network 1140 may be configured with simple payment confirmation (SPV) capability to monitor and verify tile behavior in the second heterogeneous blockchain network 1141. For ease of understanding, each second transit bridge consensus node can be considered an upper layer routing node of the second heterogeneous blockchain network 1141. When the second heterogeneous blockchain network 1141 needs to initiate a cross-chain transaction, the cross-chain transaction may be packaged into a block, and then the second transit bridge consensus node may collect the blocks in the second heterogeneous blockchain network 1141, verify the blocks in the second heterogeneous blockchain network 1141, and verify the signature of the second heterogeneous consensus node.
Similar to the first blockchain network 1110, the second blockchain network 1120, and the first transit bridge network 1130, the upper blockchain network 1100 may be configured to manage the consensus nodes of the second transit bridge network 1140 by chaining credentials in the upper blockchain network 1100 for changes to the consensus nodes of the second transit bridge network 1140. That is, any node of the upper blockchain network 1100 (e.g., the first upper routing node BR1, the second upper routing node BR2, the third upper routing node BR3, the fourth upper routing node BR4) knows the node membership information of the second transit bridge network 1140, without maintaining other data of the second transit bridge network 1140, and even without maintaining the on-chain data and the node membership information of the second heterogeneous blockchain network 1141.
Continuing next with fig. 10, an example cross-chain interaction process from a first heterogeneous blockchain network 1131 to a second heterogeneous blockchain network 1141 is described. In the example of fig. 10, when a first heterogeneous blockchain network 1131 initiates a cross-chain transaction to be performed in a second heterogeneous blockchain network 1141, the first transit bridge consensus node may be configured to obtain the cross-chain transaction to be performed in the second heterogeneous blockchain network 1141 by the first heterogeneous blockchain network 1131. For example, the first transit bridge consensus node may be configured to monitor and validate tiles in the first heterogeneous blockchain network 1131 to collect cross-chain transactions that the first heterogeneous blockchain network 1131 is to perform in the second heterogeneous blockchain network 1141. The first transfer bridge routing node BR31 may be configured to transmit a cross-chain transaction from the first heterogeneous blockchain network 1131 to be performed in the second heterogeneous blockchain network 1141, which has been verified and converted by the plurality of first transfer bridge consensus nodes I1, I2, I3, I4 of the first transfer bridge network 1130 into a format having an adapted upper layer blockchain network 1100, to the third upper layer routing node BR 3. The third upper level routing node BR3 may be configured to transmit cross-chain transactions received from the first transit bridge routing node BR31 to a fourth upper level routing node BR 4. The fourth upper routing node BR4 may be configured to transmit cross-chain transactions received from the third upper routing node BR3 to the second transit bridge routing node BR 41. The second transit bridge may be configured by the node BR41 to broadcast in the second transit bridge network 1140 the cross-chain transactions received from the fourth upper routing node BR4 such that the plurality of second transit bridge consensus nodes J1, J2, J3, J4 of the second transit bridge network 1140 receive and convert the cross-chain transactions to have a format that fits the second heterogeneous blockchain network 1141 and transmit the converted cross-chain transactions to the second heterogeneous blockchain network 1141 such that the plurality of second heterogeneous consensus nodes Q1, Q2, Q3, Q4 of the second heterogeneous blockchain network 1141 receive and perform the converted cross-chain transactions. In some embodiments, the second transit bridge network 1140 may be further configured to chain deposit the cross-chain transaction in the second transit bridge network 1140 for later inquiry. In some embodiments, after the converted cross-chain transaction is executed in the second heterogeneous blockchain network 1141, the plurality of second transit bridge consensus nodes J1, J2, J3, J4 of the second transit bridge network 1140 may be configured to obtain an execution result of the converted cross-chain transaction and to chain-link the execution result in the second transit bridge network 1140. For example, the second transit bridge consensus node may be configured to monitor and verify the tiles in the second heterogeneous blockchain network 1141 to collect the execution results in the second heterogeneous blockchain network 1141 for the converted cross-chain transaction. The second transit bridge may be configured by the node BR41 to obtain an uplink credential for the execution and to transmit the uplink credential to a fourth upper layer routing node BR 4. The fourth upper routing node BR4 may be configured to transmit an uplink acknowledgement received from the second transit bridge by node BR41 to the third upper routing node BR 3. The third upper routing node BR3 may be configured to verify that the uplink credentials received from the fourth upper routing node BR4 are correct and, when verified, to transmit the uplink credentials and the signature of the third upper routing node BR3 to the first transit bridge routing node BR 31. The first transit bridge routing node BR31 may be configured to broadcast in the first transit bridge network 1130 the uplink attestation received from the third upper level routing node BR3 and the signature of the third upper level routing node BR3, such that the plurality of first transit bridge consensus nodes I1, I2, I3, I4 of the first transit bridge network 1130 receive and verify whether the received signature of the third upper level routing node BR3 is correct and trust the received attestation when the verification passes. The first transit bridging common identity node may be further configured to, after trusting the received uplink credentials, convert the uplink credentials to have a format that is adapted to the first heterogeneous blockchain network 1131 and transmit the converted uplink credentials to the first heterogeneous blockchain network 1131. Here, since the first heterogeneous blockchain network 1131 is heterogeneous to the second heterogeneous blockchain network 1141, the plurality of first heterogeneous consensus nodes P1, P2, P3, P4 of the first heterogeneous blockchain network 1131 are not aware of the execution result of the cross-chain transaction generated in the second heterogeneous blockchain network 1141. Since the plurality of first heterogeneous consensus nodes P1, P2, P3, P4 of the first heterogeneous blockchain network 1131 verify the signature of the third upper routing node BR3 through the first transit bridge consensus node and thus trust the uplink attestation of the second transit bridge network 1140, it is believed that the cross-chain transaction it initiated was successfully performed in the second heterogeneous blockchain network 1141. Thus, the first heterogeneous blockchain network 1131 does not need to query the second heterogeneous blockchain network 1141, but rather performs trust endorsement through the second transit bridge network 1140. The first heterogeneous blockchain network 1131 may then perform subsequent processing on the received uplink credentials converted by the first transit bridge network 1130 after trusting them, such as chain crediting the received uplink credentials in the first heterogeneous blockchain network 1131, or for subsequent contract operations. The process of the second heterogeneous blockchain network 1141 initiating the cross-chain transaction in the first heterogeneous blockchain network 1131 is similar to the above, and is not described herein again.
The system for cross-block chain interaction according to various embodiments of the present disclosure can be easily expanded in the horizontal and vertical directions, and can realize cross-chain information isolation and reduce data maintenance burden of nodes while solving the trust problem of cross-chain interaction, and efficiently realize cross-homogeneous chain interaction and cross-heterogeneous chain interaction in a large-scale network.
Referring to fig. 11, 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 performed in a second blockchain network and transmitting the cross-chain transaction to the first blockchain network and a first upper routing node of an upper blockchain network of the second blockchain network that is trusted by the first blockchain network; at step S204, transmitting, by the first upper routing node, the cross-chain transaction received from the first routing node to a second upper routing node of the upper blockchain network that is trusted by the second blockchain network; at step S206, transmitting, by the second upper level routing node, the cross-chain transaction received from the first upper level routing node to a second routing node of the second blockchain network; and broadcasting, by the second routing node, the cross-chain transaction received from the second upper routing node in the second blockchain network such that a plurality of second common nodes of the second blockchain network receive and execute the cross-chain transaction, at step S208, wherein the upper blockchain network is configured to manage the common nodes of each of the first and second blockchain networks by chain storing changes of the common nodes of each of the first and second blockchain networks in the upper blockchain network. 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. 12, the present disclosure provides in yet another aspect an apparatus 300 for inter-blockchain interaction. 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. The transmission module 304 may be configured to: transmitting, by a first routing node, a cross-chain transaction to a first upper routing node of an upper blockchain network of a first blockchain network and a second blockchain network that is trusted by the first blockchain network; transmitting, by a first upper routing node, a cross-chain transaction received from the first routing node to a second upper routing node of the upper blockchain network that is trusted by a second blockchain network; transmitting, by the second upper level routing node, the cross-chain transaction received from the first upper level routing node to a second routing node of the second blockchain network. The execution module 306 may be configured to broadcast, by the second routing node, the cross-chain transaction received from the second upper routing node in the second blockchain network such that a plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction. The upper blockchain network is configured to manage the consensus nodes of each of the first and second blockchain networks by chain-crediting in the upper blockchain network changes of the consensus nodes of each of the first and second blockchain networks. 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. 13 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 drive, memory card, RAM, PROM, and EPROM, 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. 14, 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 foregoing embodiments of the 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 specifically 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 foregoing 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 can 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 to a technology could clearly distinguish between improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements to 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 blocks. 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 that stores 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 embedded microcontrollers, 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 of 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 conceived to be both a software module implementing 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 embodiments may be, for example, a personal computer, a laptop computer, a vehicle mounted human interaction device, a cellular telephone, 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 sequences, and does not represent a unique order of performance. When implemented in an actual device or end product, can be executed sequentially or in parallel according to the methods shown in the embodiments or figures (e.g., parallel processor or multi-thread processing environments, even distributed data processing environments). 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, the use of the terms first, second, etc. are used to denote names, but not to 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 the modules implementing the same functions may be implemented by a combination of a plurality of 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 flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations 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 so forth) having computer-usable program code embodied therein.
One or more embodiments of the specification 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, as for the system embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and reference may be made to the partial description of the method embodiment for relevant points. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., 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 intended to be illustrative of one or more embodiments of the disclosure, and is not intended to limit the scope of one or more embodiments of the 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 made within the spirit and principle of the present specification shall be included in the scope of the claims.

Claims (53)

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 including a first upper routing node trusted by the first blockchain network and in communication with the first routing node, a second upper routing node trusted by the second blockchain network and in communication with the second routing node, and a plurality of upper consensus nodes, the first upper routing node, the second upper routing node, and the plurality of upper consensus nodes being in communication with each other,
wherein the upper blockchain network is configured to manage the consensus node of each of the first and second blockchain networks by chaining credentials in the upper blockchain network for changes to the consensus node of each of the first and second blockchain networks.
2. The system of claim 1, wherein, for each of the first and second blockchain networks:
when a new node is to join the blockchain network as a consensus node, the new node is configured to obtain a certificate from the upper blockchain network and invoke in the blockchain network a first method for requesting joining a blockchain network of a first join contract deployed in the blockchain network based on the obtained certificate, the blockchain network is configured to invoke in the upper blockchain network a second join contract deployed in the upper blockchain network in response to executing the first method to request to join the new node in the blockchain network to the upper blockchain network, the upper blockchain network is configured to chain-store an execution result of the second join contract in the upper blockchain network and to transmit a chain certificate to the blockchain network after executing the second join contract, the blockchain network is configured to invoke in the blockchain network a chain of the first join contract based on the chain certificate A second method for acknowledging joining a blockchain network to set the new node as a consensus node for the blockchain network.
3. The system of claim 1, wherein, for each of the first and second blockchain networks:
when an identified node of the blockchain network is to exit the blockchain network, the identified node is configured to invoke a first exit contract deployed in the blockchain network to exit the blockchain network, the blockchain network is configured to invoke a second exit contract deployed in the upper blockchain network in response to executing the first exit contract to request the identified node to exit the blockchain network from the upper blockchain network, and the upper blockchain network is configured to chain-store an execution result of the second exit contract in the upper blockchain network after executing the second exit contract.
4. The system of claim 1, wherein when the first blockchain network initiates a cross-chain transaction to be performed in the second blockchain network:
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 and transmit the cross-chain transaction to the first upper routing node;
the first upper routing node is configured to transmit the cross-chain transaction received from the first routing node to the second upper routing node;
the second upper routing node is configured to transmit the cross-chain transaction received from the first upper routing node to the second routing node; and
the second routing node is configured to broadcast in the second blockchain network a cross-chain transaction received from a second upper routing node such that the plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction.
5. The system of claim 4, wherein, after the cross-chain transaction is performed in the second blockchain network:
the second routing node is configured to obtain an execution result indicating that a cross-chain transaction is performed and an uplink certificate for the execution result from the second blockchain network and transmit the execution result and the uplink certificate to the second upper routing node;
the second upper routing node is configured to transmit the execution result and the uplink certificate received from the second routing node to the first upper routing node;
the first upper routing node is configured to verify whether the uplink certificate received from the second upper routing node is correct, and transmit the 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 broadcast the execution result received from the first upper layer routing node and the signature of the first upper layer routing node in the first blockchain network, so that the plurality of first common identification nodes of the first blockchain network verify whether the signature of the received first upper layer routing node is correct or not, and trust the received execution result when the verification is passed.
6. The system of claim 5, wherein a first blockchain network includes a plurality of the first routing nodes, each of the first routing nodes in communication with a first upper level routing node, and wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
each of the first routing nodes is configured to individually obtain a cross-chain transaction from a first blockchain network to be performed in a second blockchain network and transmit the cross-chain transaction to a first upper routing node;
after the cross-chain transaction is performed in the second blockchain network:
each of the first routing nodes is configured to individually receive the execution result and the signature of the first upper layer routing node from the first upper layer routing node and broadcast the received execution result and the signature of the first upper layer routing node in the first blockchain network.
7. The system of claim 6, wherein when the first blockchain network initiates a cross-chain transaction to be performed in the second blockchain network: the first upper routing node is configured to receive a cross-chain transaction from each of the first routing nodes, verify whether hash values of the cross-chain transactions received from each of the first routing nodes are consistent, and transmit the cross-chain transaction subjected to deduplication to a second upper routing node when the verification is passed.
8. The system of claim 5, wherein a second blockchain network includes a plurality of the second routing nodes, each of the second routing nodes in communication with a second upper level routing node, and wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
each of the second routing nodes is configured to individually receive a cross-chain transaction from a second upper routing node and broadcast the received cross-chain transaction in a second blockchain network;
after the cross-chain transaction is performed in the second blockchain network:
each of the second routing nodes is configured to separately obtain an execution result from the second blockchain network indicating that a cross-chain transaction is performed and an uplink certificate for the execution result and transmit the execution result and the uplink certificate to a second upper routing node.
9. The system of claim 8, wherein, after the cross-chain transaction is performed in the second blockchain network: the second upper routing node is configured to receive the execution result and the uplink certificate from each of the second routing nodes, verify whether the hash value of the execution result and the hash value of the uplink certificate received from each of the second routing nodes are consistent, and transmit the execution result and the uplink certificate after the passing of the verification to the first upper routing node.
10. The system of claim 5, 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.
11. The system of claim 10, wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
each of the first upper routing nodes is configured to individually receive a cross-chain transaction from a first routing node and transmit the received cross-chain transaction to a second upper routing node;
after the cross-chain transaction is performed in the second blockchain network:
each of the first upper routing nodes is configured to individually receive an execution result and a uplink certificate for the execution result from a second upper routing node, verify whether the received uplink certificate is correct, and transmit the execution result and a signature of the first upper routing node to the first routing node when the verification is passed.
12. The system of claim 11, wherein when the first blockchain network initiates a cross-chain transaction to be performed in the second blockchain network: the second upper routing node is configured to receive the cross-chain transaction from each of the first upper routing nodes, verify whether the hash values of the cross-chain transactions received from each of the first upper routing nodes are consistent, and transmit the cross-chain transaction subjected to the past duplication to the second routing node when the verification is passed.
13. The system of claim 11, wherein, after the cross-chain transaction is performed in a second blockchain network: the first routing node is configured to broadcast the execution result received from each first upper routing node and the signature of the first upper routing node in the first blockchain network, so that the plurality of first common identification nodes of the first blockchain network verify whether the signature of each received first upper routing node is correct, and trust the received execution result when the number of verified first upper routing nodes in the plurality of first upper routing nodes reaches a preset threshold value.
14. The system of claim 10, wherein the plurality of the first upper routing nodes comprises a first upper routing node and a second first upper routing node, and wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
the first upper routing node is configured to receive a cross-chain transaction from the first routing node and transmit the received cross-chain transaction to the second upper routing node;
after the cross-chain transaction is performed in the second blockchain network:
the first upper routing node is configured to receive an execution result and a uplink certificate for the execution result from the second upper routing node and to transmit the received execution result and uplink certificate to the second first upper routing node,
the second first upper routing node is configured to verify whether the uplink certificate received from the first upper routing node is correct, and to transmit the execution result and the signature of the second first upper routing node to the first upper routing node when the verification is passed,
the first upper routing node is further configured to transmit the execution result and the signature of the second first upper routing node and the signature of the first upper routing node to the first routing node.
15. The system of claim 14, wherein, after the cross-chain transaction is performed in the second blockchain network: the first routing node is configured to broadcast the execution result received from the first upper layer routing node and the signature of the second first upper layer routing node and the signature of the first upper layer routing node in the first blockchain network, so that the plurality of first common identification nodes of the first blockchain network verify whether the received signature of the second first upper layer routing node and the signature of the first upper layer routing node are correct, and trust the received execution result when the verification is passed.
16. The system of claim 5, wherein the upper blockchain network includes a plurality of the second upper routing nodes trusted by the second blockchain network and in communication with the second routing node.
17. The system of claim 16, wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
each said second upper routing node is configured to separately receive a cross-chain transaction from a first upper routing node and transmit the received cross-chain transaction to a second routing node;
after the cross-chain transaction is performed in the second blockchain network:
each of the second upper routing nodes is configured to individually receive execution results and uplink credentials for the execution results from the second routing node and to transmit the received execution results and uplink credentials to the first upper routing node.
18. The system of claim 17, wherein, after the cross-chain transaction is performed in the second blockchain network: the first upper routing node is configured to receive the execution result and the uplink certificate from each of the second upper routing nodes, verify whether the uplink certificate received from each of the second upper routing nodes is correct, and transmit the execution result and the signature of the first upper routing node to the first routing node when the number of verified second upper routing nodes in the plurality of second upper routing nodes reaches a preset threshold.
19. The system of claim 18, wherein, after the cross-chain transaction is performed in the second blockchain network: the first upper routing node is further configured to verify whether the hash values of the execution results received from each of the second upper routing nodes are identical, and transmit the executed result subjected to the deduplication and the signature of the first upper routing node to the first routing node when the verification is passed.
20. The system of claim 16, wherein the plurality of the second upper routing nodes comprises a first second upper routing node and a second upper routing node, and wherein,
when a first blockchain network initiates a cross-chain transaction to be performed in a second blockchain network:
the first second upper routing node is configured to receive a cross-chain transaction from the first upper routing node and transmit the received cross-chain transaction to the second routing node;
after the cross-chain transaction is performed in the second blockchain network:
the first and second upper routing nodes are configured to receive the execution result and the uplink certificate for the execution result from the second routing node and transmit the received execution result and uplink certificate to the first upper routing node.
21. The system of claim 1, further comprising:
a first transit bridge network deployed at a lower layer of the upper layer blockchain network and including a first transit bridge routing node and a plurality of first transit bridge consensus nodes in communication with each other, the first transit bridge routing node communicating with a third upper layer routing node in the upper layer blockchain network that is trusted by the first transit bridge network; and
a first heterogeneous blockchain network deployed at a lower level of the first transit bridge network and including a plurality of first heterogeneous consensus nodes in communication with the first transit bridge consensus node,
wherein the first transfer bridge network is isomorphic with the upper zone block chain network, the first zone block chain network, and the second zone block chain network, and the first heterogeneous zone block chain network is heterogeneous with the upper zone block chain network, the first zone block chain network, and the second zone block chain network,
wherein each first transit bridge consensus node of the plurality of first transit bridge consensus nodes is configured with simple pay-validation capability to monitor and verify block behavior in a first heterogeneous blockchain network,
and wherein the overlay blockchain network is configured to manage the consensus nodes of the first transit bridge network by chaining in the overlay blockchain network changes of the consensus nodes of the first transit bridge network.
22. The system of claim 21, wherein the first transit bridge network is a blockchain network.
23. The system of claim 21, wherein when the first blockchain network initiates a cross-chain transaction to be performed in the first heterogeneous blockchain network:
the first routing node is configured to obtain a cross-chain transaction from the first blockchain network to be performed in the first heterogeneous blockchain network and transmit the cross-chain transaction to the first upper routing node;
the first upper routing node is configured to transmit the cross-chain transaction received from the first routing node to a third upper routing node;
the third upper routing node is configured to transmit the received cross-chain transaction from the first upper routing node to the first transit bridge routing node;
the first transit bridge routing node is configured to broadcast in the first transit bridge network a cross-chain transaction received from a third upper routing node, such that the plurality of first transit bridge consensus nodes of the first transit bridge network receive and convert the cross-chain transaction to have a format that fits the first heterogeneous blockchain network, and transmit the converted cross-chain transaction to the first heterogeneous blockchain network, such that the plurality of first heterogeneous consensus nodes of the first heterogeneous blockchain network receive and execute the converted cross-chain transaction.
24. The system of claim 23, wherein when the first blockchain network initiates a cross-chain transaction to be performed in the first heterogeneous blockchain network: the plurality of first transit bridge consensus nodes of the first transit bridge network are further configured to chain-credit the received cross-chain transaction in the first transit bridge network.
25. The system of claim 23, wherein after the converted cross-chain transaction is performed in the first heterogeneous blockchain network:
the plurality of first transit bridge consensus nodes of the first transit bridge network are configured to obtain a converted execution result of the cross-chain transaction and to chain-store the execution result in the first transit bridge network;
the first transit bridge routing node is configured to obtain a uplink certificate for the execution result and transmit the uplink certificate to a third upper layer routing node;
the third upper level routing node is configured to transmit the uplink credentials received from the first transit bridge routing node to the first upper level routing node;
the first upper routing node is configured to verify whether the uplink certificate received from the third upper routing node is correct, and transmit the uplink certificate 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 broadcast, in the first blockchain network, the uplink attestation received from the first upper level routing node and the signature of the first upper level routing node, such that the plurality of first common identification nodes of the first blockchain network verify whether the received signature of the first upper level routing node is correct, and trust the received uplink attestation when the verification passes.
26. The system of claim 21, further comprising:
a second transit bridge network deployed below the upper block-chain network and including a second transit bridge routing node and a plurality of second transit bridge consensus nodes in communication with each other, the second transit bridge routing node communicating with a fourth upper routing node in the upper block-chain network that is trusted by the second transit bridge network; and
a second heterogeneous blockchain network deployed at a lower level of the second transit bridge network and including a plurality of second heterogeneous common knowledge nodes in communication with a second transit bridge common knowledge node,
wherein the second transit bridge network is homogeneous with the upper blockchain network, the first blockchain network, the second blockchain network, and the first transit bridge network, and the second heterogeneous blockchain network is heterogeneous with the upper blockchain network, the first blockchain network, the second blockchain network, and the first heterogeneous blockchain network,
wherein each second transit bridge consensus node of the plurality of second transit bridge consensus nodes is configured with simple payment confirmation capabilities to monitor and verify block behavior in a second heterogeneous blockchain network,
and wherein the overlay blockchain network is configured to manage the consensus node of the second transit bridge network by chain crediting changes to the consensus node of the second transit bridge network in the overlay blockchain network.
27. 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 performed in a second blockchain network and transmitting the cross-chain transaction to a first upper routing node of the first blockchain network and an upper blockchain network of the second blockchain network that is trusted by the first blockchain network;
transmitting, by a first upper routing node, a cross-chain transaction received from the first routing node to a second upper routing node of the upper blockchain network that is trusted by a second blockchain network;
transmitting, by a second upper routing node, the cross-chain transaction received from the first upper routing node to a second routing node of a second blockchain network; and
broadcasting, by a second routing node, a cross-chain transaction received from a second upper routing node in a second blockchain network, such that a plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction,
wherein the upper blockchain network is configured to manage the consensus node of each of the first and second blockchain networks by chain storing changes to the consensus node of each of the first and second blockchain networks in the upper blockchain network.
28. The method of claim 27, wherein for each of the first and second blockchain networks, when a new node is to join the blockchain network as a consensus node, the method comprises:
acquiring a certificate from the upper layer blockchain network through the new node and calling a first method for requesting to join the blockchain network of a first join contract deployed in the blockchain network based on the acquired certificate;
invoking, by the blockchain network in response to executing the first method, a second join contract deployed in the upper blockchain network to request the upper blockchain network to join the new node in the blockchain network;
after executing the second join contract, the upper layer blockchain network links a chain certificate in the upper layer blockchain network according to the execution result of the second join contract and transmits the chain certificate to the blockchain network; and
invoking, by the blockchain network, a second method for confirming joining of the blockchain network of the first joining contract in the blockchain network based on the uplink certificate to set the new node as a consensus node of the blockchain network.
29. The method of claim 27, wherein, for each of the first and second blockchain networks, when a consensus node of the blockchain network is to exit the blockchain network:
invoking, by the consensus node, a first exit contract deployed in the blockchain network to exit the blockchain network;
invoking, by the block chain network in the upper block chain network in response to executing the first exit contract, a second exit contract deployed in the upper block chain network to request the upper block chain network for the identified node to exit the block chain network; and
and storing the execution result of the second quit contract in the upper layer blockchain network after executing the second quit contract through the upper layer blockchain network.
30. The method of claim 27, further comprising:
obtaining, by a second routing node, an execution result indicating that a cross-chain transaction is executed and an uplink certificate for the execution result from a second blockchain network and transmitting the execution result and the uplink certificate to a second upper routing node;
transmitting, by the second upper routing node, the execution result and the uplink certificate received from the second routing node to the first upper routing node;
verifying whether the uplink certificate received from the second upper routing node is correct or not through the first upper routing node, and transmitting an execution result and the signature of the first upper routing node to the first routing node when the verification is passed; and
broadcasting the execution result received from the first upper layer routing node and the signature of the first upper layer routing node in the first block chain network through the first routing node, so that a plurality of first common identification nodes of the first block chain network verify whether the received signature of the first upper layer routing node is correct or not, and trust the received execution result when the verification is passed.
31. The method of claim 30, wherein a first blockchain network includes a plurality of the first routing nodes, each of the first routing nodes in communication with a first upper level routing node, and wherein the method includes:
obtaining, by each of the first routing nodes, a cross-chain transaction from a first blockchain network to be performed in a second blockchain network and transmitting the cross-chain transaction to a first upper routing node separately;
the execution result and the signature of the first upper layer routing node are received from the first upper layer routing node by each of the first routing nodes individually, and the received execution result and the signature of the first upper layer routing node are broadcast in the first blockchain network.
32. The method of claim 31, further comprising: after the cross-chain transaction is transmitted to the first upper layer routing node through each first routing node individually, whether the hash value of the cross-chain transaction received from each first routing node is consistent or not is verified through the first upper layer routing node, and the cross-chain transaction which is subjected to the de-weight is transmitted to the second upper layer routing node when the verification is passed.
33. The method of claim 30, wherein a second blockchain network includes a plurality of the second routing nodes, each of the second routing nodes in communication with a second upper level routing node, and wherein the method comprises:
receiving, by each of the second routing nodes, a cross-chain transaction from a second upper level routing node individually and broadcasting the received cross-chain transaction in a second blockchain network;
obtaining, by each of the second routing nodes, an execution result from the second blockchain network indicating that a cross-chain transaction is executed and an uplink certificate for the execution result separately and transmitting the execution result and the uplink certificate to a second upper routing node.
34. The method of claim 33, further comprising: after the execution result and the uplink certificate are individually transmitted to the second upper routing node by each of the second routing nodes, verifying, by the second upper routing node, whether the hash value of the execution result and the hash value of the uplink certificate received from each of the second routing nodes are identical, and transmitting the re-executed execution result and the uplink certificate to the first upper routing node when the verification is passed.
35. The method of claim 30, 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.
36. The method of claim 35, comprising:
receiving, by each of the first upper routing nodes, a cross-chain transaction from the first routing node individually and transmitting the received cross-chain transaction to a second upper routing node;
the method comprises the steps of receiving an execution result and a uplink certificate aiming at the execution result from a second upper layer routing node through each first upper layer routing node separately, verifying whether the received uplink certificate is correct or not, and transmitting the execution result and the signature of the first upper layer routing node to the first routing node when the verification is passed.
37. The method of claim 36, further comprising: after the cross-chain transaction is conducted to a second upper layer routing node through each first upper layer routing node, whether the hash value of the cross-chain transaction received from each first upper layer routing node is consistent or not is verified through the second upper layer routing node, and the cross-chain transaction after the cross-chain transaction is conducted is transmitted to the second routing node when the hash value is verified to be consistent.
38. The method of claim 36, further comprising: after the execution result and the signature of the first upper routing node are transmitted to the first routing nodes through each first upper routing node, the execution result and the signature of the first upper routing node received from each first upper routing node are broadcasted in the first block chain network through the first routing nodes, so that the plurality of first common identification nodes of the first block chain network verify whether the signature of each received first upper routing node is correct, and trust the received execution result when the number of verified first upper routing nodes in the plurality of first upper routing nodes reaches a preset threshold value.
39. The method of claim 35, wherein the plurality of first upper routing nodes comprises a first upper routing node and a second first upper routing node, and wherein the method comprises:
receiving, by a first upper routing node, a cross-link transaction from the first routing node and transmitting the received cross-link transaction to a second upper routing node;
receiving, by a first upper routing node, an execution result and a uplink certificate for the execution result from a second upper routing node and transmitting the received execution result and uplink certificate to the second first upper routing node;
verifying whether the uplink certification received from the first upper routing node is correct or not through the 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 verification is passed;
and transmitting the execution result, the signature of the second first upper layer routing node and the signature of the first upper layer routing node to the first routing node through the first upper layer routing node.
40. The method of claim 39, further comprising: broadcasting the execution result and the signature of the second upper layer routing node and the signature of the first upper layer routing node received from the first upper layer routing node in the first block chain network through the first routing node, so that the plurality of first common identification nodes of the first block chain network verify whether the signature of the second upper layer routing node and the signature of the first upper layer routing node received are correct or not, and trusting the received execution result when the verification is passed.
41. The method of claim 30, wherein the upper blockchain network comprises a plurality of the second upper routing nodes that are trusted by the second blockchain network and communicate with the second routing node.
42. The method of claim 41, further comprising:
receiving, by each of the second upper routing nodes, a cross-chain transaction from the first upper routing node individually and transmitting the received cross-chain transaction to the second routing node;
the method comprises the steps of receiving execution results and uplink certificates aiming at the execution results from the second routing nodes by each second upper routing node separately, and transmitting the received execution results and uplink certificates to the first upper routing node.
43. The method of claim 42, further comprising: after transmitting the received execution result and the uplink certificate to the first upper routing node through each second upper routing node, verifying, by the first upper routing node, whether the uplink certificate received from each second upper routing node is correct, and transmitting the execution result and the signature of the first upper routing node to the first routing node when the number of verified second upper routing nodes among the plurality of second upper routing nodes reaches a preset threshold.
44. The method of claim 43, further comprising: and verifying whether the hash value of the execution result received from each second upper layer routing node is consistent or not by the first upper layer routing node, and transmitting the repeated execution result and the signature of the first upper layer routing node to the first routing node when the verification is passed.
45. The method of claim 41, wherein the plurality of second upper routing nodes comprises a first second upper routing node and a second upper routing node, and wherein the method comprises:
receiving, by a first upper layer routing node, a cross-chain transaction from the first upper layer routing node and transmitting the received cross-chain transaction to a second routing node;
the method comprises the steps of receiving an execution result and a uplink certificate aiming at the execution result from a second routing node through a first and a second upper layer routing nodes, and transmitting the received execution result and the uplink certificate to the first upper layer routing node.
46. The method of claim 27, further comprising:
obtaining, by a first routing node, a cross-chain transaction from a first blockchain network to be performed in a first heterogeneous blockchain network and transmitting the cross-chain transaction to a first upper routing node;
transmitting, by a first upper routing node, a received cross-chain transaction from the first routing node to a third upper routing node of the upper blockchain network that is trusted by a first transit bridge network deployed on a lower layer of the upper blockchain network and deployed on an upper layer of a first heterogeneous blockchain network;
transmitting, by a third upper routing node, the cross-link transaction received from the first upper routing node to a first transit bridge routing node of a first transit bridge network; and
broadcasting, by a first transit bridge routing node, a cross-chain transaction received from a third upper routing node in a first transit bridge network such that a plurality of first transit bridge consensus nodes of the first transit bridge network receive and convert the cross-chain transaction to have a format that fits the first heterogeneous blockchain network and transmit the converted cross-chain transaction to the first heterogeneous blockchain network such that the plurality of first heterogeneous consensus nodes of the first heterogeneous blockchain network receive and execute the converted cross-chain transaction,
wherein the first transfer bridge network is isomorphic with the upper zone block chain network, the first zone block chain network, and the second zone block chain network, and the first heterogeneous zone block chain network is heterogeneous with the upper zone block chain network, the first zone block chain network, and the second zone block chain network,
wherein each first transit bridge consensus node of the plurality of first transit bridge consensus nodes is configured with simple payment confirmation capabilities to monitor and verify block behavior in a first heterogeneous blockchain network,
and wherein the upper zone blockchain network is configured to manage the consensus node of the first transit bridge network by chain-crediting the change of the consensus node of the first transit bridge network in the upper zone blockchain network.
47. The method of claim 46, wherein the first transit bridge network is a blockchain network.
48. The method of claim 46, further comprising: the received cross-chain transaction is chain-credited in the first transit bridge network by the plurality of first transit bridge consensus nodes of the first transit bridge network.
49. The method of claim 46, further comprising:
obtaining the converted execution result of the cross-link transaction through the plurality of first transit bridge common identification nodes of the first transit bridge network and uploading the execution result in the first transit bridge network for evidence storage;
obtaining, by the first transit bridge routing node, a uplink certificate for the execution result and transmitting the uplink certificate to a third upper layer routing node;
transmitting, by the third upper routing node, the uplink credentials received from the first transit bridge routing node to the first upper routing node;
verifying whether the uplink certificate received from the third upper layer routing node is correct or not through the first upper layer routing node, and transmitting the uplink certificate and the signature of the first upper layer routing node to the first routing node when the uplink certificate and the signature of the first upper layer routing node pass the verification; and
broadcasting the uplink certificate and the signature of the first upper layer routing node received from the first upper layer routing node in the first block chain network through the first routing node, so that a plurality of first common identification nodes of the first block chain network verify whether the received signature of the first upper layer routing node is correct or not, and trust the received uplink certificate when the verification is passed.
50. The method of claim 46, further comprising:
transmitting, by a first transit bridge routing node of a first transit bridge network, a cross-chain transaction from the first heterogeneous blockchain network to be performed in a second heterogeneous blockchain network to a third upper layer routing node, the cross-chain transaction having been verified by the plurality of first transit bridge consensus nodes of the first transit bridge network and converted to have a format that is adapted to the upper layer blockchain network;
transmitting, by a third upper routing node, a cross-chain transaction received from a first transit bridge routing node to a fourth upper routing node of the upper blockchain network that is trusted by a second transit bridge network deployed on a lower layer of the upper blockchain network and deployed on an upper layer of a second heterogeneous blockchain network;
transmitting, by the fourth upper routing node, the cross-link transaction received from the third upper routing node to a second transit bridge routing node of the second transit bridge network; and
broadcasting, by the node through the second transit bridge, the cross-link transaction received from the fourth upper routing node in the second transit bridge network such that a plurality of second transit bridge consensus nodes of the second transit bridge network receive and convert the cross-link transaction to have a format that is adapted to the second heterogeneous blockchain network and transmit the converted cross-link transaction to the second heterogeneous blockchain network such that the plurality of second heterogeneous consensus nodes of the second heterogeneous blockchain network receive and execute the converted cross-link transaction,
wherein the second transit bridge network is isomorphic with the upper blockchain network, the first blockchain network, the second blockchain network, and the first transit bridge network, and the second heterogeneous blockchain network is heterogeneous with the upper blockchain network, the first blockchain network, the second blockchain network, and the first heterogeneous blockchain network,
wherein each second transit bridge consensus node of the plurality of second transit bridge consensus nodes is configured with simple payment confirmation capabilities to monitor and verify block behavior in a second heterogeneous blockchain network,
and wherein the overlay blockchain network is configured to manage the consensus node of the second transit bridge network by chain crediting changes to the consensus node of the second transit bridge network in the overlay blockchain network.
51. 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;
a transmission module configured to:
transmitting, by a first routing node, a cross-chain transaction to a first upper routing node of an upper blockchain network of a first blockchain network and a second blockchain network that is trusted by the first blockchain network;
transmitting, by a first upper routing node, a cross-chain transaction received from the first routing node to a second upper routing node of the upper blockchain network that is trusted by a second blockchain network;
transmitting, by a second upper routing node, the cross-chain transaction received from the first upper routing node to a second routing node of a second blockchain network; and
an execution module configured to broadcast, by a second routing node, a cross-chain transaction received from a second upper routing node in a second blockchain network such that a plurality of second consensus nodes of the second blockchain network receive and execute the cross-chain transaction,
wherein the upper blockchain network is configured to manage the consensus node of each of the first and second blockchain networks by chaining credentials in the upper blockchain network for changes to the consensus node of each of the first and second blockchain networks.
52. 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 27 to 50.
53. 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 one of claims 27 to 50.
CN202210466073.4A 2022-04-29 2022-04-29 System and method for cross-blockchain interactions Active CN114793235B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210466073.4A CN114793235B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions
PCT/CN2022/135558 WO2023207085A1 (en) 2022-04-29 2022-11-30 System and method for cross-blockchain interaction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210466073.4A CN114793235B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions

Publications (2)

Publication Number Publication Date
CN114793235A true CN114793235A (en) 2022-07-26
CN114793235B CN114793235B (en) 2024-03-29

Family

ID=82461306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210466073.4A Active CN114793235B (en) 2022-04-29 2022-04-29 System and method for cross-blockchain interactions

Country Status (2)

Country Link
CN (1) CN114793235B (en)
WO (1) WO2023207085A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785804A (en) * 2022-04-29 2022-07-22 蚂蚁区块链科技(上海)有限公司 System and method for cross-block chain interaction
CN116614320A (en) * 2023-07-20 2023-08-18 北京交通大学 Encryption communication method based on industrial Internet three-layer communication architecture and related equipment
WO2023207085A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interaction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340267A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN111741114A (en) * 2020-06-24 2020-10-02 陈鹏 System, method and equipment capable of monitoring cross-chain interaction 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
CN114785804A (en) * 2022-04-29 2022-07-22 蚂蚁区块链科技(上海)有限公司 System and method for cross-block chain interaction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231299A (en) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 A kind of chain route and realized the system that block chain communicates across chain
CN110266655B (en) * 2019-05-30 2021-11-12 中国工商银行股份有限公司 Cross-chain interconnection method, device and system based on block chain
CN111163129B (en) * 2019-12-05 2021-12-14 深圳前海微众银行股份有限公司 Resource processing method and device based on cross-link network
CN111800463B (en) * 2020-05-29 2023-04-07 易联众信息技术股份有限公司 Inter-block chain cross-chain information interaction method, system, medium, equipment and application
CN114793235B (en) * 2022-04-29 2024-03-29 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340267A1 (en) * 2018-05-01 2019-11-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
WO2021136251A1 (en) * 2019-12-30 2021-07-08 北京金山云网络技术有限公司 Cross-blockchain communication method and apparatus, cross-chain service system and cross-chain transaction system
CN111741114A (en) * 2020-06-24 2020-10-02 陈鹏 System, method and equipment capable of monitoring cross-chain interaction based on block chain
CN114785804A (en) * 2022-04-29 2022-07-22 蚂蚁区块链科技(上海)有限公司 System and method for cross-block chain interaction

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785804A (en) * 2022-04-29 2022-07-22 蚂蚁区块链科技(上海)有限公司 System and method for cross-block chain interaction
WO2023207085A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interaction
WO2023207083A1 (en) * 2022-04-29 2023-11-02 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interaction
CN114785804B (en) * 2022-04-29 2024-03-29 蚂蚁区块链科技(上海)有限公司 System and method for cross-blockchain interactions
CN116614320A (en) * 2023-07-20 2023-08-18 北京交通大学 Encryption communication method based on industrial Internet three-layer communication architecture and related equipment
CN116614320B (en) * 2023-07-20 2023-09-12 北京交通大学 Encryption communication method based on industrial Internet three-layer communication architecture and related equipment

Also Published As

Publication number Publication date
WO2023207085A1 (en) 2023-11-02
CN114793235B (en) 2024-03-29

Similar Documents

Publication Publication Date Title
CN110266655B (en) Cross-chain interconnection method, device and system based on block chain
CN114793235A (en) System and method for cross-block chain interaction
CN110599095B (en) Block chain network-based hazardous waste treatment method and node of block chain network
WO2023207083A1 (en) System and method for cross-blockchain interaction
KR20220118405A (en) Communication protocol using blockchain transactions
WO2021082340A1 (en) Data processing method, apparatus, system, and storage medium
JP7062571B2 (en) Organization management support system, organization management support method, and organization management support device
JP2024505692A (en) Data processing methods, devices and computer equipment based on blockchain networks
CN113255014B (en) Data processing method based on block chain and related equipment
CN113570479B (en) Block chain transmission method, system and storage medium for real estate transaction data
JP2023525973A (en) Multilayer communication network
CN115134075A (en) Cross-subnet calling method and device, electronic equipment and storage medium
CN114844904B (en) System and method for cross-blockchain interactions
WO2023246187A1 (en) Management method for blockchain network, and related device
CN110784324B (en) Node admission method and device
CN114363335B (en) Cross-chain interaction method and device
WO2023019903A1 (en) Cross-chain transaction system and method, and device and storage medium
CN114844905B (en) System and method for cross-blockchain interactions
WO2023056713A1 (en) Cloud platform binding method and system for internet of things card, and device and medium
CN116186749A (en) Block chain-based service processing method and device, electronic equipment and readable medium
JP2023518004A (en) Revoking network access
CN115145976A (en) Data processing method and device based on block chain, computer equipment and medium
CN117056084B (en) Data processing method, device, equipment and medium based on hierarchical blockchain network
WO2023197259A1 (en) Devices and methods for providing a federated learning model
CN116155624B (en) Cross-link method, device and system for heterogeneous alliance chains

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