IP Library Granted Patent US 10,063,379
Granted Patent B2
US 10,063,379 · App. 15/625,946 · Granted Aug 28, 2018

Distributed, centrally authored block chain network

Inventors: Sarthak Pattanaik (Bernardsville, NJ); Vadim Pertsovskiy (Chicago, IL)
Assignee: THE BANK OF NEW YORK MELLON
H04L9/3247H04L63/045H04L63/062G06Q20/401H04L9/006
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,063,379
App. No.
15/625,946
Granted
Aug 28, 2018
Kind
B2
Abstract

A central service provider manages and writes transaction details to a private block chain network. Blocks of transaction records written onto the block chain by the central service provider are distributed to members of the block chain, thereby enabling data resiliency and self-verifiability. As the full block chain is available to members of the block chain network, the central service provider also ensures the privacy of transaction details by providing an assembled header and encrypted block of transaction records that are generated using a combination of symmetric and asymmetric cryptographic techniques. Altogether, the full block chain network is distributed across members of the block chain, but the members can only access and read transaction details in the block chain that they are authorized to view.

Claims (38)

1. A method comprising:

generating, by a symmetric key generation module of a central service provider, a first symmetric key for a first party and a second symmetric key for a second party;

encrypting the first symmetric key using a public key assigned to the first party and the second symmetric key using a public key assigned to the second party;

generating a header comprising the encrypted first symmetric key and the encrypted second symmetric key;

receiving details for each of a plurality of transactions, a first subset of the plurality of transactions involving the first party and a second subset of the plurality of transactions involving the second party;

encrypting details of each of the transactions in the first subset using the first symmetric key generated for the first party;

encrypting details of each of the transactions in the second subset using the second symmetric key generated for the second party;

generating a block of transaction records for a time period corresponding to the received transactions, the block of transaction records comprising the encrypted details of transactions in the first subset and the encrypted details of transactions in the second subset; and

transmitting the header and the block of transaction records to a client device of the first party, the client device of the first party adapted to use the transmitted header to decrypt the encrypted details of the first subset of the plurality of transactions involving the first party in the block of transaction records and unable to use the transmitted header to decrypt the encrypted details of the second subset of the plurality of transactions involving the second party.

2. The method of claim 1 , further comprising transmitting the header and the block of transaction records to a client device of the second party, the client device of the second party adapted to use the transmitted header to decrypt the encrypted details of the second subset of the plurality of transactions involving the second party in the block of transaction records and unable to use the transmitted header to decrypt the encrypted details of the first subset of the plurality of transactions involving the first party.

3. The method of claim 1 , wherein the header further comprises:

an encrypted symmetric key for an external system generated by encrypting the first symmetric key for the first party using a public key of the external system.

4. The method of claim 3 , further comprising transmitting the header and the block of transaction records to the external system.

5. The method of claim 1 , wherein each transaction record in the block comprises an envelope comprising a digital signature.

6. The method of claim 1 , wherein each transaction record in the block further comprises a hash value identifying a previous transaction record in the block.

7. The method of claim 1 , wherein the symmetric key generated for the first party is valid for the time period of the block of transaction records.

8. The method of claim 1 , wherein the first subset of the plurality of transactions and the second subset of the plurality of transactions each comprise two or more transactions.

9. The method of claim 1 , wherein the generated header comprises N different sets of encrypted symmetric keys corresponding to encrypted details of transactions involving N different parties that are included in the block of transaction records, wherein each set of encrypted symmetric keys comprises one or more encrypted symmetric keys generated by encrypting a symmetric key for one of the N different parties.

10. The method of claim 9 , wherein a set of encrypted symmetric keys specific for a party comprises an encrypted symmetric key for an external system that is generated by encrypting a symmetric key for the party using a public key assigned to the external system, and wherein the external system is adapted to use encrypted symmetric keys for the external system across the N different sets of encrypted symmetric keys to decrypt encrypted details of transactions involving the N different parties included in the block of transaction records.

11. A non-transitory computer-readable medium comprising computer program code that, when executed by a processor of a computer system, causes the processor to:

generate, by a symmetric key generation module of a central service provider, a first symmetric key for a first party and a second symmetric key for a second party;

encrypt the first symmetric key using a public key assigned to the first party and the second symmetric key using a public key assigned to the second party;

generate a header comprising the encrypted first symmetric key and the encrypted second symmetric key;

receive details for each of a plurality of transactions, a first subset of the plurality of transactions involving the first party and a second subset of the plurality of transactions involving the second party;

encrypt details of each of the transactions in the first subset using the first symmetric key generated for the first party;

encrypt details of each of the transactions in the second subset using the second symmetric key generated for the second party;

generate a block of transaction records for a time period corresponding to the received transactions, the block of transaction records comprising the encrypted details of transactions in the first subset and the encrypted details of transactions in the second subset; and

transmit the header and the block of transaction records to a client device of the first party, the client device of the first party adapted to use the transmitted header to decrypt the encrypted details of the first subset of the plurality of transactions involving the first party in the block of transaction records and unable to use the transmitted header to decrypt the encrypted details of the second subset of the plurality of transactions involving the second party.

12. The non-transitory computer-readable medium of claim 11 , further comprising computer program code that, when executed by the processor of the computer system, causes the processor to transmit the header and the block of transaction records to a client device of the second party, the client device of the second party adapted to use the transmitted header to decrypt the encrypted details of the second subset of the plurality of transactions involving the second party in the block of transaction records and unable to use the transmitted header to decrypt the encrypted details of the first subset of the plurality of transactions involving the first party.

13. The non-transitory computer-readable medium of claim 11 , wherein the header further comprises:

an encrypted symmetric key for an external system generated by encrypting the first symmetric key for the first party using a public key of the external system.

14. The non-transitory computer-readable medium of claim 13 , further comprising computer program code that, when executed by the processor of the computer system, causes the processor to transmit the header and the block of transaction records to the external system.

15. The non-transitory computer-readable medium of claim 11 , wherein each transaction record in the block comprises an envelope comprising a digital signature.

16. The non-transitory computer-readable medium of claim 11 , wherein each transaction record in the block further comprises a hash value identifying a previous transaction record in the block.

17. The non-transitory computer-readable medium of claim 11 , wherein the symmetric key generated for the first party is valid for the time period of the block of transaction records.

18. The non-transitory computer readable medium of claim 11 , wherein the first subset of the plurality of transactions and the second subset of the plurality of transactions each comprise two or more transactions.

19. The non-transitory computer readable medium of claim 11 , wherein the generated header comprises N different sets of encrypted symmetric keys corresponding to encrypted details of transactions involving N different parties that are included in the block of transaction records, wherein each set of encrypted symmetric keys comprises one or more encrypted symmetric keys generated by encrypting a symmetric key for one of the N different parties.

20. The non-transitory computer readable medium of claim 19 , wherein a set of encrypted symmetric keys specific for a party comprises an encrypted symmetric key for an external system that is generated by encrypting a symmetric key for the party using a public key assigned to the external system, and wherein the external system is adapted to use encrypted symmetric keys for the external system across the N different sets of encrypted symmetric keys to decrypt encrypted details of transactions involving the N different parties included in the block of transaction records.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: PATTANAIK, SARTHAK; PERTSOVSKIY, VADIM
To: THE BANK OF NEW YORK MELLON
Reel/Frame 045926/0329 →
Continuity (2)
Provisional Application 62351059 · Jun 16, 2016
Related Publication 20170366357A1 · Dec 21, 2017
Cited By (2)
US 12,596,643 US 12,699,648