Processing

Please wait...

Settings

Settings

Goto Application

1. WO2020109572 - COMPUTER-IMPLEMENTED METHOD FOR PROCESSING A DATA SET UNDER NON-DISCLOSURE CONDITIONS

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

CLAIMS

1. A computer-implemented method (100) for processing a data set (1) under non-disclosure conditions, the data set (1) belonging to an owner user (2) and being processed by one or more computing service provider users (3) , the method operating through a smart contract (4) stored in a blockchain (5) configured for supporting cryptocurrency management and executing the smart contract (4), wherein the method (100) comprises the following steps:

a) the owner user (2) generating (110) a smart contract (4) comprising :

a data set (1) to be processed which is encrypted (6) by means of a homomorphic encryption algorithm or a link (7) to said data set (1) to be processed which is encrypted (6), wherein the homomorphic encryption comprises a step of encrypting (200) data (1) in plaintext for obtaining the encrypted data (6) and a step of decrypting (150) the data that was previously encrypted in order to retrieve the data in plaintext, wherein said homomorphic encryption also comprises a predetermined set of pairs of operators formed by an original operator and an equivalent operator associated with the original operator, which verify the following condition:

given one or more arguments expressed in plaintext and operated with a specific original operator, the equivalent operator applied to the same arguments encrypted with the step of encrypting provides an also encrypted result which, once decrypted by means of the step of decrypting to express the result in plaintext, has a value equal to the result of applying the original operator on the arguments also expressed in plaintext ,

processing specifications of the data to be processed comprising :

i. identification of the homomorphic encryption used in the encryption of the data set (1) to be processed together with the set of available pairs of operators of the homomorphic encryption and the evaluation key which allows operating data in the homomorphic domain,

ii. a mathematical problem solvable by means of processing the data set to be processed (6) by means of the set of operators available in homomorphic encryption, wherein the solution or an approach to the solution (8) of the mathematical problem is expressible in the form of one or more numerical parameters, and wherein the solution or the approach to the solution (8) has a precision value,

iii. an evaluation function of the solution or the approach to the solution (8) configured for measuring the precision of the solution or of the approach to the solution (8) when it is encrypted,

iv. a measurement function of the reward value which determines the remuneration to be returned to the computing service provider user (3), with this being a value dependent on at least the evaluation function,

v. a reward amount (9) in cryptocurrency units to be distributed among the computing service provider users (3) when a solution or an approach to the solution (8) is recorded in the smart contract (4), such that the reward function determines a positive value ,

vi . a reward process executable by the smart contract (4) receiving a solution or an approach to the solution (8) which is encrypted sent by a computing service provider user (3), transferring the cryptocurrency reward amount established by the measurement function of the reward value (9), if there are available cryptocurrency units, to said computing service provider user (3), with said solution or approach to the solution (8) being recorded in the smart contract

(4) ;

b) the owner user (2) deploying (120) the smart contract (4) in the blockchain (5) , enabling the computing service provider users (3) of the blockchain (5) to access the smart contract

(4) ,

c) one or more computing service provider users (3) solving (130) the mathematical problem of the smart contract (4) by processing the encrypted data set (6) until obtaining a solution or an approach to the solution (8) which is encrypted with a precision with a reward value (9) that is at least positive according to the measurement function of the reward value, wherein said precision is determined by each of the computing service provider users (3) executing the evaluation function,

d) one or more computing service provider users executing (140) the reward process of the smart contract (4), with a positive reward value, wherein the reward process is according to the following steps:

vii . the smart contract (4) receiving (141) said solution or approach to the solution (8),

viii. executing (142) the measurement function of the reward value for said solution or approach to the solution,

ix. providing (143) the reward (9) established by the reward function to the computing service provider user (3) of the evaluated solution if there are available cryptocurrency units and if the value returned by the measurement function of the reward value is positive,

x. recording (144) said solution or approach to the solution (8) that is evaluated in the smart contract (4) in the event of a reward having been sent, e) the owner user (2) decrypting (150) the solution or solutions or approach or approaches to the solution (8) recorded in the smart contract (4), obtaining the solution or solutions or approach or approaches to the solution expressed in plaintext

(10) .

2. Method (100) according to the preceding claim, wherein for each reward (9) that is given, the solution or approach to the solution (8) and the precision value associated with the solution or approach to the solution (8) are recorded in the smart contract (4) .

