Information storage method, device and medium based on blockchain distributed hash list

Through the blockchain distributed hash list, personal information is divided into information domains and target node storage is determined, which solves the problems of high storage costs and low security in the prior art, and realizes efficient query and secure storage.

CN114416734BActive Publication Date: 2025-08-29浪潮工业互联网股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111659457.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-30
Publication Date
2025-08-29
Estimated Expiration
2041-12-30

AI Technical Summary

Technical Problem

In the prior art, personal information storage costs are high and cannot be stored according to user needs, and the security is low.

Method used

Through the blockchain distributed hash list, personal information is divided into several information fields, and the target node is determined for storage using a preset routing algorithm. Combined with the identification and key mechanism of the user node, the distributed storage and secure encryption of information are realized.

Benefits of technology

It realizes efficient query and on-demand storage, reduces the cost of information storage and improves the security of information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114416734B_ABST
    Figure CN114416734B_ABST
Patent Text Reader

Abstract

This application discloses an information storage method, device, and medium based on a blockchain distributed hash list, which is used to solve the technical problems in the prior art of high personal information storage costs and inability to store personal information according to user needs. The method includes: dividing personal information into several information domains based on the data type of each data in the personal information corresponding to the user node; determining different target nodes for storing the several information domains based on a preset routing algorithm; storing the several information domains with user node identifiers in the distributed hash list of the corresponding target node and determining the corresponding location information; determining the shortest path to the corresponding target node based on the distance between the user node and several next nodes, and determining the return path of the location information; sending the location information corresponding to the several information domains with identifiers to the user node based on the return path, and storing it in the distributed hash list corresponding to the user node, thereby reducing the cost of information storage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to an information storage method, device, and medium based on a blockchain distributed hash list. Background Art

[0002] In existing technologies, local storage has limited storage capacity. However, cloud or remote storage can be difficult due to the large amount of content stored there. Furthermore, due to the presence of duplicate content within each user's personal information, existing storage methods are unable to meet individual user needs in order to avoid data redundancy. Summary of the Invention

[0003] The embodiments of the present application provide an information storage method, device, and medium based on a blockchain distributed hash list to solve the technical problem in the prior art that the storage cost of personal information is high and therefore personal information cannot be stored according to user needs.

[0004] On the one hand, an embodiment of the present application provides an information storage method based on a blockchain distributed hash list, which is applied to a pre-built blockchain platform, including: obtaining personal information corresponding to a user node, and determining the data type of each data in the personal information, so as to divide the personal information into several information domains according to the data type of each data; determining different target nodes in the blockchain platform for storing the several information domains according to a preset routing algorithm; identifying the several information domains according to the identifier of the user node, so as to store the several information domains with the identifier in the distributed hash list of the corresponding target node, and determining the position information corresponding to the several information domains with the identifier; determining the shortest path for storing the information domain with the identifier to the corresponding target node according to the distance between the user node and several next nodes, and determining the return path for the corresponding target node to send the position information corresponding to the information domain to the user node according to the shortest path; sending the position information corresponding to the several information domains with the identifier to the user node according to the return path, and storing the several position information in the distributed hash list corresponding to the user node.

[0005] In one implementation of the present application, the shortest path for storing the identified information domain to the corresponding target node is determined based on the distance between the user node and several next nodes, specifically including: obtaining the node IDs of several next nodes around the user node from the blockchain platform; wherein the node ID is a specific field representing the real physical distance; performing an XOR operation on the user node and the node IDs of the several next nodes to determine the next node closest to the user node among the several next nodes for searching the target node; wherein each next node of the target node searched by the user node is determined by an XOR operation; and storing each determined next node in the distributed hash table corresponding to the user node, so that the user node can determine the shortest path to query the target node based on the multiple next nodes determined.

