IP Library › Granted Patent US 12,200,108
Granted Patent B2
US 12,200,108 · App. 18/320,855 · Granted Jan 14, 2025

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 12,200,108
App. No.
18/320,855
Granted
Jan 14, 2025
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 a next nonce based on the hashed value and updating the hashed value by hashing a combination of the next nonce and the block of data 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

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 next nonce comprises hashing a combination of the block of data and the next 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 a next nonce based on the hashed value and updating the hashed value by hashing a combination of the next nonce and the block of data 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

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 next nonce comprises hashing a combination of the block of data and the next 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 a next nonce based on the hashed value and updating the hashed value by hashing a combination of the next nonce and the block of data 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

having the new block stored in the blockchain.

18. The computing device of claim 17 , wherein iteratively determining the next 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 20, 2023
From: MYDREAM INTERACTIVE
To: MYDREAM INTERACTIVE, INC.
Reel/Frame 063995/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2023
From: LEKER, ANDREW JONATHAN; BIRDER, MATTHEW DREW; HUYNH, ALLISON PHUONG; WALLACE, MARK THOMAS
To: MYDREAM INTERACTIVE
Reel/Frame 063709/0062 →
Continuity (4)
Continuation 17317407 · May 11, 2021
Continuation 16102643 · Aug 13, 2018
Provisional Application 62636075 · Feb 27, 2018
Related Publication 20230412359A1 · Dec 21, 2023
References Cited (16)
US 10340038B2 · Witchey · 2019 [cited by examiner]
US 11038669B2 · Leker · 2021 [cited by examiner]
US 11190520B2 · Mercuri · 2021 [cited by examiner]
US 11658804B2 · Leker · 2023 [cited by examiner]
US 20150332283A1 · Witchey · 2015 [cited by examiner]
US 20160261690A1 · Ford · 2016 [cited by applicant]
US 20170005804A1 · Zinder · 2017 [cited by applicant]
US 20170085545A1 · Lohe et al. · 2017 [cited by applicant]
US 20170272416A1 · Erickson et al. · 2017 [cited by applicant]
US 20180115425A1 · Dechu · 2018 [cited by examiner]
US 20190108498A1 · Deshpande et al. · 2019 [cited by applicant]
US 20190268142A1 · Leker · 2019 [cited by examiner]
US 20200044854A1 · Hsueh · 2020 [cited by applicant]
US 20200076603A1 · Li · 2020 [cited by examiner]
CN 106452785A · 2017 [cited by applicant]
Mahmoody et al., “Publicly Verifiable Proofs of Sequential Work”, Proceedings of the 4th conference of Innovations in Theoretical Computer Science, Jan. 9-12, 2013, pp. 373-388. [cited by applicant]