A multi-node electronic data evidence storage method

By establishing a fitting function between Internet of Things nodes and verifying the authenticity of electronic data, the problem of lack of offline data proof storage in the Internet of Things is solved, efficient data proof storage and authenticity proof are achieved, and the capital consumption and network pressure of blockchain proof storage are avoided.

CN114282266BActive Publication Date: 2025-08-12ZHEJIANG DIGITAL QIN TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

There is a lack of offline data proof storage technology in the existing technology, especially in the Internet of Things. Using blockchain proof storage will bring huge pressure to the blockchain network and consume a lot of money.

Method used

By allocating node sequence numbers between nodes, dividing electronic data into sub-segments, extracting the sub-segment hash value and establishing a fitting function, selecting the fitting function with the smallest fitting error for storage and verification, and determining the difference between the fitted node sequence number and the actual node sequence number during verification to determine the authenticity of the data.

Benefits of technology

When separated from blockchain, it provides proof of authenticity of data to avoid the capital consumption of blockchain evidence storage. It is suitable for proof of evidence storage of large numbers of data nodes in the Internet of Things. It can provide effective proof of authenticity services when data is lost or a small amount of tampered with, and does not require time to accumulate to obtain proof of authenticity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114282266B_ABST
    Figure CN114282266B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of information technology, and in particular to a multi-node electronic data storage method, comprising: assigning node serial numbers between nodes, dividing electronic data into sub-segments, assigning sub-segment serial numbers; extracting sub-segment hash values, associating the sub-segment serial numbers and node serial numbers and sending them to designated nodes; establishing a fitting function at the designated node; broadcasting the fitting function, selecting the one with the smallest fitting error as the final fitting function, and storing the electronic data in association with the fitting function; when verifying the electronic data, verifying whether the fitting function is consistent, extracting the hash value of each sub-segment, and obtaining the sub-segment hash value; substituting the sub-segment serial number and the sub-segment hash value into the stored fitting function to obtain the fitting node serial number; if the difference between the fitting node serial number and the node serial number is less than a preset threshold, it is determined that the electronic data has not been modified; otherwise, it is determined that the electronic data has been modified. The substantial effect of the present invention is that it can provide authenticity proof without blockchain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information technology, and in particular to a multi-node electronic data evidence storage method. Background Art

[0002] The Internet of Things (IoT) refers to the real-time collection of information from any object or process that requires monitoring, connection, and interaction, using various devices and technologies, such as information sensors, radio frequency identification (RFID), global positioning systems (GPS), infrared sensors, and laser scanners. This information includes acoustic, optical, thermal, electrical, mechanical, chemical, biological, and location information. The IoT not only interconnects objects but also, leveraging the vast number of sensor devices integrated within it, enables the collection of vast amounts of monitoring data. With the development of big data technology, data collection and accumulation have become one of the most important functions of the IoT. The establishment of the IoT is not solely the work of a single entity; rather, it is typically undertaken by multiple organizations and entities, each with its own specific division of labor and scope, resulting in a wide-ranging IoT. Big data applications often require the centralization of data collected and stored by multiple organizations and entities. Data authenticity and integrity are crucial for achieving the intended results of big data applications. Therefore, it is necessary to document the monitoring data collected and stored by multiple organizations and entities so that big data applications can verify its authenticity, eliminate tampered data, and ensure the proper functioning of big data applications. Currently, electronic data storage is typically achieved through blockchain. Monitoring devices in the Internet of Things (IoT) generate data constantly, and using blockchain for storage would place enormous pressure on the blockchain network and require significant capital expenditures. Therefore, it is necessary to find a storage technology that can be applied to IoT monitoring data.

[0003] For example, Chinese patent CN113094732A, published on July 9, 2021, discloses a method, device, and device for verifying stored evidence data. These methods obtain stored evidence data and stored evidence record information to be verified, query relevant block feature information and relevant contract feature information based on the stored evidence record information, compare the relevant block feature information and relevant contract feature information with the stored evidence record information to be verified, and obtain a first verification result and a second verification result. A verification result is obtained based on the first verification result and the second verification result. The verification is performed according to various different information in the stored evidence data to confirm the authenticity of the stored evidence data to be verified, thereby improving the security performance of the evidence storage business. By combining the characteristics of blockchain data that cannot be deleted or tampered with, the stored evidence data is stored on the chain, and block feature information is used to provide authenticity and traceability functions for the stored evidence data, thereby addressing the shortcomings of poor security and low authenticity and effectiveness in traditional evidence storage businesses. However, when this technology uses large amounts of monitoring data in the blockchain evidence Internet of Things to store, it will put tremendous pressure on the blockchain network. Summary of the Invention