[0006] In one implementation of the present application, after storing the plurality of location information in the distributed hash list corresponding to the user node, it also includes: storing the data recovery instructions corresponding to the plurality of information domains with identifiers in the user node; if the information domain with identifiers cannot be queried based on the corresponding location information in the user node, then regenerating the information domain based on the data recovery instructions corresponding to the information domain with identifiers stored in the user node; and identifying the regenerated information domain based on the identifier of the user node.

[0007] In one implementation of the present application, the method of identifying the several information domains according to the identifier of the user node to store the several information domains with the identifier in the distributed hash list of the corresponding target node, and determining the location information corresponding to the several information domains with the identifier, further includes: generating a public key corresponding to the target node according to the location information to encrypt the information domain with the identifier according to the public key corresponding to the target node; sending the encrypted information domain with the identifier to any forwarding node corresponding to the user node, so that the forwarding node continues to encrypt the information domain with the identifier based on its own public key; sending the information domain with the identifier after multiple encryption to the target node, so that the target node decrypts the received information domain with the identifier through its own private key.

[0008] In one implementation of the present application, after sending the information domain with the identifier that has been encrypted multiple times to the target node so that the target node decrypts the received information domain with the identifier using its own private key, it also includes: obtaining the forwarding path corresponding to the information domain with the identifier; and determining the return path of the location information corresponding to the information domain with the identifier based on the identifier of the information domain and the forwarding path corresponding to the information domain with the identifier, so that the target node sends the corresponding location information to the user node according to the return path.

[0009] In one implementation of the present application, after dividing the personal information into several information domains according to the data type of each data, it also includes: calculating the hash value corresponding to the information domain according to a preset function; when storing the several information domains with identification in the distributed hash list of the corresponding target node, determining the time when the corresponding target node receives the information domain with identification; storing the hash value corresponding to the information domain and the time when the corresponding target node receives the information domain with identification in the distributed hash list of the corresponding target node.

[0010] In one implementation of the present application, after the location information corresponding to the several information domains with identifiers is sent to the user node and stored in the distributed hash list corresponding to the user node, it also includes: determining the information domain corresponding to the query content of the user node; based on the corresponding information domain, determining the location information of the corresponding information domain from the user node; and finding the corresponding target node based on the determined location information to obtain the corresponding information domain from the target node.

[0011] In one implementation of the present application, after storing the plurality of location information in the distributed hash list corresponding to the user node, it also includes: based on a preset whitelist, performing XOR processing on the distributed hash list network storing the corresponding personal information to hide the network topology structure storing the plurality of information domains corresponding to the personal information.

[0012] On the other hand, an embodiment of the present application further provides an information storage device based on a blockchain distributed hash list, which is applied to a pre-built blockchain platform, and the device includes: at least one processor; and a memory in communication with the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can: obtain personal information corresponding to a user node, and determine the data type of each data in the personal information, so as to divide the personal information into several information domains according to the data type of each data; determine different target nodes storing the several information domains in the blockchain platform according to a preset routing algorithm; and The multiple information domains are identified according to the identifier of the user node, so as to store the multiple information domains with the identifier in the distributed hash list of the corresponding target node, and determine the position information corresponding to the multiple information domains with the identifier; based on the distance between the user node and multiple next nodes, determine the shortest path for storing the information domain with the identifier in the corresponding target node, and based on the shortest path, determine the return path for the corresponding target node to send the position information corresponding to the information domain to the user node; based on the return path, send the position information corresponding to the multiple information domains with the identifier to the user node, and store the multiple position information in the distributed hash list corresponding to the user node.

[0013] On the other hand, an embodiment of the present application also provides a non-volatile computer storage medium storing computer-executable instructions, which are applied to a pre-built blockchain platform, wherein the computer-executable instructions are configured to: obtain personal information corresponding to a user node, and determine the data type of each data in the personal information, so as to divide the personal information into several information domains according to the data type of each data; determine different target nodes storing the several information domains in the blockchain platform according to a preset routing algorithm; identify the several information domains according to the identifier of the user node, so as to store the several information domains with the identifier in the distributed hash list of the corresponding target node, and determine the position information corresponding to the several information domains with the identifier; determine the shortest path for storing the information domain with the identifier to the corresponding target node according to the distance between the user node and several next nodes, and determine the return path for the corresponding target node to send the position information corresponding to the information domain to the user node according to the shortest path; send the position information corresponding to the several information domains with the identifier to the user node according to the return path, and store the several position information in the distributed hash list corresponding to the user node.

