IP Library Granted Patent US 10,097,356
Granted Patent B2
US 10,097,356 · App. 15/200,756 · Granted Oct 9, 2018

Systems and methods of secure provenance for distributed transaction databases

Inventor: Alex Zinder (New York, NY)
Assignee: NASDAQ, INC.
H04L9/3247G06F17/30309G06F21/6254H04L9/3239H04L63/123G06F2221/2101H04L2209/38H04L2209/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 10,097,356
App. No.
15/200,756
Filed
Jul 1, 2016
Granted
Oct 9, 2018
Kind
B2
Art Unit
2436
USPC
713/176
Abstract

An electronic resource tracking and storage computer system is provided that communicates with a distributed blockchain computing system that includes multiple computing nodes. The system includes a storage system, a transceiver, and a processing system. The storage system includes an resource repository and transaction repository that stores submitted blockchain transactions. A new resource issuance request is received, and a new resource is added to the resource repository in response. A new blockchain transaction is generated and published to the blockchain. In correspondence with publishing to the blockchain, the transaction storage is updated with information that makes up the blockchain transaction and some information that was not included as part of the blockchain transaction. The transaction storage is updated when the blockchain is determined to have validated the previously submitted blockchain transaction.

Claims (72)

1. An electronic resource tracking and storage computer system that is configured to communicate with a distributed blockchain computing system that includes multiple computing nodes, each computing node storing a copy of the blockchain of the distributed blockchain computing system, the electronic resource tracking and storage computer system comprising:

a computer storage system configured to store:

a plurality of blockchain participant identifiers that are each associated with at least one private key, each of the plurality of blockchain participant identifiers associated with a corresponding one of plural different participants;

a resource repository that includes a plurality of blockchain resource identifiers, wherein each of the plurality of blockchain resource identifiers identifies a corresponding resource that is tracked on the blockchain, and each of the plurality of blockchain resource identifiers is associated with at least one resource private key;

a transaction repository that includes a plurality of blockchain transaction identifiers that correspond to blockchain transactions submitted to the distributed blockchain computing system;

a transceiver configured to receive, from remote computing devices, electronic data messages that each include at least one data transaction request, where a first electronic data message of the electronic data messages includes a digital resource issuance request;

a processing system that includes at least one hardware processor coupled to the computer storage system and the transceiver, the processing system configured to:

receive, via the transceiver, the digital resource issuance request for issuance of a new resource for a first participant of the plural different participants;

in response to reception of the digital resource issuance request, create and add, to the resource repository, a new digital resource identifier, the new digital resource identifier identifying the new resource and the new digital resource identifier being associated with a corresponding private key;

generate a blockchain transaction that is to a participant blockchain identifier of the first participant, the generated blockchain transaction including the new digital resource identifier and a quantity value for the new resource that is identified by the new digital resource identifier;

sign the generated blockchain transaction with the private key that is associated with the new digital resource identifier;

publish the generated blockchain transaction to the distributed blockchain computing system for validation thereby;

in correspondence with publishing the generated blockchain transaction to the distributed blockchain computing system, create and add, to the transaction repository, a new transaction record that includes at least some of the data included in the generated blockchain transaction and additional transaction data that was not included in the generated blockchain transaction;

determine that the blockchain has validated the submitted blockchain transaction; and

responsive to the validation, update the new transaction record to indicate that the generated transaction has been validated by the blockchain.

2. The electronic resource tracking and storage computer system of claim 1 , wherein the participant blockchain identifier is plural different participant blockchain identifiers with outputs for the generated transaction associated with respective ones of the plural different participant blockchain identifiers.

3. The electronic resource tracking and storage computer system of claim 1 , wherein the processing system is further configured to:

begin a first process, during which participants submit data transaction requests to send or receive amounts of the resource that is associated with the new digital resource identifier;

close the first process to reception of data transaction requests from the participants;

generate a single blockchain transaction that includes inputs that correspond to source participant blockchain identifiers and outputs that correspond to destination participant blockchain identifiers; and

publish the single blockchain transaction to the distributed blockchain computing system for validation thereby.

4. The electronic resource tracking and storage computer system of claim 3 , wherein the outputs also include source participant blockchain identifiers for unspent amounts of the resource.

5. The electronic resource tracking and storage computer system of claim 1 , wherein the generated blockchain transaction includes a hash value of the additional transaction data.