[0004] This invention addresses the current lack of offline data storage technology. It proposes a technology whereby nodes provide mutual proof of authenticity. This technology, with a certain degree of independence between nodes, can provide sufficient authenticity verification for electronic data, expanding the scope of data storage applications.

[0005] To solve the above technical problems, the technical solution adopted by the present invention is: a multi-node electronic data evidence storage method, comprising: assigning node numbers between nodes, multiple nodes dividing their respective electronic data into a number of sub-segments, and assigning sub-segment numbers in sequence; extracting a hash value of each sub-segment, recording it as a sub-segment hash value, associating the sub-segment hash value with the sub-segment number and the node number, and sending it to a number of designated nodes; each of the designated nodes establishes a fitting function: node number = f(sub-segment number, sub-segment hash value), the fitting error of the fitting function is less than a preset threshold; several designated nodes broadcast the fitting functions they have established, and multiple nodes select the fitting function with the smallest fitting error from multiple fitting functions as the final fitting function, and store the electronic data in association with the fitting function; when verifying the electronic data, request the fitting function from several nodes to verify whether the fitting functions are consistent. If not, it is determined that the electronic data cannot be determined to be unmodified, and the verification is ended; the hash value of each sub-segment is extracted to obtain the sub-segment hash value; the sub-segment sequence number and the sub-segment hash value are substituted into the stored fitting function to obtain the fitting node sequence number. If the difference between the fitting node sequence number and the node sequence number is less than the preset threshold, it is determined that the electronic data has not been modified. Otherwise, it is determined that the electronic data has been modified.

[0006] Preferably, when a fitting function is established for a number of designated nodes, an adjustment number of the node is generated, and a fitting function is established according to the adjustment number so that the fitting error is less than a pre-examination threshold. The corresponding relationship between the node number and the adjustment number is associated with the fitting function and the fitting error broadcast, and the node stores the electronic data in association with the fitting function and the adjustment number. When verifying the electronic data, if the difference between the fitting node number and the adjustment number is less than a preset threshold, it is determined that the electronic data has not been modified; otherwise, it is determined that the electronic data has been modified.

[0007] Preferably, the node associates the last N bits of the subsegment hash value with the subsegment number and the node number, and sends the result to several designated nodes, and the several designated nodes each establish a fitting function: node number = f(subsegment number, last N bits of the subsegment hash value).

[0008] Preferably, the fitting function is: node number=f(sub-segment number, k*last N digits of the sub-segment hash value), where k is an adjustment coefficient, k<1.

[0009] Preferably, the adjustment coefficient k is a function of the subsegment number, i.e., k = h(subsegment number). The larger the subsegment number, the larger the value of k. This makes the node number / subsegment number and k*the last N digits of the hash value more positively correlated, simplifying the fitting function form.

[0010] Preferably, the fitting function is a polynomial, and the coefficients of the polynomial constitute a coefficient vector. After a number of the designated nodes establish the fitting function, the coefficient vector is broadcasted, and the nodes store the coefficient vector of the final fitting function.

[0011] Preferably, the highest-order term m of the polynomial is randomly generated, where the value of m is less than or equal to the number of nodes. The expression of the polynomial is: node number = ∑∑aij*sub-segment number ^i*sub-segment hash value ^j, where aij is the term coefficient. Substitute the sub-segment hash value, sub-segment number and node number sent by the node to obtain the fitting error, which is the sum of the squares of the differences between all fitting node numbers and the corresponding node numbers. Adjust the term coefficients of the polynomial and calculate the fitting error again. If the fitting error decreases, continue to adjust the term coefficients of the polynomial in the direction of the last adjustment. If the fitting error increases, continue to adjust the term coefficients of the polynomial in the opposite direction of the last adjustment.