[0014] The embodiments of the present application provide an information storage method, device, and medium based on a blockchain distributed hash list, which have at least the following beneficial effects: dividing the personal information into several information domains based on the data type of the data in the obtained personal information, and then determining the different target nodes where the several information domains are stored in the blockchain platform through a preset routing algorithm; identifying the several information domains through the identifier of the user node, so that the information domain can be determined as the information domain corresponding to the user node based on the identifier on the information domain; storing the identified information domain in the determined corresponding target node, and determining the location information corresponding to the several information domains, and then sending the location information corresponding to the several identified information domains to the user node and storing it in the distributed hash list corresponding to the user node, so as to facilitate subsequent querying of the information domain in the personal information based on the location information stored in the distributed hash table of the user node. In this way, information can be efficiently queried and retrieved, and information can be distributedly stored according to the user's personal needs, reducing the cost of information storage and improving the security of information. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A flowchart of the information storage method based on the blockchain distributed hash list provided in an embodiment of the present application;

[0017] Figure 2 Schematic diagram of the internal structure of an information storage device based on a blockchain distributed hash list provided in an embodiment of the present application. DETAILED DESCRIPTION

[0018] In order to enable those skilled in the art to better understand the technical solutions in this application, the following will clearly and completely describe the technical solutions in the embodiments of this application in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.

[0019] Distributed Hash Table (DHT) is a distributed storage method. The device corresponding to each node is responsible for part of the routing and storing part of the data, thereby enabling addressing and storage of the entire DHT network.

[0020] Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. It can securely store transaction information or other data. It is essentially a decentralized database. Its characteristic is that the information stored on the blockchain cannot be forged or tampered with, ensuring the authenticity of the data on the blockchain platform.

[0021] The blockchain framework can be any blockchain framework capable of implementing the corresponding functions of the embodiments of this application, such as Bitcoin, Ethereum, Fabric, Corda, etc. The blockchain platform can be a platform that stores the blockchain or directly represents the blockchain itself. The blockchain platform includes several nodes, specifically user nodes, target nodes, forwarding nodes, etc.

[0022] Based on the needs of storing user node personal information, a corresponding smart contract can be generated and written to each node on the blockchain platform. Each call to a smart contract function generates a record that is permanently stored on the blockchain platform. A smart contract is a computer protocol designed to disseminate, verify, or execute contracts in an information-based manner. Smart contracts allow for trusted transactions without a third party, and these transactions are traceable and irreversible.

[0023] The embodiment of the present application provides an information storage method, device and medium based on a distributed hash list of a blockchain. The method divides the personal information into several information domains according to the data type of the data in the obtained personal information, and then determines the different target nodes where the several information domains are stored in the blockchain platform through a preset routing algorithm; identifies the several information domains through the identifier of the user node, so that the information domain can be determined as the information domain corresponding to the user node according to the identifier on the information domain; stores the identified information domain in the determined corresponding target node, and determines the location information corresponding to the several information domains, and then sends the location information corresponding to the several identified information domains to the user node and stores it in the distributed hash list corresponding to the user node, so as to facilitate subsequent query of the information domain in the personal information according to the location information stored in the distributed hash table of the user node. This solves the technical problem in the prior art that the storage cost of personal information is high and the security is low, and therefore personal information cannot be stored according to user needs.

[0024] The technical solutions proposed in the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0025] Figure 1 This is a flowchart of the information storage method based on the blockchain distributed hash list provided in the embodiment of this application. Figure 1 As shown, the information storage method based on the blockchain distributed hash list provided in the embodiment of the present application mainly includes the following steps:

