Work provenance in computing pools
AssigneeCore Scientific Operating Company
InventorKristy-Leigh Anne Minehan
Life of this patent
Estimating the term…
Abstract
A system and method for participating in and operating a distributed computing pool are disclosed. Computing pools combine computational resources from a plurality of computing devices over a network by splitting jobs into smaller jobs and distributing those smaller jobs to the computing devices so that they can be solved in parallel with little or no overlap in the work performed. The computing devices attempt to find solutions to the smaller jobs. Solutions found are signed and submitted back to the pool. The pool uses the signature to confirm the true origin of the solution and that the solution has not been tampered with.
Claims17
A method for participating in a computing pool that combines computational resources over a network, the method comprising:
- authenticating a computing device by sending a username, a password, and a public key from the computing device to the pool via the network, wherein the public key corresponds to a private key associated with the computing device;
- sending a connection request from the computing device to the pool;
- receiving at the computing device a response to the connection request from the pool, wherein the response comprises a job;
- executing the job on the computing device to calculate a solution;
- signing the solution on the computing device with a signature based on the private key;
- sending the signed solution from the computing device to the pool;
- receiving a reward from the pool in response to submitting the signed solution if the signature of the signed solution is verified;
- authenticating a second computing device by sending a second username and a second password from the second computing device to the pool via the network;
- sending a second connection request from the second computing device to the pool;
- receiving at the second computing device a second response to the second connection request from the pool, wherein the second response comprises a second job;
- executing the second job on the second computing device to calculate a second solution;
- sending the second solution in unsigned form from the second computing device to the pool;
- and
- receiving a reduced reward from the pool in response if the unsigned second solution is valid and the pool is first to solve a blockchain block corresponding to the second solution.
A method for operating a computing pool, the method comprising:
- receiving a connection request from a computing device to a pool;
- responding to the connection request by sending a job to the computing device;
- waiting for the computing device to execute the job and respond with a solution signed by a private key;
- verifying the signature of the solution with a public key;
- verifying the solution;
- granting a first reward to the computing device if the signature is properly verified;
- rejecting solutions that are not properly verified;
- determining whether the solution is a block;
- submitting the solution to a blockchain node;
- receiving a username and a password from a second computing device via a network to authenticate the second computing device;
- receiving a second connection request from the second computing device to the pool;
- responding to the second connection request by sending a second job to the second computing device;
- waiting for the second computing device to execute the second job and respond with a second solution;
- receiving the second solution in unsigned form from the second computing device to the pool;
- and
- granting a reduced reward from the pool to the second computing device if the unsigned second solution is verified and the pool is first to solve a blockchain block corresponding to the second solution.
A method for operating a computing pool, the method comprising:
- operating a computing pool management application on a server;
- in response to receiving at the server a connection request from a computing device attempting to connect to the pool, responding by sending a job from the server to the computing device;
- waiting for the computing device to execute the job and respond with a solution;
- signing the solution on the computing device with a private key;
- sending the signed solution from the computing device to the pool;
- in response to receiving the solution to the job from the computing device, verifying the correctness of the solution;
- verifying a signature of the solution with a public key;
- allocating a share of any rewards the pool receives for the job to the computing device if the solution is correct and the signature is properly verified;
- receiving a username and a password from a second computing device via a network to authenticate the second computing device;
- receiving a second connection request from the second computing device to the pool;
- responding to the second connection request by sending a second job from the server to the second computing device;
- waiting for the second computing device to execute the second job and respond with a second solution;
- receiving the second solution in unsigned form from the second computing device;
- and
- granting a reduced share of the rewards the pool receives to the second computing device if the unsigned second solution is verified and the pool is first to solve a blockchain block corresponding to the second solution.
Dependencies are inferred from the claim text.