US2021192514A1PendingUtilityA1

Distributed computing system and method

Assignee: NCHAIN HOLDINGS LTDPriority: Nov 9, 2017Filed: Nov 1, 2018Published: Jun 24, 2021
Est. expiryNov 9, 2037(~11.3 yrs left)· nominal 20-yr term from priority
G06F 8/447H04L 9/3239H04L 9/3066H04L 9/30G06F 8/44H04L 9/085H04L 9/0838H04L 9/3218H04L 2209/127H04L 2209/122H04L 9/0877H04L 9/0643H04L 9/0637H04L 9/0618H04L 9/50H04L 63/12G06Q 20/065H04L 2209/56H04L 2209/34H04L 9/3236H04L 9/3247H04L 9/3263G06Q 20/405G06F 8/451G06F 16/27G06Q 20/401G06F 9/44521H04L 2209/38
67
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The invention relates to distributed processing systems that involve the distribution of computational tasks to one or more untrusted worker computer systems. When an untrusted worker computer system performs a calculation on behalf of a requesting computer system, the requesting computer system (or other verifying computer system) is provided with information that allows the requesting computer system to cryptographically verify that that task has been correctly completed. After completing the calculation, the worker computer system provides information to the requester that includes a proof and I/O data. The requesting computer system may use a set of public verification key parameters, the proof, and the I/O data to verify that the computation performed by an untrusted worker computer system is correct. In some examples, the calculation performed by the worker is associated with the verification of a blockchain transaction. For example, the verification of the computation performed by the untrusted worker computer system may occur as part of validating a transaction on a blockchain node.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method comprising:
 providing a task to a set of independent computer systems which are able to compete to provide outcome of the provided task, the task specifying a computation to perform; and   verifying, at a verifying computer system, that the computation is correctly performed by a worker computer system in the set of independent computer systems, the computation based on a circuit having a set of multiplication gates, by at least:
 generating an evaluation key; 
 providing the evaluation key to the worker computer system; 
 receiving a proof from the worker computer system, the proof based at least in part on the evaluation key; 
 generating a verification key; and 
 verifying that the computation is correct using the proof and the verification key. 
   
     
     
         2 . The computer-implemented method claimed in  claim 1 , wherein the verification key is based on inputs to the set of multiplication gates and outputs of the set of multiplication gates. 
     
     
         3 . The computer-implemented method claimed in  claim 1 , wherein the proof is based at least in part on a set of intermediate outputs of the set of multiplication gates. 
     
     
         4 . The computer-implemented method claimed in  claim 1 , wherein the proof is based at least in part on a public evaluation key. 
     
     
         5 . The computer-implemented method claimed in  claim 1 , wherein the proof and the verification key are based at least in part on a first generator and a second generator that generate different groups. 
     
     
         6 . The computer-implemented method claimed in  claim 1 , further comprising verifying that elements of the proof are consistent with elements of the evaluation key. 
     
     
         7 . The computer-implemented method claimed in  claim 1 , further comprising verifying that elements of the proof are constructed using matching coefficients. 
     
     
         8 . The computer-implemented method claimed in  claim 1 , further comprising verifying a divisibility requirement on a term of the proof. 
     
     
         9 . The computer-implemented method claimed in  claim 1 , wherein the worker computer system provides a set of I/O values corresponding to input and output values of the circuit. 
     
     
         10 . The computer-implemented method claimed in  claim 1 , wherein the circuit includes one or more addition gates which are modelled with their contributions to the multiplication gates. 
     
     
         11 . The computer-implemented method claimed in  claim 1 , wherein the computation is part of a bitcoin transaction validation. 
     
     
         12 . The computer-implemented method claimed in  claim 1 , wherein verifying that the computation is correct is accomplished by at least:
 providing the proof, the verification key, and a set of I/O values to a verification computer system; and   receiving an indication from the verification computer system that the computation is correct.   
     
     
         13 . The computer-implemented method claimed in  claim 1 , wherein the verification computer system is a blockchain node. 
     
     
         14 . A system, comprising:
 a processor; and   memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method of  claim 1 .   
     
     
         15 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of  claim 1 . 
     
     
         16 . A system, comprising:
 a processor; and   memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method of  claim 2 .   
     
     
         17 . A system, comprising:
 a processor; and   memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method of  claim 3 .   
     
     
         18 . A system, comprising:
 a processor; and   memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method of  claim 4 .   
     
     
         19 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of  claim 2 . 
     
     
         20 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of  claim 3 .

Join the waitlist — get patent alerts

Track US2021192514A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.