Abstract
A method comprises sending a set of values from a first party to a second party, the set of values being usable to compute a solution to a first problem involving inversion of a first oneway function. The method further comprises receiving a given value from the second party and utilizing the given value as an input for computing a solution to a second problem involving inversion of a second oneway function, wherein a valid solution to the second problem uses as input a valid solution to the first problem.
Claims

A method comprising:
receiving, at a first processing device from a second processing device, a request for access to a given resource controlled by the first processing device;
sending, from the first processing device to the second processing device, a set of values responsive to receiving the request for access to the given resource, the set of values being usable to compute a solution to a first problem involving inversion of a first oneway function;
receiving, at the first processing device from the second processing device, a given value representing a potential solution to the first problem;
providing, at the first processing device, access to the given resource by the second processing device responsive to verifying the given value as a valid solution to the first problem; and
utilizing, at the first processing device, the given value as an input for computing a solution to a second problem involving inversion of a second oneway function;
wherein a valid solution to the second problem uses as input the valid solution to the first problem; and
wherein the set of values comprises a supplementary value specific to a particular instance of the first oneway problem and the second processing device, the supplementary value being used as an input to the first oneway function by the second processing device.
 The method of claim 1, wherein the first problem has k_{in}bit hardness and the second problem has k_{out}bit hardness such that k=k_{in}+k_{out}, where k_{in}≦k/2.
 The method of claim 1, wherein the given resource comprises one of a transmission control protocol connection to a server and a transport layer security connection to the server.
 The method of claim 1, wherein the given resource comprises accepting an email sent to the first processing device from the second processing device.
 The method of claim 1, wherein the given resource comprises a website of the first processing device.
 The method of claim 1, wherein the valid solution to the second problem is usable in a system for mining digital currency involving finding a solution to a third problem involving inversion of a third oneway function.

The method of claim 6, wherein the third problem comprises finding a value n such that:
H(X,n;s)≦Z
where H is the third oneway function, X comprises a set of known information, s is the supplementary value, and Z is a target value representing a difficulty of mining the digital currency.  The method of claim 7, further comprising providing a payment to the second processing device based at least in part on a comparison of a value of a solution to H divided by Z.

The method of claim 7, wherein the first oneway function, the second oneway function and the third oneway function are related such that:
H(X,n;s)=H_{out}(X,H_{in}(X,n;s))
where H_{in }is the first oneway function and H_{out }is the second oneway function.  The method of claim 9, wherein the supplementary value s is chosen by the first processing device based at least in part on the request for access to the given resource.

The method of claim 10, wherein:
the request for access to the given resource comprises sending an email message to the first processing device; and
s is a hash of at least one of a preamble of the email message and a body of the email message.
 The method of claim 9, wherein the set of values sent to the second processing device comprises X, Z_{in }and s and a valid solution I to the first problem is given by: I=H_{in}(X,n;s)≦Z_{in }where Z_{in }is a target value representing a difficulty of solving the first problem.

The method of claim 7, wherein the first oneway function, the second oneway function and the third oneway function are related such that:
H(X,n;s)=H_{out}(X,H_{in}(X,n;s,r_{in}),r_{out})
where H_{in }is the first oneway function, H_{out }is the second oneway function, r_{in}=H_{0}(r), r_{out}=H_{1}(r), H_{0 }and H_{1 }are distinct hash functions, and r is a secret value. 
The method of claim 13, wherein the set of values sent to the second processing device comprises X, Z_{in}, s and r_{in }and a valid solution I to the first problem is given by:
I=H_{in}(X,n;s,r_{in})≦Z_{in }
where Z_{in }is a target value representing the difficulty of solving the first problem. 
An article of manufacture comprising a processorreadable storage medium having processorreadable program code embodied therein, which, when executed by a processor of a first processing device, causes the processor:
to receive, from a second processing device, a request for access to a given resource controlled by the first processing device;
to send, to the second processing device, a set of values responsive to receiving the request for access to the given resource, the set of values being usable to compute a solution to a first problem involving inversion of a first oneway function;
to receive, from the second processing device, a given value representing a potential solution to the first problem;
to provide access to the given resource by the second processing device responsive to verifying the given value as a valid solution to the first problem; and
to utilize the given value as an input for computing a solution to a second problem involving inversion of a second oneway function;
wherein a valid solution to the second problem uses as input the valid solution to the first problem; and
wherein the set of values comprises a supplementary value specific to a particular instance of the first oneway problem and the second processing device, the supplementary value being used as an input to the first oneway function by the second processing device.
 The article of manufacture of claim 15, wherein the valid solution to the second problem is usable in a system for mining digital currency involving finding a solution to a third problem involving inversion of a third oneway function.
 The article of manufacture of claim 15, wherein the given resource comprises accepting an email sent to the first processing device from the second processing device.

An apparatus comprising:
a first processing device comprising:
a memory; and
a processor coupled to the memory;
the first processing device being configured to implement a puzzlet generation module configured:
to receive, from a second processing device, a request for access to a given resource controlled by the first processing device; and
to send a set of values to the second processing device responsive to receiving the request for access to the given resource, the set of values being usable to compute a solution to a first problem involving inversion of a first oneway function;
the first processing device being further configured to implement a puzzlet verification module configured:
to receive a given value from the second processing device representing a potential solution to the first problem;
to provide access to the given resource by the second processing device responsive to verifying the given value as a valid solution to the first problem; and
to utilize the given value as an input for computing a solution to a second problem involving inversion of a second oneway function;
wherein a valid solution to the second problem uses as input a valid solution to the first problem; and
wherein the set of values comprises a supplementary value specific to a particular instance of the first oneway problem and the second processing device, the supplementary value being used as an input to the first oneway function by the second processing device.
 The apparatus of claim 18, wherein the valid solution to the second problem is usable in a system for mining digital currency involving finding a solution to a third problem involving inversion of a third oneway function.
 The apparatus of claim 19, wherein the first processing device is part of a pool of processing devices used by a first party for mining the digital currency.
Owners (US)

Emc Ip Holding Company Llc
(Sep 06 2016)
Explore more patents:

Emc Corporation
(May 15 2014)
Explore more patents:
Applicants

Emc Corp
Explore more patents:

Emc Ip Holding Co Llc
Explore more patents:
Inventors

Juels Ari
Explore more patents:
Download PDF
Document Preview
Document History
 Publication: Nov 15, 2016

Application:
Sep 27, 2013
US 201314039215 A

Priority:
Sep 27, 2013
US 201314039215 A

Priority:
May 10, 2013
US 201361821749 P