IP Library › Granted Patent US 12,026,710
Granted Patent B2
US 12,026,710 · App. 16/642,842 · Granted Jul 2, 2024

Constraints on outputs of an unlocking transaction in a blockchain

Inventors: Ying Chan (Cambridge, GB); Dean Kramer (London, GB)
Assignee: nChain Licensing AG
G06Q20/401G06F16/2365G06F16/2379G06Q10/10G06Q20/02G06Q20/065G06Q20/36H04L9/0643G06Q2220/00H04L9/50
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,026,710
App. No.
16/642,842
Granted
Jul 2, 2024
Kind
B2
Abstract

Techniques for implementing trustless deterministic state machines using a blockchain infrastructure and running state machines concurrently over one or more transactions are described. An initial transaction is created to include at least one initial locking script that includes a first set of constraints, a second set of constraints, and at least one redeemable value. An unlocking blockchain transaction is also created with an input comprising an unlocking script and respective transaction outputs for a first locking script and a second locking script. Upon processing the initial locking script and the unlocking script, the first set of constraints and the second set of constraints are determined. Next, the first and second locking scripts are verified to ensure that they satisfy the first and second sets of constraints. Finally, the initial transaction is caused to be validated at a node of a blockchain network.

Claims (46)

1. A computer-implemented method, comprising:

creating an initial blockchain transaction that includes:

at least one initial locking script that includes a first set of constraints and a second set of constraints; and

at least one redeemable value;

creating an unlocking blockchain transaction that includes an input comprising an unlocking script, a first blockchain transaction output comprising a first locking script, and a second blockchain transaction output comprising a second locking script;

processing the unlocking script and the initial locking script to determine the first set of constraints and the second set of constraints;

verifying that the first locking script satisfies the first set of constraints and the second locking script satisfies the second set of constraints; and

causing the initial blockchain transaction to be validated at a node of a blockchain network.

2. The computer-implemented method according to claim 1 , wherein the first locking script is a duplicate of the second locking script.

3. The computer-implemented method according to claim 1 , wherein the first locking script is different from the second locking script.

4. The computer-implemented method according to claim 2 , wherein the first locking script includes at least a portion of the at least one initial locking script.

5. The computer-implemented method according to claim 4 , wherein execution of the at least one initial locking script selects the at least a portion from a plurality of portions of the at least one initial locking script.

6. The computer-implemented method according to claim 1 , comprising the step of executing an unlocking script of the unlocking blockchain transaction, wherein execution of an unlocking script of the unlocking blockchain transaction results in the at least one initial locking script receiving data that corresponds to one of the first blockchain transaction output or the second blockchain transaction output.

7. The computer-implemented method according to claim 6 , wherein:

the data is an index value;

on a condition that the index value is a first index value, execution of the at least one initial locking script determines whether the first set of constraints is satisfied; and

on a condition that the index value is a second index value, execution of the at least one initial locking script determines whether the second set of constraints is satisfied.

8. The computer-implemented method according to claim 6 , wherein:

the data includes a new locking script; and

as a result of receiving the data, constrain the first blockchain transaction output to include the new locking script.

9. The computer-implemented method according to claim 6 , wherein the at least one initial locking script includes a constraint of a source of the data.

10. The computer-implemented method according to claim 1 , further comprising determining a redeemable value for the first blockchain transaction output.

11. The computer-implemented method according to claim 1 , wherein the initial blockchain transaction encodes a contract having a plurality of states.

12. The computer-implemented method according to claim 11 , wherein the unlocking blockchain transaction includes a plurality of input values corresponding to the plurality of states.

13. The computer-implemented method according to claim 12 , wherein:

the first set of constraints constrains the first blockchain transaction output to have a first state; and

the second set of constraints constrains the second blockchain transaction output to have a second state.

14. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 1 .

15. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method according to claim 1 .

16. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 2 .

17. A system comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 3 .

18. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 4 .

19. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 5 .

20. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method according to claim 6 .

Assignments (4)
CHANGE OF NAME Recorded May 24, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063744/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 052717/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 052717/0992 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 052718/0045 →
Priority Claims (3)
GB 1713790 · Aug 29, 2017 · national
GB 1713794 · Aug 29, 2017 · national
GB 1713805 · Aug 29, 2017 · national
Continuity (1)
Related Publication 20200202350A1 · Jun 25, 2020