CN107766542B - Partitioned block chain network and method for realizing partitioned query thereof - Google Patents

Partitioned block chain network and method for realizing partitioned query thereof Download PDF

Info

Publication number
CN107766542B
CN107766542B CN201711042759.6A CN201711042759A CN107766542B CN 107766542 B CN107766542 B CN 107766542B CN 201711042759 A CN201711042759 A CN 201711042759A CN 107766542 B CN107766542 B CN 107766542B
Authority
CN
China
Prior art keywords
node
partition
nodes
transaction data
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711042759.6A
Other languages
Chinese (zh)
Other versions
CN107766542A (en
Inventor
李俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Distributed Technologies Co ltd
Original Assignee
Shanghai Distributed Technologies Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Distributed Technologies Co ltd filed Critical Shanghai Distributed Technologies Co ltd
Priority to CN201711042759.6A priority Critical patent/CN107766542B/en
Publication of CN107766542A publication Critical patent/CN107766542A/en
Application granted granted Critical
Publication of CN107766542B publication Critical patent/CN107766542B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a partitioned block chain network, which consists of a plurality of nodes; dividing part or all nodes into one or more partitions according to the visible authority of each node on different transaction data; the inside of the same partition is completely visible for the transaction data, and the inside of different partitions is invisible for the transaction data; and classifying all the nodes according to the authority of each node participating in the consensus process: the nodes which can participate in the consensus process of all the partitions are global consensus nodes, the nodes which can only participate in the consensus process of the partition are partition consensus nodes, and the nodes which cannot participate in any consensus process are synchronous nodes; each node has a partition identifier; each node also stores transaction fingerprints for all historical transaction data. According to the method and the device, each node in the block chain network is partitioned and classified, and the inquiry of the historical transaction data is limited in the same partition, so that the propagation range of the historical transaction data is greatly reduced, and the data privacy protection effect is improved.

Description

Partitioned block chain network and method for realizing partitioned query thereof
Technical Field
The present application relates to a Blockchain (Blockchain) technology, and more particularly, to a scheme in which historical transaction data is queried.
Background
In the white paper of the Chinese blockchain technology and the application development issued by the Ministry of industry and informatization, 10.10.18.2016, a blockchain is defined as a technology which can maintain a set of untrustworthy account book records among untrustworthy or weakly-trusted participants without the participation of intermediaries. First, a block chain is a chain (chain) like data structure in units of blocks, each block being cryptographically certified as a previous block, as shown in fig. 1. Second, the blockchain is a distributed ledger (distributed ledger) shared throughout the network. In many scenarios, the two technical terms of blockchain and distributed ledger have the same meaning.
Typically, the blockchain technique is used by all or some of the nodes of a P2P network (peer-to-peer network) to verify new blocks according to some consensus algorithm, and new blocks that pass the verification are added to the end of the blockchain data structure. A P2P network that employs the blockchain technique is referred to as a blockchain network. The consensus refers to a process that a plurality of nodes participate in a process of agreeing on certain data, behaviors or processes through interaction of the nodes under a preset rule. Consensus mechanisms are algorithms, protocols, and rules that define a consensus process.
Referring to fig. 2, this is a first existing blockchain network, in which each node may participate in a consensus process, so that each node is a consensus node. Typical representatives of such blockchain networks are some public chains (public blockchains), such as the blockchain networks used by bitcoin (bitcoin).
Referring to fig. 3, a method for implementing consensus in a conventional blockchain network includes the following steps.
Step 301: one or more nodes broadcast transaction data awaiting confirmation to other nodes.
Step 302: some or all nodes receiving the transaction data waiting for confirmation pack a plurality of transaction data waiting for confirmation into a candidate block, and usually pack the transaction data waiting for confirmation within a period of time. And broadcasting the packed candidate block to other nodes.
Step 303: and verifying the candidate block by adopting a consensus algorithm by part or all of the nodes receiving the candidate block.
In the existing blockchain network i, each node records and stores all transaction data occurring in the whole network by using a blockchain data structure, that is, each node stores a set of complete and consistent account book records.
Referring to fig. 4, a method for implementing storage in a conventional blockchain network includes the following steps.
Step 401: and if the candidate block passes the verification of the consensus algorithm, the candidate block becomes a legal new block, and each node adds the legal new block to the tail of the block chain data structure stored by the node.
Step 402: if the candidate block is not verified by the consensus algorithm, the candidate block is not a legal new block, and each node does not add the candidate block at the end of the self-stored block chain data structure.
The step 401 may seamlessly follow the step 303.
Please refer to fig. 5, which shows a conventional blockchain network two. The nodes therein are divided into two categories: nodes that can participate in the consensus process are called consensus nodes, and nodes that cannot participate in the consensus process are called synchronization nodes. Typical representatives of such blockchain networks are some federation chains (Consortium blockchain) or Private chains (Private blockchain).
Referring to fig. 6, this is a method for implementing consensus in the conventional blockchain network two, which includes the following steps.
Step 601: and determining each node in the block chain network as a common node or a synchronous node. In other words, any node in a blockchain network necessarily belongs to one of the above two classes.
Step 602: one or more nodes broadcast transaction data awaiting confirmation to the consensus node.
Step 603: some or all of the consensus nodes receiving the transaction data waiting for confirmation pack a plurality of transaction data waiting for confirmation into a candidate block, and usually packs the transaction data waiting for confirmation within a period of time. And broadcasting the packed candidate blocks to other consensus nodes.
Step 604: and verifying the candidate block by adopting a consensus algorithm through partial or all consensus nodes which receive the candidate block.
In the second existing blockchain network, no matter the common identification node or the synchronization node, each node stores all transaction data occurring in the whole network in a blockchain data structure, that is, each node stores a set of complete and consistent account book records.
Referring to fig. 7, this is a method for implementing storage in a conventional blockchain network two, and includes the following steps.
Step 701: if the candidate block passes the verification of the consensus algorithm, the candidate block becomes a legal new block. The new block is broadcasted to each synchronous node or each node of the whole network, and each consensus node and synchronous node add the new block to the tail of the block chain data structure stored by the synchronous node.
Step 702: if the candidate block is not verified by the consensus algorithm, the candidate block is not a legal new block, and each consensus node or synchronous node does not add the candidate block at the end of the block chain data structure stored by the consensus node or synchronous node.
The step 701 may seamlessly follow the step 604.
Referring to fig. 8, the method for implementing query in the conventional blockchain network one or blockchain network two includes the following steps.
Step 801: each node in the blockchain network stores transaction fingerprints of all historical transaction data. The transaction fingerprint may be stored in each block of the blockchain data structure stored by each node, or may be stored in the memory of each node itself other than the blockchain data structure.
For example, when some transaction data waiting to be confirmed are packed into candidate blocks in step 302 or step 603, a corresponding transaction fingerprint is calculated for each transaction data waiting to be confirmed by some or all nodes performing the packing and is packed into the candidate blocks.
Alternatively, for example, when a legal new block is added to the end of the blockchain data structure in step 401 or step 701, the nodes performing the storage store the transaction fingerprint of each transaction data in the new block outside the blockchain data structure.
Step 802: any node in the block chain network receives an inquiry request for historical transaction data, wherein the inquiry request at least comprises a transaction fingerprint of the historical transaction data to be inquired.
Step 803: the node compares the transaction fingerprint in the query request with the transaction fingerprints of all historical transaction data stored by itself.
Step 804: if the same transaction fingerprint is found, the transaction fingerprint in the query request belongs to a certain historical transaction data, and the query is returned to be successful. At this point, part or all of the historical transaction data is optionally displayed.
Step 805: if the same transaction fingerprint is not found, the transaction fingerprint in the query request does not belong to any historical transaction data, and the query is returned to fail.
The transaction fingerprint refers to a fingerprint value obtained by transaction data according to an encryption algorithm, the transaction data cannot be deduced reversely, and the transaction fingerprint can only be used for verifying whether the transaction data exists and whether the transaction data is tampered. Preferably, the encryption algorithm should be such that different transaction data correspond to different transaction fingerprints, i.e. different transaction data cannot in any way result in the same transaction fingerprint after encryption. Less preferably, the encryption algorithm allows for a very small probability of different transaction data corresponding to the same transaction fingerprint. For example, a Hash function (Hash function) belongs to a case where different plain texts corresponding to the same ciphertext may occur with a very small probability. In the blockchain network, before broadcasting and packaging transaction data waiting for confirmation into candidate blocks, any node calculates whether the hash value of the transaction data waiting for confirmation is coincident with the hash value of historical transaction data in the book record, and if the hash value of the transaction data waiting for confirmation is coincident, the transaction data waiting for confirmation is judged to be illegal, so that the one-to-one correspondence relationship between the transaction data and the hash value is ensured.
In the two existing block chain networks, the transmitted and stored transaction data are both publicly visible, and certain privacy protection is performed on both transaction parties only in a pseudo-anonymous mode. In the two existing blockchain networks, during the consensus process, the candidate block is broadcast to at least all consensus nodes, so that all transaction data waiting for confirmation in the candidate block is visible to all the consensus nodes. In the two existing block chain networks, legal new blocks are broadcast to each node in the storage process, so that all transaction data in the new blocks are visible to each node. In the query process of the two existing block chain networks, each node can independently perform query operation on a query request in the transaction fingerprints of all historical transaction data stored in the node, so that the historical transaction data is visible to each node. In many application scenarios, whether transaction data awaiting validation, transaction data verified by consensus algorithms, or historical transaction data may contain a large amount of business secrets and interests, which are not expected to be exposed to unrelated nodes. In order to meet various business rules and regulatory requirements and to provide good data privacy protection, some improved blockchain techniques are proposed.
There is an existing blockchain network that introduces the concept of light nodes (light clients). Nodes other than the light node download the ledger records of the complete blockchain data structure, while the light node only needs to download the block header (block header) of each block in the blockchain data structure. This may reduce the storage capacity requirements of the light node and also make the transaction data invisible to the light node. However, the transaction data is still visible to nodes other than the light nodes. Since no historical transaction data is stored in the light node, a query cannot be implemented.
In the Chinese patent application entitled permission control method and system based on blockchain transaction with application publication number CN106534097A and application publication date 2017, 3 and 22, the information confidentiality requirement in the blockchain network is realized by encrypting transaction data. Only the authorized node can acquire the decryption parameters, thereby acquiring the decrypted transaction data. The unauthorized node can only obtain the encrypted transaction data, and cannot decrypt due to lack of decryption parameters. The disadvantages of this solution are: all transaction data is still broadcast to all nodes of the blockchain, and although only a specific authorized node can decrypt the data, the summary of the transaction is transparent to all nodes, so that the application scenario with higher privacy protection requirements cannot be met. Each authorization node needs to decrypt the transaction data, and the time consumption of decryption operation affects the timeliness of transaction confirmation.
In a supervision method, device and system for digital currency transaction data based on block chains in the Chinese patent application with application publication number CN106779707A and application publication date 2017, 5, month and 31, the information confidentiality requirement in the block chain network is realized by encrypting the transaction data and distinguishing participating users from supervising users. The transaction data can only be decrypted by users participating in the transaction and supervisory users, and other users cannot decrypt the transaction data. The disadvantage of this scheme is similar to CN 106534097A.
Disclosure of Invention
The technical problem to be solved by the application is to provide a block chain network which can conveniently inquire historical transaction records on the premise of realizing strict data privacy protection. Therefore, the application also provides a method for realizing the partition query by the block chain network.
In order to solve the technical problem, the application provides a partitioned block chain network, which consists of a plurality of nodes; dividing part or all nodes into one or more partitions according to the visible authority of each node on different transaction data; the inside of the same partition is completely visible for the transaction data, and the inside of different partitions is invisible for the transaction data; and classifying all the nodes according to the authority of each node participating in the consensus process: the nodes which can participate in the consensus process of all the partitions are global consensus nodes, the nodes which can only participate in the consensus process of the partition are partition consensus nodes, and the nodes which cannot participate in any consensus process are synchronous nodes; each node has a partition identifier; each node also stores transaction fingerprints for all historical transaction data.
Further, the global consensus node is considered to be within all partitions, and its partition identification records all partitions. The global consensus node stores all verified transaction data in the whole network, so the global consensus node is generally not used as a node sending an inquiry request, but only used as a node receiving the inquiry request. At this time, the global consensus node returns the query result of the historical transaction data in the partition where the node is located according to the partition where the node sending the query request is located.
Further, the transaction fingerprint is stored within each block of the blockchain data structure stored by each node and/or in the memory of each node itself outside the blockchain data structure. In order to facilitate each node to respond to the inquiry of the historical transaction data, each node stores the transaction fingerprints of all historical transaction data. If a transaction fingerprint has been recorded for all transaction data in a block of the blockchain data structure, the node need not store the transaction fingerprint separately from the blockchain data structure. On the contrary, if the transaction fingerprint of all transaction data in a certain block of the blockchain data structure is not recorded, the node stores the transaction fingerprint of all transaction data in the block in a memory outside the blockchain data structure.
The application also discloses a method for realizing partition query by the partitioned block chain network, which comprises the following steps.
(1) A partition identification is maintained for each node in the blockchain network.
(2) Each node in the blockchain network stores transaction fingerprints of all historical transaction data.
(3) Any node in the block chain network receives an inquiry request for historical transaction data, wherein the inquiry request at least comprises a partition identifier of the node sending the inquiry request and a transaction fingerprint of the historical transaction data to be inquired.
(4) And the node receiving the query request compares the partition identification of the node with the partition identification of the node sending the query request, and judges whether the two nodes are in the same partition.
(5) If the node receiving the query request is not in the same partition as the node sending the query request, returning no query permission.
(6) If the node receiving the query request and the node sending the query request are in the same partition, the node receiving the query request compares the transaction fingerprint of the historical transaction data to be queried with the transaction fingerprints of all the historical transaction data stored in the node receiving the query request.
(7) If the same transaction fingerprint is found, the transaction fingerprint of the historical transaction data to be inquired belongs to a certain historical transaction data, and the inquiry success is returned.
(8) If the same transaction fingerprint is not found, the transaction fingerprint of the historical transaction data to be inquired does not belong to any historical transaction data, and the inquiry failure is returned.
Further, in the step (2), when several transaction data waiting for confirmation are packed into the candidate block, the partial or all nodes performing packing calculate the corresponding transaction fingerprint for each transaction data waiting for confirmation, and pack the transaction fingerprint into the candidate block. At this time, once the candidate block is verified to be a legal new block by the consensus algorithm, the new block and the corresponding transformed block have the transaction fingerprint of each transaction data. In the blockchain data structure of each node, whether the block or the deformed block is the transaction fingerprint of all transaction data in the block.
Further, the step (2) is that when a legal new block is added to the end of the blockchain data structure, each node executing storage stores the transaction fingerprint of each transaction data in the new block outside the blockchain data structure; at this time, the global consensus node and the partition consensus node of the partition have the transaction fingerprint of the transaction data in the new partition outside the blockchain data structure stored in the global consensus node and the partition consensus node of the partition, and the partition consensus nodes and all the synchronization nodes of other partitions have the transaction fingerprint of the transaction data in the new partition in the deformed partition corresponding to the new partition.
Further, the order of step (1) to step (2) is arbitrarily switched, or performed simultaneously.
Further, in the step (4), as long as any partition in the partition identifications of the nodes receiving the query request is the same as any partition in the partition identifications of the nodes sending the query request, the two nodes are considered to be in the same partition. This indicates that the node receiving the query request and the node issuing the query request have the same visible rights for at least some of the transaction data, thus allowing query operations between the two parties.
Further, in step (4), if any one of the node sending the query request and the node receiving the query request is a global consensus node, the two nodes are necessarily in the same partition. The global consensus node stores all verified transaction data in the whole network, so the global consensus node is generally not used as a node sending an inquiry request, but only used as a node receiving the inquiry request. Since the global consensus node stores all verified transaction data of the whole network, the query request of any node of any partition can be received, and the query result can be returned according to the partition of the other node.
The block chain network of the partition and the method for realizing the partition query thereof have the technical effects that: by partitioning and classifying each node in the block chain network, the query request sending node and the query request receiving node of the historical transaction data are limited in the same partition, so that the query of the historical transaction data is limited in the same partition, the propagation range of the historical transaction data is greatly reduced, and the data privacy protection effect is improved. Compared with the existing block chain technology for realizing data privacy protection, the risk of randomly spreading the transaction summary does not exist, and the transaction confirmation time increased by the time consumption of decryption operation does not need to be borne.
Drawings
Fig. 1 is a diagram of a blockchain data structure.
Fig. 2 is a schematic diagram of a conventional blockchain network i.
Fig. 3 is a flow chart of a conventional block chain network implementing the consensus method.
Fig. 4 is a flowchart of a storage method implemented in a conventional blockchain network.
Fig. 5 is a schematic diagram of a conventional blockchain network two.
Fig. 6 is a flowchart of a conventional block chain network two-implementation consensus method.
Fig. 7 is a flowchart of a storage method implemented by a conventional blockchain network two.
Fig. 8 is a flowchart of a query method implemented by a first existing blockchain network or a second existing blockchain network.
Fig. 9 is a schematic diagram of a blockchain network of the partitions of the present application.
FIG. 10 is a flowchart of a first embodiment of a partition consensus implemented by the partitioned blockchain network of the present application.
Fig. 11 is a flowchart of a second embodiment of a partition consensus method implemented by a partitioned blockchain network according to the present application.
Fig. 12 is a schematic diagram comparing the structures of the deformed block and the conventional block introduced in the present application.
FIG. 13 is a flowchart of a method for implementing partitioned storage in a partitioned blockchain network according to the present application.
FIG. 14 is a flowchart of a method for implementing a partition query in a partitioned blockchain network according to the present application.
Detailed Description
Please refer to fig. 9, which illustrates a partitioned blockchain network according to the present application. Like various existing blockchain networks, the blockchain network of the present application is also composed of a plurality of nodes, and each node is an electronic device or module having an operation and storage function. For example, each node is a computer or a group of computers, or a module having independent computing and storage functions therein. The difference from the existing blockchain network lies in the following two aspects. Firstly, according to the visible authority of different nodes to different transaction data in the block chain network, part or all of the nodes are divided into one or more partitions. Each node within the same partition can see the complete transaction data traded within that partition, i.e., the inside of the same partition is fully visible to the transaction data. Nodes within one partition cannot see the complete transaction data but only the transaction fingerprint for transactions within other partitions, i.e. between different partitions are not visible for transaction data. And secondly, classifying all the nodes according to the authority of each node participating in the consensus process. Each node is divided into the following three categories: the nodes which can participate in the consensus process of all the partitions are global consensus nodes, the nodes which can only participate in the consensus process of the partition are partition consensus nodes, and the nodes which cannot participate in any consensus process are synchronous nodes. The transaction data waiting for confirmation is verified only by the global consensus node and the partition consensus node of the partition. The blockchain network provided by the present application may be used for either a federation chain or a private chain.
After the nodes in the block chain network are partitioned, each node can be only in one partition or can be in a plurality of partitions simultaneously. Each node may join a new partition or withdraw from a partition as needed. The number of partitions that a blockchain network has, and the number of nodes that each partition contains, may vary over time.
After the nodes in the blockchain network are classified, the global consensus node is considered to be in all the partitions or not in any partition. For the partition consensus node and the synchronization node, one node may be in only one partition or may be in a plurality of partitions at the same time, and the categories in the plurality of partitions may be the same or different. For example, the node A only acts as a partition consensus node in the partition one, and only qualifies to participate in the consensus process of the partition one. The node B only acts as a synchronous node in the partition two and cannot participate in the consensus process of any partition. And the C node simultaneously serves as a partition consensus node in both the first partition and the second partition and is qualified to participate in the consensus process of the first partition and the second partition. The node D is used as a synchronous node in both the first partition and the third partition, and cannot participate in the consensus process of any partition. The node E is used as a partition consensus node in the partition II and is also used as a synchronization node in the partition III, and only qualification is participated in the consensus process of the partition II.
Preferably, a global manager or a global supervisor in the service scenario serves as a global consensus node, and a part of service managers, a part of or all of the service participants in the service scenario serve as partition consensus nodes. If necessary, some nodes may change categories between global consensus nodes, partitioned consensus nodes, and synchronization nodes.
In a first embodiment, the nodes are partitioned and classified according to different traffic types. Suppose a blockchain network is a alliance chain formed by financial institutions, at least A, B, C, D four nodes respectively represent four banks, and the E node represents a banking supervisor. A, B, C the cross-border payment traffic between three nodes (called traffic one) requires real-time processing of clearing and settlement between banks using blockchain network. B. C, D the three nodes use the blockchain network as a document deposit for mutual credit borrowing (referred to as business two). Then for traffic one, there are A, B, C three nodes that make up partition one. For service two, there are B, C, D three nodes that make up partition two. The E node is used as a global consensus node.
In a second embodiment, nodes are partitioned and classified according to different data access permissions. The method is characterized in that a certain block chain network is a certain data storage organization, data cloud storage is provided for enterprises and public institutions, government organizations and the like, and each organization allows a plurality of users to access and modify data respectively in the identity of different nodes. Since different units have different data access rights, the partitions should be divided at least according to the data access rights of the different units. Furthermore, within a unit, more detailed partitioning and classification can be performed according to different departments, levels, authorities and the like of users.
In a third embodiment, nodes are partitioned and classified according to different departments. Assuming that a blockchain network is composed of different departments of a certain unit, data of personnel department and financial department in unit management usually needs to be kept secret from other departments, and the management department needs to know operation conditions and data of each department. Therefore, all nodes contained in the personnel department can be uniformly distributed in one partition, all nodes contained in the financial department can be uniformly distributed in another partition, and all nodes contained in the management department can be used as global consensus nodes.
In a fourth embodiment, nodes are partitioned and classified according to different groups. In a group or community organization, information sharing is permitted in each group or each community, but there is often a demand for information security in other groups. Therefore, each group can be partitioned, and each node in the group can share information.
In a fifth embodiment, nodes are partitioned and classified according to different asset classes. Assets and transaction data thereof usually have high security requirements, a partition is required to be established for issuing, circulating and transaction data of the same asset class, and only nodes in the partition can know and access the related data. Information should be independent and confidential from each other between partitions of different asset classes. If the supervisor exists, the supervisor can be set as a global consensus node to meet the supervision requirement.
In a sixth embodiment, nodes are partitioned and classified according to different geographic locations. In many application scenarios, data management is often performed in units of geographic locations for convenience of management or data statistics. Therefore, each node contained in the same geographic position can be set as a partition, and data can be shared among the nodes in the partition. Information is kept secret among different partitions.
When the existing block chain network verifies the transaction data waiting for confirmation according to the consensus algorithm, all consensus nodes are qualified to participate in the consensus process. When the block chain network of the partition verifies the transaction data to be confirmed according to the consensus algorithm, only the global consensus node and the partition consensus node of the partition where the transaction data to be confirmed is qualified to participate in the consensus process. This greatly reduces the exposure of the transaction data to be validated, which is highly advantageous for data privacy protection.
Preferably, the blockchain network of the partition does not directly verify the transaction data waiting for confirmation according to the consensus algorithm, but packages the transaction data waiting for confirmation into the candidate block by the global consensus node and the partition consensus node of the partition where the transaction data waiting for confirmation is located, and verifies the candidate block by the global consensus node and the partition consensus node of the partition where the transaction data waiting for confirmation is located according to the consensus algorithm. The exposure range of the transaction data to be confirmed is not changed, and the good data privacy protection effect is still achieved.
Referring to fig. 10, a first embodiment of a method for implementing partition consensus in a partitioned blockchain network according to the present application includes the following steps.
Step 1001: a global consensus node is determined among the nodes in the blockchain network. The global consensus node may participate in the consensus process for all partitions.
Step 1002: partitioning nodes in the blockchain network except the global consensus node according to the visible permission of different transaction data. Nodes in the same partition can see the complete transaction data of the transaction in the partition, and the transaction data of other partitions cannot be seen between different partitions.
Step 1003: and dividing the nodes except the global consensus node in the block chain network into a partition consensus node and a synchronous node. The partition consensus node and the synchronization node may be in only one partition, or may be in multiple partitions at the same time, and may be of the same or different classes in multiple partitions. The partition consensus node can only participate in the consensus process of the partition where the partition is located, and the synchronization node cannot participate in any consensus process.
Step 1004: one or more nodes (referred to as originating nodes) broadcast transaction data awaiting acknowledgment to various global consensus nodes and to partition consensus nodes within the same partition as the originating node.
Step 1005: the global consensus node receiving part or all of the transaction data waiting for confirmation and the partition consensus nodes receiving part or all of the transaction data waiting for confirmation in the same partition pack a plurality of transaction data waiting for confirmation into a candidate block, and usually pack the transaction data waiting for confirmation in the same partition for a period of time. And the packed candidate blocks are broadcasted to all the global consensus nodes and the partition consensus nodes in the same partition with the initiating node.
Step 1006: and verifying the candidate block by adopting a consensus algorithm through the partial or all global consensus nodes of the received candidate block and the partial or all partition consensus nodes in the same partition. Commonly used consensus algorithms mainly include: a PBFT (physical byzantine fault tolerance) algorithm, a Paxos algorithm, a Proof of work (PoW) algorithm, a Proof of rights (PoS) algorithm, a Proof of delegation of rights (DPoS) algorithm, a Proof of activity (PoA) algorithm, a Proof of combustion (PoB) algorithm, a Proof of capability (PoC) algorithm, a Proof of elapsed time (Proof of elapsed time) algorithm, and the like.
The above steps 1001 to 1003 can be performed in any order, or simultaneously, as a modification of the second embodiment.
Please refer to fig. 11, which shows a second embodiment of a method for implementing partition consensus in a partition blockchain network according to the present application. In the second embodiment, steps 1001 to 1003 in the first embodiment are changed to steps 1101 to 1102, and the rest is unchanged.
Step 1101: and partitioning each node in the block chain network according to the visible authority of different transaction data. Nodes in the same partition can see the complete transaction data of the transaction in the partition, and the transaction data of other partitions cannot be seen between different partitions.
Step 1102: and determining a global consensus node, a partition consensus node and a synchronization node in each node in the block chain network. The global consensus node can participate in the consensus process of all the partitions, the partition consensus node can only participate in the consensus process of the partition where the global consensus node is located, and the synchronization node cannot participate in any consensus process. The partition consensus node and the synchronization node may be in only one partition, or may be in multiple partitions at the same time, and may be of the same or different classes in multiple partitions.
In the existing block chain network, each node stores all transaction data generated in the whole network in a block chain data structure, namely, each node stores a set of complete and consistent account book records. In the block chain network of the subarea, only the global common identification node stores all verified transaction data generated in the whole network in a block chain data structure, and both the subarea common identification node and the synchronization node store all verified transaction data generated in the subarea and transaction fingerprints of all verified transaction data generated in other subareas in the block chain data structure. The partitioned storage scheme greatly reduces the exposure range of the transaction data passing the verification, and is extremely beneficial to data privacy protection.
Preferably, the blockchain network partitioned by the application does not directly store verified transaction data or transaction fingerprints, but stores legal new blocks or deformed blocks thereof. For a partition consensus node or a synchronization node, when the transaction data in the valid new block is the transaction data of the partition where the node is located, that is, the valid new block is packaged into a candidate block by the partition where the node is located and verified through a consensus algorithm, the node stores the valid new block. When the transaction data in the legal new block is the transaction data of other partitions, namely the legal new block is packed into a candidate block by other partitions and verified through a consensus algorithm, the node stores the deformed block of the legal new block. In other words, only the global consensus node stores the new blocks of all the partitions verified by the consensus algorithm in a blockchain data structure, and both the partition consensus node and the synchronization node store the new blocks of the partition in which the partition is verified by the consensus algorithm and the deformed blocks corresponding to the new blocks of the other partitions verified by the consensus algorithm in the blockchain data structure. The method does not change the exposure range of the transaction data passing the verification, and still has good data privacy protection effect.
Referring to fig. 10, the left side is a conventional block structure and the right side is a deformed block structure. Each block includes a block header and a block body. The block header stores, for example, the following contents.
A parent hash specifying the block that is previous to the block.
The Merkle root is the Hash of the value of the Merkle tree (Merkle) that organizes all the transaction data in the block into a Merkle tree. Due to the characteristics of the Merkel tree, if any one or more transaction data in the block is changed, the hash value of the root of the recomputed Merkel tree will be different from the hash value of the root of the original Merkel tree.
-a timestamp (timestamp) indicating the packing time of the block.
The difficulty is only present in a blockchain network such as bitcoin and the like and is used for expressing the difficulty of the workload.
Random numbers (Nonce), which are present only in blockchain networks such as bitcoin.
The block body contains the complete transaction data (transaction data) of all transactions in the block.
Compared with the traditional block, the deformed block firstly replaces each item of transaction data in the block main body with a corresponding transaction fingerprint, and secondly recalculates the Merkel root value in the block head according to the content of the modified block main body.
In the block chain network of the partition, account book records stored by partition consensus nodes and synchronization nodes of different partitions are different from each other. For example, the node a is only used as a partition consensus node in the partition one, only the candidate block packed in the partition one is directly added after verification, and the deformed block of the candidate block packed in other partitions is added after verification. And the node B only serves as a synchronous node in the partition II, only the candidate blocks packed by the partition II are directly added after being verified, and the deformed blocks of the candidate blocks packed by other partitions are added after being verified. And the node C is used as a partition consensus node in both the partition I and the partition II, only the candidate blocks packed by the partition I or the partition II are directly added after verification, and the deformed blocks of the candidate blocks packed by other partitions are added after verification. And the D node is used as a synchronous node in both the first partition and the third partition, only the candidate blocks packed by the first partition or the third partition are directly added after verification, and the deformed blocks of the candidate blocks packed by other partitions are added after verification. And the node E is used as a partition consensus node in the partition two and is also used as a synchronization node in the partition three, only the candidate blocks packed by the partition two or the partition three are directly added after verification, and the deformed blocks of the candidate blocks packed by other partitions are added after verification.
Please refer to fig. 13, which illustrates an embodiment of a method for implementing partitioned storage in a partitioned blockchain network according to the present application, including the following steps.
Step 1301: if the candidate block passes the verification of the consensus algorithm, the candidate block becomes a legal new block, and each global consensus node and each partition consensus node in the same partition add the new block to the end of the self-stored block chain data structure.
Step 1302: and replacing the transaction data in the legal new block by the transaction fingerprint value by using part or all of the global consensus nodes and part or all of the partition consensus nodes in the same partition to obtain a corresponding deformed block.
Step 1303: and broadcasting the deformed blocks to each synchronous node (including the synchronous node in the same partition and the synchronous nodes in other partitions) and each partition common node in other partitions.
Step 1304: each synchronization node and each partition consensus node within the other partitions each adds only a deformed block to the end of its own stored blockchain data structure.
Step 1305: if the candidate block is not verified, the candidate block is not a legal new block, and each node does not add the candidate block at the end of the self-stored block chain data structure.
The step 1301 can seamlessly follow the step 1106.
In the existing block chain network, each node stores transaction fingerprints of all historical transaction data. Once historical transaction data needs to be queried, each node compares the transaction fingerprints of all historical transaction data stored by the node with the transaction fingerprints in the query request, and then a query result can be obtained independently. In the partitioned block chain network, each node has a partition identifier, and each node also stores transaction fingerprints of all historical transaction data. The partition identification refers to the partition where the transaction data is located. Once historical transaction data needs to be queried, a node receiving a query request judges whether the node sending the query request has query authority or not by comparing the partition identification of the node with the partition identification of the node sending the query request to judge whether the node sending the query request belongs to the same partition or not. Only under the premise of inquiry authority, the node receiving the inquiry request can compare the transaction fingerprints of all historical transaction data stored by the node with the transaction fingerprints in the inquiry request, and can independently obtain an inquiry result. The partition query scheme limits the query range of each node on the historical transaction data within the range of the historical transaction record of the partition where the node is located, and does not allow cross-partition query, so that the exposure range of the historical transaction data is limited, and the data privacy protection is extremely favorable.
Please refer to fig. 14, which is a method for implementing partition query in a partition blockchain network of the present application, including the following steps.
Step 1401: each node in the blockchain network has a partition identification. The partition identification records the partition in which the node is located. Because a node may be in only one partition or multiple partitions at the same time, the partition identifier may record only one partition, or multiple partitions at the same time. If the partition in which the node is located changes, the corresponding partition identification is synchronously updated. At this point, the global consensus node is considered to be within all partitions, and its partition identification records all partitions.
Step 1402: each node in the blockchain network stores transaction fingerprints of all historical transaction data. The transaction fingerprint is stored within each block of the blockchain data structure stored by each node and/or in the memory of each node itself outside the blockchain data structure.
For example, when some transaction data waiting to be confirmed are packed into candidate blocks in step 1105, a part or all of the nodes performing the packing calculate a corresponding transaction fingerprint for each transaction data waiting to be confirmed, and pack the transaction fingerprint into the candidate blocks. Once the candidate block is verified to be a legal new block by the consensus algorithm, the new block and the corresponding transformed block have the transaction fingerprint of each transaction data. Whether the global consensus node, the partitioned consensus node or the synchronization node has the transaction fingerprint of all historical transaction data in the blockchain data structure stored in the node.
Alternatively, for example, when a legal new block is added to the end of the blockchain data structure in step 1301, the nodes performing storage store the transaction fingerprint of each transaction data in the new block outside the blockchain data structure. At this time, the global consensus node and the partition consensus node of the partition have the transaction fingerprint of the transaction data in the new partition outside the blockchain data structure stored in the global consensus node and the partition consensus node of the partition, and the partition consensus nodes and all the synchronization nodes of other partitions have the transaction fingerprint of the transaction data in the new partition in the deformed partition corresponding to the new partition (i.e., in the blockchain data structure stored in the global consensus node and the partition consensus node).
The order of steps 1401 to 1402 may be arbitrarily changed or performed simultaneously.
Step 1403: any node (such as a node B) in the blockchain network receives a query request for historical transaction data sent by a node A (a node sending the query request), wherein the query request at least comprises a partition identification of the node A sending the query request and a transaction fingerprint of the historical transaction data to be queried.
Step 1404: and the node B receiving the query request compares the partition identification of the node B with the partition identification of the node A sending the query request, and judges whether the two nodes are in the same partition. As long as any partition in the partition identification of the node B is consistent with any partition in the partition identification of the node A, the two nodes are considered to be in the same partition. For example, the partition identification of node A indicates that node A is in partition one and partition two at the same time, and the partition identification of node B indicates that node B is in partition two and partition three at the same time, since A, B two nodes have a common partition two and are therefore considered to be in the same partition.
Since the global consensus node is considered to be in all partitions, if any of the node a issuing the query request and the node B receiving the query request is a global consensus node, the two nodes are necessarily in the same partition.
Step 1405: if the node B receiving the query request is not in the same partition as the node A sending the query request, the node B returns no query permission to the node A.
Step 1406: if the node B receiving the query request is in the same partition as the node A sending the query request, the node B further compares the transaction fingerprint in the query request with the transaction fingerprints of all historical transaction data stored by the node B.
Step 1407: if the same transaction fingerprint is found, the transaction fingerprint in the query request belongs to a certain historical transaction data, and the node B returns a query success to the node A. The node B optionally presents part or all of the historical transaction data to the node A at this time.
Step 1408: if the same transaction fingerprint is not found, the transaction fingerprint in the query request does not belong to any historical transaction data, and the node B returns a query failure to the node A.
The above are merely preferred embodiments of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (9)

1. A partitioned blockchain network is composed of a plurality of nodes; the method is characterized in that part or all nodes are divided into one or more partitions according to the visible authority of each node on different transaction data; the inside of the same partition is completely visible for the transaction data, and the inside of different partitions is invisible for the transaction data; each node is either within only one partition, or within multiple partitions at the same time; each node is allowed to add a new partition or quit the partition, so that the number of partitions in the block chain network and the number of nodes contained in each partition change along with time; and classifying all the nodes according to the authority of each node participating in the consensus process: the nodes which can participate in the consensus process of all the partitions are global consensus nodes, the nodes which can only participate in the consensus process of the partition are partition consensus nodes, and the nodes which cannot participate in any consensus process are synchronous nodes; each node is provided with a partition identifier for judging the inquiry authority, and the node receiving the inquiry request judges whether the node sending the inquiry request has the inquiry authority or not by comparing the partition identifier of the node with the partition identifier of the node sending the inquiry request to judge whether the node sending the inquiry request belongs to the same partition or not; each node also stores transaction fingerprints for all historical transaction data.
2. The partitioned blockchain network of claim 1, wherein the global consensus node is considered to be within all partitions with partition identities that record all partitions.
3. A partitioned blockchain network as claimed in claim 1 wherein transaction fingerprints are stored within each block of the blockchain data structure stored by each node and/or in the memory of each node itself outside the blockchain data structure.
4. A method for realizing partition inquiry of a partitioned block chain network is characterized in that in the block chain network, part or all nodes are divided into one or more partitions according to the visibility authority of each node on different transaction data; the inside of the same partition is completely visible for the transaction data, and the inside of different partitions is invisible for the transaction data; each node is either within only one partition, or within multiple partitions at the same time; each node is allowed to add a new partition or quit the partition, so that the number of partitions in the block chain network and the number of nodes contained in each partition change along with time; the method comprises the following steps:
(1) storing a partition identification for each node in a block chain network;
(2) each node in the block chain network stores transaction fingerprints of all historical transaction data;
(3) any node in the block chain network receives an inquiry request for historical transaction data, wherein the inquiry request at least comprises a partition identifier of the node sending the inquiry request and a transaction fingerprint of the historical transaction data to be inquired;
(4) the node receiving the query request compares the partition identification of the node with the partition identification of the node sending the query request, and judges whether the two nodes are in the same partition;
(5) if the node receiving the query request and the node sending the query request are not in the same partition, returning no query permission;
(6) if the node receiving the query request and the node sending the query request are in the same partition, the node receiving the query request compares the transaction fingerprint of the historical transaction data to be queried with the transaction fingerprints of all the historical transaction data stored in the node receiving the query request;
(7) if the same transaction fingerprint is found, the transaction fingerprint of the historical transaction data to be inquired belongs to a certain historical transaction data, and the inquiry success is returned;
(8) if the same transaction fingerprint is not found, the transaction fingerprint of the historical transaction data to be inquired does not belong to any historical transaction data, and the inquiry failure is returned.
5. The method of claim 4, wherein in step (2), when several transaction data waiting to be confirmed are packed into the candidate blocks, the partial or all nodes performing the packing calculate the corresponding transaction fingerprint for each transaction data waiting to be confirmed and pack the transaction fingerprint into the candidate blocks.
6. The method of claim 4, wherein step (2) is performed by each node performing the storing transaction fingerprints of each transaction datum in the new block outside the blockchain data structure when the legal new block is added to the end of the blockchain data structure.
7. The method of claim 4, wherein the sequence of steps (1) to (2) is arbitrarily changed or performed simultaneously.
8. The method of claim 4, wherein in step (4), any partition in the partition identifiers of the nodes receiving the query request is the same as any partition in the partition identifiers of the nodes sending the query request, and the two nodes are considered to be in the same partition.
9. The method of claim 4, wherein in step (4), if any of the node sending the query request and the node receiving the query request is a globally-aware node, the two nodes are necessarily in the same partition.
CN201711042759.6A 2017-10-30 2017-10-30 Partitioned block chain network and method for realizing partitioned query thereof Active CN107766542B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711042759.6A CN107766542B (en) 2017-10-30 2017-10-30 Partitioned block chain network and method for realizing partitioned query thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711042759.6A CN107766542B (en) 2017-10-30 2017-10-30 Partitioned block chain network and method for realizing partitioned query thereof

Publications (2)

Publication Number Publication Date
CN107766542A CN107766542A (en) 2018-03-06
CN107766542B true CN107766542B (en) 2020-09-11

Family

ID=61271181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711042759.6A Active CN107766542B (en) 2017-10-30 2017-10-30 Partitioned block chain network and method for realizing partitioned query thereof

Country Status (1)

Country Link
CN (1) CN107766542B (en)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807984A (en) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing subregion common recognition
CN107766540A (en) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing partitioned storage
CN108429759B (en) * 2018-03-28 2020-06-30 电子科技大学成都研究院 Decentralized storage safety implementation method
CN108564468A (en) * 2018-04-04 2018-09-21 上海金丘信息科技股份有限公司 A kind of common recognition method based on the dynamic equity for trusting member
CN108563788B (en) * 2018-04-27 2023-05-23 腾讯科技(深圳)有限公司 Block chain-based data query method, device, server and storage medium
CN108769230B (en) * 2018-06-06 2021-06-18 腾讯科技(深圳)有限公司 Transaction data storage method, device, server and storage medium
CN108985976A (en) * 2018-06-25 2018-12-11 黄振 A kind of catalogue formula block chain management system for real estate business
CN108920583A (en) * 2018-06-25 2018-11-30 黄振 A kind of catalogue formula block chain management method for real estate business
CN108924130B (en) * 2018-07-02 2021-05-07 上海达家迎信息科技有限公司 Block data verification method, device, equipment and storage medium
CN108921556B (en) * 2018-07-02 2022-04-19 上海达家迎信息科技有限公司 Block chain verification method, device, equipment and storage medium
CN108921535A (en) * 2018-07-16 2018-11-30 夸克链科技(深圳)有限公司 A kind of block of block chain seals mechanism up for safekeeping
CN110766548A (en) * 2018-07-25 2020-02-07 易见天树科技(北京)有限公司 Block chain based information processing method and device, storage medium and electronic equipment
CN109102261A (en) * 2018-08-02 2018-12-28 刘卓 Based on the encryption currency for matching the decentralization for winning banknote, safety, power saving
CN109271805A (en) * 2018-08-10 2019-01-25 广东工业大学 A kind of storage of data subregion, querying method and system based on block chain
CN109242680B (en) * 2018-08-21 2022-12-06 北京无限创意信息技术有限公司 Method for dynamically adjusting block chain consensus
CN109145163B (en) * 2018-08-22 2021-08-24 深圳前海微众银行股份有限公司 Block chain data capacity reduction method and device and storage medium
CN109472698B (en) * 2018-10-30 2021-07-02 四川大学 Public welfare supervision method and system based on block chain
CN109462587B (en) * 2018-11-09 2020-03-27 四川虹微技术有限公司 Block chain layered consensus method, block chain network system and block chain node
CN111309801A (en) * 2018-12-11 2020-06-19 航天信息股份有限公司 Method and device for fragmenting alliance chain
CN110049087B (en) * 2018-12-28 2020-05-05 阿里巴巴集团控股有限公司 Credibility verification method, system, device and equipment of alliance chain
CN110020548B (en) * 2019-01-31 2020-04-28 阿里巴巴集团控股有限公司 Method and device for hiding transaction written into block chain
CN109951488B (en) * 2019-03-27 2022-01-07 百度在线网络技术(北京)有限公司 Method, device, equipment and storage medium for realizing service of content distribution network
CN109949160A (en) * 2019-03-27 2019-06-28 上海优扬新媒信息技术有限公司 A kind of sharding method and device of block chain
CN110245187A (en) * 2019-05-20 2019-09-17 深圳壹账通智能科技有限公司 A kind of list type queries method and node based on block chain
CN110147684B (en) * 2019-05-24 2023-07-25 众安信息技术服务有限公司 Method and device for realizing privacy protection of blockchain data
CN110427433B (en) * 2019-08-08 2023-04-07 上海中通吉网络技术有限公司 Block chain consensus method and storage medium
CN110737658B (en) * 2019-09-06 2020-12-18 平安国际智慧城市科技股份有限公司 Data fragment storage method, device, terminal and readable storage medium
CN110580418B (en) * 2019-11-08 2020-04-07 支付宝(杭州)信息技术有限公司 Private data query method and device based on block chain account
CN111932255B (en) * 2020-08-12 2023-11-03 中国人民银行数字货币研究所 Method and device for realizing transaction reconciliation based on encrypted currency
CN112968967B (en) * 2020-09-25 2023-05-19 支付宝(杭州)信息技术有限公司 Block synchronization method and device
CN112600874B (en) * 2020-11-24 2023-03-31 成都质数斯达克科技有限公司 Node joining method and device, electronic equipment and readable storage medium
CN112487094B (en) * 2020-12-08 2024-01-19 深圳供电局有限公司 Method, device, computer equipment and storage medium for synchronizing energy block data
CN112783975A (en) * 2020-12-31 2021-05-11 杭州趣链科技有限公司 Block chain partition management and cross-partition transaction method and device
CN115499128A (en) * 2021-06-01 2022-12-20 中移雄安信息通信科技有限公司 Block chain consensus method, device, system and storage medium
CN116561231B (en) * 2023-07-10 2023-09-22 北京银联金卡科技有限公司 Alliance chain data processing method based on split chain technology
CN117376352B (en) * 2023-10-07 2024-03-12 山东山科智能科技有限公司 Block chain-based Internet of things system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656974A (en) * 2016-10-17 2017-05-10 江苏通付盾科技有限公司 Block chain grouping consensus method and system
CN106936589A (en) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 A kind of acentric the license parallel sharding method of chain and method of commerce
CN107222482A (en) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 A kind of data management system and method based on compound block chain network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876775B2 (en) * 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656974A (en) * 2016-10-17 2017-05-10 江苏通付盾科技有限公司 Block chain grouping consensus method and system
CN106936589A (en) * 2017-04-21 2017-07-07 杭州秘猿科技有限公司 A kind of acentric the license parallel sharding method of chain and method of commerce
CN107222482A (en) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 A kind of data management system and method based on compound block chain network

Also Published As

Publication number Publication date
CN107766542A (en) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107766542B (en) Partitioned block chain network and method for realizing partitioned query thereof
CN108009917B (en) Transaction verification and registration method and system for digital currency
Baird et al. Hedera: A public hashgraph network & governing council
WO2021088536A1 (en) Off-chain authorization-based private data query method and apparatus
US11483134B2 (en) One-time-pad encryption system and methods adapted to block-chain transactions
CN107766540A (en) A kind of block chain network of subregion and its method for realizing partitioned storage
CN107807984A (en) A kind of block chain network of subregion and its method for realizing subregion common recognition
CN115210741B (en) Partially ordered blockchain
CA3065319A1 (en) Distributed privately subspaced blockchain data structures with secure access restriction management
US11580240B2 (en) Protecting sensitive data
KR20210040078A (en) Systems and methods for safe storage services
CN111556120A (en) Data processing method and device based on block chain, storage medium and equipment
US11405198B2 (en) System and method for storing and managing keys for signing transactions using key of cluster managed in trusted execution environment
CN112615847B (en) Data sharing and privacy protection method based on block chain
Cha et al. Blockchain based sensitive data management by using key escrow encryption system from the perspective of supply chain
CN112149077B (en) Supply chain billing method, system and computer equipment based on block chain technology
CN116250210A (en) Methods, apparatus, and computer readable media for authentication and authorization of networked data transactions
JP7410060B2 (en) Blockchain system with limited transactions
CN112231751A (en) Data transmission system and method based on block chain
Hashim Blockchain technology, methodology behind it, and its most extensively used encryption techniques.
CN117009988A (en) Encryption data storage and query method based on blockchain
Kuchin et al. Transaction protection in corporate networks based on distributed ledger technology
Canciani et al. Hybrid DLT as a data layer for real-time, data-intensive applications
Reddy et al. Framework for privacy preserving credential issuance and verification system using soulbound token
CN114239043A (en) Shared encryption storage system constructed based on block chain technology

Legal Events

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