US 11,941,624 B2
Concurrent state machine processing using a blockchain
Dean Kramer, London (GB)
Assigned to nChain Licensing AG, Zug (CH)
Appl. No. 16/642,836
Filed by nChain Licensing AG, Zug (CH)
PCT Filed Aug. 24, 2018, PCT No. PCT/IB2018/056430
§ 371(c)(1), (2) Date Feb. 27, 2020,
PCT Pub. No. WO2019/043536, PCT Pub. Date Mar. 7, 2019.
Claims priority of application No. 1713790 (GB), filed on Aug. 29, 2017; application No. 1713794 (GB), filed on Aug. 29, 2017; and application No. 1713805 (GB), filed on Aug. 29, 2017.
Prior Publication US 2020/0204350 A1, Jun. 25, 2020
Int. Cl. G06Q 20/40 (2012.01); G06F 16/23 (2019.01); G06Q 10/10 (2023.01); G06Q 20/02 (2012.01); G06Q 20/06 (2012.01); G06Q 20/36 (2012.01); H04L 9/06 (2006.01); H04L 9/00 (2022.01)
CPC G06Q 20/401 (2013.01) [G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06Q 10/10 (2013.01); G06Q 20/02 (2013.01); G06Q 20/065 (2013.01); G06Q 20/36 (2013.01); H04L 9/0643 (2013.01); G06Q 2220/00 (2013.01); H04L 9/50 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
creating a blockchain transaction that encodes:
a state machine in a first state;
a state transition matrix comprising a set of rules defining a set of permissible state transitions based, at least in part, on a current state of the state machine and one or more inputs, wherein the state machine includes the state transition matrix, and wherein the first state corresponds to the current state; and
a set of script elements to be executed to cause an unlocking transaction to:
encode the state transition matrix; and
comply with a restriction on an input to the unlocking transaction or comply with a restriction on an output of the unlocking transaction, wherein the restriction on the input states a set of conditions for advancing the state machine, and wherein the restriction on the output requires:
a first output of the unlocking transaction to indicate a state corresponding to the first output in compliance with the set of permissible state transitions; and
a second output of the unlocking transaction to indicate a state corresponding to the second output in compliance with the set of permissible state transitions; and
causing the state machine to transition from the current state to a next state in the state transition matrix as a result of the blockchain transaction being validated by a node in a blockchain network and based on compliance with the restriction on the input or the output of the unlocking transaction.