[0026] S101: Obtain personal information corresponding to a user node, and determine the data type of each data in the personal information, so as to divide the personal information into several information domains according to the data type of each data.

[0027] The server obtains the personal information corresponding to the user node in the blockchain platform, and then determines the data type of each data in the obtained personal information, thereby dividing the personal information corresponding to the user node into several information domains according to the data type of each data.

[0028] It should be noted that the data in the various information fields in the embodiments of the present application are different, and the data in the various information fields together constitute the personal information of the current user node. The data types in the embodiments of the present application include string, integer, time, double, Boolean, and floating-point data types.

[0029] In one embodiment of the present application, after the server divides the corresponding personal information of the user node into several information domains according to the data type of each data, it calculates the hash value corresponding to each information domain according to a preset function, and when storing several information domains with identification in the distributed hash list of the corresponding target node, determines the time when the corresponding target node receives the information domain with identification, and then stores the hash value corresponding to the current information domain and the time when the corresponding target node receives the information domain with identification in the distributed hash list of the corresponding target node, thereby recording the hash value and storage time of the data stored in the target node for subsequent query use.

[0030] S102: Determine different target nodes storing multiple information domains in the blockchain platform according to a preset routing algorithm.

[0031] Based on the preset routing algorithm, the server calculates and determines the different target nodes that store several information domains in the blockchain platform, and thus distributes the several information domains corresponding to the user nodes according to the actual needs of the user. This not only reduces the cost of storing personal information, but also improves the security of personal information and realizes on-demand storage of user personal information.

[0032] After determining different target nodes storing several information domains, the embodiment of the present application creates a corresponding distributed hash list in each target node and user node, so as to facilitate the subsequent storage of data information corresponding to each node in the corresponding distributed hash list.

[0033] S103: Identify several information domains according to the identifier of the user node, store the identified information domains in the distributed hash list of the corresponding target node, and determine the location information corresponding to the identified information domains.

[0034] The server obtains the identifier of the user node and then stores the identifier of the user node in the multiple information fields corresponding to the user node to identify the multiple information fields. Based on the identifiers on the information fields, the server can determine that the information fields belong to the current user node. The server then stores the multiple information fields with the identifiers in the distributed hash list of the corresponding target node based on the target node where the multiple information fields are stored. The server can also determine the location information corresponding to the multiple information fields based on the locations of the distributed hash lists of different target nodes.

[0035] In one embodiment of the present application, the server identifies several information domains according to the identifier of the user node to store the several information domains with the identifier in the distributed hash list of the corresponding target node, and determines the location information corresponding to the several information domains with the identifier. Then, based on the location information of the target node corresponding to the stored information domain with the identifier, the server generates a public key corresponding to the current target node, thereby encrypting the corresponding information domain with the identifier according to the public key corresponding to the target node; the server sends the encrypted information domain with the identifier to any forwarding node corresponding to the user node, and at this time the forwarding node continues to encrypt the information domain with the identifier that has been encrypted once based on its own public key; and then sends the information domain with the identifier that has been encrypted multiple times to the target node. After receiving the information domain with the identifier, the target node decrypts the information domain with the identifier by using its own private key. After decryption, the target node can obtain the current information domain with the identifier.

[0036] It's important to note that every user node, destination node, and forwarding node on a blockchain platform has its own key pair, consisting of a public key and a private key. Each node's public key can be accessed by any node, while the private key is known only to the node itself. Information encrypted with the public key can only be decrypted with the corresponding private key.

[0037] In one embodiment of the present application, after the server sends the information domain with an identifier that has been encrypted multiple times to the target node so that the target node decrypts the received information domain with an identifier, the server sends the information domain with an identifier to the target node according to the above, obtains the forwarding path corresponding to the information domain with an identifier, and then, based on the identifier on the information domain and the corresponding forwarding path, can determine the return path of the location information corresponding to the information domain with an identifier. In this way, the target node can return the location information corresponding to the current information domain with an identifier to the user node based on the return path, so that the user node can determine the location of the current information domain with an identifier.

