IP Library Granted Patent US 12,689,625
Granted Patent B2
US 12,689,625 · App. 16/320,954 · Granted Jul 21, 2026

Blockchain-implemented method and system

Inventor: Stephane Vincent (Luxembourg City, LU)
Assignee: NCHAIN LICENSING AG
H04L63/10G06Q20/065G06Q20/0658G06Q20/3829G06Q20/389G06Q30/0645H04L9/0637H04L9/0643H04L9/0825H04L63/0442H04L67/12H04W12/03H04W12/08G06Q2220/00H04L9/50H04L2209/56H04W4/70H04W4/80
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,689,625
App. No.
16/320,954
Filed
Jan 25, 2019
Granted
Jul 21, 2026
Kind
B2
Art Unit
2492
USPC
713/171
Abstract

The computer-implemented invention provides a method and corresponding system for controlling access to and/or use of an internet-enabled resource. The invention uses a distributed electronic ledger such as, for example, the Bitcoin blockchain. The resource may be an IoT device or system. Access to the resource is permitted or enabled upon provision of a cryptographic key e.g. a private key which corresponds to a public key which has been stored in memory. In one embodiment, the public key is stored in a DHT. Access to the resource is prevented or disabled by removing the public key from memory, and using a redeem script of a blockchain Transaction to spend a tokenised output of a further blockchain Transaction. The process of communicating the requisite cryptographic keys and transferring funds is performed via the blockchain. The keys are communicated as tokens in the metadata of transactions scripts. In use, when access is requested by the user, an encrypted message is sent to the resource. The message has been encrypted using the user's private key. If the resource can use the previously communicated public key to decrypt the message, access can be granted. The invention is particularly suited for use in situations where temporary access or use of the resource is to be granted eg rental scenarios.

Claims (46)

1 . A method of controlling access to and/or use of an Internet of Things (IoT) device having a Blockchain IoT Device (BID) agent that executes predetermined instructions stored off the IoT device and accessed via cryptographic keys, the method comprising:

receiving, at the IoT device, a first blockchain transaction (TxB) from a blockchain network, the first blockchain transaction comprising:

i) a token representing a smart contract relating to the access to and/or use of the IoT device, wherein the token is a multisig address that includes more than one signature from a user, a controller of the IoT device and an escrow agent;

ii) an output having a redeem script which includes a token containing metadata stored in a distributed hash table (DHT) representing a public key associated with the user, wherein the BID agent is configured to access the public key from the DHT using the metadata in the token; and

iii) at least one output for transferring cryptocurrency from the user of the IoT device to the escrow agent;

accessing, by the BID agent, the public key associated with the user from the metadata contained in the token of the redeem script after the first transaction has been confirmed on the blockchain, wherein the BID agent retrieves operating instructions from the DHT that specify how to store and use the public key for verification;

storing the public key, or a reference to its location, in memory within the IoT device, wherein the BID agent executes the retrieved operating instructions to store the public key;

receiving, at the IoT device from a portable computing device associated with the user, a message or other data which has been encrypted using a private key associated with the user;

allowing or preventing access to and/or use of the IoT device by the BID agent performing cryptographic calculations to verify the encrypted message using the stored public key and toggling switches of a set of switches on the IoT device via an application programming interface (API) dependent upon successful cryptographic verification, wherein the BID agent operates and controls the IoT device via the API by executing predetermined instructions stored off the IoT device and accessed via cryptographic keys;

detecting, at the IoT device, a second blockchain transaction on the blockchain network, the second blockchain transaction responsive to completion of a rental period specified in the smart contract,

the second blockchain transaction comprising:

a first input signed by the escrow agent and a second input signed by the user of the IoT device and the controller of the IoT device; and

