IP Library Granted Patent US 12,380,182
Granted Patent B2
US 12,380,182 · App. 17/710,866 · Granted Aug 5, 2025

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

Inventors: Stephane Savanah (London, GB); Craig Steven Wright (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,380,182
App. No.
17/710,866
Granted
Aug 5, 2025
Kind
B2
Abstract

A computer-implemented method ( 600 ) and system ( 1 ) for verifying ownership of a computer software after installation and prior to execution 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 ( 610 ) a second user public key associated with a second user ( 24 ) from a transaction record stored on the peer-to-peer distributed ledger ( 14 ). A second public key associated with the second user may be determined ( 620 ) from an entry on the distributed hash table ( 13 ). The method further includes comparing ( 630 ) the second user public key and the second public key, and verifying ( 640 ) the ownership of the computer software based on the comparing of the second user public key and the second public key.

Claims (46)

1. A computer-implemented method comprising:

determining a data (D1) associated with a computer software, installed on a processing device associated with a second user (U2), the data (D1) comprising a license, the license comprising a second public key (P2), and the computer software comprising an indicator of a location of the computer software;

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, the indicator comprising a link to a computer-based repository;

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 the computer-based repository 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 subsequent transaction on a peer-to-peer distributed ledger, wherein the subsequent transaction comprises a redeem script for spending an output of a transaction, and wherein the redeem script comprises the second hash value (H2) and a second user public key (PU2);

in response to the redeem script included in the subsequent transaction becoming visible on the peer-to-peer distributed ledger, retrieving the second hash value (H2) from the redeem script included in the subsequent transaction, as the key of the key-value pair;

determining the second user public key (PU2) associated with the second user (U2) from the redeem script included in the subsequent transaction stored on the peer-to-peer distributed ledger;

retrieving the value of the key-value pair associated with the entry stored in the computer-based repository based on the retrieved key;

determining the second public key (P2) associated with the second user (U2) based on the retrieved value;

comparing the second user public key (PU2) and the second public key (P2); and

verifying ownership of the computer software based on the comparing of the second user public key (PU2) and the second public key (P2).

2. The method of claim 1 , wherein comparing the second user public key (PU2) and the second public key (P2) comprises determining whether the second user public key (PU2) and the second public key (P2) match.

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

4. The method of claim 3 , wherein the header comprises a hash value of the body of the computer software.

5. The method of claim 3 , wherein the header further comprises the second hash value (H2) of a data associated with the computer software and the license.

6. The method of claim 3 , wherein the body of the computer software comprises an executable of the computer software.

7. The method of claim 5 , wherein before determining the second user public key (PU2), the method comprises installing an executable of the computer software on a processing device associated with the second user (U2).

8. The method of claim 1 , further comprising executing instructions of an executable of the computer software on a processing device associated with the second user (U2) after verifying the ownership of the computer software.

9. The method of claim 1 , wherein before executing instructions of a decrypted executable of the computer software, the method further comprises:

determining an activation key (AK) from the second user (U2); and

executing the instructions of the decrypted executable of the computer software based on the activation key (AK) on a processing device associated with the second user (U2).

10. A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors, cause the one or more processors to:

determine a data (D1) associated with a computer software, installed on a processing device associated with a second user (U2), the data (D1) comprising a license, the license comprising a second public key (P2), and the computer software comprising an indicator of a location of the computer software, the indicator comprising a link to a computer-based repository;

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

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

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 the computer-based repository, 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 subsequent transaction on a peer-to-peer distributed ledger, wherein the subsequent transaction comprises a redeem script for spending an output of a transaction, and wherein the redeem script comprises the second hash value (H2) and a second user public key (PU2);

in response to the redeem script included in the subsequent transaction becoming visible on the peer-to-peer distributed ledger, retrieving the second hash value (H2) from the redeem script included in the subsequent transaction, as the key of the key-value pair;

determine the second user public key (PU2) associated with the second user (U2) from the redeem script included in the subsequent transaction stored on the peer-to-peer distributed ledger;

retrieve the value of the key-value pair associated with the entry stored in the computer-based repository based on the retrieved key;

determine the second public key (P2) associated with the second user (U2) based on the retrieved value;

compare the second user public key (PU2) and the second public key (P2); and

verify ownership of the computer software based on the comparing of the second user public key (PU2) and the second public key (P2).

11. A system comprising at least one computing device associated with a node on a peer-to-peer network of nodes and configured with a processor and memory, the memory including instructions that, upon execution by the processor, cause the system to:

determine a data (D1) associated with a computer software, installed on a processing device associated with a second user (U2), the data (D1) comprising a license, the license comprising a second public key (P2), and the computer software comprising an indicator of a location of the computer software, the indicator comprising a link to a computer-based repository;

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

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

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 the computer-based repository 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 subsequent transaction on a peer-to-peer distributed ledger, wherein the subsequent transaction comprises a redeem script for spending an output of a transaction, and wherein the redeem script comprises the second hash value (H2) and a second user public key (PU2);

in response to the redeem script included in the subsequent transaction becoming visible on the peer-to-peer distributed ledger, retrieve the second hash value (H2) from the redeem script included in the subsequent transaction, as the key of the key-value pair;

determine the second user public key (PU2) associated with the second user (U2) from the redeem script included in the subsequent transaction stored on the peer-to-peer distributed ledger;

retrieving the value of the key-value pair associated with the entry stored in the computer-based repository based on the retrieved key;

determine the second public key (P2) associated with the second user (U2) based on the retrieved value;

compare the second user public key (PU2) and the second public key (P2); and

verify ownership of the computer software based on the compare of the second user public key (PU2) and the second public key (P2).

Assignments (5)
CHANGE OF NAME Recorded Feb 3, 2025
From: NCHAIN HOLDINGS AG
To: NCHAIN LICENSING AG
Reel/Frame 070096/0502 →
CHANGE OF NAME Recorded Apr 18, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063361/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: SAVANAH, STEPHANE; WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 059465/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: SAVANAH, STEPHANE; WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 059465/0859 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: SAVANAH, STEPHANE; WRIGHT, CRAIG
To: NCHAIN HOLDINGS LTD.
Reel/Frame 059465/0909 →
Priority Claims (3)
GB 1608454 · May 13, 2016 · national
GB 1608456 · May 13, 2016 · national
GB 1608463 · May 13, 2016 · national
Continuity (2)
Continuation 16300528
Related Publication 20220366020A1 · Nov 17, 2022
References Cited (105)
US 5715403A · Stefik · 1998 [cited by applicant]
US 5944821A · Angelo · 1999 [cited by applicant]
US 8275716B2 · Lao · 2012 [cited by examiner]
US 8875309B1 · Diamond · 2014 [cited by examiner]
US 9679276B1 · Cuende · 2017 [cited by applicant]
US 9940444B1 · Murphy · 2018 [cited by examiner]
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 et al. · 2022 [cited by applicant]
US 20070079122A1 · Han · 2007 [cited by examiner]
US 20080133706A1 · Chavez et al. · 2008 [cited by applicant]
US 20090280906A1 · Larsen · 2009 [cited by examiner]
US 20120272336A1 · Cohen · 2012 [cited by examiner]
US 20120284507A1 · Bostanci et al. · 2012 [cited by applicant]
US 20120284794A1 · Trent et al. · 2012 [cited by applicant]
US 20130151861A1 · Gan · 2013 [cited by examiner]
US 20140013110A1 · Thoniel · 2014 [cited by examiner]
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 · 2015 [cited by examiner]
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 · 2016 [cited by examiner]
US 20160162897A1 · Feeney · 2016 [cited by examiner]
US 20160203102A1 · Meng · 2016 [cited by examiner]
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 et al. · 2016 [cited by applicant]
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 · 2016 [cited by examiner]
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 examiner]
US 20170324711A1 · Feeney · 2017 [cited by examiner]
US 20180117447A1 · Tran et al. · 2018 [cited by applicant]
US 20180300507A1 · Uhr et al. · 2018 [cited by applicant]
US 20180374173A1 · Chen · 2018 [cited by examiner]
US 20190044727A1 · Scott · 2019 [cited by examiner]
CN 1535059A · 2004 [cited by examiner]
CN 1839375A · 2006 [cited by applicant]
CN 104123488A · 2014 [cited by applicant]
CN 104735164A · 2015 [cited by applicant]
CN 103380589B · 2016 [cited by examiner]
EP 1785901A1 · 2007 [cited by applicant]
GB 2345775A · 2000 [cited by applicant]
WO 03058451A1 · 2003 [cited by applicant]
WO WO2007010427A1 · 2007 [cited by examiner]
WO 2014201059A1 · 2014 [cited by applicant]
WO 2016105265A1 · 2016 [cited by applicant]
Xiwei Xu, The Blockchain as a Software Connector, 2016, IEEE, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7516828 (Year: 2016). [cited by examiner]
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-edger-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]
Bitcoin Wiki, “Contract,” Bitcoin Wiki, https://en.bitcoin.it/w/index.php?title=Contract&oldid=59172, May 22, 2011 (updated dated Oct. 22, 2015) [retrieved Jan. 8, 2024], 2 pages. [cited by applicant]