[0038] S104: Based on the distance between the user node and several next nodes, determine the shortest path for storing the information domain with the identifier to the corresponding target node, and based on the shortest path, determine the return path for the corresponding target node to send the location information corresponding to the information domain to the user node.

[0039] It should be noted that, in the embodiment of the present application, when a user registers, the user is required to fill in his or her real address so that the actual physical distance between multiple user nodes can be determined based on the user's corresponding real address.

[0040] Specifically, the server obtains the node IDs of several next nodes around the user node from the blockchain platform. It should be noted that the node ID in the embodiment of the present application is a specific field representing the real physical distance.

[0041] The server performs an XOR operation on the user node and the node IDs of several next nodes to determine the next node closest to the user node among the several next nodes of the target node. It should be noted that in the embodiment of the present application, each next node of the target node searched by the user node is determined by an XOR operation.

[0042] The server stores each determined next node in the distributed hash table corresponding to the user node, so that the user node can determine the shortest path to the query target node based on the determined multiple next nodes.

[0043] S105: According to the return path, the location information corresponding to the plurality of information domains with the identifiers is sent to the user node, and the plurality of location information is stored in a distributed hash list corresponding to the user node.

[0044] The server sends the location information corresponding to several identified information domains to the user node, and stores the location information corresponding to several information domains in the distributed hash list corresponding to the user node. This enables the user node to clearly know the location corresponding to each information domain in the personal information. Then, when there is a query requirement, it can find the corresponding target node according to the location information corresponding to the distributed hash list, thereby obtaining the information domain.

[0045] In one embodiment of the present application, the server stores data recovery instructions corresponding to several information domains with identifiers in the distributed hash list of the user node, and when an abnormal situation occurs in the information domain with the identifier, that is, the information domain cannot be queried according to the location information corresponding to the information domain stored in the distributed hash list of the user node, it is necessary to obtain the data recovery instruction corresponding to the information domain from the distributed hash list of the user node, and regenerate the information domain by executing the corresponding data recovery instruction; then the server identifies the regenerated information domain according to the identifier of the user node, and determines the target node storing the information domain currently with the identifier according to a preset routing algorithm, thereby determining the location information corresponding to the information domain currently with the identifier; the location information corresponding to the information domain currently with the identifier is stored in the distributed hash list corresponding to the user node, so that the user node can query the information domain currently with the identifier according to the corresponding location information.

[0046] It should be noted that the data recovery instruction in the embodiment of the present application is a generation instruction corresponding to the information domain. By executing the data recovery instruction corresponding to the information domain, the server can regenerate the information domain corresponding to the data recovery instruction.

[0047] In one embodiment of the present application, after the server stores several information domains with identifiers in the distributed hash list of the corresponding target node and determines the location information corresponding to the several information domains with identifiers, it determines the information domain corresponding to the content that the user node needs to query from the content that the user needs to query, and then finds the location information corresponding to the information domain from the distributed hash list corresponding to the user node based on the corresponding information domain, and then finds the target node storing the information domain based on the corresponding location information, and obtains the information domain corresponding to the content that the user needs to query from the distributed hash list of the corresponding target node.

[0048] In one embodiment of the present application, after the server stores several information domains with identifiers in the distributed hash list of the corresponding target node and determines the location information corresponding to the several information domains with identifiers, it is also necessary to perform XOR processing on the distributed hash list network storing the personal information of the user node based on a preset whitelist, thereby hiding the network topology structure of the several information domains corresponding to the user node and improving the security of the user's personal information.

[0049] The above is an embodiment of the method proposed in this application. Based on the same inventive concept, this application embodiment also provides an information storage device based on a blockchain distributed hash list, the structure of which is as follows: Figure 2 shown.