[0012] The substantial effects of the present invention are as follows: by establishing a proof of evidence between nodes with a certain degree of independence from each other, the authenticity of the data can be proved, and data evidence can be provided. It can provide a certain degree of authenticity proof without being connected to the blockchain, thus avoiding the capital consumption required for blockchain evidence. It is suitable for data evidence of a large number of data nodes in the Internet of Things. Using blockchain to store Internet of Things data will bring huge network pressure to the blockchain system. Internet of Things data allows a certain degree of data loss or erroneous data. Tampering with a small amount of data will not cause substantial problems. Because Internet of Things data will be cleaned when used, a small amount of tainted data will be cleaned out. If a large amount of tampering is performed, this method can identify it, and thus can provide suitable evidence services for Internet of Things data. Evidence does not require time accumulation, that is, the authenticity proof strength is obtained immediately after the evidence is completed. Due to the possibility of rollback in the blockchain, blockchain evidence generally needs to wait for the subsequent block to be generated before it can be confirmed that the evidence has been completed. Otherwise, if the blockchain rolls back, the evidence data will also be rolled back and erased, and it will need to be stored again. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 This is a flow chart of the electronic data evidence storage method according to Example 1.

[0014] Figure 2 This is a schematic diagram of electronic data evidence storage in Example 1.

[0015] Figure 3 Schematic diagram of the fitting function of Example 1.

[0016] Figure 4 Schematic diagram of the fitting function generation method in Example 1.

[0017] Where: 10, node, 11, sub-segment, 20, fitting function. DETAILED DESCRIPTION

[0018] The specific implementation of the present invention will be further described below with reference to specific embodiments and in conjunction with the accompanying drawings.

[0019] Example 1:

[0020] A multi-node electronic data evidence storage method, please refer to the attached Figure 1 , including: step A01) assigning node numbers between nodes 10, multiple nodes 10 divide their respective electronic data into a plurality of sub-segments 11, and assigning sub-segment numbers in sequence; step A02) extracting the hash value of each sub-segment 11, recording it as the sub-segment hash value, associating the sub-segment hash value with the sub-segment number and the node number, and sending it to a plurality of designated nodes; step A03) each of the designated nodes establishes a fitting function 20: node number = f(sub-segment number, sub-segment hash value), the fitting error of the fitting function 20 is less than a preset threshold; step A04) several designated nodes broadcast the fitting function 20 they have established, and multiple nodes 10 select the fitting function 20 with the smallest fitting error from multiple fitting functions 20 as the final fitting function 20, and store the electronic data in association with the fitting function 20; step A05) when verifying the electronic data, request the fitting function 20 from several nodes 10 to verify whether the fitting function 20 is consistent. If not, it is determined that the electronic data cannot be confirmed to have not been modified, and the verification is ended; step A06) extract the hash value of each sub-segment 11 to obtain the sub-segment hash value; step A07) substitute the sub-segment sequence number and the sub-segment hash value into the stored fitting function 20 to obtain the fitting node sequence number. If the difference between the fitting node sequence number and the node sequence number is less than the preset threshold, it is determined that the electronic data has not been modified. Otherwise, it is determined that the electronic data has been modified. Please refer to the attached Figure 2, multiple nodes 10 establish communication, assign node numbers to each other, establish a fitting function 20, the input of the fitting function 20 is the sub-segment number and the sub-segment hash value, and the output of the fitting function 20 is the node number. The fitting function 20 is sent to all nodes 10 for storage. During verification, first verify whether the fitting function 20 stored in the node 10 is the same. If they are the same, substitute the sub-segment number and the sub-segment hash value into the fitting function 20 to determine whether the result is consistent with the node number. If they are consistent, it is determined that the electronic data has not been modified. Otherwise, it is determined that the electronic data has been tampered with. One of the nodes 10 arbitrarily modified the data and modified the fitting function 20. Although the modified fitting function 20 makes the sub-segment number, sub-segment hash value and node number satisfy the functional relationship, it will also cause the fitting function 20 stored in the node 10 to be different from that of other nodes. For the sake of simplicity, assume that the electronic data is divided into only one sub-segment 11, and the designated node receives all the sub-segment hash values, sub-segment numbers and the needs of the node 10. The established fitting function 20 is as follows Figure 3 As shown. For simplicity, assume that fitting function 20 can be written as the sum of the subsegment number and the subsegment hash value as its independent variables. The node numbers of all nodes 10 constitute the ordinate. For a given ordinate, the sum of the corresponding subsegment number and subsegment hash value depends on the hash value of the data in subsegment 11, which is random. For each ordinate, the sum of the corresponding subsegment number and subsegment hash value is found, thus obtaining a sample point. Fitting all sample points yields the expression for fitting function 20.

