IP Library Granted Patent US 11,863,305
Granted Patent B2
US 11,863,305 · App. 17/751,864 · Granted Jan 2, 2024

RAM hashing in blockchain environments

Inventor: Paul Snow (Austin, TX)
Assignee: Inveniam Capital Partners, Inc.
H04L9/0637A61B1/018A61B1/273A61J1/05A61J1/06A61K49/006A61L24/001A61L24/046A61L31/06A61M5/007A61M5/178A61M5/329A61M39/10G06F12/0815G06F16/2379G06F16/2465G06F21/602H04L9/0643H04L9/0869H04L9/3218H04L9/3236H04L9/3239A61L2300/442A61L2400/06G06F2212/1016G06F2216/03H04L9/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,863,305
App. No.
17/751,864
Granted
Jan 2, 2024
Kind
B2
Abstract

Blockchain environments may mix-and-match different encryption, difficulty, and/or proof-of-work schemes when mining blockchain transactions. Each encryption, difficulty, and/or proof-of-work scheme may be separate, stand-alone programs, files, or third-party services. Blockchain miners may be agnostic to a particular coin's or network's encryption, difficulty, and/or proof-of-work schemes, thus allowing any blockchain miner to process or mine data in multiple blockchains. GPUs, ASICs, and other specialized processing hardware components may be deterred by forcing cache misses, cache latencies, and processor stalls. Hashing, difficulty, and/or proof-of-work schemes require less programming code, consume less storage space/usage in bytes, and execute faster. Blockchain mining schemes may further randomize byte or memory block access, further improve cryptographic security.

Claims (56)

1. A method by a miner system in a blockchain environment, the miner system including (i) a database table including a set of randomly distributed table entries, and (ii) a hardware processor including a cache memory that is smaller in size than the database table, the method comprising the steps of:

(A) receiving a blockchain transaction data; and

(B) performing a proof-of-work algorithm comprising:

(i) obtaining a nonce;

(ii) using a hashing algorithm, generating a hash value based on the received blockchain transaction data and on the obtained nonce;

(iii) identifying a location in the database table corresponding to a random value;

(iv) obtaining a table entry at the identified location;

(v) generating a randomized hash value using the obtained table entry; and

(vi) producing a proof-of-work output if the generated randomized hash value meets a predetermined criterion;

wherein a time delay in arriving at the proof-of-work output is based mostly on the hardware processor incurring an at least one cache miss.

2. The method of claim 1 , wherein the step of performing a proof-or-work algorithm comprises repeating steps (B)(iii) through (B)(v) a predetermined number of additional cycles prior to executing step (B)(vi), and wherein the generated randomized hash value used in step (B)(vi) is the randomized hash value that is generated during step (B)(v) of the last cycle of the predetermined number of additional cycles.

3. The method of claim 2 , wherein the random value in step (B)(iii) of an initial cycle is determined using the generated hash value, and wherein the random value in step (B)(iii) of each additional cycle is determined using an at least one of:

(a) the randomized hash value generated during the immediately prior cycle; and

(b) the location, in the database table, identified during the immediately prior cycle.

4. The method of claim 2 , further comprising repeating steps B(i) through (B)(v) if the generated randomized hash value does not meet the predetermined criterion in step (B)(vi).

5. The method of claim 1 , wherein the hashing algorithm comprises a SHA-256 encryption algorithm.

6. The method of claim 1 , wherein step (B)(vi) comprises calculating the predetermined criterion using a difficulty algorithm.

7. The method of claim 1 , wherein step (B)(v) comprises a bit manipulation operation.

8. A miner system associated with a blockchain environment, the miner system comprising a database table including a set of randomly distributed table entries and

a hardware processor with a cache memory that is smaller in size than the database table,

the miner system storing instructions that, when executed by the hardware processor, perform operations comprising:

(A) receiving a blockchain transaction data; and

(B) performing a proof-of-work algorithm comprising:

(i) obtaining a nonce;

(ii) using a hashing algorithm, generating a hash value based on the received blockchain transaction data and on the obtained nonce;

(iii) identifying a location in the database table corresponding to a random value;

(iv) obtaining a table entry at the identified location;

(v) generating a randomized hash value using the obtained table entry; and

(vi) generating a proof-of-work output if the generated randomized hash value meets a predetermined criterion;