[0050] Figure 2 This is a schematic diagram of the internal structure of the information storage device based on the blockchain distributed hash list provided in the embodiment of the present application. Figure 2 As shown, the device is applied to a pre-built blockchain platform, and includes at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can: obtain personal information corresponding to the user node, and determine the data type of each data in the personal information, so as to divide the personal information into a plurality of information domains according to the data type of each data; determine different target nodes storing the plurality of information domains in the blockchain platform according to a preset routing algorithm; identify the plurality of information domains according to the identifier of the user node, so as to store the plurality of information domains with the identifier in a distributed hash list of the corresponding target node, and determine the position information corresponding to the plurality of information domains with the identifier; determine the shortest path for storing the information domain with the identifier to the corresponding target node according to the distance between the user node and the plurality of next nodes, and determine the return path for the corresponding target node to send the position information corresponding to the information domain to the user node according to the shortest path; send the position information corresponding to the plurality of information domains with the identifier to the user node according to the return path, and store the plurality of position information in the distributed hash list corresponding to the user node.

[0051] An embodiment of the present application also provides a non-volatile computer storage medium storing computer-executable instructions, which is applied to a pre-built blockchain platform, wherein the computer-executable instructions are configured to: obtain personal information corresponding to a user node, and determine the data type of each data in the personal information, so as to divide the personal information into a number of information domains according to the data type of each data; determine different target nodes storing the number of information domains in the blockchain platform according to a preset routing algorithm; identify the number of information domains according to the identifier of the user node, so as to store the number of information domains with the identifier in a distributed hash list of the corresponding target node, and determine the position information corresponding to the number of information domains with the identifier; determine the shortest path for storing the information domain with the identifier to the corresponding target node according to the distance between the user node and the number of next nodes, and determine the return path for the corresponding target node to send the position information corresponding to the information domain to the user node according to the shortest path; send the position information corresponding to the number of information domains with the identifier to the user node according to the return path, and store the number of position information in the distributed hash list corresponding to the user node.

[0052] The various embodiments in this application are described in a progressive manner. Similar portions between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the device and medium embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For relevant portions, refer to the descriptions of the method embodiments.

[0053] The devices and media provided in the embodiments of the present application correspond one-to-one to the methods. Therefore, the devices and media also have similar beneficial technical effects to their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.

[0054] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0055] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0056] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0057] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0058] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0059] 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. Memory is an example of a computer-readable medium.

[0060] Computer-readable media includes permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The 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, magnetic tape, magnetic disk storage 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 transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0061] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0062] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. The information storage method based on the blockchain distributed hash list is characterized by: Applied to a pre-built blockchain platform, the method includes: Obtaining personal information corresponding to a user node, and determining a data type of each data in the personal information, so as to divide the personal information into a plurality of information domains according to the data type of each data; Determining, according to a preset routing algorithm, different target nodes storing the plurality of information domains in the blockchain platform; Identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining location information corresponding to the plurality of information domains with the identifiers; Determine, based on the distances between the user node and several next nodes, a shortest path for storing the information field with the identifier to a corresponding target node, and determine, based on the shortest path, a return path for the corresponding target node to send the location information corresponding to the information field to the user node; According to the return path, the location information corresponding to the plurality of information domains with the identifiers is sent to the user node, and the plurality of location information is stored in a distributed hash list corresponding to the user node; The determining, based on the distances between the user node and a plurality of next nodes, the shortest path for storing the information domain with the identifier to the corresponding target node specifically includes: Obtaining, from the blockchain platform, the node IDs of several next nodes surrounding the user node; wherein the node ID is a specific field representing the real physical distance; Performing an exclusive OR operation on the user node and the node IDs of the multiple next nodes to determine the next node closest to the user node among the multiple next nodes for searching for the target node; wherein each next node for the user node to search for the target node is determined by an exclusive OR operation; storing each of the determined next nodes in a distributed hash table corresponding to the user node, so that the user node determines the shortest path to query the target node based on the multiple determined next nodes; After storing the plurality of location information in the distributed hash list corresponding to the user node, the method further includes: Storing data restoration instructions corresponding to the plurality of information fields with identifiers in the user node; If the information domain with the identifier cannot be found according to the corresponding location information in the user node, the information domain is regenerated according to the data recovery instruction corresponding to the information domain with the identifier stored in the user node; Identifying the regenerated information domain according to the identifier of the user node; After identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining location information corresponding to the plurality of information domains with the identifiers, the method further includes: Generate a public key corresponding to the target node according to the location information, and encrypt the information domain with the identifier according to the public key corresponding to the target node; Sending the encrypted information field with the identifier to any forwarding node corresponding to the user node, so that the forwarding node continues to encrypt the information field with the identifier based on its own public key; The information domain with the identifier that has been encrypted multiple times is sent to the target node, so that the target node decrypts the received information domain with the identifier using its own private key.

