CN111857827B - Verification method, system and medium for pipeline calculation in decentralization environment - Google Patents
Verification method, system and medium for pipeline calculation in decentralization environment Download PDFInfo
- Publication number
- CN111857827B CN111857827B CN202010640589.7A CN202010640589A CN111857827B CN 111857827 B CN111857827 B CN 111857827B CN 202010640589 A CN202010640589 A CN 202010640589A CN 111857827 B CN111857827 B CN 111857827B
- Authority
- CN
- China
- Prior art keywords
- stage
- pipeline
- calculation
- result
- evidence
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 177
- 238000012795 verification Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013215 result calculation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
The invention provides a verification method, a system and a medium for pipeline computation in a decentralizing environment, which are used for generating and storing evidence in the process of executing pipeline computation in the decentralizing environment by combining a password hash function and a digital signature technology, and a user can verify whether a final computation result of a pipeline is obtained by a pipeline program according to original input data by utilizing the evidence generated in the computation process. All evidences are connected in series to form an evidence tree, and whether the final result of the pipeline is obtained through a pipeline program according to the original input data is proved in a decentralizing environment. Compared with the existing decentralization calculation, the user is endowed with the capability of checking the correctness of the result.
Description
Technical Field
The invention relates to the technical field of correctness verification of pipeline computation, in particular to a method, a system and a medium for verifying the pipeline computation in a decentralizing environment, and especially relates to a method for verifying the correctness of the pipeline computation in the decentralizing environment.
Background
With the prevalence of blockchain technology, decentralization computation has become a trend. By decentralised computing, it is meant that computer resources (including hardware and software) are distributed to individual computing nodes, which may be in different geographical locations or belong to different individuals or institutions. Decentralized computing can effectively utilize decentralized computing power, but generally, these decentralized computing power are not strong, and cannot independently complete larger computing, so that the larger computing needs to be split into pipelines (pipeline), which refers to splitting a computing process into a plurality of steps, and a plurality of computers cooperate to complete the computing. However, in a decentralised environment, intermediate results produced by pipeline computation may be tampered with by an attacker outside the decentralised network, thereby obtaining erroneous end results.
After the user takes the final result, the user cannot learn the intermediate process of calculation, and even if the result is wrong, the user cannot verify the correctness of the result. This is a problem that must be addressed.
Disclosure of Invention
Aiming at the defects in the prior art, the invention aims to provide a verification method, a verification system and a verification medium for pipeline calculation in a decentralizing environment.
The invention provides a verification method for pipeline calculation in a decentralization environment, which comprises the following steps:
the method comprises the following steps: performing calculation according to each stage of the pipeline to obtain a pipeline calculation result;
And (3) verification: and verifying the correctness of the pipeline calculation result.
Preferably, the executing step includes:
the first stage performs the steps of: reading input data by a first stage computer of the pipeline and calculating according to a first stage program of the pipeline to obtain a first stage calculation result, generating first evidence for the input data, the first stage program of the pipeline and the first stage calculation result, and uploading the first stage calculation result and the first evidence to a database;
The second stage performs the steps of: and reading the first-stage calculation result and the corresponding evidence from the database by the pipeline second-stage computer, taking the first-stage calculation result as input, calculating according to the pipeline second-stage program to obtain a second-stage calculation result, generating second evidence for the first-stage calculation result and the first evidence, the pipeline second-stage program and the second-stage calculation result, and uploading the second-stage calculation result and the second evidence to the database.
Preferably, the generation of the second evidence is to use a cryptographic hash function to calculate digests of the first-stage calculation result and the first evidence, pipeline second-stage program and second-stage calculation result respectively, and use a private key of a computer to digitally sign the digests, wherein the digests and the digital signature together form the second evidence.
Preferably, the verifying step includes:
the verification step in the later stage: verifying whether a computer for completing final result calculation in the pipeline calculation results is a node in the network according to the digital signature in the pipeline calculation results, verifying whether the final result in the pipeline calculation results is modified according to the abstract in the pipeline calculation results, and simultaneously verifying whether the final result takes the last stage calculation result of the pipeline as input or not, and calculating by a program in the last stage of the pipeline; if the verification is not passed, the error in the calculation process of the final stage of the assembly line is indicated, and the final result is incorrect;
The verification step in the previous stage: verifying whether a computer completing the calculation of the result of the penultimate stage of the pipeline is a node in the network, is modified, and is obtained by taking the calculation result of the penultimate stage of the pipeline as input and calculating by a program of the penultimate stage of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect.
A first-stage verification step: verifying whether a computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes original input data as input, and is obtained by calculation of a first stage program of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect; if validated, it is stated that the final result is obtained from the original input data through a pipeline program.
According to the present invention there is provided a computer readable storage medium storing a computer program which when executed by a processor implements the steps of the method.
According to the invention, the verification system for pipeline calculation in the decentralization environment comprises:
the execution module: performing calculation according to each stage of the pipeline to obtain a pipeline calculation result;
And (3) a verification module: and verifying the correctness of the pipeline calculation result.
Preferably, the execution module includes:
The first stage execution module: reading input data by a first stage computer of the pipeline and calculating according to a first stage program of the pipeline to obtain a first stage calculation result, generating first evidence for the input data, the first stage program of the pipeline and the first stage calculation result, and uploading the first stage calculation result and the first evidence to a database;
And the second stage execution module: and reading the first-stage calculation result and the corresponding evidence from the database by the pipeline second-stage computer, taking the first-stage calculation result as input, calculating according to the pipeline second-stage program to obtain a second-stage calculation result, generating second evidence for the first-stage calculation result and the first evidence, the pipeline second-stage program and the second-stage calculation result, and uploading the second-stage calculation result and the second evidence to the database.
Preferably, the generation of the second evidence is to use a cryptographic hash function to calculate digests of the first-stage calculation result and the first evidence, pipeline second-stage program and second-stage calculation result respectively, and use a private key of a computer to digitally sign the digests, wherein the digests and the digital signature together form the second evidence.
Preferably, the verification module includes:
The verification module in the later stage: verifying whether a computer for completing final result calculation in the pipeline calculation results is a node in the network according to the digital signature in the pipeline calculation results, verifying whether the final result in the pipeline calculation results is modified according to the abstract in the pipeline calculation results, and simultaneously verifying whether the final result takes the last stage calculation result of the pipeline as input or not, and calculating by a program in the last stage of the pipeline; if the verification is not passed, the error in the calculation process of the final stage of the assembly line is indicated, and the final result is incorrect;
The verification module in the previous stage: verifying whether a computer completing the calculation of the result of the penultimate stage of the pipeline is a node in the network, is modified, and is obtained by taking the calculation result of the penultimate stage of the pipeline as input and calculating by a program of the penultimate stage of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect.
A first-stage verification module: verifying whether a computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes original input data as input, and is obtained by calculation of a first stage program of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect; if validated, it is stated that the final result is obtained from the original input data through a pipeline program.
Compared with the prior art, the invention has the following beneficial effects:
According to the invention, evidence is generated through the calculation result of each step in the pipeline calculation and is stored in a database, all the evidence is connected in series to form an evidence tree, and whether the final result of the pipeline is obtained through a pipeline program according to the original input data is proved in a decentralization environment.
Drawings
Other features, objects and advantages of the present invention will become more apparent upon reading of the detailed description of non-limiting embodiments, given with reference to the accompanying drawings in which:
FIG. 1 is a flow chart of a pipeline computing method of the present invention;
FIG. 2 is a flow chart of a method for verifying correctness of pipeline results according to the present invention;
Fig. 3 is a schematic diagram of a software architecture of the present invention.
Detailed Description
The present invention will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the present invention, but are not intended to limit the invention in any way. It should be noted that variations and modifications could be made by those skilled in the art without departing from the inventive concept. These are all within the scope of the present invention.
Example 1
The technical problem to be solved by the invention is to provide a method for verifying the correctness of pipeline calculation in a decentralizing environment, so that the safety guarantee of the pipeline calculation result in the decentralizing environment is improved, and the correctness of the pipeline result is verified. In order to solve the technical problems, the invention provides a correctness verification method for pipeline computation in a decentralizing environment, which combines a password hash function (Cryptographic Hash Function) and a digital signature technology to generate and store evidence in the process of executing pipeline computation in the decentralizing environment, and a user can verify whether a final computation result of a pipeline is obtained by a pipeline program according to original input data by utilizing the evidence generated in the computation process. Compared with the existing decentralization calculation, the user is endowed with the capability of checking the correctness of the result.
The method specifically comprises the following steps:
The computation is performed according to the various stages of the pipeline.
And verifying the correctness of the pipeline calculation result.
Wherein the step of performing computation according to each stage of the pipeline may include:
And reading the input data by the first stage computer of the pipeline and calculating according to the first stage program of the pipeline, generating evidence for the input data, the first stage program of the pipeline and the calculation result, and uploading the calculation result and the corresponding evidence to a database.
And reading the calculation result and the evidence of the first stage from the database by the computer of the second stage of the pipeline, taking the calculation result of the first stage as input, calculating according to the program of the second stage of the pipeline, generating evidence for the calculation result and the evidence of the first stage, the program of the second stage of the pipeline and the calculation result, and uploading the calculation result and the corresponding evidence to the database.
And sequentially executing until a final calculation result and corresponding evidence are obtained according to the method.
The step of generating evidence for the calculation result and the evidence in the first stage, the pipeline second stage program and the calculation result may include:
Digest (Digest) is computed separately for the first stage pair computation result and evidence, the pipeline second stage program, the computation result using a cryptographic hash function.
The digest is digitally signed using the private key of the computer, the digest and the digital signature together forming evidence.
The step of verifying the correctness of the pipeline calculation result may include:
and verifying according to the final result and the corresponding evidence, wherein the final result is obtained by calculating the last stage of the pipeline according to the program of the last stage of the pipeline by taking the last stage calculation result of the pipeline as input, and verifying whether the last stage evidence is modified or not.
And sequentially verifying each stage of the pipeline forward according to the method until the result of verifying the first stage of the pipeline is that the initial input data is taken as input, and calculating according to the program of the first stage of the pipeline.
The final result of the completion verification is not obtained from the original input data through the pipeline program.
Wherein, the step of verifying according to the result and the corresponding evidence may include:
whether the computer performing the calculation is a node in the present decentralized network is verified based on the digital signature.
And comparing the read result of the previous stage with the result of the previous stage in evidence, and if the result of the previous stage is the same, indicating that the input data of the stage is the result of the previous stage which is not modified.
Comparing the digest of the program in the current stage of the known pipeline with the digest of the program in the evidence, and if the digest is the same, indicating that the result of the current stage is obtained by the program calculation of the current stage of the pipeline
The above three verification states that the result of the last stage is not modified and is obtained by calculation through the program of the pipeline stage.
The invention is further described below with reference to the accompanying drawings.
As shown in FIG. 1, a flow chart of the pipeline computing method of the present invention is shown, and pipeline computing supporting verification of result correctness is performed in a decentralised environment. The pipeline calculation step is described in detail below in conjunction with FIG. 1:
In step 101, a computer responsible for pipeline first stage computation reads input data of pipeline computation and completes first stage computation according to a program of pipeline first stage. At the same time, the computer computes a digest of the input data it is responsible for, its program, its results, using a cryptographic hash function, and signs the generated digest using a private key. And finally, uploading the calculation result and the abstract with the digital signature to a database.
In step 102, the computer responsible for the second stage computation of the pipeline takes the computation result of the first stage of the pipeline as input and completes the second stage computation according to the program of the second stage of the pipeline. Meanwhile, the input data (including the digest with the digital signature corresponding to the input data), the program, and the digest of the result are calculated and signed in the same manner as in the above steps. And uploading the calculation result and the digest with the digital signature to a database.
And sequentially executing the calculation and uploading the result and the digest with the digital signature corresponding to the result according to the stage of pipeline calculation until the last stage of the pipeline is executed as shown in step 103. And sending the final result of the pipeline calculation and the corresponding signed digest to the user, thus completing the calculation.
As shown in fig. 2, in the flowchart of the method for verifying correctness of pipeline results according to the present invention, after a user obtains a final result and corresponding evidence of pipeline calculation, verification of correctness of results can be completed according to the steps shown in fig. 2, and the following details of the steps of the method for verifying correctness of pipeline results are described in conjunction with fig. 2:
In step 201, the user can verify whether the computer that completes the calculation of the final result is a node in the network according to the digital signature, and can verify whether the final result is modified according to the abstract, and can also verify whether the final result is obtained by taking the calculation result of the last stage of the pipeline as input and calculating the final result by the program of the last stage of the pipeline. If the verification is not passed, the error in the calculation process of the final stage of the pipeline is indicated, and the final result is incorrect.
In step 202, after the verification in the previous step is passed, it can be verified in the same way whether the computer that completes the calculation of the last stage of the pipeline is a node in the network, is modified, and is obtained by the calculation of the last stage of the pipeline by taking the calculation result of the last stage of the pipeline as input. If the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect.
And sequentially verifying forward until step 203, verifying whether the computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes the original input data as input, and is obtained by calculation of the first stage program of the pipeline. If the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect. If validated, it is stated that the final result is obtained from the original input data through a pipeline program.
FIG. 3 is a schematic diagram of a software architecture of the present invention, illustrating the pipeline computation process in a decentralized environment.
In step 301, the calculation process of the first step of the pipeline calculation of the present invention is illustrated in a decentralised environment.
In step 302, the pipeline of the present invention computes the final step of the computation that produces the final result in a decentralised environment.
In step 303, components of evidence are presented.
Example 2
A correctness verification system for pipeline computation in a decentralised environment, comprising:
the execution module: performing calculation according to each stage of the pipeline to obtain a pipeline calculation result;
And (3) a verification module: and verifying the correctness of the pipeline calculation result.
The execution module comprises:
The first stage execution module: reading input data by a first stage computer of the pipeline and calculating according to a first stage program of the pipeline to obtain a first stage calculation result, generating first evidence for the input data, the first stage program of the pipeline and the first stage calculation result, and uploading the first stage calculation result and the first evidence to a database;
And the second stage execution module: and reading the first-stage calculation result and the corresponding evidence from the database by the pipeline second-stage computer, taking the first-stage calculation result as input, calculating according to the pipeline second-stage program to obtain a second-stage calculation result, generating second evidence for the first-stage calculation result and the first evidence, the pipeline second-stage program and the second-stage calculation result, and uploading the second-stage calculation result and the second evidence to the database.
The generation of the second evidence is to use a password hash function to calculate digests of the first-stage calculation result and the first evidence, pipeline second-stage programs and second-stage calculation results respectively, and use a private key of a computer to digitally sign the digests, wherein the digests and the digital signature together form the second evidence.
The verification module comprises:
The verification module in the later stage: verifying whether a computer for completing final result calculation in the pipeline calculation results is a node in the network according to the digital signature in the pipeline calculation results, verifying whether the final result in the pipeline calculation results is modified according to the abstract in the pipeline calculation results, and simultaneously verifying whether the final result takes the last stage calculation result of the pipeline as input or not, and calculating by a program in the last stage of the pipeline; if the verification is not passed, the error in the calculation process of the final stage of the assembly line is indicated, and the final result is incorrect;
The verification module in the previous stage: verifying whether a computer completing the calculation of the result of the penultimate stage of the pipeline is a node in the network, is modified, and is obtained by taking the calculation result of the penultimate stage of the pipeline as input and calculating by a program of the penultimate stage of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect.
A first-stage verification module: verifying whether a computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes original input data as input, and is obtained by calculation of a first stage program of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect; if validated, it is stated that the final result is obtained from the original input data through a pipeline program.
Evidence is generated through calculation results of each step in pipeline calculation and is stored in a database, all the evidence is connected in series to form an evidence tree, and whether the final result of the pipeline is obtained through a pipeline program according to original input data is proved in a decentralization environment.
Those skilled in the art will appreciate that the systems, apparatus, and their respective modules provided herein may be implemented entirely by logic programming of method steps such that the systems, apparatus, and their respective modules are implemented as logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc., in addition to the systems, apparatus, and their respective modules being implemented as pure computer readable program code. Therefore, the system, the apparatus, and the respective modules thereof provided by the present invention may be regarded as one hardware component, and the modules included therein for implementing various programs may also be regarded as structures within the hardware component; modules for implementing various functions may also be regarded as being either software programs for implementing the methods or structures within hardware components.
The foregoing describes specific embodiments of the present application. It is to be understood that the application is not limited to the particular embodiments described above, and that various changes or modifications may be made by those skilled in the art within the scope of the appended claims without affecting the spirit of the application. The embodiments of the application and the features of the embodiments may be combined with each other arbitrarily without conflict.
Claims (5)
1. A method for validating pipeline computation in a decentralized environment, comprising:
the method comprises the following steps: performing calculation according to each stage of the pipeline to obtain a pipeline calculation result;
and (3) verification: verifying the correctness of the pipeline calculation result;
the executing step comprises the following steps:
the first stage performs the steps of: reading input data by a first stage computer of the pipeline and calculating according to a first stage program of the pipeline to obtain a first stage calculation result, generating first evidence for the input data, the first stage program of the pipeline and the first stage calculation result, and uploading the first stage calculation result and the first evidence to a database;
The second stage performs the steps of: reading a first-stage calculation result and corresponding evidence from a database by a pipeline second-stage computer, taking the first-stage calculation result as input, calculating according to a pipeline second-stage program to obtain a second-stage calculation result, generating a second evidence for the first-stage calculation result and the first evidence, the pipeline second-stage program and the second-stage calculation result, and uploading the second-stage calculation result and the second evidence to the database;
the verification step comprises the following steps:
the verification step in the later stage: verifying whether a computer for completing final result calculation in the pipeline calculation results is a node in the network according to the digital signature in the pipeline calculation results, verifying whether the final result in the pipeline calculation results is modified according to the abstract in the pipeline calculation results, and simultaneously verifying whether the final result takes the last stage calculation result of the pipeline as input or not, and calculating by a program in the last stage of the pipeline; if the verification is not passed, the error in the calculation process of the final stage of the assembly line is indicated, and the final result is incorrect;
The verification step in the previous stage: verifying whether a computer completing the calculation of the result of the penultimate stage of the pipeline is a node in the network, is modified, and is obtained by taking the calculation result of the penultimate stage of the pipeline as input and calculating by a program of the penultimate stage of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect;
a first-stage verification step: verifying whether a computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes original input data as input, and is obtained by calculation of a first stage program of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect; if validated, it is stated that the final result is obtained from the original input data through a pipeline program.
2. The method according to claim 1, wherein the second evidence is generated by using a cryptographic hash function to compute digests of the first stage computation result and the first evidence, the pipeline second stage program, and the second stage computation result, respectively, and using a private key of the computer to digitally sign the digests, wherein the digests and the digital signature together form the second evidence.
3. A verification system for pipelined computing in a decentralized environment, comprising:
the execution module: performing calculation according to each stage of the pipeline to obtain a pipeline calculation result;
And (3) a verification module: verifying the correctness of the pipeline calculation result;
the execution module comprises:
The first stage execution module: reading input data by a first stage computer of the pipeline and calculating according to a first stage program of the pipeline to obtain a first stage calculation result, generating first evidence for the input data, the first stage program of the pipeline and the first stage calculation result, and uploading the first stage calculation result and the first evidence to a database;
and the second stage execution module: reading a first-stage calculation result and corresponding evidence from a database by a pipeline second-stage computer, taking the first-stage calculation result as input, calculating according to a pipeline second-stage program to obtain a second-stage calculation result, generating a second evidence for the first-stage calculation result and the first evidence, the pipeline second-stage program and the second-stage calculation result, and uploading the second-stage calculation result and the second evidence to the database;
The verification module comprises:
The verification module in the later stage: verifying whether a computer for completing final result calculation in the pipeline calculation results is a node in the network according to the digital signature in the pipeline calculation results, verifying whether the final result in the pipeline calculation results is modified according to the abstract in the pipeline calculation results, and simultaneously verifying whether the final result takes the last stage calculation result of the pipeline as input or not, and calculating by a program in the last stage of the pipeline; if the verification is not passed, the error in the calculation process of the final stage of the assembly line is indicated, and the final result is incorrect;
The verification module in the previous stage: verifying whether a computer completing the calculation of the result of the penultimate stage of the pipeline is a node in the network, is modified, and is obtained by taking the calculation result of the penultimate stage of the pipeline as input and calculating by a program of the penultimate stage of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect;
A first-stage verification module: verifying whether a computer which completes the calculation of the first stage result of the pipeline is a node in the network, is modified, takes original input data as input, and is obtained by calculation of a first stage program of the pipeline; if the verification is not passed, the error in the calculation process of the penultimate stage of the pipeline is indicated, and the final result is incorrect; if validated, it is stated that the final result is obtained from the original input data through a pipeline program.
4. A system for validating pipeline computations in a decentralized environment according to claim 3, wherein the second evidence is generated by separately computing digests of the first stage computation result and the first evidence, the pipeline second stage program, and the second stage computation result using a cryptographic hash function, digitally signing the digests using a private key of the computer, the digests and the digital signature together forming the second evidence.
5. A computer-readable storage medium storing a computer program, characterized in that the computer program, when executed by a processor, implements the steps of the method of any one of claims 1 to 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640589.7A CN111857827B (en) | 2020-07-06 | 2020-07-06 | Verification method, system and medium for pipeline calculation in decentralization environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640589.7A CN111857827B (en) | 2020-07-06 | 2020-07-06 | Verification method, system and medium for pipeline calculation in decentralization environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857827A CN111857827A (en) | 2020-10-30 |
CN111857827B true CN111857827B (en) | 2024-04-30 |
Family
ID=73153059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010640589.7A Active CN111857827B (en) | 2020-07-06 | 2020-07-06 | Verification method, system and medium for pipeline calculation in decentralization environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857827B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923932A (en) * | 2018-07-10 | 2018-11-30 | 东北大学 | A kind of decentralization co-verification model and verification algorithm |
CN110880143A (en) * | 2018-09-05 | 2020-03-13 | 阿克塞勒公司 | System and method for processing transaction verification operations in decentralized applications |
CN111047314A (en) * | 2018-10-12 | 2020-04-21 | 上海诺亚投资管理有限公司 | Financial data processing method and system based on block chain |
CN111314336A (en) * | 2020-02-11 | 2020-06-19 | 中国科学院信息工程研究所 | Dynamic transmission path construction method and system for anti-tracking network |
-
2020
- 2020-07-06 CN CN202010640589.7A patent/CN111857827B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923932A (en) * | 2018-07-10 | 2018-11-30 | 东北大学 | A kind of decentralization co-verification model and verification algorithm |
CN110880143A (en) * | 2018-09-05 | 2020-03-13 | 阿克塞勒公司 | System and method for processing transaction verification operations in decentralized applications |
CN111047314A (en) * | 2018-10-12 | 2020-04-21 | 上海诺亚投资管理有限公司 | Financial data processing method and system based on block chain |
CN111314336A (en) * | 2020-02-11 | 2020-06-19 | 中国科学院信息工程研究所 | Dynamic transmission path construction method and system for anti-tracking network |
Also Published As
Publication number | Publication date |
---|---|
CN111857827A (en) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102652551B1 (en) | Smart contract execution using distributed coordination | |
JP7221954B2 (en) | A system for protecting verification keys from modification and validating proofs of correctness | |
CN111163182B (en) | Block chain-based device registration method and apparatus, electronic device, and storage medium | |
CN110825349B (en) | Random number generation method, block chain node, system and medium | |
CN109361740B (en) | Block generation method, device, equipment and medium of block chain | |
US9350728B2 (en) | Method and system for generating and authorizing dynamic password | |
CN111311255B (en) | Intelligent contract formalization verification and error correction method based on prophetic machine | |
CN109635256B (en) | Method and device for verifying data | |
CN113489584B (en) | Method and device for processing random numbers in block chain and electronic equipment | |
Yoo et al. | Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms | |
CN111640018B (en) | Block chain transaction existence verification method and device | |
CN109685657B (en) | Method and node device for processing transactions in a blockchain network and storage medium | |
CN113362068B (en) | Method for verifying block chain state transfer by light node | |
CN113721988B (en) | Chip-based workload proving method and chip for workload proving | |
CN111857827B (en) | Verification method, system and medium for pipeline calculation in decentralization environment | |
CN116938522A (en) | Blockchain system, operating method, electronic device and storage medium | |
CN115587556A (en) | Method and device for automatically generating parameters in RAID verification and storage medium | |
Černý et al. | Interface simulation distances | |
CN115250231B (en) | Application configuration method and device | |
CN102222204A (en) | MD5 (Message Digest 5) all-pipelining hardware encryption method based on fault tolerance | |
CN113065867B (en) | System, method and medium for upgrading incompatible blockchain based on data replay | |
RU2211492C2 (en) | Fault-tolerant random-access memory | |
Hadžić et al. | FERPModels: a certification framework for expansion-based QBF solving | |
CN114880320B (en) | Method for generating block state certification | |
CN112738141B (en) | State verification method and system based on blame mechanism and P2P network |
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 |