IP Library Granted Patent US 11,455,378
Granted Patent B2
US 11,455,378 · App. 16/079,074 · Granted Sep 27, 2022

Method and system for securing computer software using a distributed hash table and a blockchain

Inventors: Craig Steven Wright (London, GB); Stephane Savanah (London, GB)
Assignee: nChain Holdings Limited
G06F21/12G06Q20/123G06Q20/1235G06Q20/3823G06Q20/3825G06Q20/3827G06Q20/3829H04L9/0637H04L9/0643H04L9/3213H04L9/3236H04L9/3247H04L9/3252G06Q2220/00H04L2209/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 11,455,378
App. No.
16/079,074
Granted
Sep 27, 2022
Kind
B2
Abstract

A computer-implemented method ( 100 ) and system ( 1 ) for determining a metadata M for securing a controlled digital resource such as computer software using a distributed hash table ( 13 ) and a peer-to-peer distributed ledger ( 14 ). This is a blockchain such as the Bitcoin blockchain. The method includes determining ( 110 ) a data associated with the computer software and determining ( 120 ) a first hash value based on the computer software. A second hash value based on the data and the computer software may be determined ( 130 ). The method further includes sending 140 , over a communications network ( 5 ), the data, the first hash value and the second hash value to an entry for storage in a distributed hash table ( 13 ). The second hash value may be a key of a key-value pair. The data and the first hash value may be a value in the key-value pair. A metadata (M) that is based on the second hash value may be determined ( 150 ) for storage on the peer-to-peer distributed ledger ( 14 ).

Claims (60)

1. A computer-implemented method for securing a controlled digital resource using a distributed hash table and a peer-to-peer distributed ledger, the method comprising:

determining a data (D1) associated with the controlled digital resource;

determining a first hash value (H1) of the controlled digital resource;

determining a second hash value (H2) based on the data (D1) and the controlled digital resource, wherein the data (D1) comprises a license associated with the controlled digital resource;

sending, over a communications network, the data (D1), the first hash value (H1) and the second hash value (H2) to an entry for storage in a distributed hash table, wherein the second hash value (H2) is a key of a key-value pair and the data (D1) and the first hash value (H1) are a value in the key-value pair;

determining a metadata (M) comprising the second hash value (H2) for storage on the peer-to-peer distributed ledger;

determining a first redeem script (RS1), wherein the first redeem script is based on:

the metadata (M);

an agent public key (PA) associated with an agent (A); and

sending, over the communications network, a first data output (01) for storage on the peer-to-peer distributed ledger based on:

an indication of a first quantity of cryptocurrency (C1) to be transferred, wherein the first quantity of cryptocurrency (C1) is associated with the first redeem script (RS1); and

the first redeem script (RS1);

determining an identifier indicative of a location of the controlled digital resource or the license;

assigning the identifier to the value in the key-value pair; and

sending, over the communications network, the identifier to the entry on the distributed hash table.

2. A method according to claim 1 , wherein the controlled digital resource is computer software.

3. The method of claim 1 , wherein the license is associated with a first user (U1) or a second user (U2) and further comprises a first user public key (PU1) associated with the first user (U1) or a second user public key (PU2) associated with the second user (U2).

4. The method of claim 3 , wherein the license further comprises a hash value associated with at least one electronic device of the first user (U1) or the second user (U2).

5. The method of claim 1 , wherein the license further comprises the first hash value (H1).

6. The method of claim 1 , wherein the license comprises a top hash value of a Merkle tree.

7. The method of claim 1 , further comprising:

determining a second redeem script (RS2), wherein the second redeem script (RS2) is based on:

the metadata (M);

the agent public key (PA) associated with the agent (A); and

a first user public key (PU1) associated with a first user (U1); and

sending, over a second communications network, a second data output (O2) to the peer-to-peer distributed ledger based on:

an indication that a first quantity of cryptocurrency (C1) from first data output (01) is to be transferred; and

the second redeem script (RS2).

8. The method of claim 1 , wherein the cryptocurrency is Bitcoin.

9. The method of claim 1 , wherein the peer-to-peer distributed ledger is a Bitcoin blockchain.

10. A computer-implemented method of determining the location of a controlled digital resource or license, the method comprising:

determining a metadata (M) for securing a controlled digital resource in accordance with the method of claim 1 ;

determining an identifier indicative of the location of the controlled digital resource or the license;

assigning the identifier to the value in the key-value pair;

sending, over the communications network, the identifier to the entry on the distributed hash table;

determining the metadata (M) from the first redeem script (RS1);

retrieving the second hash value (H2) from the metadata (M);

sending, over the communications network, the second hash value (H2) to a processor associated with a participating node of the distributed hash table;

determining, from the processor of the participating node, the identifier indicative of the location of the controlled digital resource or license;

determining a first redeem script (RS1), wherein the first redeem script is based on:

the metadata (M); and

an agent public key (PA) associated with an agent (A); and

sending, over the communications network, a first data output (01) for storage on the peer-to-peer distributed ledger based on:

an indication of a first quantity of cryptocurrency (C1) to be transferred, wherein the first quantity of cryptocurrency (C1) is associated with the first redeem script (RS1); and

the first redeem script (RS1).

11. A computer software program comprising machine-readable instructions, that when executed by a processing device comprising a processor and memory, cause the processing device to implement the method of claim 1 .

12. A computer system operative to secure a controlled digital resource, the system comprising a processing device associated with a node, configured to:

determine a data (D1) associated with the controlled digital resource;

determine a first hash value (H1) of the controlled digital resource;

determine a second hash value (H2) based on the data (D1) and the controlled digital resource, wherein the data (D1) comprises a license associated with the controlled digital resource;

send, over a communications network, the data (D1), the first hash value (H1) and the second hash value (H2) to an entry for storage in a distributed hash table, wherein the second hash value (H2) is a key of a key-value pair and the data (D1) and the first hash value (H1) are a value in the key-value pair;

determine a metadata (M) comprising the second hash value (H2);

determine a first redeem script (RS1), wherein the first redeem script is based on:

the metadata (M); and

an agent public key (PA) associated with an agent (A);

send, over the communications network, a first data output (01) for storage on a peer-to-peer distributed ledger based on:

an indication of a first quantity of cryptocurrency (C1) to be transferred, wherein the first quantity of cryptocurrency (C1) is associated with the first redeem script (RS1); and

the first redeem script (RS1determine an identifier indicative of a location of the controlled digital resource or the license;

assign the identifier to the value in the key-value pair; and

send, over the communications network, the identifier to the entry on the distributed hash table.

Assignments (3)
CHANGE OF NAME Recorded Dec 11, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062114/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2022
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060243/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2022
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD.
Reel/Frame 060533/0153 →
Priority Claims (2)
GB 1603125.4 · Feb 23, 2016 · national
GB 1607058.3 · Apr 22, 2016 · national
Continuity (1)
Related Publication 20190050541A1 · Feb 14, 2019
Cited By (20)
US 12,217,224 US 12,248,539 US 12,254,452 US 12,271,466 US 12,294,661 US 12,314,379 US 12,346,416 US 12,367,468 US 12,380,182 US 12,406,237 US 12,469,363 US 12,470,369 US 12,470,371 US 12,499,424 US 12,505,180 US 12,505,435 US 12,536,599 US 12,562,892 US 12,652,164 US 12,695,635