IP Library Granted Patent US 10,013,573
Granted Patent B2
US 10,013,573 · App. 14/971,027 · Granted Jul 3, 2018

Personal ledger blockchain

Inventor: Donna N. Dillenberger (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F21/6227G06F17/30377G06F21/10G06F2221/0704
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,013,573
App. No.
14/971,027
Granted
Jul 3, 2018
Kind
B2
Abstract

A system, method, and computer readable storage medium configured for storing encrypted data in a blockchain. To write additional data in a blockchain, a request is received at a computing node. The request is typically cryptographically signed by a user system to include a new transaction with additional data in the blockchain. The additional data is previously encrypted with an encryption key. A new block that records the new transaction with additional data in the blockchain is added. To read the additional data in a blockchain, a request is received at a computing node with a transaction identifier and a decryption key from a user system to access data journaled as part of the blockchain in the transaction database. The transaction database is searched using the identifier. In response, to finding the corresponding block in the blockchain, the data is decrypted using the decryption key.

Claims (37)

1. A computer-based method comprising:

accessing, by a processor, a transaction database shared by all computing nodes participating in a system based on a blockchain protocol, the transaction database including transactions and blocks, where the transactions are data to be stored in a blockchain and the blocks are records that confirm when and in what sequence certain transaction became journaled as part of the blockchain;

receiving a request from a user signed by a user system to include a new transaction with additional data in the blockchain, where the additional data has been previously encrypted with an encryption key of the user and wherein the additional data is divided into a plurality of sections and each of the sections is encrypted with its own unique encryption key;

adding a block that records the new transaction with additional data in the blockchain;

receiving a request with a transaction identifier and a decryption key from another user system to access the additional data;

searching the transaction database using the transaction identifier for a corresponding block in the blockchain;

in response to finding the corresponding block in the blockchain, decrypting the additional data using the decryption key; and

making available the additional data that has been decrypted to the another user system.

2. The computer-based method of claim 1 , wherein the adding the block that records the new transaction with additional data in the blockchain includes a hash of a previous block.

3. The computer-based method of claim 2 , wherein the adding the block that records the new transaction with additional data in the blockchain includes a timestamp.

4. The computer-based method of claim 2 , wherein the adding the block that records the new transaction with additional data in the blockchain includes a transaction identifier.

5. The computer-based method of claim 1 , wherein the encryption key is a symmetrical key.

6. The computer-based method of claim 1 , wherein the encryption key is part of a public-private key pair.

7. The computer-based method of claim 1 , further comprising:

assigning a category to the additional data and the encryption key is associated with the category.

8. A system comprising:

a memory;

a processor communicatively coupled to the memory, where the processor is configured to perform

accessing, by a processor, a transaction database shared by all computing nodes participating in a system based on a blockchain protocol, the transaction database including transactions and blocks, where the transactions are data to be stored in a blockchain and the blocks are records that confirm when and in what sequence certain transaction became journaled as part of the blockchain;

receiving a request from a user signed by a user system to include a new transaction with additional data in the blockchain, where the additional data has been previously encrypted with an encryption key of the user and wherein the additional data is divided into a plurality of sections and each of the sections is encrypted with its own unique encryption key;

adding a block that records the new transaction with additional data in the blockchain;

receiving a request with a transaction identifier and a decryption key from another user system to access the additional data;

searching the transaction database using the transaction identifier for a corresponding block in the blockchain;

in response to finding the corresponding block in the blockchain, decrypting the additional data using the decryption key; and

making available the additional data that has been decrypted to the another user system.

9. The system of claim 8 , wherein the encryption key is part of a public-private key pair.

10. The system of claim 8 , wherein the processor is further configured to perform:

assigning a category to the additional data and the encryption key is associated with the category.

11. A non-transitory computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform:

accessing, by a processor, a transaction database shared by all computing nodes participating in a system based on a blockchain protocol, the transaction database including transactions and blocks, where the transactions are data to be stored in a blockchain and the blocks are records that confirm when and in what sequence certain transaction became journaled as part of the blockchain;

receiving a request from a user signed by a user system to include a new transaction with additional data in the blockchain, where the additional data has been previously encrypted with an encryption key of the user and wherein the additional data is divided into a plurality of sections and each of the sections is encrypted with its own unique encryption key;

adding a block that records the new transaction with additional data in the blockchain;

receiving a request with a transaction identifier and a decryption key from another user system to access the additional data;

searching the transaction database using the transaction identifier for a corresponding block in the blockchain;

in response to finding the corresponding block in the blockchain, decrypting the additional data using the decryption key; and

making available the additional data that has been decrypted to the another user system.

12. The non-transitory computer program product of claim 11 , wherein the encryption key is part of a public-private key pair.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2015
From: DILLENBERGER, DONNA N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037305/0387 →
Continuity (1)
Related Publication 20170177898A1 · Jun 22, 2017
Cited By (5)
US 12,198,138 US 12,469,024 US 12,681,919 US 12,724,749 US 12,725,157