3. Method (100) according to the preceding claim, wherein the measurement function of the reward value checks:

if the precision value is less than a pre-established threshold value (142.1), and

if another solution or another approach to the solution

(8) has previously been recorded, if the solution or approach to the solution (8) of the computing service provider user (3) has a precision value lower than the previously recorded precision values (142.2),

wherein the value of the reward (9) is null in any of these cases .

4. Method (100) according to any of the preceding claims, wherein the measurement function of the reward value is established by predefining a plurality of ranges of values for the precision value and assigning a value of the measurement of the reward value (9) for each of the ranges, such that given a precision value measured with respect to a solution or an approach to the solution (8), the measurement function of the reward value returns the value of the measurement assigned to the range in which said precision value is found.

5. Method (100) according to claim 4, wherein given a solution or an approach to the solution (8) identified in a specific range of values by its precision, the smart contract (4) checks (160) if another solution or another approach to the solution (8) has previously been recorded in the same range of values or in higher ranges, in which case the reward (9) is null .

6. Method (100) according to claim 5, wherein the reward (9) of a solution or an approach to the solution (8) identified in a specific range of values by its precision is the sum of the reward corresponding to said range of precision values and of the rewards corresponding to lower ranges of precision values which have not previously been provided to any computing service provider user (3) .

7. Method (100) according to claim 5, wherein after recording a solution or an approach to the solution (8) identified in a specific range of values by its precision, the smart contract (4) provides to the owner user (2) reimbursement for the rewards (9) corresponding to the lower ranges of precision values which have not previously been provided to any computing service provider user (3) .

8. Method (100) according to any of the preceding claims, wherein the data processing specifications additionally comprise a pre-established numerical model as well as the identification of the parameters which the numerical model comprises.

9. Method (100) according to any of the preceding claims, wherein the computing service provider user (3) receives, if there are available cryptocurrency units in the smart contract (4), the amount of cryptocurrency units established by the measurement function of the reward value (9) in its particular blockchain account (5) during step d.ix) of the method (100) .

10. Method (100) according to any of claims 4 to 9, wherein the method (100) additionally comprises a computing service provider user (3) recording in the smart contract (4) a solution or an approach to the solution (8) until recording a solution or an approach to the solution (8) with a precision value which is within the range of higher precision predefined in the smart contract (4) to have a positive reward (9) .

11. Method (100) according to any of the preceding claims, wherein the encrypted data (6) is accessible through the link (7) comprised in the smart contract (4), wherein the method (100) further comprises in step a) the following sub-steps:

calculating (111) a first hash (11) of the data (6) accessible in said link (7),

recording (112) the first hash (11) in the smart contract ( 4 ) , and

wherein the method (100) comprises concurrently performing in any of steps b) to d) an integrity test (300) which comprise: calculating (310) a second hash (12) of the data (6) accessible in said link (7),

comparing (320) the first hash (11) and the second hash (12), and in the event that they are different, not approaching the search for solutions (8) since the data (6) is corrupt.

12. Method (100) according to any of the preceding claims, wherein the computing service provider user (3) has additional information about interaction with the smart contract (4) accessible through the Internet, at least the identifier of the blockchain (5) holding the smart contract (4), the address where the smart contract (4) is stored in the blockchain (5), and a description of the interface of the smart contract (4) .

13. Method (100) according to any of the preceding claims, wherein the encrypted data set (6) is divided into encrypted data subsets according to a partitioning strategy declared in the smart contract (4) or in the information about the smart contract (4) accessible through the Internet; and

wherein the encrypted data subsets used by the computing service provider user or users (3) for obtaining the solution or approach to the solution (8) are obtained according to the partitioning strategy; and

wherein the evaluation function is applied according to the partitioning strategy on at least one subset of those obtained according to said partitioning strategy, with the final precision measured by the evaluation function being a value which considers the precision or precisions obtained with each encrypted evaluation data subset.

14. A data processing system comprising means for carrying out the steps of the method (100) according to any of the preceding claims .

15. A computer program comprising instructions which, when the program is run by a computer, cause the computer to carry out :

the steps of the method (100) corresponding to the owner user (2) , or

the steps of the method (100) corresponding to one or more computing service provider users (3), or

the steps of both;

according to any of claims 1 to 13.

16. A computer-readable medium comprising instructions which, when run by a computer, cause the computer to carry out the steps of the method (100) according to claims 1 to 13.