2. The information storage method based on blockchain distributed hash list according to claim 1 is characterized in that: After sending the information domain with the identifier after multiple encryption to the target node so that the target node decrypts the received information domain with the identifier using its own private key, the method further includes: Obtaining a forwarding path corresponding to the information domain with the identifier; According to the identifier of the information domain and the forwarding path corresponding to the information domain with the identifier, a return path of the location information corresponding to the information domain with the identifier is determined, so that the target node sends the corresponding location information to the user node according to the return path.

3. The information storage method based on blockchain distributed hash list according to claim 1 is characterized in that: After dividing the personal information into a plurality of information domains according to the data types of the respective data, the method further comprises: Calculate the hash value corresponding to the information domain according to the preset function; When storing the plurality of information fields with identifiers into the distributed hash list of the corresponding target node, determining the time when the corresponding target node receives the information fields with identifiers; The hash value corresponding to the information domain and the time when the corresponding target node receives the information domain with the identifier are stored in the distributed hash list of the corresponding target node.

4. The information storage method based on blockchain distributed hash list according to claim 1 is characterized in that: After sending the location information corresponding to the plurality of information fields with identifiers to the user node and storing the location information in the distributed hash list corresponding to the user node, the method further includes: Determining the information domain corresponding to the query content of the user node; Determining location information of the corresponding information domain from the user node according to the corresponding information domain; A corresponding target node is found according to the determined location information, so as to obtain the corresponding information domain from the target node.

5. The information storage method based on blockchain distributed hash list according to claim 1 is characterized in that: After storing the plurality of location information in the distributed hash list corresponding to the user node, the method further includes: Based on a preset whitelist, an XOR process is performed on the distributed hash list network storing the personal information to hide the network topology structure storing the personal information corresponding to several information domains.

