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 PDF

Info

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
Application number
CN202010640589.7A
Other languages
Chinese (zh)
Other versions
CN111857827A (en
Inventor
张天诩
李明煜
夏虞斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010640589.7A priority Critical patent/CN111857827B/en
Publication of CN111857827A publication Critical patent/CN111857827A/en
Application granted granted Critical
Publication of CN111857827B publication Critical patent/CN111857827B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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

Verification method, system and medium for pipeline calculation in decentralization environment
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.
CN202010640589.7A 2020-07-06 2020-07-06 Verification method, system and medium for pipeline calculation in decentralization environment Active CN111857827B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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