Distributed computing utilizing homomorphic encryption
A method for determining a compute amount contributed by a device is provided. The method comprises receiving encrypted data from a processor of a customer system and parsing the encrypted data into a plurality of encrypted subsets. Then, the method associates a token specific to the device with an encrypted subset of the plurality of encrypted subsets to produce a packaged subset. The packaged subset is sent to the device. In response, a processed packaged subset that includes the token is received. The compute time contributed by the device is determined from the token of the processed packaged subset.
1. A computer program product for determining a compute amount contributed by a device, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a hardware processor to cause the hardware processor to perform:
receiving encrypted data from a hardware processor of a customer system, wherein the encrypted data is data encrypted via homomorphic encryption;
parsing the encrypted data into a plurality of encrypted subsets to proportionally size an encrypted subset of the plurality of encrypted subsets to a participation commitment by the device;
associating a token specific to the device with the encrypted subset to produce a packaged subset;
forwarding the packaged subset to the device;
receiving a processed packaged subset in response to the forwarding of the packaged subset, the processed packaged subset including the token;
determining from the token of the processed packaged subset the compute time contributed by the device; and
determining an incentive package for the device based on the compute time contributed by the device to increase participation by the device.
2. The computer program product of claim 1 , the program instructions being further executable by the hardware processor to cause the hardware processor to perform:
surveying a status of the device to determine if the device has consent to participate in a massive computational operation associated with the encrypted data.
3. The computer program product of claim 1 , wherein the device is one of a plurality of devices, each device being communicated a corresponding packaged subset based on the plurality of encrypted subsets being associated with a plurality of tokens.
4. The computer program product of claim 1 , the program instructions being further executable by the hardware processor to cause the hardware processor to perform:
providing a program for installation to the device, the program being configured to process the packaged subset.
5. The computer program product of claim 1 , the program instructions being further executable by the hardware processor to cause the hardware processor to perform:
validating the processed packaged subset as processed by the device.
6. The computer program product of claim 1 , wherein the incentive package comprises monetary giveaways based on participation according to a payout schedule.
7. A system for determining a compute amount contributed by a device, comprising:
a memory having computer readable instructions; and
a hardware processor for executing the computer readable instructions, the computer readable instructions including:
receiving encrypted data from a hardware processor of a customer system, wherein the encrypted data is data encrypted via homomorphic encryption;
parsing the encrypted data into a plurality of encrypted subsets to proportionally size an encrypted subset of the plurality of encrypted subsets to a participation commitment by the device;
associating a token specific to the device with the encrypted subset to produce a packaged subset;
forwarding the packaged subset to the device; and
receiving a processed packaged subset in response to the forwarding of the packaged subset, the processed packaged subset including the token;
determining from the token of the processed packaged subset the compute time contributed by the device; and
determining an incentive package for the device based on the compute time contributed by the device to increase participation by the device.
8. The system of claim 7 , further comprising:
surveying a status of the device to determine if the device has consent to participate in a massive computational operation associated with the encrypted data.
9. The system of claim 7 , wherein the device is one of a plurality of devices, each device being communicated a corresponding packaged subset based on the plurality of encrypted subsets being associated with a plurality of tokens.
10. The system of claim 7 , further comprising:
providing a program for installation to the device, the program being configured to process the packaged subset.
11. The system of claim 7 , further comprising:
validate the processed packaged subset as processed by the device.