IP Library › Granted Patent US 11,658,804
Granted Patent B2
US 11,658,804 · App. 17/317,407 · Granted May 23, 2023

Systems and methods for blockchains with serial proof of work

Inventors: Andrew Jonathan Leker (San Rafael, CA); Matthew Drew Birder (San Francisco, CA); Allison Phuong Huynh (Palo Alto, CA); Mark Thomas Wallace (San Rafael, CA)
Assignee: MYDREAM INTERACTIVE, INC.
H04L9/0637H04L9/0643H04L9/3218H04L9/3239H04L63/00H04L67/104H04L9/50
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,658,804
App. No.
17/317,407
Granted
May 23, 2023
Kind
B2
Abstract

Techniques for updating blockchains using a proof of work determined serially include receiving a block of data for inclusion in a new block of a blockchain; deterministically determining an initial nonce, hashing a combination of the block of data and the initial nonce to create a hashed value; iteratively deterministically determining an updated nonce based on a combination of the hashed value and updating the hashed value by hashing the updated nonce until the updated hashed value satisfies a proof of work criteria; creating the new block based on the block of data, the initial nonce, and the updated hashed value that satisfies the proof of work criteria; and having the new block stored in the blockchain.

Claims (59)

1. A computer-implemented method for updating a blockchain, the method comprising:

receiving a block of data for inclusion in a new block of a blockchain;

deterministically determining an initial nonce;

hashing a combination of the block of data and the initial nonce to create a hashed value;

iteratively deterministically determining an updated nonce based on the hashed value and updating the hashed value by hashing the updated nonce until the updated hashed value satisfies a proof of work criteria;

creating the new block based on the block of data, the initial nonce, and the updated hashed value that satisfies the proof of work criteria; and

having the new block stored in the blockchain.

2. The computer-implemented method of claim 1 , wherein deterministically determining the initial nonce comprises deterministically determining the initial nonce from a miner identifier.

3. The computer-implemented method of claim 1 , wherein having the new block stored in the blockchain comprises sharing the new block with one or more other computing devices hosting the blockchain.

4. The computer-implemented method of claim 1 , wherein updating the hashed value by hashing the updated nonce comprises hashing a combination of the block of data and the updated nonce.

5. The computer-implemented method of claim 1 , wherein the proof of work criteria is a predetermined number of leading zeros in the updated hashed value.

6. The computer-implemented method of claim 1 , further comprising:

counting a number of times a hashed value is determined; and

every predetermined number of times a hashed value is determined, saving interim results from the hashing.

7. The computer-implemented method of claim 6 , wherein the interim results from the hashing is an updated hashed value that does not meet the proof of work criteria.

8. The computer-implemented method of claim 1 , further comprising:

receiving a first block from another computing device;

randomly selecting a subset of interim results included in the first block;

validating the subset of interim results; and

reporting results of the validation to each of one or more other computing devices; and

adding the first block to the blockchain based on reaching a consensus with the one or more other computing devices that the new block should be added to the blockchain.

9. The computer-implemented method of claim 1 , wherein:

the block of data includes one or more encrypted items; or

the block of data conforms to one or more rules; or

the block of data includes a script or executable code.

10. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

receiving a block of data for inclusion in a new block of a blockchain;

deterministically determining an initial nonce;

hashing a combination of the block of data and the initial nonce to create a hashed value;

iteratively deterministically determining an updated nonce based on the hashed value and updating the hashed value by hashing the updated nonce until the updated hashed value satisfies a proof of work criteria;

creating the new block based on the block of data, the initial nonce, and the updated hashed value that satisfies the proof of work criteria; and

having the new block stored in the blockchain.

11. The one or more non-transitory computer-readable storage media of claim 10 , wherein deterministically determining the initial nonce comprises deterministically determining the initial nonce from a miner identifier.

12. The one or more non-transitory computer-readable storage media of claim 10 , wherein having the new block stored in the blockchain comprises sharing the new block with one or more other computing devices hosting the blockchain.

13. The one or more non-transitory computer-readable storage media of claim 10 , wherein updating the hashed value by hashing the updated nonce comprises hashing a combination of the block of data and the updated nonce.

14. The one or more non-transitory computer-readable storage media of claim 10 , wherein the steps further comprise:

counting a number of times a hashed value is determined; and

every predetermined number of times a hashed value is determined, saving interim results from the hashing.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the interim results from the hashing is an updated hashed value that does not meet the proof of work criteria.

16. The one or more non-transitory computer-readable storage media of claim 10 , wherein the steps further comprise:

receiving a first block from another computing device from one or more other computing devices;

randomly selecting a subset of interim results included in the first block;

validating the subset of interim results; and

reporting results of the validation to each of one or more other computing devices; and

adding the first block to the blockchain based on reaching a consensus with the one or more other computing devices that the new block should be added to the blockchain.

17. A computing device comprising:

one or more memories storing an application; and

one or more processors coupled to the one or more memories and, when executing the application perform steps comprising:

receiving a block of data for inclusion in a new block of a blockchain;

deterministically determining an initial nonce;

hashing a combination of the block of data and the initial nonce to create a hashed value;

iteratively deterministically determining an updated nonce based on the hashed value and updating the hashed value by hashing the updated nonce until the updated hashed value satisfies a proof of work criteria;

creating the new block based on the block of data and the updated hashed value that satisfies the proof of work criteria; and

storing the new block in the blockchain.

18. The computing device of claim 17 , wherein iteratively determining the updated nonce is performed when the one or more processors are otherwise idle.

19. The computing device of claim 17 , wherein the steps further comprise displaying, on a user interface, information indicating progress toward determining the updated hashed value that satisfies the proof of work criteria.

20. The computing device of claim 17 , wherein:

the steps are performed based on activity in another application; and

the steps further comprise receiving a reward from the another application in response to determining the updated hashed value that satisfies the proof of work criteria.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2021
From: MYDREAM INTERACTIVE
To: MYDREAM INTERACTIVE, INC.
Reel/Frame 056536/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2021
From: LEKER, ANDREW JONATHAN; BIRDER, MATTHEW DREW; HUYNH, ALLISON PHUONG; WALLACE, MARK THOMAS
To: MYDREAM INTERACTIVE
Reel/Frame 056520/0226 →
Continuity (3)
Continuation 16102643 · Aug 13, 2018
Provisional Application 62636075 · Feb 27, 2018
Related Publication 20210266144A1 · Aug 26, 2021
Cited By (1)
US 12,200,108