External Bridging Cross-Chain Method, Device, Equipment and Medium Based on Hyperledger Fabric
By placing data providers and demanders in different blockchain systems and using cross-chain copying methods, the problems of coarse granularity and low security in the Hyperledger Fabric blockchain system are solved, and data sharing and higher security are achieved.
Patent Information
- Application Number
- CN202111192919.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-13
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-10-13
AI Technical Summary
In the Hyperledger Fabric-based blockchain system, the privacy protection of data is relatively coarse and the data is less secure because all organizations in the channel can see the proof data.
By placing data providers and data demanders in different blockchain systems and using cross-chain copying methods, the required data is copied from the blockchain system where the provider is located to the blockchain system where the demander is located, thereby realizing on-demand sharing of data.
This method can better control data privacy, refine the granularity of data privacy protection, improve data security, and do not need to update the provider's blockchain system when new data demanders join.
Smart Images

Figure CN113987071B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of this specification relate to the field of computer application technologies, and in particular, to an external bridging cross-chain method, device, equipment, and medium based on Hyperledger Fabric. Background Art
[0002] In the related art, in a blockchain system based on Hyperledger Fabric, channel partitioning is usually performed according to the organizations actually participating in the business, and the organizations participating in the same business are added to the same channel. However, for a certain channel, the data stored in the channel is visible to all organizations in the channel. Therefore, the protection granularity of data privacy is relatively coarse, and the security of data is relatively low. Summary of the Invention
[0003] This specification proposes an external bridging cross-chain method based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to a data provider and a first Peer node of a service provider of a cross-chain service; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to a data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; the method is applied to a client corresponding to the data requester, and includes:
[0004] Receiving the data original of the demand data corresponding to the data requester sent by a second cross-chain application program corresponding to the second Peer node; wherein, the data original is sent by a first cross-chain application program corresponding to the first Peer node to the second cross-chain application program;
[0005] Constructing a query transaction based on the identifier of a cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the demand data stored in the first blockchain system and is triggered by a client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application program to the second blockchain system for storage;
[0006] Publish the query transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the query transaction and copy the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system across the chain;
[0007] Obtain the cross-chain message header from the second blockchain system, and verify the original data based on the cross-chain message header. After the original data passes the verification, publish the required data to the second blockchain system for storage, so that the client corresponding to the data requester can obtain the required data from the second blockchain system.
[0008] This specification also proposes an external bridging cross-chain method based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and the first Peer node of the service provider of the cross-chain service; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data requesters and the second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; the method is applied to the client corresponding to the data provider and includes:
[0009] Obtain the data identifier of the required data corresponding to the data requester;
[0010] Obtain the data digest of the required data corresponding to the data identifier from the first blockchain system, and publish the cross-chain message header constructed based on the data digest to the first blockchain system for storage;
[0011] Construct a cross-chain copy transaction for the cross-chain message header;
[0012] Publish the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to copy the cross-chain message header from the first blockchain system to the bridging chain across the chain, so that the second cross-chain service corresponding to the second Peer node can obtain the cross-chain message header and publish the identifier of the cross-chain message header to the second blockchain system for storage.
[0013] This specification also proposes an external bridging cross-chain method based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain; the method is applied to a client corresponding to the data requester and includes:
[0014] Through the Peer node corresponding to the data requester in the bridging chain, obtain a cross-chain copy transaction from the bridging chain; wherein, the cross-chain copy transaction is constructed by a client corresponding to the data provider based on the data identifier of the demand data corresponding to the data requester and published to the bridging chain, for triggering the cross-chain copy of the demand data corresponding to the data identifier from the first blockchain system to the bridging chain;
[0015] Publish the cross-chain copy transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0016] This specification also proposes an external bridging cross-chain method based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain; the method is applied to a client corresponding to the data provider and includes:
[0017] Obtain the data identifier of the demand data corresponding to the data requester;
[0018] Construct a cross-chain copy transaction based on the data identifier;
[0019] Publish the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to respond to the cross-chain copy transaction and copy the required data corresponding to the data identifier from the first blockchain system to the bridging chain across the chain, so that the client corresponding to the data requester can obtain the cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain, triggering the cross-chain copy of the required data corresponding to the data identifier from the bridging chain to the second blockchain system across the chain.
[0020] This specification also proposes an external bridging cross-chain device based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and the first Peer node of the service provider of cross-chain services; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data requesters and the second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; the device is applied to the client corresponding to the data requester and includes:
[0021] A receiving module for receiving the original data of the required data corresponding to the data requester sent by the second cross-chain application corresponding to the second Peer node; wherein, the original data is sent by the first cross-chain application corresponding to the first Peer node to the second cross-chain application.
[0022] A construction module for constructing a query transaction based on the identifier of the cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the required data stored in the first blockchain system and is triggered by the client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application to the second blockchain system for storage.
[0023] A cross-chain module for publishing the query transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the query transaction and cross-chain copy the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system.
[0024] The evidence storage module is used to obtain the cross-chain message header from the second blockchain system, verify the original data based on the cross-chain message header, and after the original data passes the verification, publish the required data to the second blockchain system for evidence storage, so that the client corresponding to the data requester can obtain the required data from the second blockchain system.
[0025] This specification also proposes an external bridging cross-chain device based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider of the cross-chain service; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain used to connect the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; the device is applied to the client corresponding to the data provider and includes:
[0026] The first acquisition module is used to acquire the data identifier of the required data corresponding to the data requester.
[0027] The second acquisition module is used to acquire the data digest of the required data corresponding to the data identifier from the first blockchain system, and publish the cross-chain message header constructed based on the data digest to the first blockchain system for evidence storage.
[0028] The construction module is used to construct a cross-chain copy transaction for the cross-chain message header.
[0029] The cross-chain module is used to publish the cross-chain copy transaction to the bridging chain, trigger the Peer node in the bridging chain to cross-chain copy the cross-chain message header from the first blockchain system to the bridging chain, so that the second cross-chain service corresponding to the second Peer node can obtain the cross-chain message header, and publish the identifier of the cross-chain message header to the second blockchain system for evidence storage.
[0030] This specification also proposes an external bridging cross-chain device based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain; the device is applied to a client corresponding to the data requester and includes:
[0031] An acquisition module, configured to obtain a cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain; wherein, the cross-chain copy transaction is constructed by a client corresponding to the data provider based on the data identifier of the demand data corresponding to the data requester, and is published to the bridging chain for triggering the cross-chain copy of the demand data corresponding to the data identifier from the first blockchain system to the bridging chain;
[0032] A cross-chain module, configured to publish the cross-chain copy transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0033] This specification also proposes an external bridging cross-chain device based on Hyperledger Fabric. The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain; the device is applied to a client corresponding to the data provider and includes:
[0034] An acquisition module, configured to obtain the data identifier of the demand data corresponding to the data requester;
[0035] A construction module, configured to construct a cross-chain copy transaction based on the data identifier;
[0036] A cross-chain module for publishing the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to respond to the cross-chain copy transaction and copy the required data corresponding to the data identifier from the first blockchain system to the bridging chain across the chain, so that the client corresponding to the data requester can obtain the cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain, triggering the copy of the required data corresponding to the data identifier from the bridging chain to the second blockchain system across the chain.
[0037] This specification also proposes an electronic device, including:
[0038] A processor;
[0039] A memory for storing instructions executable by the processor;
[0040] Wherein, the processor runs the executable instructions to implement the steps of the method as described in any one of the above.
[0041] This specification also proposes a computer-readable storage medium, on which computer instructions are stored, and when the instructions are executed by a processor, the steps of the method as described in any one of the above are implemented.
[0042] In the above technical solution, the data provider and the data requester can be placed in different blockchain systems based on Hyperledger Fabric, and through the cross-chain copy method, the required data corresponding to the data requester is copied from the blockchain system where the data provider is located to the blockchain system where the data requester is located across the chain, so that on-demand sharing of data can be realized without providing all the data to the data requester. Therefore, data privacy can be better controlled, the protection granularity of data privacy can be refined, and the security of data can be improved. Correspondingly, when a new data requester joins the blockchain system, only a new blockchain system needs to be created for the new data requester, without updating the blockchain system where the data provider is located. In addition, when using the bridging chain for cross-chain copy, only the data digest of the required data can be stored on the bridging chain, so that the storage resources corresponding to the bridging chain can be saved, which is suitable for scenarios with a large amount of required data. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 is a schematic diagram of the network environment of a blockchain system based on Hyperledger Fabric;
[0044] Figure 2 is a schematic diagram of the transaction execution process in a blockchain system based on Hyperledger Fabric;
[0045] Figure 3 It is a schematic diagram of the network environment of a blockchain system based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0046] Figure 4 It is a flowchart of an external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0047] Figure 5 It is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0048] Figure 6 It is a schematic diagram of the network environment of another blockchain system based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0049] Figure 7 It is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0050] Figure 8 It is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0051] Figure 9 It is a hardware structure diagram of an electronic device where an external bridging cross-chain device based on Hyperledger Fabric is located shown in an exemplary embodiment of this specification;
[0052] Figure 10 It is a block diagram of an external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0053] Figure 11 It is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0054] Figure 12 It is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification;
[0055] Figure 13 It is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification. Detailed implementation manners
[0056] Exemplary embodiments will be described in detail herein, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. On the contrary, they are merely examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0057] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step for description in other embodiments.
[0058] Blockchains are generally divided into three types: public blockchains, private blockchains, and consortium blockchains. In addition, there can be combinations of the above multiple types, such as the combination of a private blockchain and a consortium blockchain, the combination of a consortium blockchain and a public blockchain, etc.
[0059] Among them, the public blockchain has the highest degree of decentralization. The participants who join the public blockchain (which can also be called nodes in the blockchain) can read the data records on the chain, participate in transactions, compete for the right to record new blocks, etc. Moreover, each node can freely join or exit the network and perform related operations.
[0060] On the contrary, for a private blockchain, the write permission of the network is controlled by a certain organization or institution, and the data read permission is subject to organizational regulations. Simply put, a private blockchain can be regarded as a weakly decentralized system, which has strict restrictions on nodes and a small number of nodes. This type of blockchain is more suitable for internal use within a specific institution.
[0061] The consortium blockchain is between the public blockchain and the private blockchain and can achieve "partial decentralization". Each node in the consortium blockchain usually has a corresponding entity organization or institution; the nodes join the network through authorization and form an interest-related consortium to jointly maintain the operation of the blockchain.
[0062] In a blockchain, a node is a logical communication entity; multiple blockchain nodes of different types can run on the same physical server or on different physical servers.
[0063] For consortium blockchains, the blockchain system based on Hyperledger Fabric is an implementation of the consortium blockchain system.
[0064] In a blockchain system based on Hyperledger Fabric, it mainly includes the following three types of blockchain nodes: clients; Orderer (sorting service) nodes; and Peer nodes.
[0065] Among them, a client can establish a connection with a certain Peer node or a certain sorting service node to access the corresponding blockchain network through the Peer node or the sorting service node; the client can submit a transaction proposal to the Peer node acting as an Endorser node. After obtaining the endorsement result of the endorsement node for the transaction proposal, it can construct the corresponding transaction and submit the transaction to the sorting service node.
[0066] In practical applications, a client can also establish connections with multiple Peer nodes to access the corresponding blockchain network through each Peer node respectively.
[0067] The sorting service node can receive the transactions submitted by the client, sort the un-packaged transactions, generate the corresponding blocks, and then broadcast the blocks to the Peer nodes.
[0068] It should be noted that the broadcast of the sorting service node can ensure that the nodes on the same chain receive the same data and the received data has the same logical order.
[0069] Peer nodes can be divided into Committer (bookkeeping) nodes, endorsement nodes, and Leader (primary) nodes according to the functions they undertake.
[0070] Specifically, the bookkeeping node is responsible for maintaining the blockchain ledger and chaincode (which can also be called a smart contract); the bookkeeping node can regularly obtain the blocks generated by the sorting service node, and after verifying the transactions in these blocks, store these blocks in the blockchain for evidence. The endorsement node can simulate the execution of the transaction proposal and sign the simulation execution result of the transaction proposal to complete the endorsement of the transaction proposal. The primary node can communicate with the sorting service node to obtain the latest blocks from the sorting service node, so that these blocks can be synchronized among Peer nodes.
[0071] It should be noted that all Peer nodes can serve as bookkeeping nodes. That is, for a certain Peer node, this Peer node can serve as both an endorsing node and a bookkeeping node; or, this Peer node can serve as both a primary node and a bookkeeping node.
[0072] In a blockchain system based on Hyperledger Fabric, blockchain nodes can usually be distinguished based on organizations. That is, the participants in a blockchain system based on Hyperledger Fabric can be organizations.
[0073] Specifically, each organization can have Peer nodes with different functions (specifically including multiple bookkeeping nodes, multiple endorsing nodes, and one primary node); different organizations can share the same ordering service node or the same ordering service node cluster.
[0074] In practical applications, the above-mentioned organizations can be a company, an enterprise, or an association in the real world.
[0075] The data storage structure of a blockchain system based on Hyperledger Fabric can usually be designed as a multi-ledger system. In order to isolate data for different blockchain ledgers, a blockchain system based on Hyperledger Fabric can be logically divided into different channels.
[0076] Among them, the above-mentioned channels can be defined by blockchain ledgers, chain codes, organizations, and ordering service nodes; each channel can have a completely independent blockchain ledger and can have a completely independent chain code; different channels can share the same ordering service node; the same organization can join different channels through different Peer nodes in this organization; each transaction is independently executed in a certain channel.
[0077] Therefore, in a blockchain system based on Hyperledger Fabric, a channel can be regarded as a blockchain. That is, a blockchain system based on Hyperledger Fabric can include multiple blockchains.
[0078] It should be noted that Peer nodes joined in the same channel can maintain the same blockchain ledger and cannot access the blockchain ledgers maintained by Peer nodes joined in other channels. The same Peer node can join different channels; this Peer node can maintain blockchain ledgers corresponding to each channel respectively, but the data between the multiple blockchain accounts maintained by this Peer node is isolated.
[0079] ReferenceFigure 1 , Figure 1 is a schematic diagram of the network environment of a blockchain system based on Hyperledger Fabric.
[0080] As Figure 1 shown, in the above blockchain system based on Hyperledger Fabric, it can include three organizations, namely Organization 1, Organization 2, and Organization 3, and can also include two channels, namely Channel A and Channel B.
[0081] Among them, Organization 1 and Organization 2 belong to Channel A, and Organization 2 and Organization 3 belong to Channel B; each organization can have Peer nodes such as master nodes, endorsement nodes, and ledger nodes, and in addition, there can be clients connected to the endorsement nodes; the Peer nodes in each organization, together with the ordering service nodes shared by all organizations, form a blockchain system based on Hyperledger Fabric.
[0082] Refer to Figure 2 , Figure 2 is a schematic diagram of the transaction execution process in a blockchain system based on Hyperledger Fabric.
[0083] As Figure 2 shown, in the above blockchain system based on Hyperledger Fabric, the client can construct a transaction proposal (the transaction proposal can include the identifier, method, and parameter information of the chaincode to be invoked in this transaction, etc.), and select an endorsement node according to the endorsement policy, and submit the transaction proposal to the endorsement node.
[0084] After receiving the above transaction proposal, the above endorsement node can simulate and execute the business logic in the above chaincode, sign the simulation execution result, and subsequently return the signed simulation execution result to the above client.
[0085] After receiving the above signed simulation execution result, the above client can first verify the signature, and after the verification passes, construct a transaction corresponding to the above transaction proposal (specifically, it can package the transaction proposal and the above signed simulation execution result into a transaction), and subsequently submit the transaction to the ordering service node.
[0086] The above sorting service nodes can sort the un-packaged transactions in the same channel according to the receiving time order of the transactions in the channel, generate a block containing these transactions (specifically, these transactions can be packaged into the block), and then broadcast the block to the master nodes in different organizations in the channel. Since all Peer nodes are accounting nodes, the block received by the master node can be synchronized among all Peer nodes in the channel; at this time, the Peer nodes in the channel can execute the above transactions in the block.
[0087] Reference Figure 3 , Figure 3 is a schematic diagram of a blockchain system based on Hyperledger Fabric shown in an exemplary embodiment of this specification. Combining Figure 3 , reference Figure 4 , Figure 4 is a flowchart of an external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0088] In the above external bridging cross-chain method based on Hyperledger Fabric, there can be several blockchain systems based on Hyperledger Fabric (specifically, it can include a first blockchain system and a second blockchain system).
[0089] It should be noted that the above first blockchain system and the above second blockchain system are isomorphic blockchain systems; and, the first blockchain system and the second blockchain system are connected through a bridging chain.
[0090] Among them, the organization corresponding to the data provider of the business data, and the organization corresponding to the service provider of the cross-chain service, can join the above first blockchain system. That is, the first blockchain system can include Peer nodes corresponding to the data provider, and Peer nodes corresponding to the service provider (referred to as the first Peer nodes).
[0091] The organization corresponding to the data requester of the above business data, and the organization corresponding to the above service provider, can join the above second blockchain system. That is, the second blockchain system can include Peer nodes corresponding to the data requester, and Peer nodes corresponding to the service provider (referred to as the second Peer nodes).
[0092] The above bridging chain can include Peer nodes corresponding to the above service provider. That is, the bridging chain can include the above first Peer nodes and the above second Peer nodes.
[0093] The Peer nodes corresponding to the above data providers, the Peer nodes corresponding to the above data requesters, or the Peer nodes corresponding to the service providers may all include Peer nodes such as master nodes, endorsement nodes, and accounting nodes.
[0094] It should be noted that the above data requesters, data providers, and service providers are usually not in the same local area network. In this case, the above bridging chain is a cross-local area network bridging chain, so it can be called an external bridging chain.
[0095] Specifically, the Peer node corresponding to the above data requester and the above first Peer node can be in the same local area network, and the Peer node corresponding to the above data provider and the above second Peer node can be in the same local area network. In this case, the first Peer node and the second Peer node can be connected through cross-chain applications (Applications, APPs) corresponding to them respectively; among them, the cross-chain application corresponding to the first Peer node can be called the first cross-chain application, and the cross-chain application corresponding to the second Peer node can be called the second cross-chain application; and, the client corresponding to the above data provider is connected to the first cross-chain application, and the client corresponding to the above data requester is connected to the second cross-chain application.
[0096] Such as Figure 3 shown, the service provider 1 that provides cross-chain services for the above data provider and the service provider 2 that provides cross-chain services for the above data requester can be different service providers or the same service provider; or, the above data requester itself can also be used as the service provider 2; this specification does not limit this.
[0097] In practical applications, the above data requesters may include financial institutions; the above data providers may include users such as companies, enterprises, associations, and individuals that provide asset (such as: currency, real estate, stocks, loan contracts, and accounts receivable, etc.) services by the financial institutions; the above business data may include asset data.
[0098] In the above case, the above external bridging cross-chain method based on Hyperledger Fabric can be applied to the client corresponding to the above data requester, and may include the following steps:
[0099] Step 401, receiving the data original text of the demand data corresponding to the data requester sent by the second cross-chain application corresponding to the second Peer node; wherein, the data original text is sent by the first cross-chain application corresponding to the first Peer node to the second cross-chain application;
[0100] Step 402: Construct a query transaction based on the identifier of the cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the demand data stored in the first blockchain system, and is triggered by the client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application to the second blockchain system for storage.
[0101] Step 403: Publish the query transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the query transaction and cross-chain copy the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system.
[0102] Step 404: Obtain the cross-chain message header from the second blockchain system, verify the original data based on the cross-chain message header, and after the original data passes the verification, publish the demand data to the second blockchain system for storage, so that the client corresponding to the data demander can obtain the demand data from the second blockchain system.
[0103] Corresponding to the external bridging cross-chain method based on Hyperledger Fabric as shown in Figure 4 Referring to Figure 5 , Figure 5 is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0104] In the above external bridging cross-chain method based on Hyperledger Fabric, the specific implementation of the blockchain system based on Hyperledger Fabric can refer to the blockchain system based on Hyperledger Fabric as shown in Figure 3 , which is not elaborated in this specification.
[0105] In the above case, the above external bridging cross-chain method based on Hyperledger Fabric can be applied to the client corresponding to the above data provider, and may include the following steps:
[0106] Step 501: Obtain the data identifier of the demand data corresponding to the data demander.
[0107] Step 502: Obtain the data digest of the demand data corresponding to the data identifier from the first blockchain system, and publish the cross-chain message header constructed based on the data digest to the first blockchain system for storage.
[0108] Step 503: Construct a cross-chain copy transaction for the cross-chain message header;
[0109] Step 504: Publish the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to cross-chain copy the cross-chain message header from the first blockchain system to the bridging chain, so that the second cross-chain service corresponding to the second Peer node can obtain the cross-chain message header and publish the identifier of the cross-chain message header to the second blockchain system for evidence storage.
[0110] The following will be described in detail from the aspects of uploading business data to the blockchain, obtaining the data identifier of the demand data, cross-chain copying the demand data, and tracing the origin of the demand data.
[0111] (1) Upload business data to the blockchain
[0112] In practical applications, the above data provider can publish the business data corresponding to the data provider to the above first blockchain system for evidence storage.
[0113] Specifically, the client corresponding to the above data provider can construct a certification transaction for certifying these business data based on the above business data and publish the certification transaction to the above first blockchain system.
[0114] In the above case, the client corresponding to the above data provider can, after endorsing the certification transaction at the endorsing node corresponding to the data provider in the above first blockchain system, submit the certification transaction to the corresponding sorting service node, and the sorting service node generates a block containing the certification transaction and broadcasts the block to the primary node corresponding to the data provider in the first blockchain system, so that the block can be synchronized among all Peer nodes in the first blockchain system; at this time, the Peer nodes in the first blockchain system can execute the certification transaction to store the above business data in the first blockchain system.
[0115] It should be noted that in order to save the storage resources of the blockchain system, when the above business data is updated, the incremental data corresponding to these business data can be published to the above first blockchain system for evidence storage.
[0116] In an illustrated embodiment, the above business data can be stored in the above first blockchain system in the form of key-value pairs; one piece of business data can correspond to one key-value pair.
[0117] For a certain piece of business data, the key in the key-value pair corresponding to the business data may include the data identifier of the business data, and the value in the key-value pair may include the original data of the business data; the data identifier of the business data may include the identifier assigned to the business data (data ID), the identifier of the source of the business data (APP key), and / or the identifier of the business sub-chain to which the business data belongs (channel ID), etc., which are unique information indicating the business data.
[0118] Furthermore, for a certain piece of business data, the data structure of the incremental data corresponding to the business data should be consistent with the data structure of the business data. That is, the key in the key-value pair corresponding to the incremental data should be consistent with the key in the key-value pair corresponding to the business data.
[0119] In an illustrated embodiment, the client corresponding to the above data provider may construct a digest calculation transaction based on the data identifier of the above business data and publish the digest calculation transaction to the above first blockchain system.
[0120] In the above case, after the client corresponding to the above data provider endorses the digest calculation transaction at the endorsement node corresponding to the data provider in the above first blockchain system, the client may submit the digest calculation transaction to the corresponding ordering service node. The ordering service node generates a block containing the digest calculation transaction and broadcasts the block to the primary node corresponding to the data provider in the first blockchain system, so that the block can be synchronized among all Peer nodes in the first blockchain system. Therefore, the Peer nodes in the first blockchain system can receive the digest calculation transaction.
[0121] The Peer nodes in the above first blockchain system may execute the above digest calculation transaction, invoke the chain code deployed in the above first blockchain system (referred to as the first chain code), execute the digest calculation logic in the first chain code, calculate the data digest of the above business data corresponding to the above data identifier, and store the data digest in the first blockchain system.
[0122] In practical applications, for a certain piece of business data, the data digest of the business data may include the hash value of the business data.
[0123] In summary, for a certain piece of business data, the first blockchain system may store the data identifier, the original data, and the data digest of the business data.
[0124] (2) Obtain the data identifier of the demand data
[0125] In practical applications, when the above data requester needs to obtain some or all of the above business data, it can submit the data identifiers of the business data to be obtained (referred to as required data) to the above data provider.
[0126] It should be noted that the above required data usually needs to be confirmed by the above data provider first.
[0127] To facilitate the use of the data identifiers of the above required data, the data identifiers of these required data can exist in the form of a list.
[0128] In an illustrated implementation, the above data requester and the above data provider can agree on the above required data outside the chain. For example, sign a data acquisition contract outside the chain and declare the data identifiers of these required data in the data acquisition contract.
[0129] In the above case, the client corresponding to the above data provider can obtain the data identifiers of the above required data from the above data acquisition contract.
[0130] Alternatively, the client corresponding to the above data requester can construct a deposit transaction for depositing the data identifiers of these required data based on the data identifiers of the above required data and publish the deposit transaction to the above second blockchain system.
[0131] In the above case, after the client corresponding to the above data requester endorses the deposit transaction at the endorsement node corresponding to the data requester in the above second blockchain system, it can submit the deposit transaction to the corresponding ordering service node. The ordering service node generates a block containing the deposit transaction and broadcasts the block to the master node corresponding to the data requester in the second blockchain system, so that the block can be synchronized among all Peer nodes in the second blockchain system; at this time, the Peer nodes in the second blockchain system can execute the deposit transaction and deposit the data identifiers of the above required data in the second blockchain system.
[0132] Since the organization corresponding to the above service provider has joined the above first blockchain system and the above second blockchain system, and the first blockchain system and the second blockchain system are bridged through the above bridging chain, the client corresponding to the above data requester can obtain the data identifiers of the above required data from the second blockchain system through the service provider.
[0133] Specifically, the client corresponding to the above data provider can publish the data identifiers of the above business data to the above first blockchain system for deposit. Subsequently, the data identifiers of these business data can be cross-chain copied from the first blockchain system to the above bridging chain first, and then cross-chain copied from the bridging chain to the above second blockchain system.
[0134] The client corresponding to the above data requester can obtain the data identifiers of the above business data from the second blockchain system through the Peer node corresponding to the data requester in the second blockchain system; the data requester can select some or all of the data identifiers from these business data data identifiers as the data identifiers of the subscription data subscribed to the above data provider; the client corresponding to the data requester can publish the data identifiers of these subscription data to the second blockchain system for deposit.
[0135] The client corresponding to the above data requester can cross-chain copy the data identifiers of the above subscription data from the second blockchain system to the above bridging chain first, and then cross-chain copy from the bridging chain to the above first blockchain system.
[0136] The client corresponding to the above data provider can obtain the data identifiers of the above subscription data from the first blockchain system through the Peer node corresponding to the data provider in the first blockchain system; the data provider can confirm some or all of the data identifiers in these business data data identifiers, and the data identifiers confirmed by the data provider can be used as the data identifiers of the required data that allows the above data requester to obtain; the client corresponding to the data provider can publish the data identifiers of these required data to the first blockchain system for deposit.
[0137] The client corresponding to the above data provider can cross-chain copy the data identifiers of the above required data from the first blockchain system to the above bridging chain first, and then cross-chain copy from the bridging chain to the above second blockchain system to synchronize the data identifiers of these required data between the first blockchain system and the second blockchain system.
[0138] Alternatively, the client corresponding to the above data requester can obtain the data identifiers of the above required data from the second blockchain system through the above second Peer node and the above second cross-chain application program.
[0139] It should be noted that when publishing data identifiers to the business sub-chain for deposit, digital signatures can also be performed on these data identifiers and identity information can be attached for verifying these data identifiers.
[0140] In practical applications, for blockchain system A and blockchain system B based on Hyperledger Fabric, organization X that joins blockchain system A and blockchain system B respectively has the permission to copy data cross-chain from blockchain system A (or blockchain system B) to blockchain system B (or blockchain system A).
[0141] When the client corresponding to organization X copies data cross-chain from blockchain system A to blockchain system B, it can construct a cross-chain copy transaction for these data (for example: construct a cross-chain copy transaction based on the data identifiers of these data), and publish the cross-chain copy transaction to blockchain system B.
[0142] In the above case, the client corresponding to organization X can, after endorsing the above cross-chain copy transaction at the endorsing nodes corresponding to organization X in blockchain system B, submit the cross-chain copy transaction to the corresponding ordering service node. The ordering service node generates a block containing the cross-chain copy transaction and broadcasts the block to the master node corresponding to organization X in blockchain system B, so that the block can be synchronized among all Peer nodes in blockchain system B; at this time, the Peer nodes corresponding to organization X in blockchain system B can execute the cross-chain copy transaction, invoke the chaincode deployed in blockchain system B, execute the cross-chain call logic in the chaincode of blockchain system B, cross-chain call the chaincode deployed in blockchain system A, execute the data acquisition logic in the chaincode of blockchain system A, obtain the data indicated by the cross-chain copy transaction from blockchain system A, and store the evidence of these data in blockchain system B. In this way, the copying of these data from blockchain system A to blockchain system B is completed.
[0143] (3) Cross-chain copy of the required data
[0144] Since the organization corresponding to the above data requester only joins the above second blockchain system and does not join the above first blockchain system, that is, the client corresponding to the data requester can only obtain the data stored in the second blockchain system through the Peer nodes corresponding to the data requester in the second blockchain system. Therefore, in order for the data requester to obtain the above required data, it is necessary to copy these required data cross-chain from the first blockchain system to the second blockchain system.
[0145] In practical applications, the client corresponding to the above data provider can first obtain the data digest of the above required data from the first blockchain system based on the data identifier of the above required data.
[0146] In the above case, the client corresponding to the above data provider can construct a cross-chain message header based on the data digest of the above required data.
[0147] Among them, the data structure of the above cross-chain message header can be as shown in Table 1:
[0148]
[0149] Table 1
[0150] As shown in Table 1, source channel ID represents the identifier of the source channel (at this time, it is the identifier of the above first blockchain system); destination channel ID represents the identifier of the destination channel (at this time, it is the identifier of the above second blockchain system); data ID represents the identifier assigned to the data; key represents the key in the key-value pair corresponding to the data; data hash represents the data digest of the data; data version represents the data version of the data; nonce represents an arbitrary or non-repeating random value that is only used once and can be used as the identifier of the cross-chain message header; version represents the version of the cross-chain message header; signature represents the signature, which can be used to verify the cross-chain message header.
[0151] Correspondingly, the client corresponding to the above data provider can construct a cross-chain message body based on the original data of the above required data; the cross-chain message header corresponds to the above cross-chain message body.
[0152] Among them, the data structure of the above cross-chain message body can be as shown in Table 2:
[0153]
[0154] Table 2
[0155] As shown in Table 2, data represents the original data of the data; other fields can refer to the fields in Table 1.
[0156] On the one hand, for the above cross-chain message header, the client corresponding to the above data provider can publish the cross-chain message header to the above first blockchain system for deposit.
[0157] Specifically, the client corresponding to the above data provider can construct a deposit transaction for depositing the cross-chain message header based on the above cross-chain message header, and publish the deposit transaction to the above first blockchain system.
[0158] In the above situation, after the client corresponding to the above data provider endorses the above deposit transaction at the endorsement node corresponding to the data provider in the above first blockchain system, the client can submit the deposit transaction to the corresponding ordering service node. The ordering service node generates a block containing the deposit transaction and broadcasts the block to the master node corresponding to the data provider in the first blockchain system, so that the block can be synchronized among all Peer nodes in the first blockchain system. At this time, the Peer nodes in the first blockchain system can execute the deposit transaction and deposit the above cross-chain message header in the first blockchain system.
[0159] Furthermore, the client corresponding to the above data provider can trigger the cross-chain copy of the above cross-chain message header from the above first blockchain system to the above bridging chain.
[0160] Specifically, since the above service provider has joined the above first blockchain system and the above bridging chain respectively, the service provider has the permission to cross-chain copy the above cross-chain message header from the first blockchain system to the bridging chain.
[0161] The client corresponding to the above data provider can construct a cross-chain copy transaction based on the above cross-chain message body and publish the cross-chain copy transaction to the above bridging chain, triggering the Peer nodes in the bridging chain to call the chain code deployed in the bridging chain (referred to as the bridging chain code), execute the cross-chain call logic in the bridging chain code, cross-chain call the above first chain code deployed in the first blockchain system, execute the data acquisition logic in the first chain code, acquire the above cross-chain message header deposited in the first blockchain system, and deposit the cross-chain message header in the bridging chain.
[0162] In the above situation, the above second Peer node can acquire the above cross-chain message header, so that the above second cross-chain application can also acquire the cross-chain message header.
[0163] Furthermore, the above second cross-chain application can publish the identifier (e.g., nonce) of the above cross-chain message header to the above second blockchain system for deposit.
[0164] On the other hand, for the data original text of the above demand data or the above cross-chain message body containing these demand data (taking the data original text as an example below), the above first Peer node can acquire the data original text of these demand data from the above first blockchain system, so that the above first cross-chain application can also acquire the data original text of these demand data. The first cross-chain application can send the data original text of these demand data to the above second cross-chain application.
[0165] Further, the above second cross-chain application can send the original text of the demand data to the client corresponding to the above data requester. That is, the client corresponding to the data requester can receive the original text of these demand data sent by the second cross-chain application, and can obtain the identifier of the above cross-chain message header from the above second blockchain system.
[0166] Furthermore, the client corresponding to the above data requester can construct a query transaction based on the identifier of the above cross-chain message header and publish the query transaction to the above second blockchain system.
[0167] In the above case, the Peer node in the above second blockchain system can execute the above query transaction, query the above cross-chain message header corresponding to the identifier in the query transaction in the above bridging chain, and cross-chain copy the queried cross-chain message header from the bridging chain to the second blockchain system.
[0168] Specifically, the Peer node in the above second blockchain system can call the chain code deployed in the second blockchain system (referred to as the second chain code), execute the cross-chain call logic in the second chain code, cross-chain call the above bridging chain code deployed in the bridging chain, execute the data acquisition logic in the bridging chain code, obtain the above cross-chain message header stored in the bridging chain corresponding to the identifier in the query transaction, and store the cross-chain message header in the second blockchain system.
[0169] Subsequently, the client corresponding to the above data requester can obtain the above cross-chain message header from the above second blockchain system, verify the original text of the above demand data based on the cross-chain message header, and after the verification passes, publish these demand data to the second blockchain system for storage. In this way, the client corresponding to the above data requester can subsequently obtain these demand data from the second blockchain system.
[0170] In an illustrated embodiment, when verifying the original text of the above demand data based on the above cross-chain message header, specifically, the data digest of the original text of the demand data can be calculated first, and then it can be determined whether the calculated data digest is the same as the data digest in the above cross-chain message header. If so, it can be determined that the verification of the original text of the demand data passes.
[0171] Alternatively, as shown in Table 2, the client corresponding to the above data provider can also construct the above cross-chain message body based on the data digest of the above demand data.
[0172] In the above case, when verifying the above cross-chain message body based on the above cross-chain message header, it can specifically determine whether the data digest in the cross-chain message body is the same as the data digest in the cross-chain message header. If so, it can be determined that the cross-chain message body passes the verification.
[0173] Furthermore, when verifying the original data of the above demand data based on the above cross-chain message header, it can specifically determine whether the data version in the cross-chain message header is the latest data version. If so, it can be determined that the original data of the demand data passes the verification.
[0174] Alternatively, as shown in Table 1 and Table 2, the client corresponding to the above data provider can also construct the above cross-chain message header and the above cross-chain message body respectively based on the data version of the above demand data.
[0175] In the above case, when verifying the above cross-chain message body based on the above cross-chain message header, it can specifically determine whether the data version in the cross-chain message body is the same as the data version in the cross-chain message header, and determine whether this data version is the latest data version. If both are the case, it can be determined that the cross-chain message body passes the verification.
[0176] (4) Trace the origin of the demand data
[0177] In practical applications, the client corresponding to the above data requester can, when receiving a traceability request corresponding to the above demand data, in response to this traceability request, obtain from the above bridging chain the historical data records corresponding to the above cross-chain data headers corresponding to these demand data (referred to as bridging historical data records); and, obtain from the above first blockchain system the historical data records corresponding to these demand data (referred to as first historical data records), and obtain from this second blockchain system the historical data records corresponding to these demand data (referred to as second historical data records).
[0178] Among them, the historical data records corresponding to the above demand data can include relevant information on historical transactions corresponding to these demand data.
[0179] Specifically, from the above second blockchain system, based on the data identifiers of the above demand data, on the one hand, obtain the historical data records corresponding to these data identifiers as the above second historical data records, and on the other hand, obtain the identifier (source channel ID) of the source channel corresponding to these data identifiers (at this time, it is the above first blockchain system), and the identifier (nonce) of the cross-chain message header corresponding to these data identifiers (at this time, it is the above cross-chain message header).
[0180] In the above case, based on the identifiers of the above source channels, historical data records corresponding to these data identifiers can be obtained from the above first blockchain system based on the data identifiers of the above demand data as the above first historical data records.
[0181] In addition, based on the identifier of the above cross-chain message header, historical data records corresponding to the identifier of the above cross-chain message header can be obtained from the above bridging chain as the above bridging historical data records.
[0182] Subsequently, duplicate removal processing can be performed on the above first historical data records and the above second historical data records, and the deduplicated second historical data records can be concatenated after the deduplicated first historical data records, so that the concatenated historical data records and the above bridging historical data records can be jointly determined as the historical data records corresponding to the above demand data.
[0183] Specifically, in an illustrated embodiment, the above historical data records may include data timestamps.
[0184] In the above case, historical data records with data timestamps after the earliest data timestamp of the above second historical data record can be deleted from the above first historical data records to implement duplicate removal processing on the first historical data records and the second historical data records.
[0185] In the above technical solution, the data provider and the data requester can be placed in different blockchain systems based on Hyperledger Fabric, and through the cross-chain copy method, the demand data corresponding to the data requester can be cross-chain copied from the blockchain system where the data provider is located to the blockchain system where the data requester is located, so that on-demand data sharing can be achieved without providing all data to the data requester. Therefore, data privacy can be better controlled, the protection granularity of data privacy can be refined, and the security of data can be improved. Correspondingly, when a new data requester joins the blockchain system, only a new blockchain system needs to be created for the new data requester, without updating the blockchain system where the data provider is located. In addition, when using the bridging chain for cross-chain copying, only the data digest of the demand data can be stored on the bridging chain, thus saving storage resources corresponding to the bridging chain and being applicable to scenarios with a large amount of demand data.
[0186] Reference Figure 6 , Figure 6 is a schematic diagram of another blockchain system based on Hyperledger Fabric shown in an exemplary embodiment of this specification. Combining Figure 6 , reference Figure 7 , Figure 7It is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0187] In the above-mentioned external bridging cross-chain method based on Hyperledger Fabric, there can be several blockchain systems based on Hyperledger Fabric (specifically, it can include the first blockchain system and the second blockchain system).
[0188] It should be noted that the above-mentioned first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are bridged through a bridging chain.
[0189] Among them, the organization corresponding to the data provider of the business data, and the organization corresponding to the data demander of these business data, can join the above-mentioned first blockchain system. That is to say, the first blockchain system can include Peer nodes corresponding to the data provider, and at least one Peer node corresponding to the data demander.
[0190] The organization corresponding to the data demander of the above-mentioned business data can join the above-mentioned second blockchain system. That is to say, the second blockchain system can include Peer nodes corresponding to the data demander.
[0191] The above-mentioned bridging chain can include at least one Peer node corresponding to the above-mentioned data provider, and at least one Peer node corresponding to the above-mentioned data demander (specifically, it can be the Peer node corresponding to the data demander in the above-mentioned first blockchain system).
[0192] The Peer node corresponding to the above-mentioned data provider or the Peer node corresponding to the above-mentioned data demander can both include Peer nodes such as master nodes, endorsement nodes, and accounting nodes.
[0193] In practical applications, the above-mentioned data demander can include financial institutions; the above-mentioned data provider can include companies, enterprises, associations, and individuals and other users who provide asset (such as: currency, real estate, stocks, loan contracts, and accounts receivable, etc.) services by the financial institution; the above-mentioned business data can include asset data.
[0194] In the above situation, the above-mentioned external bridging cross-chain method based on Hyperledger Fabric can be applied to the client corresponding to the above-mentioned data demander, and can include the following steps:
[0195] Step 701: Obtain a cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain. The cross-chain copy transaction is constructed by the client corresponding to the data provider based on the data identifier of the demand data corresponding to the data requester and published to the bridging chain, for triggering the cross-chain copy of the demand data corresponding to the data identifier from the first blockchain system to the bridging chain.
[0196] Step 702: Publish the cross-chain copy transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0197] As Figure 7 shown, correspondingly, referring to Figure 8 , Figure 8 is a flowchart of another external bridging cross-chain method based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0198] In the above external bridging cross-chain method based on Hyperledger Fabric, the specific implementation of the blockchain system based on Hyperledger Fabric can refer to the blockchain system based on Hyperledger Fabric as Figure 6 shown, which is not elaborated herein.
[0199] In the above case, the above external bridging cross-chain method based on Hyperledger Fabric can be applied to the client corresponding to the above data provider and may include the following steps:
[0200] Step 801: Obtain the data identifier of the demand data corresponding to the data requester.
[0201] Step 802: Construct a cross-chain copy transaction based on the data identifier.
[0202] Step 803: Publish the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the first blockchain system to the bridging chain, so that the client corresponding to the data requester can obtain the cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain, triggering the cross-chain copy of the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0203] As Figure 7 and Figure 8 shown, for the specific implementation of each step in the external bridging cross-chain method based on Hyperledger Fabric, reference can be made to the relevant content in Figure 4 and Figure 5 shown in the external bridging cross-chain method based on Hyperledger Fabric, which will not be elaborated in this specification.
[0204] In the above technical solution, the data provider and the data requester can be placed in different blockchain systems based on Hyperledger Fabric, and through the cross-chain copy method, the required data corresponding to the data requester is cross-chain copied from the blockchain system where the data provider is located to the blockchain system where the data requester is located, so that on-demand sharing of data can be realized without providing all the data to the data requester. Therefore, data privacy can be better controlled, the protection granularity of data privacy can be refined, and the security of data can be improved.
[0205] Corresponding to the foregoing embodiments of the external bridging cross-chain method based on Hyperledger Fabric, this specification also provides embodiments of an external bridging cross-chain device based on Hyperledger Fabric.
[0206] The embodiments of the external bridging cross-chain device based on Hyperledger Fabric in this specification can be applied to electronic devices. The device embodiments can be implemented through software, or through hardware or a combination of software and hardware. Taking software implementation as an example, as a logically meaningful device, it is formed by the processor of the electronic device where it is located reading the corresponding computer program instructions in the non-volatile memory into the memory and running them. From the hardware level, as Figure 9 shown, it is a hardware structure diagram of the electronic device where the external bridging cross-chain device based on Hyperledger Fabric in this specification is located. In addition to the processor, memory, network interface, and non-volatile memory as Figure 9 shown, the electronic device where the device is located in the embodiments usually also includes other hardware according to the actual functions of the external bridging cross-chain based on Hyperledger Fabric, which will not be elaborated here.
[0207] Referring to Figure 10 , Figure 10 is a block diagram of an external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0208] Among them, the first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider for cross-chain services; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node.
[0209] The above-mentioned external bridging cross-chain device based on Hyperledger Fabric can be applied to an Figure 9 electronic device as shown; this electronic device can be used as a client corresponding to the data requester; the above-mentioned external bridging cross-chain device based on Hyperledger Fabric can include:
[0210] A receiving module 1001, configured to receive the data original of the demand data corresponding to the data requester sent by a second cross-chain application corresponding to the second Peer node; wherein, the data original is sent by a first cross-chain application corresponding to the first Peer node to the second cross-chain application;
[0211] A constructing module 1002, configured to construct a query transaction based on the identifier of the cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the demand data stored in the first blockchain system and is triggered by the client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application to the second blockchain system for storage;
[0212] A cross-chain module 1003, configured to publish the query transaction to the second blockchain system, trigger the Peer node in the second blockchain system to respond to the query transaction, and cross-chain copy the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system;
[0213] An evidence storage module 1004, configured to obtain the cross-chain message header from the second blockchain system, verify the data original based on the cross-chain message header, and after the data original passes the verification, publish the demand data to the second blockchain system for evidence storage, so that the client corresponding to the data requester can obtain the demand data from the second blockchain system.
[0214] Reference Figure 11 ,Figure 11 It is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0215] Among them, the first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider of the cross-chain service; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node.
[0216] The above external bridging cross-chain device based on Hyperledger Fabric can be applied to an Figure 9 electronic device as shown; this electronic device can be used as a client corresponding to the data provider; the external bridging cross-chain device based on Hyperledger Fabric can include:
[0217] A first acquisition module 1101, configured to acquire a data identifier of the required data corresponding to the data requester;
[0218] A second acquisition module 1102, configured to acquire a data digest of the required data corresponding to the data identifier from the first blockchain system, and publish a cross-chain message header constructed based on the data digest to the first blockchain system for deposit;
[0219] A construction module 1103, configured to construct a cross-chain copy transaction for the cross-chain message header;
[0220] A cross-chain module 1104, configured to publish the cross-chain copy transaction to the bridging chain, trigger the Peer node in the bridging chain to cross-chain copy the cross-chain message header from the first blockchain system to the bridging chain, so that a second cross-chain service corresponding to the second Peer node can acquire the cross-chain message header, and publish an identifier of the cross-chain message header to the second blockchain system for deposit.
[0221] Reference Figure 12 , Figure 12 It is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0222] Among them, the first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain.
[0223] The above-mentioned external bridging cross-chain device based on Hyperledger Fabric can be applied to, for example Figure 9 the electronic device shown; this electronic device can be used as a client corresponding to the data requester; the above-mentioned external bridging cross-chain device based on Hyperledger Fabric may include:
[0224] An acquisition module 1201, configured to obtain a cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain; wherein, the cross-chain copy transaction is constructed by a client corresponding to the data provider based on the data identifier of the demand data corresponding to the data requester, and is published to the bridging chain for triggering the cross-chain copy of the demand data corresponding to the data identifier from the first blockchain system to the bridging chain;
[0225] A cross-chain module 1202, configured to publish the cross-chain copy transaction to the second blockchain system, triggering the Peer nodes in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0226] Reference Figure 13 , Figure 13 is a block diagram of another external bridging cross-chain device based on Hyperledger Fabric shown in an exemplary embodiment of this specification.
[0227] Among them, the first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and Peer nodes corresponding to data requesters; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to the data requesters; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridging chain.
[0228] The above-mentioned external bridging cross-chain device based on Hyperledger Fabric can be applied to, for exampleFigure 9 The electronic device shown; the electronic device can be used as a client corresponding to the data provider; the external bridging cross-chain device based on Hyperledger Fabric may include:
[0229] An acquisition module 1301, configured to acquire a data identifier of demand data corresponding to the data requester;
[0230] A construction module 1302, configured to construct a cross-chain copy transaction based on the data identifier;
[0231] A cross-chain module 1303, configured to publish the cross-chain copy transaction to the bridging chain, trigger a Peer node in the bridging chain to respond to the cross-chain copy transaction, and cross-chain copy the demand data corresponding to the data identifier from the first blockchain system to the bridging chain, so that a client corresponding to the data requester can obtain the cross-chain copy transaction from the bridging chain through a Peer node corresponding to the data requester in the bridging chain, and trigger the cross-chain copy of the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
[0232] For the implementation processes of the functions and roles of each module in the above device, refer to the implementation processes of the corresponding steps in the above method for details, which will not be elaborated here.
[0233] For the device embodiments, since they basically correspond to the method embodiments, refer to the partial descriptions of the method embodiments for relevant parts. The device embodiments described above are only illustrative. The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Those of ordinary skill in the art can understand and implement it without creative efforts.
[0234] The systems, devices, modules or units illustrated in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a game console, a tablet computer, a wearable device, or a combination of any several of these devices.
[0235] In a typical configuration, a computer includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.
[0236] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0237] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules 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 disc (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0238] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0239] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0240] The terms used in one or more embodiments of this specification are for the purpose of describing particular embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a", "the", and "said" used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0241] It should be understood that although the terms first, second, third, etc. may be used in one or more embodiments of this specification to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to determining".
[0242] The above description is only the preferred embodiments of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of one or more embodiments of this specification shall be included within the scope of protection of one or more embodiments of this specification.
Claims
1. An external bridging cross-chain method based on Hyperledger Fabric, characterized in that, the first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider of the cross-chain service; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; the method is applied to the client corresponding to the data requester, and includes: Receiving the data original text of the demand data corresponding to the data requester sent by the second cross-chain application corresponding to the second Peer node; wherein, the data original text is sent by the first cross-chain application corresponding to the first Peer node to the second cross-chain application; Constructing a query transaction based on the identifier of the cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the demand data stored in the first blockchain system and is triggered by the client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application to the second blockchain system for storage; Publishing the query transaction to the second blockchain system, triggering the Peer node in the second blockchain system to respond to the query transaction, and cross-chain copying the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system; Obtaining the cross-chain message header from the second blockchain system, and verifying the data original text based on the cross-chain message header. After the data original text passes the verification, publishing the demand data to the second blockchain system for storage, so that the client corresponding to the data requester can obtain the demand data from the second blockchain system.
2. The method according to claim 1, characterized in that, the demand data is published by the client corresponding to the data provider to the first blockchain system for storage.
3. The method according to claim 1, characterized in that, the demand data is stored in the first blockchain system and the second blockchain system in the form of key-value pairs; the data identifier of the demand data includes the key in the key-value pair corresponding to the demand data; the data original text of the demand data includes the value in the key-value pair corresponding to the demand data.
4. The method according to claim 1, characterized in that, the verifying the data original text based on the cross-chain message header includes: Calculate a data digest based on the original data, and determine whether the calculated data digest is the same as the data digest in the cross-chain message header. If so, determine that the original data passes the verification.
5. The method according to claim 4, wherein, the cross-chain message header is also constructed based on the data version of the required data; The verifying the original data based on the cross-chain message header includes: Determine whether the data version in the cross-chain message header is the latest data version. If so, determine that the original data passes the verification.
6. The method according to claim 1, wherein, the method further includes: When receiving a traceability request for the required data, in response to the traceability request, obtain a first historical data record corresponding to the required data from the first blockchain system, and obtain a second historical data record corresponding to the required data from the second blockchain system; and, obtain a bridging historical data record corresponding to the cross-chain message header from the bridging chain; Perform deduplication processing on the first historical data record and the second historical data record, and splice the deduplicated second historical data record after the deduplicated first historical data record; Determine the spliced historical data record and the bridging historical data record as the historical data record corresponding to the required data.
7. The method according to claim 6, wherein, the historical data record includes a data timestamp; The performing deduplication processing on the first historical data record and the second historical data record includes: Delete the historical data records in the first historical data record whose timestamps are after the earliest data timestamp in the second historical data record.
8. The method according to claim 1, wherein, The cross-chain copying of the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system includes: Invoke the second chaincode deployed in the second blockchain system, execute the cross-chain call logic in the second chaincode, cross-chain call the bridging chaincode deployed in the bridging chain, execute the data acquisition logic in the bridging chaincode, obtain the cross-chain message header stored in the bridging chain corresponding to the identifier of the cross-chain message header, and store the cross-chain message header in the second blockchain system.
9. An external bridging cross-chain method based on Hyperledger Fabric, wherein, The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider for cross-chain services; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; The method is applied to a client corresponding to the data provider and includes: Obtain the data identifier of the demand data corresponding to the data requester; Obtain the data digest of the demand data corresponding to the data identifier from the first blockchain system, and publish the cross-chain message header constructed based on the data digest to the first blockchain system for deposit; Construct a cross-chain copy transaction for the cross-chain message header; Publish the cross-chain copy transaction to the bridging chain, triggering the Peer node in the bridging chain to cross-chain copy the cross-chain message header from the first blockchain system to the bridging chain, so that the second cross-chain service corresponding to the second Peer node can obtain the cross-chain message header, and publish the identifier of the cross-chain message header to the second blockchain system for deposit.
10. The method according to claim 9, wherein, the demand data is published by the client corresponding to the data provider to the first blockchain system for deposit.
11. The method according to claim 9, wherein, the demand data is deposited in the first blockchain system and the second blockchain system in the form of key-value pairs; the data identifier of the demand data includes the key in the key-value pair corresponding to the demand data; the original data of the demand data includes the value in the key-value pair corresponding to the demand data.
12. The method according to claim 9, wherein, the method further includes: Construct a digest calculation transaction based on the data identifier; Publish the digest calculation transaction to the first blockchain system, triggering the Peer node in the first blockchain system to respond to the digest calculation transaction, call the first chain code deployed in the first blockchain system, execute the digest calculation logic in the first chain code, calculate the data digest of the demand data corresponding to the data identifier, and deposit the data digest in the first blockchain system.
13. The method according to claim 9, wherein, the cross-chain copying of the cross-chain message header from the first blockchain system to the bridging chain includes: Invoke the bridge chain code deployed in the bridge chain, execute the cross-chain call logic in the bridge chain code, cross-chain call the first chain code deployed in the first blockchain system, execute the data acquisition logic in the first chain code, obtain the cross-chain message header stored in the first blockchain system, and store the cross-chain message header in the bridge chain.
14. The method according to claim 9, wherein, the obtaining of the data identifier of the required data corresponding to the data requester includes: obtaining the data identifier of the required data corresponding to the data requester from the second blockchain system; wherein, the data identifier of the required data is published by the client corresponding to the data requester to the second blockchain system for storage, and confirmed on the chain by the data provider; or, obtaining the preset data identifier of the required data corresponding to the data requester; wherein, the data identifier of the required data is agreed upon off-chain by the data requester and the data provider.
15. An external bridging cross-chain method based on Hyperledger Fabric, wherein, the first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a Peer node corresponding to the data requester; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the first blockchain system and the second blockchain system are connected through a bridge chain; the method is applied to the client corresponding to the data requester and includes: obtaining a cross-chain copy transaction from the bridge chain through the Peer node corresponding to the data requester in the bridge chain; wherein, the cross-chain copy transaction is constructed by the client corresponding to the data provider based on the data identifier of the required data corresponding to the data requester and published to the bridge chain for triggering the cross-chain copy of the required data corresponding to the data identifier from the first blockchain system to the bridge chain; publishing the cross-chain copy transaction to the second blockchain system, triggering the Peer node in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the required data corresponding to the data identifier from the bridge chain to the second blockchain system.
16. An external bridging cross-chain method based on Hyperledger Fabric, wherein, the first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a Peer node corresponding to the data requester; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester; the first blockchain system and the second blockchain system are isomorphic blockchain systems; The first blockchain system and the second blockchain system are connected through a bridging chain; The method is applied to a client corresponding to the data provider and includes: Obtaining a data identifier of demand data corresponding to the data requester; Constructing a cross-chain copy transaction based on the data identifier; Publishing the cross-chain copy transaction to the bridging chain, triggering the Peer nodes in the bridging chain to respond to the cross-chain copy transaction, and cross-chain copying the demand data corresponding to the data identifier from the first blockchain system to the bridging chain, so that the client corresponding to the data requester obtains the cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain, and triggers the cross-chain copying of the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
17. An external bridging cross-chain device based on Hyperledger Fabric Characterized in that The first blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data providers and the first Peer node of the service provider of cross-chain services; the second blockchain system based on Hyperledger Fabric includes Peer nodes corresponding to data requesters and the second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; The device is applied to a client corresponding to the data requester and includes: A receiving module, configured to receive the data original text of the demand data corresponding to the data requester sent by the second cross-chain application program corresponding to the second Peer node; wherein, the data original text is sent by the first cross-chain application program corresponding to the first Peer node to the second cross-chain application program; A constructing module, configured to construct a query transaction based on the identifier of the cross-chain message header obtained from the second blockchain system; wherein, the cross-chain message header is constructed based on the data digest of the demand data stored in the first blockchain system and is triggered by the client corresponding to the data provider to be cross-chain copied from the first blockchain system to the bridging chain; the identifier of the cross-chain message header is published by the second cross-chain application program to the second blockchain system for storage; A cross-chain module, configured to publish the query transaction to the second blockchain system, trigger the Peer nodes in the second blockchain system to respond to the query transaction, and cross-chain copy the cross-chain message header corresponding to the identifier of the cross-chain message header from the bridging chain to the second blockchain system; The evidence storage module is used to obtain the cross-chain message header from the second blockchain system, verify the original data based on the cross-chain message header, and after the original data passes the verification, publish the required data to the second blockchain system for evidence storage, so that the client corresponding to the data requester can obtain the required data from the second blockchain system.
18. An external bridging cross-chain device based on Hyperledger Fabric Characterized in that The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a first Peer node of the service provider of the cross-chain service; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester and a second Peer node of the service provider; the first blockchain system and the second blockchain system are isomorphic blockchain systems; the bridging chain for connecting the first blockchain system and the second blockchain system includes the first Peer node and the second Peer node; The device is applied to the client corresponding to the data provider and includes: The first acquisition module is used to acquire the data identifier of the required data corresponding to the data requester; The second acquisition module is used to acquire the data digest of the required data corresponding to the data identifier from the first blockchain system, and publish the cross-chain message header constructed based on the data digest to the first blockchain system for evidence storage; The construction module is used to construct a cross-chain copy transaction for the cross-chain message header; The cross-chain module is used to publish the cross-chain copy transaction to the bridging chain, trigger the Peer node in the bridging chain to cross-chain copy the cross-chain message header from the first blockchain system to the bridging chain, so that the second cross-chain service corresponding to the second Peer node can obtain the cross-chain message header, and publish the identifier of the cross-chain message header to the second blockchain system for evidence storage.
19. An external bridging cross-chain device based on Hyperledger Fabric Characterized in that The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a Peer node corresponding to the data requester; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester; the first blockchain system and the second blockchain system are isomorphic blockchain systems; The first blockchain system and the second blockchain system are connected through a bridging chain; The device is applied to the client corresponding to the data requester and includes: An acquisition module, configured to obtain a cross-chain copy transaction from the bridging chain through a Peer node corresponding to the data requester in the bridging chain; wherein, the cross-chain copy transaction is constructed by a client corresponding to the data provider based on a data identifier of the demand data corresponding to the data requester, and is published to the bridging chain for triggering cross-chain copying of the demand data corresponding to the data identifier from the first blockchain system to the bridging chain. A cross-chain module, configured to publish the cross-chain copy transaction to the second blockchain system, triggering a Peer node in the second blockchain system to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
20. An external bridging cross-chain device based on Hyperledger Fabric Characterized in that The first blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data provider and a Peer node corresponding to the data requester; the second blockchain system based on Hyperledger Fabric includes a Peer node corresponding to the data requester; the first blockchain system and the second blockchain system are isomorphic blockchain systems. The first blockchain system and the second blockchain system are connected through a bridging chain. The device is applied to a client corresponding to the data provider and includes: An acquisition module, configured to obtain a data identifier of demand data corresponding to the data requester. A construction module, configured to construct a cross-chain copy transaction based on the data identifier. A cross-chain module, configured to publish the cross-chain copy transaction to the bridging chain, triggering a Peer node in the bridging chain to respond to the cross-chain copy transaction and cross-chain copy the demand data corresponding to the data identifier from the first blockchain system to the bridging chain, so that the client corresponding to the data requester can obtain the cross-chain copy transaction from the bridging chain through the Peer node corresponding to the data requester in the bridging chain, triggering cross-chain copying of the demand data corresponding to the data identifier from the bridging chain to the second blockchain system.
21. An electronic device Characterized in that It includes: A processor; A memory for storing processor-executable instructions; Wherein, the processor realizes the method according to any one of claims 1-8, 9-14, 15 or 16 by running the executable instructions.
22. A computer-readable storage medium Characterized in that Computer instructions are stored thereon, and when the instructions are executed by a processor, the method according to any one of claims 1-8, 9-14, 15 or 16 is realized.
Citation Information
Patent Citations
Over-chain transaction method based on multiple block chains, system, equipment and storage medium
CN108288159A
Dynamic organization expansion method and system in Hyperledger fabric cluster mode
CN110008263A