[0021] When several designated nodes establish a fitting function 20, an adjustment number is generated for the node 10. Fitting function 20 is established according to the adjustment number, ensuring that the fitting error is less than a pre-qualified threshold. The correspondence between the node number and the adjustment number is associated with the fitting function 20 and the fitting error, and the node 10 stores the electronic data in association with the fitting function 20 and the adjustment number. During electronic data verification, if the difference between the fitting node number and the adjustment number is less than a preset threshold, the electronic data is determined to have not been modified; otherwise, it is determined to have been modified. The adjustment number can simplify the form of fitting function 20. The rule is that the less the increase or decrease attribute changes in fitting function 20, the simpler the form of fitting function 20. That is, the larger the node number, the larger the sum of the corresponding sub-segment number and field hash value. The closer this rule is followed, the simpler the form of fitting function 20. The abscissa represents the sum of the sub-segment number and field hash value for illustrative purposes only and does not limit the present technical solution.

[0022] Node 10 associates the last N bits of the subsegment hash value with the subsegment sequence number and the node sequence number and sends it to several designated nodes. Each of these designated nodes then establishes a fitting function 20: node sequence number = f(subsegment sequence number, last N bits of subsegment hash value). The last N bits of the subsegment hash value are used in the calculation of fitting function 20. This minimizes the discrepancy between the node sequence number, subsegment sequence number, and the last N bits of the subsegment hash value, facilitating the establishment of fitting function 20. When N is 10, the probability of the last N bits of the subsegment hash values being identical is 1 / 16^10, an extremely small probability.

[0023] Fitting function 20 is: node number = f(subsegment number, k*last N bits of the subsegment hash value), where k is the adjustment factor, and k<1. The adjustment factor is used to further reduce the value of the last N bits of the subsegment hash value before being used in the calculation of fitting function 20. This reduces the gap between the node number, subsegment number, and the last N bits of the subsegment hash value, facilitating the establishment of fitting function 20.

[0024] The adjustment coefficient k is a function of the sub-segment number, that is, k=h(sub-segment number). The larger the sub-segment number, the larger the value of k. This makes the node number / sub-segment number and the last N bits of the k*hash value more positively correlated, simplifying the form of the fitting function 20. It helps to reduce the number of monotonic changes in the fitting function 20 and simplify the form of the fitting function 20. The fitting function 20 is a polynomial, and the coefficients of the polynomial terms constitute a coefficient vector. After several designated nodes establish the fitting function 20, the coefficient vector is broadcast, and the node 10 stores the coefficient vector of the final fitting function 20. Polynomials can theoretically fit any function. The exponential value of the highest-order term of the polynomial minus 1 is the number of changes in the increase or decrease attributes of the fitting function 20. That is, when the highest-order term in the polynomial is 6, the number of monotonic changes of the fitting function 20 is 5, that is, Figure 3 As shown by the middle curve. Figure 3 The middle curve first increases monotonically, then decreases monotonically, repeating this process five times. It has five extreme points. The location of the extreme points is determined by the coefficients of the terms.

[0025] Please see the attached Figure 4The method for establishing the fitting function 20 includes: step B01) randomly generating the highest-order term m of the polynomial, where the value of m is less than or equal to the number of nodes 10, and the expression of the polynomial is: node number = ∑∑aij*subsegment number ^i*subsegment hash value ^j, where aij is the term coefficient; step B02) substituting the subsegment hash value, subsegment number, and node number sent by the node 10 to obtain a fitting error; step B03) the fitting error is the sum of the squares of the differences between all fitting node numbers and the corresponding node numbers; step B04) adjusting the term coefficients of the polynomial and recalculating the fitting error; step B05) if the fitting error decreases, continuing to adjust the term coefficients of the polynomial in the direction of the last adjustment; step B06) if the fitting error increases, continuing to adjust the term coefficients of the polynomial in the opposite direction of the last adjustment.

[0026] The substantial effects of this embodiment are as follows: by establishing a proof of evidence between nodes 10 that have a certain degree of independence from each other, the authenticity of the data can be proved, and data evidence can be provided. It can provide a certain degree of authenticity proof without the blockchain, thus avoiding the capital consumption required for blockchain evidence. It is suitable for data evidence of a large number of data nodes 10 in the Internet of Things. Using blockchain to store Internet of Things data will bring huge network pressure to the blockchain system. Internet of Things data allows a certain degree of data loss or erroneous data. Tampering with a small amount of data will not cause substantial problems. Because Internet of Things data will be cleaned when used, a small amount of tainted data will be cleaned. If a large amount of tampering is carried out, this method can identify it, and thus can provide suitable evidence services for Internet of Things data. Evidence does not require time accumulation, that is, the authenticity proof strength is obtained immediately after the evidence is completed. Due to the possibility of rollback in the blockchain, blockchain evidence generally needs to wait for the subsequent block to be generated before it can be confirmed that the evidence has been completed. Otherwise, if the blockchain rolls back, the evidence data will also be rolled back and erased, and it will need to be recorded again.

