IP Library Granted Patent US 12,346,416
Granted Patent B2
US 12,346,416 · App. 18/428,697 · Granted Jul 1, 2025

Method and system for verifying integrity of a digital asset using a distributed hash table and a peer to-peer distributed ledger

Inventors: Craig Steven Wright (London, GB); Stephane Savanah (London, GB)
Assignee: NCHAIN LICENSING AG
G06F21/121G06F8/65G06F16/152G06F16/1834G06F21/105G06F21/12G06F21/51G06F21/57G06F21/602G06F21/6281G06F21/64H04L9/0637H04L9/0643H04L9/0841H04L9/3236H04L9/3247H04L9/3263H04L9/3265H04L63/0435H04L63/061H04L63/0823H04L67/104G06F21/107G06F2221/2107H04L9/50H04L67/1065H04L2209/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 12,346,416
App. No.
18/428,697
Granted
Jul 1, 2025
Kind
B2
Abstract

A computer-implemented method ( 900 ) and system ( 1 ) for verifying the integrity of a computer software for installation using a distributed hash table ( 13 ) and a peer-to-peer distributed ledger ( 14 ). This may be the Bitcoin blockchain or an alternative implementation. The method includes determining ( 910 ) a metadata associated with a transaction record stored on the peer-to-peer distributed ledger ( 14 ). An indication of an entry stored on the distributed hash table ( 13 ) may be determined ( 920 ) from the metadata. The method further includes determining ( 930 ) a third hash value based on the computer software and determining ( 940 ) a fourth hash value from the entry on the distributed hash table ( 13 ). The method further includes comparing ( 950 ) the third hash value and the fourth hash value and verifying ( 960 ) the integrity of the computer software based on the comparing of the third hash value and the fourth hash value.

Claims (59)

1. A computer-implemented method of securing computer software for installation and verifying its integrity, using a distributed hash table and a peer-to-peer distributed ledger, the method comprising:

determining a data (D1) associated with the computer software;

determining a first hash value (H1) of the computer software;

determining a second hash value (H2) based on the data and the computer software;

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

determining a metadata (M) comprising the second hash value;

determining a first redeem script (RS1) based on the metadata and an agent public key associated with an agent;

sending, over the first communications network, a first data output (O1) for storage on the peer-to-peer distributed ledger based on the first redeem script (RS1);

determining a second redeem script (RS2) based on the metadata, the agent public key, and a user public key associated with a user;

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

determining the metadata from the second redeem script stored on the peer-to-peer distributed ledger;

retrieving, from the metadata, an indication of the entry on the distributed hash table from the metadata;

determining a third hash value (H3) based on the computer software;

determining a fourth hash value (H4) from the entry on the distributed hash table;

comparing the third hash value and the fourth hash value; and

verifying the integrity of the computer software based on the comparing of the third hash value and the fourth hash value.

2. The computer-implemented method of claim 1 , wherein the first data output is further based on an indication of a first quantity of cryptocurrency (C1) to be transferred, wherein the first quantity of cryptocurrency is associated with the first redeem script.

3. The computer-implemented method of claim 2 , wherein the second data output is further based on an indication that the first quantity of cryptocurrency from the first data output is to be transferred.

4. The computer-implemented method of claim 1 , wherein the data comprises a licence associated with the computer software.

5. The computer-implemented method of claim 4 , wherein the licence is associated with the user and further comprises a second public key.

6. The computer-implemented method of claim 4 , wherein the licence further comprises the first hash value.

7. The computer-implemented method of claim 4 , wherein the licence comprises a top hash value of a Merkle tree.

8. The computer-implemented method of claim 1 , wherein comparing the third hash value and the fourth hash value comprises determining whether the third hash value and the fourth hash value match.

9. The computer-implemented method of claim 1 , wherein before determining the metadata, the method comprises:

determining the user public key from the second redeem script stored on the peer-to-peer distributed ledger;

determining a second user public key associated with the user from an entry stored on the distributed hash table;

comparing the user public key and the second user public key; and

verifying an ownership of the computer software based on the comparing of the user public key and the second user public key.

10. The computer-implemented method of claim 9 , wherein comparing the second public key and the second user public key comprises determining whether the user public key and the second user public key match.

11. The computer-implemented method of claim 1 , wherein the computer software comprises a header and a body.

12. The computer-implemented method of claim 11 , wherein the third hash value is determined from the body of the computer software.

13. The computer-implemented method of claim 11 , wherein the header comprises a hash value of the body of the computer software.