6. The electronic resource tracking and storage computer system of claim 1 , wherein the generated blockchain transaction is also signed by another private key.

7. The electronic resource tracking and storage computer system of claim 6 , wherein the another private key is associated with the electronic resource tracking and storage computer system.

8. The electronic resource tracking and storage computer system of claim 1 , wherein the processing system is further configured to:

receive a resource allocation request that identifies at least a second participant that will be allocated at least a portion of the quantity value that is an unspent output of the generated blockchain transaction; and

generate a second blockchain transaction that includes data from the output of the generated blockchain transaction as an input for the second blockchain transaction, and the portion of the quantity value and the a second participant blockchain identifier that is associated with the second participant as outputs for the second blockchain transaction;

publish the second generated blockchain transaction to the distributed blockchain computing system for validation thereby;

in correspondence with publishing the second generated blockchain transaction to the distributed blockchain computing system, create and add, to the transaction repository, a second transaction record that includes at least some of the data included in the second generated blockchain transaction and additional transaction data that was not included in the second generated blockchain transaction.

9. The electronic resource tracking and storage computer system of claim 1 , further comprising:

the distributed blockchain computing system, where the blockchain is a private blockchain.

10. The electronic resource tracking and storage computer system of claim 1 , wherein the corresponding private key is unique, among other keys associated with other digital resource identifiers, to the created new digital resource identifier.

11. A method of electronic resource tracking using an electronic resource tracking and storage computer system that is configured to communicate with a distributed blockchain computing system that includes multiple computing nodes, each computing node storing a copy of the blockchain of the distributed blockchain computing system, the electronic resource tracking and storage computer system storing (a) a plurality of blockchain participant identifiers that are each associated with at least one private key, each of the plurality of blockchain participant identifiers associated with a corresponding one of plural different participants, (b) a resource repository that includes a plurality of blockchain resource identifiers that are each associated with at least one resource private key, each of the plurality of blockchain resource identifiers being for a corresponding resource that is tracked on the blockchain, and (c) a transaction repository that includes a plurality of blockchain transaction identifiers that correspond to blockchain transactions submitted to the distributed blockchain computing system, the method comprising:

receiving a resource issuance request for issuance of a new resource for a first participant of the plural different participants;

in response to reception of the resource issuance request, creating and adding, to the resource repository, a new digital resource identifier, the new digital resource identifier identifying the new resource and the new digital resource identifier being associated with a corresponding private key;

generating a blockchain transaction that is to a participant blockchain identifier of the first participant, the generated blockchain transaction including the new blockchain resource identifier and a quantity value for the new resource that is identified by the new digital resource identifier;

digitally signing the generated blockchain transaction with the private key that is associated with the new digital resource identifier;

publish the generated blockchain transaction to the distributed blockchain computing system for validation thereby;

in correspondence with publishing the generated blockchain transaction to the distributed blockchain computing system, creating and adding, to the transaction repository, a new transaction record that includes at least some of the data included in the generated blockchain transaction and additional transaction data that was not included in the generated blockchain transaction;

determining that the blockchain has validated the submitted blockchain transaction; and

responsive to the validation, updating the new transaction record to indicate that the generated transaction has been validated by the blockchain.

12. The method of claim 11 , further comprising:

beginning a first process, during which participants submit data transaction requests to send or receive amounts of the resource that is associated with the new digital resource identifier;

closing the first process to reception of data transaction requests from the participants;

generating a single blockchain transaction that includes inputs that correspond to source participant identifiers and outputs that correspond to destination participant identifiers; and

publishing the single blockchain transaction to the distributed blockchain computing system for validation thereby.

13. The method of claim 11 , wherein the generated blockchain transaction includes a hash value of the additional transaction data.

14. The method of claim 11 , wherein the generated blockchain transaction is also signed by another private key.

15. The method of claim 14 , wherein the another private key is associated with the electronic resource tracking and storage computer system.

16. The method of claim 11 , further comprising:

receiving a resource allocation request that identifies at least a second participant that will be allocated at least a portion of the quantity value that is an unspent output of the generated blockchain transaction; and

generating a second blockchain transaction that includes data from the output of the generated blockchain transaction as an input for the second blockchain transaction, and the portion of the quantity value and the a second participant blockchain identifier that is associated with the second participant as outputs for the second blockchain transaction;

publishing the second generated blockchain transaction to the distributed blockchain computing system for validation thereby;