6. An information storage device based on a blockchain distributed hash list, characterized in that: Applied to a pre-built blockchain platform, the device includes: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to: Obtaining personal information corresponding to a user node, and determining a data type of each data in the personal information, so as to divide the personal information into a plurality of information domains according to the data type of each data; Determining, according to a preset routing algorithm, different target nodes storing the plurality of information domains in the blockchain platform; Identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining location information corresponding to the plurality of information domains with the identifiers; Determine, based on the distances between the user node and several next nodes, a shortest path for storing the information field with the identifier to a corresponding target node, and determine, based on the shortest path, a return path for the corresponding target node to send the location information corresponding to the information field to the user node; According to the return path, the location information corresponding to the plurality of information domains with the identifiers is sent to the user node, and the plurality of location information is stored in a distributed hash list corresponding to the user node; The determining, based on the distances between the user node and a plurality of next nodes, the shortest path for storing the information domain with the identifier to the corresponding target node specifically includes: Obtaining, from the blockchain platform, the node IDs of several next nodes surrounding the user node; wherein the node ID is a specific field representing the real physical distance; Performing an exclusive OR operation on the user node and the node IDs of the multiple next nodes to determine the next node closest to the user node among the multiple next nodes for searching for the target node; wherein each next node for the user node to search for the target node is determined by an exclusive OR operation; storing each of the determined next nodes in a distributed hash table corresponding to the user node, so that the user node determines the shortest path to query the target node based on the multiple determined next nodes; After storing the plurality of location information in the distributed hash list corresponding to the user node, the method further includes: Storing data restoration instructions corresponding to the plurality of information fields with identifiers in the user node; If the information domain with the identifier cannot be found according to the corresponding location information in the user node, the information domain is regenerated according to the data recovery instruction corresponding to the information domain with the identifier stored in the user node; Identifying the regenerated information domain according to the identifier of the user node; After identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining the location information corresponding to the plurality of information domains with the identifiers, the method further includes: Generate a public key corresponding to the target node according to the location information, and encrypt the information domain with the identifier according to the public key corresponding to the target node; Sending the encrypted information field with the identifier to any forwarding node corresponding to the user node, so that the forwarding node continues to encrypt the information field with the identifier based on its own public key; The information domain with the identifier that has been encrypted multiple times is sent to the target node, so that the target node decrypts the received information domain with the identifier using its own private key.

7. A non-volatile computer storage medium storing computer-executable instructions, characterized in that: Applied to a pre-built blockchain platform, the computer executable instructions are configured as: Obtaining personal information corresponding to a user node, and determining a data type of each data in the personal information, so as to divide the personal information into a plurality of information domains according to the data type of each data; Determining, according to a preset routing algorithm, different target nodes storing the plurality of information domains in the blockchain platform; Identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining location information corresponding to the plurality of information domains with the identifiers; Determine, based on the distances between the user node and several next nodes, a shortest path for storing the information field with the identifier to a corresponding target node, and determine, based on the shortest path, a return path for the corresponding target node to send the location information corresponding to the information field to the user node; According to the return path, the location information corresponding to the plurality of information domains with the identifiers is sent to the user node, and the plurality of location information is stored in a distributed hash list corresponding to the user node; The determining, based on the distances between the user node and a plurality of next nodes, the shortest path for storing the information domain with the identifier to the corresponding target node specifically includes: Obtaining, from the blockchain platform, the node IDs of several next nodes surrounding the user node; wherein the node ID is a specific field representing the real physical distance; Performing an exclusive OR operation on the user node and the node IDs of the multiple next nodes to determine the next node closest to the user node among the multiple next nodes for searching for the target node; wherein each next node for the user node to search for the target node is determined by an exclusive OR operation; storing each of the determined next nodes in a distributed hash table corresponding to the user node, so that the user node determines the shortest path to query the target node based on the multiple determined next nodes; After storing the plurality of location information in the distributed hash list corresponding to the user node, the method further includes: Storing data restoration instructions corresponding to the plurality of information fields with identifiers in the user node; If the information domain with the identifier cannot be found according to the corresponding location information in the user node, the information domain is regenerated according to the data recovery instruction corresponding to the information domain with the identifier stored in the user node; Identifying the regenerated information domain according to the identifier of the user node; After identifying the plurality of information domains according to the identifier of the user node, storing the plurality of information domains with the identifiers in a distributed hash list corresponding to the target node, and determining the location information corresponding to the plurality of information domains with the identifiers, the method further includes: Generate a public key corresponding to the target node according to the location information, and encrypt the information domain with the identifier according to the public key corresponding to the target node; Sending the encrypted information field with the identifier to any forwarding node corresponding to the user node, so that the forwarding node continues to encrypt the information field with the identifier based on its own public key; The information domain with the identifier that has been encrypted multiple times is sent to the target node, so that the target node decrypts the received information domain with the identifier using its own private key.

Citation Information

Patent Citations

  • Block information processing method and device

    CN107800795A

  • Shared secret-based blockchain storage

    CN110720204A