US 12,248,539 B2
Method and system for securing computer software using a distributed hash table and a blockchain
Craig Steven Wright, London (GB); and Stephane Savanah, London (GB)
Assigned to NCHAIN LICENSING AG, Zug (CH)
Filed by nChain Holdings Limited, St. John's (AG)
Filed on Aug. 13, 2021, as Appl. No. 17/401,532.
Application 17/401,532 is a continuation of application No. 16/079,074, granted, now 11,455,378, previously published as PCT/IB2017/050827, filed on Feb. 14, 2017.
Claims priority of application No. 1603125 (GB), filed on Feb. 23, 2016; and application No. 1607058 (GB), filed on Apr. 22, 2016.
Prior Publication US 2021/0374214 A1, Dec. 2, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 21/10 (2013.01); G06F 21/12 (2013.01); G06Q 20/12 (2012.01); G06Q 20/38 (2012.01); H04L 9/06 (2006.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC G06F 21/12 (2013.01) [G06F 21/10 (2013.01); G06Q 20/123 (2013.01); G06Q 20/1235 (2013.01); G06Q 20/3823 (2013.01); G06Q 20/3825 (2013.01); G06Q 20/3827 (2013.01); G06Q 20/3829 (2013.01); H04L 9/0637 (2013.01); H04L 9/0643 (2013.01); H04L 9/3213 (2013.01); H04L 9/3236 (2013.01); H04L 9/3247 (2013.01); H04L 9/3252 (2013.01); G06Q 2220/00 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A computer-implemented method (100) for authorizing access to computer software for a first user (U1), the method comprising:
determining a data (D1) associated with the computer software, wherein the data (D1) comprises a licence associated with the computer software, and the licence is associated with the 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);
determining a first hash value (H1) of the computer software;
determining a second hash value (H2) based on the data (D1) and the computer software;
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 as a key-value pair, 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 a peer-to-peer distributed ledger; and
determining a second redeem script (RS2), wherein the second redeem script (RS2) is based on:
the metadata (M),
an agent public key (PA) associated with an agent (A), and
the first user public key (PU1) associated with the 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 a first data output (O1) is to be transferred, and
the second redeem script (RS2).