IP Library › Granted Patent US 10,462,213
Granted Patent B2
US 10,462,213 · App. 15/599,035 · Granted Oct 29, 2019

Block chain encoding with fair delay for distributed network devices

Inventors: Yair Frankel (Westfield, NJ); Abdul Rafman Azeez (Watchung, NJ); Jisoo Lee (Chesterfield, NJ); Joerg Schneider (Hoboken, NJ); Boulos M. Dib (New York, NY)
Assignee: Bank of America Corporation
H04L67/10H04L9/085H04L9/3093H04L9/3239H04L63/0428H04L63/123H04L67/20H04L2209/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 10,462,213
App. No.
15/599,035
Granted
Oct 29, 2019
Kind
B2
Abstract

A system that includes a first network node configured to store a first ledger, a second network node configured to store a second ledger, and a third network node. The third network node includes a transformation engine configured to generate a plurality of shares derived using a data entry, which includes setting a share quantity indicating the number of shares to generate and setting a threshold value indicating the number of shares from the share quantity needed to determine the data entry. The transformation engine generates a first share for the first ledger and a second share for the second ledger using a polynomial function. The transformation engine includes enriched data with information indicating when to publish the first share and the second share. The transformation engine transmits the first enriched share to the first network node and transmit the second enriched share to the second network node.

Claims (100)

1. A system comprising:

a first network node wherein the first network node is configured to store a first ledger comprising a first data block and a second data block, wherein the second data block comprises information derived from the first data block;

a second network node wherein the second network node is configured to store a second ledger comprising a third data block and a fourth data block, wherein:

the third data block is identical to the first data block; and

the fourth data block is identical to the second data block; and

a third network node comprising:

a hardware processor configured to:

receive a data entry;

generate a plurality of shares derived using the data entry, wherein generating the plurality of shares comprises:

setting a share quantity indicating the number of shares to generate;

setting a threshold value indicating the number of shares from the share quantity needed to determine the data entry;

assigning a first reference number to the first ledger;

assigning a second reference number to the second ledger;

generating a first share for the first ledger by inputting the first reference number assigned to first ledger into a polynomial function, wherein:

 the degree of the polynomial function is equal to the threshold value minus one; and

 the result of the polynomial function at zero is the data entry; and

generating a second share for the second ledger by inputting the second reference number assigned to the second ledger into the polynomial function;

aggregate the first share with enriched data to generate a first enriched share, wherein:

the enriched data comprises information indicating a first time to publish the first enriched share in the first ledger of the first network node; and

the enriched data comprises an index referencing the data entry;

aggregate the second share with the enriched data to generate a second enriched share, wherein:

the enriched data comprises information indicating a second time to publish the second enriched share in the second ledger of the second network node;

the first time and the second time are the same; and

the enriched data comprises the index referencing the data entry;

transmit the first enriched share to the first network node; and

transmit the second enriched share to the second network node.

2. The system of claim 1 , wherein the hardware processor is configured to:

encrypt a message using an encryption key, and

transmit the encrypted message to the first network node and the second network node, wherein the data entry is the encryption key.

3. The system of claim 1 , wherein publishing the first enriched share and the second enriched share makes the first enriched share and the second enriched share visible to one or more other network nodes.

4. The system of claim 1 , wherein the first time and the second time are a wait time.

5. The system of claim 1 , wherein the enriched data comprises information indicating a third time for the first network node and the second network node to make the first enriched share and the second enriched share no longer visible to the one or more other network nodes.

6. The system of claim 1 , wherein the hardware processor is configured to encrypt the data entry using a public encryption key prior to generating the plurality of shares.

7. The system of claim 1 , wherein the hardware processor is configured to generate the polynomial function.

8. A device comprising:

a network interface configured to communicate data with a network comprising a first network node and a second network node, wherein:

the first network node is configured to store a first ledger comprising a first data block and second data block, wherein the second block comprises information derived from the first block;

the second network node is configured to store a second ledger comprising a third data block and a fourth data block, wherein:

the third data block is identical to the first data block; and

the fourth data block is identical to the second data block; and

a hardware processor operably coupled to the network interface, and configured to:

receive a data entry;

generate a plurality of shares derived using the data entry, wherein generating the plurality of shares comprises:

setting a share quantity indicating the number of shares to generate;