[0027] The embodiment described above is only a preferred solution of the present invention and does not limit the present invention in any form. Other variations and modifications are possible without exceeding the technical solution described in the claims.

Claims

1. A multi-node electronic data evidence storage method, characterized in that: include: Node numbers are assigned between nodes, and multiple nodes divide their electronic data into several sub-segments and assign sub-segment numbers in sequence; Extract the hash value of each sub-segment, record it as the sub-segment hash value, associate the sub-segment hash value with the sub-segment sequence number and the node sequence number, and send it to several designated nodes; A fitting function is established for each of the specified nodes: node number = f(sub-segment number, sub-segment hash value), and the fitting error of the fitting function is less than the preset threshold; Several designated nodes broadcast the fitting functions they have established, and the multiple nodes select a fitting function with the smallest fitting error from the multiple fitting functions as the final fitting function, and store the electronic data in association with the fitting function; When verifying electronic data, the fitting function is requested from several nodes to verify whether the fitting functions are consistent. If they are inconsistent, it is determined that the electronic data cannot be confirmed to have been modified and the verification is terminated; Extract the hash value of each sub-segment to obtain the sub-segment hash value; Substitute the sub-segment sequence number and the sub-segment hash value into the stored fitting function to obtain the fitting node sequence number. If the difference between the fitting node sequence number and the node sequence number is less than a preset threshold, it is determined that the electronic data has not been modified. Otherwise, it is determined that the electronic data has been modified.

2. A multi-node electronic data evidence storage method according to claim 1, characterized in that: When a plurality of the designated nodes establish a fitting function, an adjustment serial number of the node is generated, and a fitting function is established according to the adjustment serial number so that the fitting error is less than a pre-examination threshold. The corresponding relationship between the node serial number and the adjustment serial number is associated with the fitting function and the fitting error broadcast. The node stores the electronic data in association with the fitting function and the adjustment serial number. When verifying the electronic data, if the difference between the fitting node serial number and the adjustment serial number is less than a preset threshold, it is determined that the electronic data has not been modified; otherwise, it is determined that the electronic data has been modified.

3. A multi-node electronic data evidence storage method according to claim 1 or 2, characterized in that: The node associates the last N bits of the sub-segment hash value with the sub-segment number and the node number, and sends the result to several designated nodes. The designated nodes each establish a fitting function: node number = f(sub-segment number, last N bits of the sub-segment hash value).

4. A multi-node electronic data evidence storage method according to claim 3, characterized in that: The fitting function is: node number = f(sub-segment number, k*last N digits of the sub-segment hash value), where k is an adjustment coefficient, k<1.

5. A multi-node electronic data evidence storage method according to claim 4, characterized in that: The adjustment coefficient k is a function of the sub-segment number, that is, k=h(sub-segment number). The larger the sub-segment number, the larger the value of k.

6. A multi-node electronic data evidence storage method according to claim 1 or 2, characterized in that: The fitting function is a polynomial, and the coefficients of the polynomial constitute a coefficient vector. After the plurality of designated nodes establish the fitting function, the coefficient vector is broadcasted, and the nodes store the coefficient vector of the final fitting function.

7. A multi-node electronic data evidence storage method according to claim 6, characterized in that: Randomly generate the highest-order term m of the polynomial, where the value of m is less than or equal to the number of nodes. The expression of the polynomial is: node number = ∑∑aij*subsegment number^i*subsegment hash value^j, where aij is the term coefficient, i, j∈[0,m]. Substitute the subsegment hash value, subsegment number, and node number sent by the node to obtain the fitting error, which is the sum of the squares of the differences between all fitting node numbers and the corresponding node numbers. Adjust the term coefficients of the polynomial and calculate the fitting error again. If the fitting error decreases, continue to adjust the term coefficients of the polynomial in the direction of the last adjustment. If the fitting error increases, continue to adjust the term coefficients of the polynomial in the opposite direction of the last adjustment.

Citation Information

Patent Citations

  • Storage data verification method, verification device, storage method and storage device

    CN113094732A

  • Method for uniformly distributing data in cloud storage

    CN102457571A

  • Data storage method and device based on point-to-point network, medium and server

    CN110149373A