an output which sends a second token that represents the public key associated with the user to the IoT device, or a hash of said public key, wherein responsive to a broadcast of the second blockchain transaction on the blockchain, the public key associated with the user is removed from the memory of the IoT device by the BID agent executing instructions retrieved from the DHT that specify how to identify and remove the specific public key matching the hash in the second token, wherein removing the public key prevents the IoT device from decrypting further messages from the portable computing device.

2 . A method according to claim 1 wherein:

the smart contract comprises details or conditions relating to an agreement for use of or access to the IoT device; and/or

the transfer of value is a payment of funds such as an amount of currency.

3 . A method according to claim 1 and comprising the step of accessing or obtaining the public key from the token and storing it in memory.

4 . A method according to claim 1 wherein the first transaction (TxB) is generated by the controller of the IoT device and sent to the user for modification.

5 . A method according to claim 4 wherein the user modifies the first blockchain transaction by adding at least one output to the first transaction.

6 . A method according to claim 1 wherein the data that has been encrypted is sent to the IoT device by the user, using a handheld or portable computing device.

7 . A method according to claim 1 and comprising the step of:

detokenizing the token of the second blockchain transaction (TxC) by creating a third blockchain transaction (TxD) which comprises an input that spends the output of the second transaction (TxC).

8 . A method according to claim 7 wherein submission of the first blockchain (TxB), second blockchain (TxC) and/or third blockchain (TxD) transactions to the blockchain network is automated, wherein the time of submission is dependent upon an instruction or setting provided within the respective transaction.

9 . A method according to claim 1 wherein the first blockchain transaction (TxB) comprises:

an output for transferring a deposit payment to the controller of the IoT device; and/or

an output for transferring a payment to the escrow agent.

10 . A computer-implemented system for controlling access to and/or use of an Internet of Things (IoT) device having a Blockchain IoT Device (BID) agent that executes predetermined instructions stored off the IoT device and accessed via cryptographic keys comprising:

one or more processors; and

memory including computer-executable instructions that, as a result of execution by the one or more processors, cause the system to:

receive, at the IoT device a first blockchain transaction (TxB) from a blockchain network, the first blockchain transaction comprising:

i) a token representing a smart contract relating to the access to and/or use of the IoT device, wherein the token is a multisig address that includes more than one signature from a user, a controller of the IoT device and an escrow agent;

ii) an output having a redeem script which includes a token containing metadata stored in a distributed hash table (DHT) representing a public key associated with the user, wherein the BID agent is configured to access the public key from the DHT using the metadata in the token; and

iii) at least one output for transferring cryptocurrency from the user of the IoT device to the escrow agent;

access, by the BID agent, the public key associated with the user from the metadata contained in the token of the redeem script after the first transaction has been confirmed on the blockchain, wherein the BID agent retrieves operating instructions from the DHT that specify how to store and use the public key for verification;

store the public key, or a reference to its location, in memory within the IoT device, wherein the BID agent executes the retrieved operating instructions to store the public key:

receive, at the IoT device from a portable computing device associated with the user, a message or other data which has been encrypted using a private key associated with the user;

allow or prevent access to and/or use of the IoT device by the BID agent performing cryptographic calculations to verify the encrypted message using the stored public key and toggling switches of a set of switches on the IoT device via an application programming interface (API) dependent upon successful cryptographic verification, wherein the BID agent operates and controls the IoT device via the API by executing predetermined instructions stored off the IoT device and accessed via cryptographic keys;

detect, at the IoT device, a second blockchain transaction on the blockchain network, the second blockchain transaction responsive to completion of a rental period specified in the smart contract,

the second blockchain transaction comprising:

a first input signed by the escrow agent and a second input signed by the user of the IoT device and the controller of the IoT device, and

an output which sends a second token that represents the public key associated with the user to the IoT device, or a hash of said public key, wherein responsive to a broadcast of the second blockchain transaction on the blockchain, the public key associated with the user is removed from the memory of the IoT device by the BID agent executing instructions retrieved from the DHT that specify how to identify and remove the specific public key matching the hash in the second token, wherein removing the public key prevents the IoT device from decrypting further messages from the portable computing device.