14. The computer-implemented method of claim 11 , wherein the header further comprises the second hash value.

15. The computer-implemented method of claim 11 , wherein the body of the computer software comprises an executable of the computer software.

16. The computer-implemented method of claim 1 , further comprising:

determining an identifier indicative of location of the software;

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.

17. The computer-implemented method of claim 16 , further comprising:

retrieving the second hash value from the metadata;

sending the second hash value to a processor associated with a participating node of the distributed hash table; and

determining, from the processor of the participating node, the identifier indicative of the location of the computer software.

18. The computer-implemented method of claim 1 , wherein the peer-to-peer distributed ledger is a blockchain.

19. A computer system of securing computer software for installation and verifying its integrity, using a distributed hash table and a peer-to-peer distributed ledger, the system comprising a processing device associated with a node on a peer-to-peer network of nodes, configured to carry out the steps of:

determining a data (D1) associated with the computer software;

determining a first hash value (H1) of the computer software;

determining a second hash value (H2) based on the data and the computer software;

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

determining a metadata (M) comprising the second hash value;

determining a first redeem script (RS1) based on the metadata and an agent public key associated with an agent;

sending, over the first communications network, a first data output (O1) for storage on the peer-to-peer distributed ledger based on the first redeem script (RS1);

determining a second redeem script (RS2) based on the metadata, the agent public key, and a user public key associated with a user;

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

determining the metadata from the second redeem script stored on the peer-to-peer distributed ledger;

retrieving, from the metadata, an indication of the entry on the distributed hash table from the metadata;

determining a third hash value (H3) based on the computer software;

determining a fourth hash value (H4) from the entry on the distributed hash table;

comparing the third hash value and the fourth hash value; and

