IP Library Granted Patent US 11,563,574
Granted Patent B2
US 11,563,574 · App. 16/320,083 · Granted Jan 24, 2023

Blockchain-implemented method and system

Inventor: Gavin Allen (London, GB)
Assignee: nChain Holdings Ltd
H04L9/14G06F21/305G06F21/645G06Q20/065G06Q20/0658G06Q20/36G06Q20/389G06Q20/3829H04L9/0637H04L9/0643H04L9/0861H04L9/3263H04W4/70H04L9/50H04L2209/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,563,574
App. No.
16/320,083
Granted
Jan 24, 2023
Kind
B2
Abstract

This invention relates generally to distributed ledger technology (including blockchain related technologies), and in particular the use of a blockchain in implementing, controlling and/or automating a task or process. It may relate to the use of a blockchain or related technology for recording or representing the execution of a portion of logic. This portion of logic may be arranged to implement the functionality of a logic gate, or plurality of logic gates, such as AND, XOR, NOT, OR etc. . . . . An embodiment of the invention may comprise the steps of: providing a blockchain Transaction comprising a redeem script for an output, wherein the redeem script comprises: i) a plurality of public keys, each associated with a corresponding private key; and wherein each public key is uniquely associated with a potential state of at least one data source; and wherein a minimum number of said private keys must be used to sign an unlocking script of a further blockchain Transaction in order to spend the output; and ii) logic arranged to provide a result based on: A) a determination of which of the plurality of associated private key(s) is/are used to sign the unlocking script, so as to provide an interim result: and B) a comparison of a parameter supplied via the unlocking script against the interim result. The method also comprises the step of attempting to spend the transaction output more than once, each attempt supplying a different parameter.

Claims (50)

1. A computer-implemented control method comprising:

providing a blockchain transaction comprising a redeem script for an output, wherein the redeem script comprises:

i) a plurality of public keys, each public key of the plurality of public keys associated with a corresponding private key, wherein:

each public key is uniquely associated with a potential state of at least one data source;

the at least one data source comprises a sensor or a signal generation component that provides an input indicating a state of the at least one data source; and

a minimum number of said plurality of associated private keys must be used to sign an unlocking script of a further blockchain transaction in order to spend the output; and

ii) logic arranged to provide a result based on:

a determination of which of the plurality of associated private keys is used to sign the unlocking script, so as to provide an interim result, wherein the interim result is determined by which of the plurality of associated private keys is used to sign the unlocking script; and

a comparison of a parameter supplied via the unlocking script against the interim result; and

attempting to spend the output more than once by submitting a different blockchain transaction to a blockchain network, each attempt supplying a different parameter to the redeem script.

2. The computer-implemented control method according to claim 1 , wherein the logic is arranged to implement functionality of a logic gate.

3. The computer-implemented control method according to claim 2 , wherein the logic gate is a NOT, AND, OR, NOR, XOR, IMPLY, NAND, NONIMPLY, or XNOR gate.

4. The computer-implemented control method according to claim 1 , wherein the state of the at least one data source is determined by a computing agent.

5. The computer-implemented control method according to claim 4 , wherein the computing agent is in communication with a control computing agent.

6. The computer-implemented control method according to claim 1 , wherein the result is a Boolean result.

7. The computer-implemented control method according to claim 1 , wherein there are at least two data sources.

8. The computer-implemented control method according to claim 1 , wherein there are two potential states for each data source, each potential state of the at least two potential states being associated with, or represented by, a respective public key.

9. The computer-implemented control method according to claim 1 , further comprising:

for each of the at least one data source:

associating a respective public key in the plurality with a respective potential state of the data source, such that all possible states of the data source are represented by respective public keys.

10. The computer-implemented control method according to claim 1 , wherein each public key represents a respective Boolean value indicative of the potential state of the at least one data source.

11. The computer-implemented control method according to claim 1 , wherein the parameter is a value, or a puzzle, or a value embedded in a key.

12. The computer-implemented control method according to claim 1 , wherein the logic is arranged to perform an equality check to compare the interim result with the parameter.

13. The computer-implemented control method according to claim 1 , wherein the interim result is derived from the logic provided within the redeem script, and/or is a Boolean value that is calculated by determining which of the plurality of associated private keys were used to sign the unlocking script.

14. The computer-implemented control method according to claim 1 , further comprising generating or deriving one or more of the plurality of public keys from a base or master key.

15. The computer-implemented control method according to claim 14 , wherein:

the generating or the deriving is performed using a deterministic key generation technique.

16. The computer-implemented control method according to claim 1 , wherein the determination of which of the plurality of associated private keys is used to sign the unlocking script is based on the input.

17. A computer-implemented system comprising hardware arranged to implement:

at least one computer-based resource comprising:

one or more processors; and

memory storing executable instructions that, being executed by the one or more processors, cause the computer-implemented system to:

provide a first blockchain transaction comprising a redeem script for an output, wherein the redeem script comprises:

i) a plurality of public keys, each public key of the plurality of public keys associated with a corresponding private key wherein:

each public key is uniquely associated with a potential state of at least one data source;

the at least one data source comprises a sensor or a signal generation component that provides an input indicating a state of the at least one data source; and

a minimum number of said plurality of associated private keys must be used to sign an unlocking script of a second blockchain transaction in order to spend the output; and

ii) logic arranged to provide a result based on:

a determination of which of the plurality of associated private keys is used to sign the unlocking script, so as to provide an interim result, wherein the interim result is determined by which of the plurality of associated private keys is used to sign the unlocking script; and

a comparison of a parameter supplied via the unlocking script against the interim result; and

attempt to spend the output more than once by submitting a different blockchain transaction to a blockchain network, each attempt supplying a different parameter to the redeem script;

and

a blockchain.

18. The computer-implemented system according to claim 17 , wherein execution of the executable instructions by the one or more processors further cause the computer-implemented system to:

submit the first blockchain transaction to the blockchain network;

generate the second blockchain transaction;

digitally sign the unlocking script; and/or

generate the plurality of public keys and the plurality of associated private keys.

19. The computer-implemented system according to claim 17 , wherein the result is used to control or influence further execution or operation of a process or apparatus.

20. The computer-implemented system according to claim 17 , further comprising additional hardware comprising the at least one sensor or signal generation component arranged and configured to provide the input to the at least one computer-based resource.

Assignments (4)
CHANGE OF NAME Recorded Jun 18, 2024
From: NCHAIN HOLDINGS LTD.
To: NCHAIN LICENSING AG
Reel/Frame 067779/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2022
From: ALLEN, GAVIN
To: NCHAIN HOLDINGS LTD
Reel/Frame 061321/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2022
From: ALLEN, GAVIN
To: NCHAIN HOLDINGS LTD
Reel/Frame 061322/0044 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2022
From: ALLEN, GAVIN
To: NCHAIN HOLDINGS LTD
Reel/Frame 061322/0140 →
Priority Claims (3)
GB 1613148 · Jul 29, 2016 · national
GB 1613177 · Jul 29, 2016 · national
GB 1613188 · Jul 29, 2016 · national
Continuity (1)
Related Publication 20190356472A1 · Nov 21, 2019
Cited By (1)
US 12,596,844