in correspondence with publishing the second generated blockchain transaction to the distributed blockchain computing system, creating and adding, to the transaction repository, a second transaction record that includes at least some of the data included in the second generated blockchain transaction and additional transaction data that was not included in the second generated blockchain transaction.

17. A non-transitory computer readable storage medium having stored thereon computer readable instructions for use with an electronic resource tracking and storage computer system that includes at least one processor, a memory, and a transceiver, the electronic resource tracking and storage computer system configured to communicate with a distributed blockchain computing system that includes multiple computing nodes, each computing node storing a copy of the blockchain of the distributed blockchain computing system, the memory configured to store (a) a plurality of blockchain participant identifiers that are each associated with at least one private key, each of the plurality of blockchain participant identifiers associated with a corresponding one of plural different participants, (b) a resource repository that includes a plurality of blockchain resource identifiers that are each associated with at least one resource private key, each of the plurality of blockchain resource identifiers being for a corresponding resource that is tracked on the blockchain and (c) a transaction repository that includes a plurality of blockchain transaction identifiers that correspond to blockchain transactions submitted to the distributed blockchain computing system, the stored computer readable instructions comprising instructions that, when executed by the at least one processor, cause the computer system to:

receive a resource issuance request for issuance of a new resource for a first participant of the plural different participants;

in response to reception of the resource issuance request, create and add, to the resource repository, a new digital resource identifier, the new digital resource identifier identifying the new resource and the new digital resource identifier being associated with a corresponding private key;

generate a blockchain transaction that is to a participant blockchain identifier of the first participant, the generated blockchain transaction including the new digital resource identifier and a quantity value for the new resource that is identified by the new digital resource identifier;

sign the generated blockchain transaction with the private key that is associated with the new digital resource identifier;

publish the generated blockchain transaction to the distributed blockchain computing system for validation thereby;

in correspondence with publishing the generated blockchain transaction to the distributed blockchain computing system, create and add, to the transaction repository, a new transaction record that includes at least some of the data included in the generated blockchain transaction and additional transaction data that was not included in the generated blockchain transaction;

determine that the blockchain has validated the submitted blockchain transaction; and

responsive to the validation, update the new transaction record to indicate that the generated transaction has been validated by the blockchain.

18. The non-transitory computer readable storage medium of claim 17 , wherein the stored computer readable instructions comprise further instructions that, when executed by the at least one processor, cause the computer system to:

begin a first process, during which participants submit data transaction requests to send or receive amounts of the resource that is associated with the new digital resource identifier;

close the first process to reception of data transaction requests from the participants;

generate a single blockchain transaction that includes inputs that correspond to source participant identifiers and outputs that correspond to destination participant identifiers; and

publish the single blockchain transaction to the distributed blockchain computing system for validation thereby.

19. The non-transitory computer readable storage medium of claim 17 , wherein the generated blockchain transaction includes a hash value of the additional transaction data.

20. The non-transitory computer readable storage medium of claim 17 , wherein the generated blockchain transaction is also signed by another private key.

21. The non-transitory computer readable storage medium of claim 20 , wherein the another private key is associated with the electronic resource tracking and storage computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2018
From: ZINDER, ALEX
To: NASDAQ, INC.
Reel/Frame 045663/0252 →
Continuity (3)
Provisional Application 62188422 · Jul 2, 2015
Provisional Application 62270560 · Dec 21, 2015
Related Publication 20170005804A1 · Jan 5, 2017
Cited By (49)
US 12,197,696 US 12,198,130 US 12,205,084 US 12,205,121 US 12,206,674 US 12,217,248 US 12,223,091 US 12,229,384 US 12,238,051 US 12,238,112 US 12,248,611 US 12,259,925 US 12,278,856 US 12,299,657 US 12,299,691 US 12,314,435 US 12,321,490 US 12,333,047 US 12,333,551 US 12,346,298 US 12,354,111 US 12,367,279 US 12,373,884 US 12,425,243 US 12,443,622 US 12,450,613 US 12,462,248 US 12,469,015 US 12,469,025 US 12,476,795 US 12,487,990 US 12,493,716 US 12,495,298 US 12,511,649 US 12,513,011 US 12,554,881 US 12,561,668 US 12,602,682 US 12,619,993 US 12,664,302 US 12,664,537 US 12,671,728 US 12,675,604 US 12,681,619 US 12,699,499 US 12,699,805 US 12,699,974 US 12,711,492 US 12,718,258