IP Library Granted Patent US 11,694,193
Granted Patent B2
US 11,694,193 · App. 16/097,516 · Granted Jul 4, 2023

Implementing logic gate functionality using a blockchain

Inventors: Craig Steven Wright (London, GB); Stephane Savanah (London, GB)
Assignee: nChain Licensing AG
G06Q20/3678G06F9/22G06F9/30021G06F9/30029G06F21/602G06F21/6218G06Q20/3827G06Q20/3829H04L9/0637H04L9/0643H04L9/3066H04L9/321H04L9/3239H04L9/3242H04L9/3252G06F21/6236H04L9/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,694,193
App. No.
16/097,516
Granted
Jul 4, 2023
Kind
B2
Abstract

The invention presents a solution in which blockchain Transactions are created to implement the functionality of a logic gate. The invention may be implemented on the Bitcoin platform or an alternative blockchain platform. The transaction includes a locking script which comprises instructions selected so as to implement the functionality of a logic gate, such as the XOR gate. When the script is executed (because a second transaction is attempting to spend the output associated with the locking script) the inputs will be processed by the conditional instructions to provide an output of TRUE or FALSE. The inputs are pre-processed by one or more computing agents so that they are evaluated to TRUE or FASLE prior to being used as inputs to the script. The second transaction is transmitted to the blockchain network for validation and, if determined to be valid, it will be written to the blockchain. Validation of the second transaction can be interpreted as a TRUE output. Thus, the locking script of the first transaction provides the functionality of the desired logic gate. The invention provides numerous advantages and can be used in a wide variety of applications, such as for the implementation of control systems and unit.

Claims (45)

1. A computer-implemented control method comprising:

generating a locking script in a first blockchain transaction, the locking script comprising at least one instruction arranged to:

implement functionality of a logic gate; and

determine an expected output of the logic gate by processing a plurality of Boolean inputs to execute the locking script, wherein the plurality of Boolean inputs is provided as a result of using at least one computing resource or agent to process at least one input signal;

providing a further blockchain transaction comprising an unlocking script, the unlocking script comprising the functionality of the logic gate;

executing the unlocking script by presenting a combination of Boolean inputs specifying the plurality of Boolean inputs to the logic gate to produce an output of the logic gate;

as a result of determining that the output of the logic gate matches the expected output, presenting the further blockchain transaction to a blockchain network; and

as a result of the further blockchain transaction being validated, causing an action to be performed based on the output.

2. The computer-implemented control method according to claim 1 , wherein the logic gate is an OR gate, an XOR gate, a NAND gate, a NOR gate, a NOT gate, an XNOR gate, an IMPLY gate, or a Converse implication gate.

3. The computer-implemented control method according to claim 1 , wherein processing the at least one input signal to provide the plurality of Boolean inputs is performed by the at least one computing resource or agent prior to providing the plurality of Boolean inputs to the locking script.

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

transmitting the further blockchain transaction and/or the first blockchain transaction to the blockchain network for validation.

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

monitoring or searching the blockchain or the blockchain network to determine the presence or absence of the further blockchain transaction.

6. The computer-implemented control method according to claim 5 , further comprising:

providing an additional computing resource arranged to influence the behaviour of a device or a process based upon:

detection of the further blockchain transaction within the blockchain or the blockchain network; and/or

the validation of the further blockchain transaction.

7. The computer-implemented control method according to claim 6 , further comprising:

interpreting the detection of the further blockchain transaction within the blockchain or the blockchain network as a TRUE output of the logic gate.

8. The computer-implemented control method according to claim 1 , wherein validation of the further blockchain transaction within the blockchain network is dependent upon the execution of the unlocking script.

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

controlling a device or a process based upon validity of the further blockchain transaction, wherein the validity is determined or established by a computer-based control agent, or by monitoring the blockchain network to determine that the further blockchain transaction has been validated by a network node, and/or by monitoring the state of the blockchain to determine that the further blockchain transaction has been written to the blockchain.

