IP Library Granted Patent US 10,992,649
Granted Patent B2
US 10,992,649 · App. 15/903,159 · Granted Apr 27, 2021

Systems and methods for privacy in distributed ledger transactions

Inventors: Tyrone Lobban (London, GB); Patrick Mylund Nielsen (Brooklyn, NY); Amber Baldet (Brooklyn, NY); Samer Falah (Staten Island, NY)
Assignee: ConsenSys Software Inc.
H04L63/0435H04L9/0825H04L9/3236H04L9/3239H04L63/0442H04L63/061H04L63/101H04L63/123H04L9/0637H04L2209/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,992,649
App. No.
15/903,159
Granted
Apr 27, 2021
Kind
B2
Abstract

Systems and methods for privacy in distributed ledger transactions are disclosed. In one embodiment, in an information processing apparatus comprising at least one computer processor for a first node in a computer network comprising a plurality of nodes, a method for generating a key directory in a network comprising a plurality of nodes may include: (1) advertising a public key for a first node to the other nodes; (2) receiving public key information from each of the plurality of nodes; and (3) generating a public key directory that associates each node in the computer network with its public key.

Claims (55)

1. A method for generating a key directory in a network comprising a plurality of nodes, comprising:

in a blockchain-based distributed computing platform comprising at least one computer processor for a first node in a computer network comprising a plurality of nodes:

advertising, by the first node, a public key for the first node to the other nodes among the plurality of nodes;

receiving, by the first node, public key information from each of the other nodes;

generating, by the first node, a public key directory that associates each of the other nodes in the computer network with its public key; and

maintaining a full copy of a distributed ledger across the plurality of nodes, wherein:

the full copy of the distributed ledger contains both encrypted and unencrypted payloads, and each of the encrypted payloads was encrypted based on a public key stored in the public key directory;

the full copy of the distributed ledger includes contracts involving a first plurality of nodes;

the full copy of the distributed ledger is segmented across the plurality of nodes; and

the plurality of nodes maintain a public state and private state of the contracts involving the plurality of nodes.

2. The method of claim 1 , further comprising:

retrieving a second public key directory from a second node of the plurality of nodes; and

updating the public key directory based on the second public key directory.

3. The method of claim 2 , wherein the second public key directory is received periodically.

4. The method of claim 2 , wherein the second public key directory is received when the first node is restarted.

5. The method of claim 2 , wherein the second public key directory is received when a new node is discovered on the computer network.

6. The method of claim 1 , wherein the public key directory is stored to persistent media.

7. The method of claim 1 , wherein the public key is advertised using an API.

8. The method of claim 1 , further comprising:

sending a message to a second node in the computer network using a public key for the second node.

9. A system for generating a key directory in a network comprising a plurality of nodes, comprising:

a distributed ledger network comprising a plurality of nodes, each node associated with a public key and a private key;

wherein a computer processor for a first node of the plurality of nodes;

advertises a first node public key to the other nodes;

receives public key information from each of the plurality of nodes;

generates a public key directory that associates each node in the distributed ledger network with its public key; and

maintains a full copy of a distributed ledger across the plurality of nodes;

wherein the full copy of the distributed ledger contains both encrypted and unencrypted Payloads, and each of the encrypted Payloads was encrypted based on a public key stored in the public key directory;

wherein the full copy of the distributed ledger includes contracts involving a first plurality of nodes;

wherein the full copy of the distributed ledger is segmented across the plurality of nodes; and

wherein the plurality of nodes maintain a public state and private state of the contracts involving the plurality of nodes.

10. The system of claim 9 , wherein:

the computer processor for the first node retrieves a second public key directory from a second node of the plurality of nodes; and

the computer processor for the first node updates the public key directory based on the second public key directory.

11. The system of claim 10 , wherein the second public key directory is received periodically.

12. The system of claim 10 , wherein the second public key directory is received when the first node is restarted.

13. The system of claim 10 , wherein the second public key directory is received when a new node is discovered on the distributed ledger network.

14. The system of claim 9 , wherein the public key directory is stored to persistent media.

15. The system of claim 9 , wherein the public key is advertised using an API.

16. The system of claim 9 , wherein the computer processor for the first node sends a message to a second node in the distributed ledger network using a public key for the second node.

17. A computer-implemented method for generating a key directory in a distributed ledger network comprising a plurality of nodes, the method comprising:

in the distributed ledger network:

advertising, by a first node, a first public key for the first node to a second node and a third node in the distributed ledger network;

receiving, by the first node, a second public key from the second node;

receiving, by the first node, a third public key from the third node;

generating, by the first node, a public key directory that associates the first node with the first public key, associates the second node with the second public key, and associates the third node with the third public key; and

maintaining a full copy of a distributed ledger across the plurality of nodes, wherein:

the full copy of the distributed ledger contains both encrypted and unencrypted payloads, and each of the encrypted Payloads was encrypted based on a public key stored in the public key directory;

the full copy of the distributed ledger includes contracts involving a first plurality of nodes;

the full copy of the distributed ledger is segmented across the plurality of nodes; and

the plurality of nodes maintains a public state and private state of the contracts involving the plurality of nodes.

18. The method of claim 17 , further comprising:

synchronizing, by the first node, the public key directory with a public key directory stored in the second node and a public key directory stored in the third node.

19. The method of claim 1 , wherein a first transaction of the encrypted payloads is stored as a hash digest with a payload of the first transaction stored off-chain in a local database.

20. The system of claim 9 , wherein a first transaction of the encrypted payloads is stored as a hash digest with a payload of the first transaction stored off-chain in a local database.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2021
From: JP MORGAN CHASE BANK, N.A.
To: CONSENSYS SOFTWARE INC.
Reel/Frame 055558/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: LOBBAN, TYRONE; NIELSEN, PATRICK MYLUND; BALDET, AMBER; FALAH, SAMER
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 047116/0773 →
Continuity (3)
Continuation In Part 15475846 · Mar 31, 2017
Provisional Application 62316841 · Apr 1, 2016
Related Publication 20180183768A1 · Jun 28, 2018
Cited By (4)
US 12,223,517 US 12,512,963 US 12,585,737 US 12,646,081