US 11,838,348 B2
System and method for implementing anonymously constrained computation in a distributed system
Alexey Mileev, Jurmala (LV)
Assigned to Synergy Solutions Group B.V., Amsterdam (NL)
Appl. No. 17/263,321
Filed by Synergy Solutions Group B.V., Amsterdam (NL)
PCT Filed Jul. 29, 2019, PCT No. PCT/NL2019/050503
§ 371(c)(1), (2) Date Jan. 26, 2021,
PCT Pub. No. WO2020/022906, PCT Pub. Date Jan. 30, 2020.
Claims priority of application No. 2021409 (NL), filed on Jul. 27, 2018.
Prior Publication US 2021/0211523 A1, Jul. 8, 2021
Int. Cl. H04L 67/01 (2022.01); H04L 9/08 (2006.01); H04L 67/56 (2022.01)
CPC H04L 67/01 (2022.05) [H04L 9/0822 (2013.01); H04L 9/0825 (2013.01); H04L 67/56 (2022.05)] 10 Claims
OG exemplary drawing
 
1. A method of performing computations by means of a distributed computing system that comprises a server, a group of clients, and a communication network that provides for encrypted, anonymous communication between the clients in the group of clients and from individual clients in the group of clients to a server, the method comprising:
each of the clients in the group, referred to as a first client
forming encrypted representations of limit amounts applicable to respective other clients in the group in combination with the first client, using an encryption scheme to which at least initially only the first client has a decryption key, wherein the limit amounts are amounts of value;
transmitting the encrypted representations of the limit amounts applicable to the respective other clients in combination with the first client, each to a respective other client to which a limit amount is applicable;
receiving encrypted representations of the limit amounts from the other clients; and
forming doubly encrypted representations of the limit amounts by encrypting the encrypted representations of the limit amounts received from the other clients that are applicable to the first client that forms the doubly encrypted representations, using the encryption scheme of the first client or encryption using a public encryption key of the server;
sending a message containing a request anonymously to the server, without having an address of the first client, the message containing the decryption key of the encryption scheme of the first client and, if the doubly encrypted representations of the limit amounts are formed using the public encryption key of the server, the doubly encrypted representations of the limit amounts;
the server
receiving messages from the clients in the group referred to as first clients;
performing double decryption of the doubly encrypted representations of the limit amounts, using decryption keys from pairs of the messages or, when the message contains the doubly encrypted representations of the limit amounts, using a private decryption key of the server and the decryption keys from other messages;
verifying results of the double decryption, and selecting pairs of the messages with decryption keys that produce verified results; and
computing a solution that satisfies requests from the messages, subject to the limit amounts from the verified results, applied in conjunction with the requests from the pairs of the messages.