10. The computer-implemented control method according to claim 1 , wherein the at least one input signal comprises a numeric value, a constant value, a result of a hash function, a cryptographic key, a blockchain puzzle, and/or a Bitcoin other blockchain-related address.

11. The computer-implemented control method according to claim 1 , wherein the first blockchain transaction and/or the further blockchain transaction is generated and/or transmitted to the blockchain network by an automated process executing on a computing-based resource.

12. The computer-implemented control method according to claim 1 , wherein the at least one instruction:

comprises a Boolean condition or operator; and/or

is written and/or executed using a stack-based programming language.

13. A computer-implemented system, comprising:

one or more processors; and

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

generate a locking script in a first blockchain transaction, the locking script comprising at least one instruction arranged to:

implement functionality of a logic gate; and

determine an expected output of the logic gate by processing a plurality of Boolean inputs to execute the locking script, wherein the plurality of Boolean inputs is provided as a result of using at least one computing resource or agent to process at least one input signal;

provide a further blockchain transaction comprising an unlocking script, the unlocking script comprising the functionality of the logic gate;

execute the unlocking script by presenting a combination of Boolean inputs specifying the plurality of Boolean inputs to the logic gate to produce an output of the logic gate;

as a result of determining that the output of the logic gate matches the expected output, present the further blockchain transaction to a blockchain network; and

as a result of the further blockchain transaction being validated, cause an action to be performed based on the output.

14. The computer-implemented system of claim 13 , wherein the logic gate is an OR gate, an XOR gate, a NAND gate, a NOR gate, a NOT gate, an XNOR gate, an IMPLY gate, or a Converse implication gate.

15. The computer-implemented system of claim 13 , wherein processing the at least one input signal to provide the plurality of Boolean inputs is performed by the at least one computing resource or agent prior to providing the plurality of Boolean inputs to the locking script.

16. The computer-implemented system of claim 13 , wherein the instructions include further instructions that further cause the system to:

transmit the further blockchain transaction and/or first blockchain transaction to the blockchain network for validation.

17. The computer-implemented system of claim 13 , wherein the instructions include further instructions that further cause the system to:

monitor or search the blockchain or the blockchain network to determine the presence or absence of the further blockchain transaction.

18. The computer-implemented system of claim 13 , wherein validation of the further blockchain transaction within the blockchain network is dependent upon the execution of the unlocking script.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2023
From: WRIGHT, CRAIG STEVEN
To: NCHAIN HOLDINGS LTD
Reel/Frame 063607/0092 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2023
From: WRIGHT, CRAIG STEVEN
To: NCHAIN LICENSING AG
Reel/Frame 062965/0506 →
CHANGE OF NAME Recorded Mar 13, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063072/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2023
From: WRIGHT, CRAIG STEVEN
To: NCHAIN LICENSING AG
Reel/Frame 062311/0168 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: SAVANAH, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 059615/0758 →
Priority Claims (20)
GB 1607472 · Apr 29, 2016 · national
GB 1607520 · Apr 29, 2016 · national
GB 1607525 · Apr 29, 2016 · national
GB 1607527 · Apr 29, 2016 · national
GB 1607529 · Apr 29, 2016 · national
GB 1607530 · Apr 29, 2016 · national
GB 1607537 · Apr 29, 2016 · national
GB 1607538 · Apr 29, 2016 · national
GB 1607539 · Apr 29, 2016 · national
GB 1607541 · Apr 29, 2016 · national
GB 1607552 · Apr 29, 2016 · national
GB 1607553 · Apr 29, 2016 · national
GB 1607554 · Apr 29, 2016 · national
GB 1607555 · Apr 29, 2016 · national
GB 1607558 · Apr 29, 2016 · national
GB 1607561 · Apr 29, 2016 · national
GB 1607564 · Apr 29, 2016 · national
GB 1607566 · Apr 29, 2016 · national
GB 1607569 · Apr 29, 2016 · national
GB 1607584 · Apr 29, 2016 · national
Continuity (1)
Related Publication 20190139031A1 · May 9, 2019