IP Library › Granted Patent US 11,601,408
Granted Patent B2
US 11,601,408 · App. 16/994,570 · Granted Mar 7, 2023

Systems and methods for providing data privacy in a private distributed ledger

Inventors: David Voell (Little Silver, NJ); Samer Falah (Staten Island, NY); Patrick Mylund Nielsen (Brooklyn, NY); Felix Shnir (Staten Island, NY); Chetan Sarva (Rego Park, NY); Gene D. Fernandez (Holmdel, NJ)
Assignee: JPMORGAN CHASE BANK, N.A.
H04L63/0435H04L9/0825H04L9/14H04L9/3236H04L9/3239H04L9/3247H04L63/045H04L63/0428H04L63/061H04L63/123H04L9/50H04L2209/56
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,601,408
App. No.
16/994,570
Granted
Mar 7, 2023
Kind
B2
Abstract

Systems and methods for providing data privacy in a private distributed ledger are disclosed. According to another embodiment a distributed ledger network may include a first node comprising a first node computer processor and hosting a central ledger comprising a plurality of entries for public transactions and private transactions, wherein the entries for public transactions comprise transaction payloads for the respective public transaction, and the entries for private transactions comprise a cryptographic hash digest of a transaction payload for the respective private transaction; and a plurality of second nodes each comprising a second node computer processor and hosting a public database comprising the public transactions, and a private database comprising transaction payloads for the private transactions to which the node is a party.

Claims (36)

1. A method for providing data privacy in a private distributed ledger, comprising:

receiving, by a node in a distributed ledger network, a block comprising a first transaction and a second transaction;

determining, by a node computer processor, that the first transaction is a private transaction;

communicating, by the node computer processor, a node public key and a transaction hash digest for the first transaction to a transaction key manager for the node;

receiving, by the node computer processor, an encrypted transaction payload for the first transaction;

decrypting, by the node computer processor, the encrypted transaction payload, the transaction payload comprising contract code associated with the first transaction;

executing, by the node computer processor, the contract code associated with the first transaction;

determining, by the node computer processor, that the node is not a party to the second transaction; and

skipping, by the node computer processor, execution of contract code associated with the second transaction;

wherein the node computer processor determines that the first transaction or second transaction is a private transaction based on a flag in a body of the first or second transaction.

2. The method of claim 1 , further comprising:

communicating, by the node computer processor, a node public key and a transaction hash digest for the second transaction to a transaction key manager for the node; and

receiving, by the node computer processor, an indication that the node is not a party to the second transaction in response to the node not being a party to the second transaction.

3. The method of claim 1 , further comprising:

validating, by the node computer processor, the block.

4. The method of claim 3 , wherein the step of validating the block comprises validation of a public state, wherein each node has a different private state.

5. The method of claim 1 , wherein the distributed ledger comprises private transactions and public transactions,

wherein the private transactions and the public transactions are visible and cryptographically immutable.

6. A method for providing data privacy in a private distributed ledger, comprising:

receiving, by a node in a distributed ledger network, a block comprising a first transaction and a second transaction written to the distributed ledger;

determining, by a node computer processor, that the first transaction is a private transaction;

communicating, by the node computer processor, a node public key and a transaction hash digest for the first transaction to a transaction key manager for the node;

receiving, by the node computer processor, an encrypted transaction payload for the first transaction;

decrypting, by the node computer processor, the encrypted transaction payload, the transaction payload comprising contract code associated with the first transaction;

executing, by the node computer processor, the contract code associated with the first transaction;

determining, by the node computer processor, that the node is not a party to the second transaction; and

skipping, by the node computer processor, execution of contract code associated with the second transaction;

wherein the node computer processor determines that the first transaction or second transaction is a private transaction based on a sentinel byte associated with first or second transaction.

7. The method of claim 6 , further comprising:

communicating, by the node computer processor, a node public key and a transaction hash digest for the second transaction to a transaction key manager for the node; and

receiving, by the node computer processor, an indication that the node is not a party to the second transaction in response to the node not being a party to the second transaction.

8. The method of claim 6 , further comprising:

validating, by the node computer processor, the block.

9. The method of claim 8 , wherein the step of validating the block comprises validation of a public state, wherein each node has a different private state.

10. The method of claim 6 , wherein the distributed ledger comprises private transactions and public transactions,

wherein the private transactions and the public transactions are visible and cryptographically immutable.

Continuity (3)
Division 15475846 · Mar 31, 2017
Provisional Application 62316841 · Apr 1, 2016
Related Publication 20200382478A1 · Dec 3, 2020