11 . A system according to claim 10 wherein the system comprises:

the IoT device;

a blockchain; and

an internet-enabled client device associated with a user and arranged to store a cryptographic key associated with the user, wherein the client device is a portable or handheld computing device.

12 . A system according to claim 10 wherein the IoT device is arranged to generate a blockchain Transaction and provide the Transaction to a blockchain network.

Assignments (3)
CHANGE OF NAME Recorded Jun 21, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 060392/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2022
From: VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 058820/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2022
From: VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 058820/0378 →
Priority Claims (2)
GB 1613106 · Jul 29, 2016 · national
GB 1613107 · Jul 29, 2016 · national
Continuity (1)
Related Publication 20190173884A1 · Jun 6, 2019
References Cited (87)
US 5892900A · Ginter et al. · 1999 [cited by applicant]
US 10425414B1 · Buckingham · 2019 [cited by examiner]
US 10949856B1 · Rangan · 2021 [cited by examiner]
US 11057198B2 · Linder · 2021 [cited by examiner]
US 11195177B1 · Vijayvergia · 2021 [cited by examiner]
US 11210663B2 · Voorhees · 2021 [cited by examiner]
US 11563571B1 · Teja · 2023 [cited by examiner]
US 20030034873A1 · Chase et al. · 2003 [cited by applicant]
US 20070027799A1 · Manelis · 2007 [cited by examiner]
US 20150120567A1 · Van Rooyen et al. · 2015 [cited by applicant]
US 20150120569A1 · Belshe et al. · 2015 [cited by applicant]
US 20150145645A1 · Stanfield et al. · 2015 [cited by applicant]
US 20150222517A1 · McLaughlin et al. · 2015 [cited by applicant]
US 20150379510A1 · Smith · 2015 [cited by examiner]
US 20160086175A1 · Finlow-Bates · 2016 [cited by examiner]
US 20160098723A1 · Feeney · 2016 [cited by applicant]
US 20160162897A1 · Feeney · 2016 [cited by applicant]
US 20160308957A1 · Zhang · 2016 [cited by examiner]
US 20170046806A1 · Haldenby · 2017 [cited by examiner]
US 20170109744A1 · Wilkins · 2017 [cited by examiner]
US 20170109748A1 · Kote · 2017 [cited by examiner]
US 20170206523A1 · Goeringer · 2017 [cited by examiner]
US 20170279774A1 · Booz · 2017 [cited by examiner]
US 20170300876A1 · Musiala, Jr. · 2017 [cited by examiner]
US 20170317997A1 · Smith · 2017 [cited by examiner]
US 20170337552A1 · Mandal · 2017 [cited by examiner]
US 20170344988A1 · Cusden · 2017 [cited by examiner]
US 20170372417A1 · Gaddam · 2017 [cited by examiner]
US 20180062831A1 · Zhang · 2018 [cited by examiner]
US 20180254905A1 · Chun · 2018 [cited by applicant]
US 20190120929A1 · Meadow · 2019 [cited by applicant]
US 20200059470A1 · Umezurike · 2020 [cited by applicant]
US 20210226926A1 · Crabtree · 2021 [cited by examiner]
US 20210390531A1 · Voorhees · 2021 [cited by examiner]
CN 105516059A · 2016 [cited by applicant]
CN 105790954A · 2016 [cited by applicant]
CN 105809062A · 2016 [cited by applicant]
JP 2012079109A · 2012 [cited by applicant]
JP 5879451B1 · 2016 [cited by applicant]
JP 2022123070A · 2022 [cited by applicant]
A Survey on Crypto Currencies. Ahamad. AETACS. (Year: 2013). [cited by examiner]
Blockchain Technologies in E-commerce: Social Shopping and Loyalty Program Applications. Lim. Springer-Verlag. (Year: 2011). [cited by examiner]
The Bitcoin Lightning Network. Poon. (Year: 2015). [cited by examiner]
JP2020188446. English Translation. (Year: 2020). [cited by examiner]
CN105809062B. English Translation. (Year: 2016). [cited by examiner]
Homomorphic Payment Addresses and the Pay-to-Contract Protocol. Gerhardt. (Year: 2012). [cited by examiner]
Transaction Verification Model over Double Spending for Peer-to-Peer Digital Currency Transactions based on Blockchain Architecture.i Rubasinghe. IJCA. (Year: 2017). [cited by examiner]
Blockchain Takes Off. Akmeemana. Blockchain Research Institute. (Year: 2017). [cited by examiner]
Smart Contract Management System. Irfan. (Year: 2019). [cited by examiner]
Improving scalability in vehicular communication using one-way hash chain method. Sulaiman. Elsevier. (Year: 2013). [cited by examiner]
CN107438003A. English Translation. (Year: 2016). [cited by examiner]
Privacy aware decentralized access control system. Shafeeq. Elsevier. (Year: 2019). [cited by examiner]
Micropayments for Decentralized Currencies.Pass et al. ACM. (Year: 2015). [cited by examiner]
Ethereum Whitepaper.Buterin. (Year: 2014). [cited by examiner]
Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform. Buterin. (Year: 2015). [cited by examiner]
Anonymous, “Forth (programming language),” Wikipedia the Free Encyclopedia, edited Aug. 25, 2021, https://en.wikipedia.org/wiki/Forth_(programming_language), 15 pages. [cited by applicant]
Anonymous, “Internet of Things,” Wikipedia the Free Encyclopedia, page created 2007 (last edited May 18, 2021) [retrieved May 18, 2021], https://en.wikipedia.org/wiki/Internet_of_things, 42 pges. [cited by applicant]
Anonymous, “Reverse Polish Notation,” Wikipedia, the Free Encyclopedia, edited Aug. 11, 2021, https://en.wikipedia.org/wiki/Reverse_Polish_notation, 11 pages. [cited by applicant]
Anonymous, “Smart lock, ” Wikipedia, https://en.wikipedia.org/w/index.php?title=Smart_lock&oldid=730402325, Jul. 18, 2016 [retrieved Mar. 8, 2019], 1 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Assia et al., “Colored Coins—BitcoinX,” Brave New Coin, Nov. 2013, http://bravenewcoin.com/assets/Whitepapers/ColoredCoins-BitcoinX.pdf, 7 pages. [cited by applicant]
Bitfury Group, “Digital Assets on Public Blockchains,” White Paper, BitFury Group Limited, Mar. 15, 2016, http://bitfury.com/content/5-white-papers-research/bitfury-digital_assets_on_public_blockchains-1.pdf, 37 pages. [cited by applicant]
Bloch, “Bitcoin: Bigger than the Internet,” Medium, https://medium.com/@collegecrypto/bitcoin-bigger-than-the-internet-6aea2d48c9db, Dec. 14, 2014 [retrieved Mar. 8, 2019], 4 pages. [cited by applicant]
Christidis et al., “Blockchains and Smart Contracts for the Internet of Things,” IEEE Access 4(1):2292-2303, May 10, 2016. [cited by applicant]
Franco, “Understanding Bitcoin: Cryptography, Engineering and Economics,” Wiley, ISBN: 978-1-119-01916-9, Oct. 2014, 144 pages. [cited by applicant]
International Search Report and Written Opinion mailed Jul. 21, 2017, Patent Application No. PCT/IB2017/054426, 14 pages. [cited by applicant]
International Search Report and Written Opinion mailed Jul. 21, 2017, Patent Application No. PCT/IB2017/054428, 12 pages. [cited by applicant]
Jentzsch et al., “Slock.it DAO demo at Devcon1: IoT + Blockchain,” YouTube, https://www.youtube.com/watch?v=49wHQoJxYPo (transcript from https://www.voicetube.com/videos/print/33573), Nov. 12, 2015 (published online Nov… [cited by applicant]
Magnussen et al., “CHECKMULTISIG a worked out example,” Bitcoin Stack Exchange, Sep. 26, 2015, https://bitcoin.stackexchange.com/questions/40669/checkmultisig-a-worked-out-example, 5 pages. [cited by applicant]
Mainelli et al., “The impact and potential of blockchain on securities transaction lifecycle,” SWIFT Institute Working Paper No. 2015-007, Apr. 11, 2016 (published by SSRN on May 9, 2016), 82 pages. [cited by applicant]
Menezes et al., “Handbook of Applied Cryptography,” CRC Press, Oct. 16, 1996, 811 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]
Pour, “Bitcoin multisig the hard way: Understanding raw P2SH multisig transactions,” Dec. 20, 2014, https://www.soroushjp.com/2014/12/20/bitcoin-multisig-the-hard-way-understanding-raw-multisignature-bitcoin-transaction… [cited by applicant]
Prisco, “Slock.It to Introduce Smart Locks Linked to Smart Ethereum Contracts, Decentralize the Sharing Economy,” Bitcoin Magazine, Nov. 5, 2015, https://bitcoinmagazine.com/articles/slock-it-to-introduce-smart-locks-li… [cited by applicant]
Sileniced et al., “Can someone come up with some examples on how ethereum might change the global economy?,” Reddit r/ethereum, https://www.reddit.com/r/ethereum/comments/2dxruc/can_someone_come_up_with_some_examples_on… [cited by applicant]
Talerecursion, “Forum Post on r/slockit,” Reddit, https://www.reddit.com/r/slockit/comments/4dk24k/use_cases_for_the_ethereum_computer/, Apr. 2016, 1 page. [cited by applicant]
Theymos et al., “Script,” Bitcoin Wiki, http://web.archive.org/web/20160714165653/https://en.bitcoin.it/wiki/Script, Dec. 19, 2010 (archived version Jul. 14, 2016) [retrieved Mar. 14, 2019], 8 pages. [cited by applicant]
Todd et al., “bips/bip-0016.mediawiki,” GitHub, Apr. 9, 2019, https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki, 6 pages. [cited by applicant]
UK Commercial Search Report mailed Oct. 10, 2016, Patent Application No. GB1613107.0, 6 pages. [cited by applicant]
UK Commercial Search Report mailed Oct. 28, 2016, Patent Application No. GB1613106.2, 7 pages. [cited by applicant]
UK IPO Search Report mailed Feb. 6, 2017, Patent Application No. GB1613106.2, 4 pages. [cited by applicant]
UK IPO Search Report mailed Feb. 6, 2017, Patent Application No. GB1613107.0, 4 pages. [cited by applicant]
Zhang et al, “An IoT electric business model based on the protocol of bitcoin,” 2015 18th International Conference on Intelligence in Next Generation Networks, Feb. 15, 2015, pages. [cited by applicant]
Wikipedia, “Distributed Hash Table”, https://en.wikipedia.org/w/index.php?title=Distributed_hash_table&oldid=729279440, retreived from the internet on Apr. 26, 2023, 8 pages. [cited by applicant]
Byte-map of Transaction with 1-15 each type of TxIn and TxOut The Wayback Machine, Apr. 5, 2016 (Apr. 5, 2016), XP055832837, Retrieved from the Internet: URL:https://web.archive.org/web/2016040510 0222/https://en.bitcoi… [cited by applicant]
Anonymous, “Script,” Bitcoin Wiki, Jun. 8, 2017, 12 pages. [cited by applicant]
Wiki, “Transaction” en.bitcoin.it/wiki/Transaction, last edited on Jan. 17, 2024, 8 pages. [cited by applicant]