verifying the integrity of the computer software based on the comparing of the third hash value and the fourth hash value.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 066330/0059 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 066330/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: WRIGHT, CRAIG; SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 066330/0300 →
CHANGE OF NAME Recorded Feb 1, 2024
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 066445/0552 →
Priority Claims (3)
GB 1608454 · May 13, 2016 · national
GB 1608456 · May 13, 2016 · national
GB 1608463 · May 13, 2016 · national
Continuity (4)
Continuation 17843184 · Jun 17, 2022
Continuation 16806835 · Mar 2, 2020
Continuation 16300929
Related Publication 20240248966A1 · Jul 25, 2024
References Cited (94)
US 5715403A · Stefik · 1998 [cited by applicant]
US 5944821A · Angelo · 1999 [cited by applicant]
US 9679276B1 · Cuende · 2017 [cited by applicant]
US 9940444B1 · Murphy et al. · 2018 [cited by applicant]
US 10050779B2 · Alness et al. · 2018 [cited by applicant]
US 10579779B2 · Wright et al. · 2020 [cited by applicant]
US 11210372B2 · Savanah et al. · 2021 [cited by applicant]
US 11294991B2 · Savanah et al. · 2022 [cited by applicant]
US 11455378B2 · Wright · 2022 [cited by examiner]
US 20080133706A1 · Chavez et al. · 2008 [cited by applicant]
US 20090280906A1 · Larsen et al. · 2009 [cited by applicant]
US 20120272336A1 · Cohen · 2012 [cited by applicant]
US 20120284507A1 · Bostanci et al. · 2012 [cited by applicant]
US 20120284794A1 · Trent et al. · 2012 [cited by applicant]
US 20140108816A1 · Ford · 2014 [cited by applicant]
US 20140165158A1 · Chan et al. · 2014 [cited by applicant]
US 20150098567A1 · Park · 2015 [cited by applicant]
US 20150120567A1 · Van Rooyen et al. · 2015 [cited by applicant]
US 20150120569A1 · Belshe et al. · 2015 [cited by applicant]
US 20150242958A1 · D'Zmura · 2015 [cited by applicant]
US 20150262176A1 · Langschaedel et al. · 2015 [cited by applicant]
US 20150264077A1 · Berger et al. · 2015 [cited by applicant]
US 20150269570A1 · Phan et al. · 2015 [cited by applicant]
US 20150271679A1 · Park et al. · 2015 [cited by applicant]
US 20160035054A1 · Branscomb et al. · 2016 [cited by applicant]
US 20160048688A1 · Flynn et al. · 2016 [cited by applicant]
US 20160085955A1 · Lerner · 2016 [cited by applicant]
US 20160098723A1 · Feeney · 2016 [cited by applicant]
US 20160105265A1 · Wang et al. · 2016 [cited by applicant]
US 20160134627A1 · Johnson et al. · 2016 [cited by applicant]
US 20160162897A1 · Feeney · 2016 [cited by applicant]
US 20160203572A1 · McConaghy et al. · 2016 [cited by applicant]
US 20160218882A1 · Wood · 2016 [cited by applicant]
US 20160241389A1 · Le Saint et al. · 2016 [cited by applicant]
US 20160283920A1 · Fisher · 2016 [cited by examiner]
US 20160292396A1 · Akerwall · 2016 [cited by applicant]
US 20160300234A1 · Moss-Pultz et al. · 2016 [cited by applicant]
US 20160321676A1 · McCoy et al. · 2016 [cited by applicant]
US 20160335288A1 · Qiu et al. · 2016 [cited by applicant]
US 20160342977A1 · Lam · 2016 [cited by applicant]
US 20160344737A1 · Anton et al. · 2016 [cited by applicant]
US 20170048216A1 · Chow et al. · 2017 [cited by applicant]
US 20170141926A1 · Xu et al. · 2017 [cited by applicant]
US 20170155515A1 · Androulaki et al. · 2017 [cited by applicant]
US 20170236123A1 · Ali et al. · 2017 [cited by applicant]
US 20170279783A1 · Milazzo et al. · 2017 [cited by applicant]
US 20170300978A1 · Narasimhan et al. · 2017 [cited by applicant]
US 20170316390A1 · Smith et al. · 2017 [cited by applicant]
US 20170324663A1 · Menase · 2017 [cited by applicant]
US 20170324711A1 · Feeney et al. · 2017 [cited by applicant]
US 20180117447A1 · Tran et al. · 2018 [cited by applicant]
US 20180300507A1 · Uhr et al. · 2018 [cited by applicant]
US 20180374173A1 · Chen et al. · 2018 [cited by applicant]
CN 1535059A · 2004 [cited by applicant]
CN 1839375A · 2006 [cited by applicant]
CN 104123488A · 2014 [cited by applicant]
CN 104735164A · 2015 [cited by applicant]
EP 1785901A1 · 2007 [cited by applicant]
GB 2345775A · 2000 [cited by applicant]
WO 03058451A1 · 2003 [cited by applicant]
WO 2014201059A1 · 2014 [cited by applicant]
WO 2016105265A1 · 2016 [cited by applicant]
Anand et al., “Colored Coins: Bitcoin, Blockchain, and Land Administration,” 2017 World Bank Conference on Land and Poverty, Mar. 20, 2017, 10 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Bitcoin Wiki, “Proof of Ownership,” Bitcoin Wiki, https://en.bitcoin.it/wiki/Proof_of_Ownership, Mar. 1, 2015 (last updated Oct. 22, 2015) [retrieved Dec. 13, 2018], 2 pages. [cited by applicant]
blockchain.com, “Homepage,” Blockchain Luxembourg S.A., https://www.blockchain.com/, Jan. 1, 2018 [retrieved Dec. 14, 2018], 3 pages. [cited by applicant]
Coinskillthefed et al., “Using blockchain to publish downloadable software verification codes,” Bitcoin Stack Exchange, https://bitcoin.stackexchange.com/questions/24489/using-blockchain-to-publish-downloadable-software… [cited by applicant]
Conftool, “ConfTool: Conference Management Software,” Conftool.net, https://www.conftool.net/landandpoverty2016/%20index.php/Anand-594-594_paper.pdf?page=downloadPaper&filename=Anand-594-594_paper.pdf&form_id=594&form_v… [cited by applicant]
Crosby et al., “BlockChain Technology: Beyond Bitcoin,” University of California Berkeley, Sutardja Center for Entrepreneurship & Technology Technical Report, Oct. 16, 2015, 35 pages. [cited by applicant]
Herbert et al., “A Novel Method for Decentralised Peer-to-Peer Software License Validation Using Cryptocurrency Blockchain Technology,” Proceedings of the 38th Australasian Computer Science Conference, Jan. 27, 2015, 9 … [cited by applicant]
International Search Report and Written Opinion mailed Aug. 1, 2017, International Patent Application No. PCT/IB2017/052800, filed May 12, 2017, 9 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 1, 2017, International Patent Application No. PCT/IB2017/052801, filed May 17, 2017, 9 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 1, 2017, International Patent Application No. PCT/IB2017/052804, filed May 12, 2017, 9 pages. [cited by applicant]
Levine, “Using Tokens Built on Bitcoin to Fix DRM and Morph Software into Property,” Tokenly, https://letstalkbitcoin.com/blog/post/tokens-software-and-the-coming-drm-revolution, Jun. 1, 2015 [retrieved Dec. 13, 2018], … [cited by applicant]
Mike et al., “Contract,” Bitcoin Wiki, https://en.bitcoin.it/wiki/Contract, Aug. 10, 2017 [retrieved Feb. 5, 2018], 13 pages. [cited by applicant]
Monax, “Eris + IPFS,” Monax Blog, https://monax.io/2015/11/01/eris-and-ipfs/?redirect_from_eris=true, Nov. 16, 2016, 5 pages. [cited by applicant]
Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Bitcoin, Oct. 31, 2008, https://bitcoin.org/bitcoin.pdf, 9 pages. [cited by applicant]
Satoshi et al., “Connection Limits,” Bitcoin Forum, Aug. 9, 2010, https://bitcointalk.org/index.php?topic=741.0;prev_next=prev, 2 pages. [cited by applicant]
Shomer et al., “Colored-Coins/Colored-Coins-Protocol-Specification,” GitHub, https://github.com/Colored-Coins/Colored-Coins-Protocol-Specification/wiki/Metadata, Jun. 11, 2015 (last updated Nov. 9, 2016) [retrieved Dec.… [cited by applicant]
Snow et al., “Factom Ledger by Consensus Version 1.0,” Brave New Coin, https://bravenewcoin.com/insights/factom-ledger-by-consensus, Jan. 17, 2015, 28 pages. [cited by applicant]
Snow et al., “Factom: Business Processes Secured by Immutable Audit Trails on the Blockchain Version 1.2,” factom.com, Apr. 25, 2018, 38 pages. [cited by applicant]
Stampery, “Features: Blockchain-based data certification at your fingertips,” Stampery.com, https://stampery.com/features/, archived Mar. 5, 2016 [retrieved Nov. 3, 2016], 4 pages. [cited by applicant]
UK Commercial Search Report mailed Jan. 12, 2017, Patent Application No. GB1608454.3, filed May 13, 2016, 8 pages. [cited by applicant]
UK Commercial Search Report mailed Nov. 24, 2016, Patent Application No. GB1608456.8, filed May 13, 2016, 7 pages. [cited by applicant]
UK Commercial Search Report mailed Sep. 30, 2016, Patent Application No. GB1608463.4, filed May 13, 2016, 7 pages. [cited by applicant]
UK IPO Search Report mailed Dec. 13, 2016, Patent Application No. GB1608454.3, filed May 13, 2016, 3 pages. [cited by applicant]
UK IPO Search Report mailed Dec. 15, 2016, Patent Application No. GB1608456.8, filed May 13, 2016, 3 pages. [cited by applicant]
UK IPO Search Report mailed Dec. 21, 2016, Patent Application No. GB1608463.4, filed May 13, 2016, 3 pages. [cited by applicant]
Vayngrib, “DHT hardening,” GitHub, https://github.com/tradle/about/wiki/DHT-hardening, Feb. 2, 2015 (last updated May 21, 2015) [retrieved Dec. 13, 2018], 5 pages. [cited by applicant]
Wikipedia, “File verficiation,” Wikipedia.org, https://en.wikipedia.org/wiki/File_verification, Apr. 14, 2004 (last edited Jul. 25, 2018) [retrieved Dec. 13, 2018], 3 pages. [cited by applicant]
Wikipedia, “InterPlanetary File System,” Wikipedia.org, https://en.wikipedia.org/wiki/InterPlanetary_File_System, Sep. 11, 2015 (last updated Dec. 3, 2018) [retrieved Dec. 13, 2018], 4 pages. [cited by applicant]
Willoms et al., “Using blockchain to save and verify software licensing,” Bitcoin Forum, https://bitcointalk.org/index.php?topic=671435.0, Jun. 30, 2014 [retrieved Dec. 13, 2018], 3 pages. [cited by applicant]
Zyskind et al., “Decentralizing Privacy: Using a Blockchain to Protect Personal Data,” 2015 IEEE CS Security and Privacy Workshops, May 21, 2015, 5 pages. [cited by applicant]
Zyskind et al., “Enigma: Decentralized Computation Platform with Guaranteed Privacy,” arXiv preprint arXiv:1506, Jun. 10, 2015, 14 pages. [cited by applicant]