IP Library Granted Patent US 11,245,528
Granted Patent B1
US 11,245,528 · App. 16/726,520 · Granted Feb 8, 2022

Protocols for decentralized networks

Inventors: Nicola Greco (Cambridge, MA); Juan Batiz-Benet (Walnut, CA)
Assignee: Protocol Labs, Inc.
H04L9/3218G06F21/602H04L9/0637H04L9/3213H04L9/3271H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,245,528
App. No.
16/726,520
Granted
Feb 8, 2022
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for establishing a proof of storage over a specified period of time. One of the methods includes: (i) receiving, at a prover, an initial input challenge; (ii) producing, at the prover, an output proof proving that the prover has access to specified data for a specified time, wherein producing the output proof includes: (a) producing, at the prover, an initial proof responsive to the initial input challenge, the initial proof proving that the prover is storing specified data; (b) generating, at the prover, a new input challenge based at least in part on the initial proof: (c) producing, at the prover, a new proof responsive to the new input challenge, the new proof proving that the prover is storing the specified data; and (d) repeating, at the prover, the generating step and the producing a new proof responsive to the new input challenge step a number of times, the repeating step generating sequential proofs of storage to determine time of storage, wherein each generating step is based at least in part on a most recent new proof; and (iii) forwarding the output proof, e.g., to a blockchain.

Claims (42)

1. A method comprising:

producing, at a prover, an output proof proving that the prover has access to specified data for a specified time, wherein producing the output proof comprises:

producing, at the prover, an initial proof responsive to an initial input challenge, the initial proof proving that the prover is storing the specified data;

generating, at the prover, a new input challenge based at least in part on the initial proof-;

producing, at the prover, a new proof responsive to the new input challenge, the new proof proving that the prover is storing the specified data; and

repeating, at the prover, the generating step and the producing a new proof responsive to the new input challenge step a number of times, the repeating step generating sequential proofs of storage to determine time of storage-, wherein each generating step is based at least in part on a most recent new proof; and

forwarding the output proof.

2. The method of claim 1 wherein the method further comprises receiving tokens at least in part in response to forwarding the output proof to a blockchain.

3. The method of claim 1 wherein the output proof is labeled with a loop counter index.

4. The method of claim 1 wherein the method further comprises checking, at a verifier, if the prover is storing the specified data for at least a minimum period of time.

5. The method of claim 1 wherein the method further comprises receiving a stake in management of a file storage system in response to forwarding the output proof to a blockchain.

6. The method of claim 1 wherein the method further comprises receiving an initial input challenge comprising receiving a plurality of initial input challenges and where a type and a frequency of the input challenges are specified during a setup process between the prover and a verifier.

7. The method of claim 1 wherein the method further comprises allocating specified benefits to the prover in response to forwarding the output proof to a blockchain.

8. The method of claim 7 wherein the specified benefits comprise deferrable access to data storage services.

9. A method comprising:

receiving data at a prover;

performing a seal operation on the data;

producing an output proof, wherein producing the output proof comprises:

producing an initial proof responsive to an initial input challenge, the initial proof proving that the prover is storing specified data;

generating a new input challenge based at least in part on the initial proof;

producing a new proof responsive to the new input challenge, the new proof proving that the prover is storing the specified data; and

repeating the generating step and the producing a new proof responsive to the new input challenge step a specified number of times resulting in the output proof, wherein the generating a new input challenge is based at least in part on a most recent new proof, and wherein performing the seal operation is several orders of magnitude slower than producing the output proof;

forwarding the output proof; and

receiving a response at least in part based on forwarding the output proof.

10. The method of claim 9 wherein the method further comprises receiving tokens at least in part in response to forwarding the output proof to a blockchain.

11. The method of claim 9 wherein the output proof is labeled with a loop counter index.

12. The method of claim 9 wherein the method further comprises checking, at a verifier, if the prover is storing the specified data for at least a minimum period of time.

13. The method of claim 9 wherein the method further comprises receiving a stake in management of a file storage system in response to forwarding the output proof to a blockchain.

14. The method of claim 9 wherein receiving an initial input challenge comprises receiving a plurality of initial input challenges and where a type and a frequency of the input challenges are specified during a setup process between the prover and a verifier.

15. The method of claim 9 wherein the method further comprises allocating specified benefits to the prover in response to forwarding the output proof to a blockchain.

16. The method of claim 15 wherein the specified benefits comprise deferrable access to data storage services.

17. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

producing, at a prover, an output proof proving that the prover has access to specified data for a specified time, wherein producing the output proof comprises:

producing, at the prover, an initial proof responsive to an initial input challenge, the initial proof proving that the prover is storing the specified data;

generating, at the prover, a new input challenge based at least in part on the initial proof;

producing, at the prover, a new proof responsive to the new input challenge, the new proof proving that the prover is storing the specified data; and

repeating, at the prover, the generating step and the producing a new proof responsive to the new input challenge step a number of times, the repeating step generating sequential proofs of storage to determine time of storage, wherein each generating step is based at least in part on a most recent new proof; and

forwarding the output proof.

18. The system of claim 17 wherein the operations further comprise receiving tokens at least in part in response to forwarding the output proof to a blockchain.

19. The system of claim 17 wherein the output proof is labeled with a loop counter index.

20. The system of claim 17 wherein the operations further comprise checking, at a verifier, if the prover is storing the specified data for at least a minimum period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2021
From: GRECO, NICOLA; BATIZ-BENET, JUAN
To: PROTOCOL LABS, INC.
Reel/Frame 058455/0624 →
Continuity (2)
Continuation In Part 16195621 · Nov 19, 2018
Provisional Application 62901207 · Sep 16, 2019
Cited By (1)
US 12,250,316