wherein a time delay in arriving at the proof-of-work output is based mostly on the hardware processor incurring an at least one cache miss.

9. The miner system of claim 8 , further comprising instructions repeating operations (B)(iii) through (B)(v) for a predetermined number of additional cycles prior to operation (B)(vi), and wherein the generated randomized hash value used in operation (B)(vi) is the randomized hash value that is generated during operation (B)(v) of the last cycle of the predetermined number of additional cycles.

10. The miner system of claim 9 , wherein the random value in operation (B)(iii) of an initial cycle is determined using the generated hash value, and wherein the random value in operation (B)(iii) of each additional cycle is determined using an at least one of:

(a) the randomized hash value generated during the immediately prior cycle; and

(b) the location, in the database table identified during the immediately prior cycle.

11. The miner system of claim 9 , further comprising instructions repeating operations B(i) through (B)(v) if the generated randomized hash value does not meet the predetermined criterion in operation (B)(vi).

12. The miner system of claim 8 , wherein the hashing algorithm comprises a SHA-256 encryption algorithm.

13. The miner system of claim 8 , wherein operation (B)(vi) comprises calculating the predetermined criterion using a difficulty algorithm.

14. The miner system of claim 8 , wherein operation (B)(v) comprises a bit manipulation operation.

15. A memory structure comprising (i) a cache memory in a hardware processor and (ii) a non-cache memory, the memory structure storing instructions that, when executed by the hardware processor, perform operations that mine a blockchain block associated with a blockchain environment, the operations comprising:

(A) receiving a blockchain transaction data; and

(B) performing a proof-of-work algorithm comprising:

(i) obtaining a nonce;

(ii) using a hashing algorithm, generating a hash value based on the received blockchain transaction data and on the obtained nonce;

(iii) identifying a location in a database table corresponding to a random value, the database table being larger in size than the cache memory and comprising a set of randomly distributed table entries;

(iv) obtaining a table entry at the identified location;

(v) generating a randomized hash value using the obtained table entry; and

(vi) generating a proof-of-work output if the generated randomized hash value meets a predetermined criterion;

wherein a time delay in arriving at the proof-of-work output is based mostly on the hardware processor incurring an at least one cache miss.

16. The memory structure of claim 15 , further comprising instructions repeating operations (B)(iii) through (B)(v) for a predetermined number of additional cycles prior to operation (B)(vi), and wherein the generated randomized hash value used in operation (B)(vi) is the randomized hash value that is generated during operation (B)(v) of the last cycle of the predetermined number of additional cycles.

17. The memory structure of claim 16 , wherein the random value in operation (B)(iii) of an initial cycle is determined using the generated hash value, and wherein the random value in operation (B)(iii) of each additional cycle is determined using an at least one of:

(a) the randomized hash value generated during the immediately prior cycle; and

(b) the location, in the database table, identified during the immediately prior cycle.

18. The memory structure of claim 16 , further comprising instructions repeating operations B(i) through (B)(v) if the generated randomized hash value does not meet the predetermined criterion in operation (B)(vi).

19. The memory structure of claim 15 , wherein the hashing algorithm comprises a SHA-256 encryption algorithm.

20. The memory structure of claim 15 , wherein operation (B)(vi) comprises calculating the predetermined criterion using a difficulty algorithm.

21. The memory structure of claim 15 , wherein operation (B)(v) comprises a bit manipulation operation.

Assignments (4)
AMENDMENT AND JOINDER TO SECURITY AGREEMENT Recorded Mar 29, 2025
From: INVENIAM CAPITAL PARTNERS INC
To: 1221 INVENIAM LLC; 1221 INVENIAM II LLC
Reel/Frame 070741/0157 →
SECURITY INTEREST Recorded Jun 27, 2024
From: INVENIAM CAPITAL PARTNERS, INC.
To: 1221 INVENIAM LLC
Reel/Frame 067932/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: SNOW, PAUL
To: FACTOM, INC.
Reel/Frame 060014/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: FACTOM, INC.
To: INVENIAM CAPITAL PARTNERS, INC.
Reel/Frame 060016/0217 →
Continuity (5)
Continuation 17037995 · Sep 30, 2020
Provisional Application 63061372 · Aug 5, 2020
Provisional Application 62963217 · Jan 20, 2020
Provisional Application 62962486 · Jan 17, 2020
Related Publication 20220286273A1 · Sep 8, 2022