HIGHLY FLEXIBLE, SCALABLE MULTI BLOCKCHAIN, HIERARCHICAL DATA SHARING AND DATA STORING SYSTEM AND METHOD THEREOF
20230016241 · 2023-01-19
Inventors
- Jiang XIAO (Wuhan City, CN)
- Jian CHANG (Wuhan City, CN)
- Junpei NI (Wuhan City, CN)
- Xiaohai DAI (Wuhan City, CN)
- Shijie ZHANG (Wuhan City, CN)
- Hai JIN (Wuhan City, CN)
Cpc classification
G06F21/6227
PHYSICS
G06F21/64
PHYSICS
International classification
Abstract
The present invention relates to a highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing system, at least comprising a third-party blockchain system, a data-sharing blockchain system, and an application-layer client, wherein the data-sharing blockchain system performs data aggregation and hierarchical storage on shared data uploaded by the third-party blockchain system through accessing the data-sharing blockchain system, so as to allow the application-layer client to require the shared data from the data-sharing blockchain system. The disclosure herein creates a single reliable data-sharing blockchain apparatus based on blockchain systems, so as to facilitate aggregation of data coming from different blockchain systems, reduce node complexity and block data redundancy when data are acquired from multiple parties, and define different sharing rules for different data contents, thereby being adaptive to scenarios where data are shared among parties.
Claims
1. A highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing system, at least comprising a third-party blockchain system, a data-sharing blockchain system, and an application-layer client, wherein the data-sharing blockchain system performs data aggregation and hierarchical storage on shared data uploaded by the third-party blockchain system through accessing the data-sharing blockchain system, so as to allow the application-layer client to require the shared data from the data-sharing blockchain system.
2. The multi-blockchain, hierarchical data-sharing and data-storing system of claim 1, wherein the data-sharing blockchain system is deployed with smart contracts that aggregate the shared data in the third-party blockchain system and store the aggregated shared data into the data-sharing blockchain system.
3. The multi-blockchain, hierarchical data-sharing and data-storing system of claim 2, wherein the data-sharing blockchain system is deployed with a first contract serving to process an access request, and uses the first contract to process the access request from the third-party blockchain system.
4. The multi-blockchain, hierarchical data-sharing and data-storing system of claim 3, wherein the data-sharing blockchain system is deployed with a second contract serving to process data submission, and uses the second contract to process the shared data submitted by the third-party blockchain system.
5. The multi-blockchain, hierarchical data-sharing and data-storing system of claim 4, wherein the third-party blockchain system is deployed with a third contract serving to submit the access request, and uses the third contract to establish connection with the data-sharing blockchain system.
6. The multi-blockchain, hierarchical data-sharing and data-storing system of claim 5, wherein the third-party blockchain system is deployed with a fourth contract serving to upload the shared data, and uses the fourth contract to send the shared data to the data-sharing blockchain system.
7. A highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing method, at least comprising: uploading shared data to a data-sharing blockchain system by a third-party blockchain system, and performed data aggregation and hierarchical storage through the data-sharing blockchain system, after the third-party blockchain system has accessed the data-sharing blockchain system, so as to allow the application-layer client to require the shared data from the data-sharing blockchain system.
8. The method of claim 7, further comprising: triggering a first contract and recording the access information by the data-sharing blockchain system, when the data-sharing blockchain system receives an access request initiated by a third-party blockchain system according to the access protocol.
9. The method of claim 8, further comprising: the third-party blockchain system accesses the data-sharing blockchain system; the third-party blockchain system uploads the shared data to the data-sharing blockchain system; the data-sharing blockchain system performs data aggregation and hierarchical storage on the shared data; the application-layer client can require the shared data from the data-sharing blockchain system.
10. The method of claim 9, wherein method further comprises at least one of the following steps: deploying a first contract in the data-sharing blockchain system for processing access requests from third-party blockchain systems; deploying a second contract in the data-sharing blockchain system for processing shared data submitted by third-party blockchain systems; deploying a third contract in the data-sharing blockchain system for submitting access requests so as to establish connection between the third-party blockchain systems and the data-sharing blockchain system; and deploying a fourth contract in the third-party blockchain systems for uploading shared data, so that the third-party blockchain system can send the shared data to the data-sharing blockchain system.
11. The method of claim 10, wherein with the smart contracts deployed in the data-sharing blockchain system, shared data provided by third-party blockchain systems can be aggregated and stored in the data-sharing blockchain system.
12. The method of claim 11, further comprising: when the data-sharing blockchain system receives an access request initiated by a third-party blockchain system according to the access protocol, the first contract is triggered, and the data-sharing blockchain system records access information.
13. The method of claim 12, wherein the access request, after received by nodes in the data-sharing blockchain system, is broadcasted to other nodes in the data-sharing blockchain system in the form of messages.
14. The method of claim 13, further comprising: the data-sharing blockchain system calls the first contract to analyze the access request and then can obtain the definitions of the sharing and storing hierarchy of the third-party blockchain system.
15. The method of claim 14, wherein the shared data are sent to the data-sharing blockchain system by third-party blockchain systems according to the uploading protocol deployed therein, and stored in the storage node of the data-sharing blockchain system.
16. The method of claim 15, wherein the shared data are analyzed and validated by the data-sharing blockchain system using the second contract, and then stored into the storage node of the data-sharing blockchain system.
17. The method of claim 16, wherein after receiving the access request, the data-sharing blockchain system performs consensus validation on it. If the access request passes consensus validation, the data-sharing blockchain system calls a fifth contract to perform hierarchical storage on the shared data according to the sharing and storing hierarchy.
18. A data-sharing method based on blockchain smart contracts, wherein the method at least comprises: having the third-party blockchain system, when accessing the data-sharing blockchain system, preset data sharing rules in the data-sharing blockchain system; assigning corresponding sharing rules to every entry of the shared data during uploading of the shared data; and having the data-sharing blockchain system perform data storage and/or data access control according to the data sharing rules.
19. A highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing apparatus, applicable to a multi-blockchain, hierarchical data-sharing and data-storing system according claim 1, wherein the apparatus at least comprises: a contract management module, at least used to deploy, manage, or call contracts; a data management module, at least used to process requests for and validation of shared data; and a data storage module, used to accomplish aggregation and storage of the shared data.
20. A highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing apparatus, which is used in the multi-blockchain, hierarchical data-sharing and data-storing system of claim 1, wherein the apparatus at least comprises: a contract management module used to at least deploy, manage, or call contracts; a data management module used to at least process requests for and validation of shared data; and a data storage module used to accomplish aggregation and storage of the shared data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0044]
[0045]
[0046]
[0047]
DETAILED DESCRIPTION OF THE INVENTION
[0048] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain but not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other, provided that there is no mutual conflict.
[0049] For ease of understanding, technical terms of the present invention are explained as follows.
[0050] Herein, the phrase “highly flexible, scalable” when used in connection with a system refers to a capability to enable data interaction between chains, or data sharing among plural blockchain systems. The existing blockchain systems have serious bottlenecks in terms of scalability. That is, data interaction between chains is difficult. Because of the lack of uniform standards in the blockchain technology and heterogeneity among different blockchain systems, data distribution among different blockchain systems can be complicated.
[0051] Herein, the term “multi-blockchain data” refers to data originating from different blockchain systems.
[0052] Herein, the term “hierarchical sharing and storing” refers to operation where shared data of different classes are shared or stored according to their respective levels of the storage and sharing hierarchy. The data storage and sharing hierarchy forms a basis for the data-sharing blockchain system to perform access control on data sharing requests.
[0053] Herein, the term “data aggregation” refers to a process of integrating data derived from different blockchain systems.
[0054] Herein, the term “node” also known as a “blockchain node,” and usually refers to a computer in a blockchain network. Any computer connected to a blockchain network, such as a mobile phone or a mining machine, is node as defined herein.
[0055] Herein, the term “smart contract” refers to a computer protocol that facilitates propagation, validation, or enforcement of a contract in an informatized manner. Smart contracts enable reliable transactions to be performed without presence of a third party, and make these transactions traceable and irreversible. Smart contracts in the blockchain field have the following characteristics: having open and transparent rules, with rules and data in the contract visible to the exterior; making all transactions open and visible, without any possibility of fraud and hiding. The features of the blockchain technology like openness, transparency, and tamper-resistance are all endowed by smart contracts. Smart contracts are essentially programs, which realize automated processing of the traditional contract in the form of computer instructions. Briefly, a smart contract is a code that is triggered to be executed when two parties are doing a transaction for blockchain assets. This code is known as a smart contract. A blockchain-based smart contract includes mechanisms for processing and storing transactions, and also a complete state machine for receiving and processing various smart contracts. Transaction storage and state processing are both completed in a blockchain. A transaction mainly includes data to be sent, and an event is description information of these data. After the information of transactions and events is transmitted into a smart contract, the resource state in the contract resource set is updated, thereby triggering the smart contracts to perform determination on the state machine. If the triggering conditions for a certain or some certain actions in the automatic state machine are satisfied, the state machine choses and automatically perform the contract action(s) according to preset information. When the trigger conditions contained in event description information are satisfied, the smart contract system automatically sends preset data resources from the smart contracts and the events comprising the triggering conditions.
[0056] Consensus is a decision-making process, with the purpose to ensure that all participants can reach a consensus in terms of the current state after addition of a new data block. A consensus protocol ensures the accuracy of a chain, and provides incentives to participants that make contribution. The consensus mechanism refers to validation and confirmation of transactions in a very short period of time through voting of special nodes. To a transaction, if several irrelevant nodes reach consensus, it is appropriate to consider that the consensus is reached across the network. As a data structure where data are stored chronologically, blockchains support different consensus mechanisms. Consensus mechanisms are important components in the blockchain technology. The objective of the blockchain consensus mechanism is to make all honest nodes keep consistent blockchain views, and satisfy the following two qualities: consistency, which means that all honest nodes keep the exactly same prefix of blockchains; and effectiveness, which means that information published by some honest node will eventually be recorded by all the other honest nodes in their respective blockchains.
[0057] A Merkle tree is also known as a hash tree, which is a tree storing hash values. The leaves of a Merkle tree are hash values of data blocks (such as a document or a set of documents), and the non-leaf nodes are hashes corresponding to serial character strings of its sub-nodes. Hash is a function that maps data of any length to data of a fixed length.
[0058] Blockchains may be classified into single chains, side chains, and interchains by their docking types. Any blockchain system capable of running independently can be referred to as a “single chain,” such as the main chain and a test chain for Bitcoin; the main chain and a test chain for Ethereum; the main chain and a test chain for Litecoin; and a Fabric-built consortium chain in a Hyperledger Project. These blockchain systems have complete component modules, making them self-supporting. Most blockchains are of the single chain structure, wherein information of the ledger, contracts, and transactions is stored in the same chain, and all nodes participating in computation vote in the chain to ensure consistency. The existing blockchain technology in the single-chain architecture has met its bottleneck in terms of privacy and scalability.
[0059] The first to sixth contracts may successively be a registration contract, an aggregation contract, an access contract, an uploading contract, a storage contract, and an access control contract.
[0060] As shown in
[0061] The application layer includes entities that want to acquire shared data through the data-sharing chain in various application scenarios, such as service providers and individual clients. A developer may adopt a data request interface and deploy simple data synchronizer and validator for application programs, thereby enabling requests for and validation of the shared data.
[0062] The contract layer is the core of logic implementation of the system, and includes contracts that face the blockchain system providing shared data and face application clients, for realizing data aggregation and controllable distribution logic.
[0063] The storage layer is at the bottom of the system and forms a foundation for data storage. The blockchain system providing the shared data is also a part of the storage layer. The shared data are processed by the contract layer and stored in the node of the data-sharing chain according to the preset sharing and storing hierarchy.
[0064] To achieve highly flexible, scalable multi-blockchain data hierarchical storage, the disclosed data storage method at least comprising the following steps: making a third-party blockchain system access the data-sharing chain; and making the third-party blockchain system upload shared data to the data-sharing chain, and performing data aggregation and hierarchical storage. The application-layer client may require shared data from the data-sharing chain.
[0065] Preferably, as shown in
[0066] The third-party blockchain system is deployed with a third contract for processing submission of access requests and thereby establishing connection with the data-sharing blockchain system. When accessing the data-sharing blockchain system, the third-party blockchain system assigns data class labels for its sharable data and the data storing and sharing hierarchy for data of different classes through the third contract. With the deployment of the third contract, or the access contract, after connecting the data-sharing blockchain system, the third-party blockchain system is able to realize synchronization of the shared data in the data-sharing blockchain system.
[0067] A node in the data-sharing chain receives the access request and broadcast this message to other nodes in the data-sharing chain. The data-sharing chain calls the first contract to analyze the access request. The data-sharing chain records the definition of the sharing and storing hierarchy of the third-party blockchain system obtained by analyzing the access request into a block. The data-sharing chain after recording the definition of the sharing and storing hierarchy into the block returns a processing result. With deployment of the first contract, or the registration contract, the third-party heterogeneous system can dynamically require to join or quit the system, making the sharing system flexible and scalable.
[0068] Preferably, as shown in
[0069] The data-sharing blockchain system is deployed with a second contract for processing data submission. It is used to process shared data submitted by third-party blockchain systems. With deployment of the aggregation contract, or the second contract, the system can store data coming from heterogeneous systems uniformly, thereby effectively realizing abstract uniformness of the shared data.
[0070] After receiving the message, the data-sharing chain broadcasts the message and performs consensus validation. After successful consensus validation, the data-sharing chain calls the fifth contract to hierarchically storing the data according to the sharing and storing hierarchy recorded in the block for later retrieval. With deployment of the fifth contract, or the storage contract, third-party blockchain system can perform hierarchical storage according to its own data sharing hierarchy, thereby realizing isolated data storage among different sharing levels.
[0071] To achieve multi-blockchain data sharing in a hierarchical manner, the disclosed data sharing process may comprise the following steps.
[0072] As shown in
[0073] The data-sharing chain calls the sixth contract. The sixth contract validates whether the identity of the requester making the data request matches the sharing hierarchy of the data request sent by the requester. With deployment of the sixth contract, or the access control contract, privacy protection for data of different levels of the sharing hierarchy in the third-party blockchain system can be achieved. The sixth contract will validate that whether the data request needs to be recorded into the system log. Sensitive or crucial data are often assigned with special levels of the sharing and storing hierarchy to limit their sharing transactions. Sharing of these data has to reach consensus across the whole blockchain system and be recorded. Through data retrieval, the data-sharing chain can get data retrieval results meeting the access requirements. The data-sharing chain packages the data in the data retrieval result. The package contains data contents obtained through retrieval and the Merkle tree route of the block where the data are stored.
[0074] After completing retrieval of the shared data and access assignment, the data-sharing chain returns the packaged data as a data-requiring result to the application-layer client.
[0075] After receiving the data-requiring result, the application-layer client can validate reliability of the received data according to the Merkle tree root in the local block head and validation information in the data.
[0076] To sum up, the present invention provides a highly flexible, scalable multi-blockchain, hierarchical data-sharing and data-storing system, which reduce complexity of data sharing in multi-blockchain scenarios and storage overheads of application-layer clients, thereby providing a custom, scalable fine-grained access control method.
[0077] It should be noted that the above-mentioned specific embodiments are exemplary, and those skilled in the art can come up with various solutions inspired by the disclosure of the present invention, and those solutions also fall within the disclosure scope as well as the protection scope of the present invention. It should be understood by those skilled in the art that the description of the present invention and the accompanying drawings are illustrative rather than limiting to the claims. The protection scope of the present invention is defined by the claims and their equivalents. The description of the present invention contains a number of inventive concepts, such as “preferably”, “according to a preferred embodiment” or “optionally” all indicate that the corresponding paragraph discloses an independent idea, and the applicant reserves the right to file a divisional application based on each of the inventive concepts.