IP Library › Granted Patent US 12,591,890
Granted Patent B2
US 12,591,890 · App. 18/975,506 · Granted Mar 31, 2026

Concurrent state machine processing using a blockchain

Inventor: 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,591,890
App. No.
18/975,506
Granted
Mar 31, 2026
Kind
B2
Abstract

Trustless deterministic state machines can be implemented using a blockchain infrastructure and state machines can run concurrently over more than one blockchain transaction. The transactions can be done in a Bitcoin blockchain ledger. An unlocking transaction constraint that constrains an unlocking transaction to include a transaction input that references a previous transaction output is determined. A redeemable transaction is created to include a transaction output that includes an amount and a transaction locking script that includes the unlocking transaction constraint, with unlocking the amount being contingent upon execution of at least one unlocking script of the unlocking transaction satisfying the unlocking transaction constraint. The redeemable transaction is caused to be validated at a node of a blockchain network.

Claims (43)

1 . A computer-implemented method comprising:

creating an unlocking transaction that includes:

a transaction input comprising a hash that is a transaction ID (TxID) of a previous transaction (Tx Z) and an output (n) of the previous transaction;

an unlocking script, the unlocking script comprising:

a serialized version of the previous transaction (TxZ);

a serialized version of a further previous transaction (TxZ′) with an output that was transferred by the previous transaction (TxZ);

a set of serialized unlocking transaction fields of the unlocking transaction; and

a byte that indicates which unlocking transaction fields of the unlocking transaction have been included in the unlocking script; and

an output comprising a locking script of the unlocking transaction.

2 . The computer-implemented method of claim 1 , wherein a locking script of the previous transaction constrains the unlocking script of the unlocking transaction to have included the set of serialized unlocking transaction fields of the unlocking transaction.

3 . The computer-implemented method of claim 2 , wherein the locking script of the previous transaction constrains the unlocking script to have included the serialized version of the previous transaction (Tx Z).

4 . The computer-implemented method of claim 1 , wherein the transaction ID of the previous transaction is extracted from fields of the unlocking transaction.

5 . The computer-implemented method of claim 1 , wherein the unlocking script further comprises one or more serialised versions of previous transactions.

6 . The computer-implemented method of claim 1 , wherein different outputs of the previous transaction apply different sets of constraints on different inputs and outputs of different unlocking blockchain transactions.

7 . The computer-implemented method of claim 1 , wherein a locking script of an output of the previous transaction is used to implement a state machine such that the unlocking transaction represents a state transition of the state machine, with the locking script constraining the contents of the unlocking transaction.

8 . The computer-implemented method of claim 1 , further comprising:

verifying that the unlocking script comprises the serialized set of unlocking transaction fields, the serialized version of the previous transaction, and a reference to the previous transaction.

9 . The computer implemented method of claim 8 , further comprising:

extracting a locking script of the unlocking transaction, and

determining, based on the locking script of the previous transaction's output, what the constraints are to be on the locking script of the unlocking transaction.

10 . The computer-implemented method of claim 8 , further comprising verifying the constraints.

11 . The computer-implemented method of claim 1 , wherein the method is performed by a validation node in the blockchain network.

12 . 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 .

13 . 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 comprising:

creating an unlocking transaction that includes:

a transaction input comprising a hash that is a transaction ID (TxID) of a previous transaction (Tx Z) and an output (n) of the previous transaction;

an unlocking script, the unlocking script comprising:

a serialized version of the previous transaction (TxZ);

a serialized version of a further previous transaction (TxZ′) with an output that was transferred by the previous transaction (TxZ);

a set of serialized unlocking transaction fields of the unlocking transaction; and

a byte that indicates which unlocking transaction fields of the unlocking transaction have been included in the unlocking script; and

an output comprising a locking script of the unlocking transaction.

14 . The system of claim 13 , wherein a locking script of the previous transaction constrains the unlocking script of the unlocking transaction to have included the set of serialized unlocking transaction fields of the unlocking transaction.

15 . The system of claim 14 , wherein the locking script of the previous transaction constrains the unlocking script to have included the serialized version of the previous transaction (Tx Z).

16 . The system of claim 13 , wherein the transaction ID of the previous transaction is extracted from fields of the unlocking transaction.

17 . The system of claim 13 , wherein the unlocking script further comprises one or more serialised versions of previous transactions.

18 . The system of claim 13 , wherein different outputs of the previous transaction apply different sets of constraints on different inputs and outputs of different unlocking blockchain transactions.

19 . The system of claim 13 , wherein a locking script of an output of the previous transaction is used to implement a state machine such that the unlocking transaction represents a state transition of the state machine, with the locking script constraining the contents of the unlocking transaction.

20 . The system of claim 13 , wherein the system comprises a validation node in a blockchain network.

21 . The computer-implemented method of claim 1 , wherein the set of serialized unlocking transaction fields comprises a signature hash type of the hash, wherein the locking script verifies that the signature hash type matches the hash.

22 . The computer-implemented method of claim 21 , wherein the locking script is executed by a transaction verifier configured to implement an operation code to place a signature of the unlocking transaction on a stack.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2025
From: NCHAIN HOLDINGS AG
To: NCHAIN LICENSING AG
Reel/Frame 071401/0665 →
Priority Claims (3)
GB 1713790 · Aug 29, 2017 · national
GB 1713794 · Aug 29, 2017 · national
GB 1713805 · Aug 29, 2017 · national
Continuity (3)
Continuation 18443222 · Feb 15, 2024
Continuation 16642836
Related Publication 20250156865A1 · May 15, 2025
References Cited (7)
US 10523443B1 · Kleinman · 2019 [cited by examiner]
US 20170091750A1 · Maim · 2017 [cited by examiner]
US 20180253702A1 · Dowding · 2018 [cited by examiner]
US 20190005470A1 · Uhr · 2019 [cited by examiner]
US 20190028276A1 · Pierce · 2019 [cited by examiner]
Antonopoulos, A. M.: “Mastering Bitcoin”, Early release revision 6, Oct. 7, 2014: pp. 111-138, [online], [search on Mar. 11, 2021], Internet URL:https://unglueit-files.s3.amazonaws.comebf/05db7df4f31840f0a873d6ea14dcc28… [cited by applicant]
Takaaki Tateishi et al.: “Practice of blockchain application development and future problem,” the software engineering symposium collected papers 2017, Japan, Information Processing Society of Japan, Aug. 23, 2017, vol.… [cited by applicant]