setting a threshold value indicating the number of shares from the share quantity needed to determine the data entry;

assigning a first reference number to the first ledger;

assigning a second reference number to the second ledger;

generating a first share for the first ledger by inputting the first reference number assigned to first ledger into a polynomial function, wherein:

the degree of the polynomial function is equal to the threshold value minus one; and

the result of the polynomial function at zero is the data entry; and

generating a second share for the second ledger by inputting the second reference number assigned to the second ledger into the polynomial function;

aggregate the first share with enriched data to generate a first enriched share, wherein:

the enriched data comprises information indicating a first time to publish the first enriched share in the first ledger of the first network node; and

the enriched data comprises an index referencing the data entry;

aggregate the second share with the enriched data to generate a second enriched share, wherein:

the enriched data comprises information indicating a second time to publish the second enriched share in the second ledger of the second network node;

the first time and the second time are the same; and

the enriched data comprises the index referencing the data entry;

transmit the first enriched share to the first network node; and

transmit the second enriched share to the second network node.

9. The device of claim 8 , wherein the hardware processor is configured to:

encrypt a message using an encryption key, and

transmit the encrypted message to the first network node and the second network node, wherein the data entry is the encryption key.

10. The device of claim 8 , wherein publishing the first enriched share and the second enriched share makes the first enriched share and the second enriched share visible to one or more other network nodes.

11. The device of claim 8 , wherein the first time and the second time are a wait time.

12. The device of claim 8 , wherein the enriched data comprises information indicating a third time for the first network node and the second network node to make the first enriched share and the second enriched share no longer visible to the one or more other network nodes.

13. The device of claim 8 , wherein the hardware processor is configured to encrypt the data entry using a public encryption key prior to generating the plurality of shares.

14. A method comprising:

receiving a data entry;

generating a plurality of shares derived using the data entry, wherein generating the plurality of shares comprises:

setting a share quantity indicating the number of shares to generate;

setting a threshold value indicating the number of shares from the share quantity needed to determine the data entry;

assigning a first reference number to a first ledger;

assigning a second reference number to a second ledger;

generating a first share for the first ledger by inputting the first reference number assigned to the first ledger into a polynomial function, wherein:

the degree of the polynomial function is equal to the threshold value minus one; and

the result of the polynomial function at zero is the data entry; and

generating a second share for the second ledger by inputting the second reference number assigned to the second ledger into the polynomial function;

aggregating the first share with enriched data to generate a first enriched share, wherein:

the enriched data comprises information indicating a first time to publish the first enriched share in the first ledger of the first network node;

the enriched data comprises an index referencing the data entry;

aggregating the second share with the enriched data to generate a second enriched share, wherein:

the enriched data comprises information indicating a second time to publish the second enriched share in the second ledger of the second network node;

the first time and the second time are the same; and

the enriched data comprises the index referencing the data entry;

transmitting the first enriched share to a first network node; and

transmitting the second enriched share to a second network node.

15. The method of claim 14 , wherein:

the first network node is configured to store the first ledger comprising a first data block and a second data block, wherein the second data block comprises information derived from the first data block,

the second network node is configured to store the second ledger comprising a third data block and a fourth data block,

the third data block is identical to the first data block, and

the fourth data block is identical to the second data block.

16. The method of claim 14 , further comprising:

encrypting a message using an encryption key, and

transmitting the encrypted message to the first network node and the second network node,

wherein the data entry is the encryption key.

17. The method of claim 14 , wherein publishing the first enriched share and the second enriched share makes the first enriched share and the second enriched share visible to one or more other nodes.

18. The method of claim 14 , wherein the first time and the second time are a wait time.

19. The method of claim 14 , wherein the enriched data comprises information indicating a third time for the first network node and the second network node to make the first enriched share and the second enriched share no longer visible to the one or more other nodes.

20. The method of claim 14 , further comprising encrypting the data entry using a public key prior to generating the plurality of shares.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2017
From: FRANKEL, YAIR; AZEEZ, ABDUL RAFMAN; LEE, JISOO; SCHNEIDER, JOERG; DIB, BOULOS M.
To: BANK OF AMERICA CORPORATION
Reel/Frame 042429/0502 →
Continuity (1)
Related Publication 20180337781A1 · Nov 22, 2018