US 12,217,257 B2
Trustless deterministic state machine
Ying Chan, Cambridge (GB); and Dean Kramer, London (GB)
Assigned to NCHAIN LICENSING AG, Zug (CH)
Filed by nChain Licensing AG, Zug (CH)
Filed on Sep. 26, 2022, as Appl. No. 17/952,851.
Application 17/952,851 is a continuation of application No. 16/615,801, granted, now 11,456,875, previously published as PCT/IB2018/053336, filed on May 14, 2018.
Claims priority of application No. 1708185 (GB), filed on May 22, 2017; application No. 1708190 (GB), filed on May 22, 2017; application No. 1708192 (GB), filed on May 22, 2017; application No. 1708196 (GB), filed on May 22, 2017; application No. 1708198 (GB), filed on May 22, 2017; and application No. 1708200 (GB), filed on May 22, 2017.
Prior Publication US 2023/0092477 A1, Mar. 23, 2023
Int. Cl. H04L 29/06 (2006.01); G06F 16/23 (2019.01); G06F 21/62 (2013.01); G06F 21/64 (2013.01); G06Q 20/06 (2012.01); G06Q 20/36 (2012.01); G06Q 20/38 (2012.01); H04L 9/06 (2006.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01); G06Q 10/10 (2023.01); H04L 9/00 (2022.01)
CPC G06Q 20/389 (2013.01) [G06F 16/2379 (2019.01); G06F 21/6209 (2013.01); G06F 21/645 (2013.01); G06Q 20/065 (2013.01); G06Q 20/0658 (2013.01); G06Q 20/36 (2013.01); G06Q 20/3674 (2013.01); G06Q 20/3825 (2013.01); G06Q 20/3829 (2013.01); H04L 9/0637 (2013.01); H04L 9/0643 (2013.01); H04L 9/30 (2013.01); H04L 9/3236 (2013.01); H04L 9/3239 (2013.01); H04L 9/3247 (2013.01); G06Q 10/10 (2013.01); G06Q 2220/00 (2013.01); H04L 9/3066 (2013.01); H04L 9/3252 (2013.01); H04L 9/50 (2022.05); H04L 2209/56 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, at a node in a blockchain network, a first transaction to validate, the first transaction including a first script that, as a result of being executed, causes the node to at least obtain a first set of field values of the first transaction, a second set of field values of a second transaction, and an input;
obtaining the second transaction, the second transaction including a second script that includes a set of rules, the second script, as a result of being executed, causing the node to at least:
verify that the second script matches a third script embedded in the first set of field values;
determine, based at least in part on the second set of field values, a current state of a state machine;
determine, based at least in part on the current state of the state machine, the input, and the set of rules, a next state of the state machine; and
verify that the next state of the state machine is included in the first set of field values;
validating the first transaction as a result of execution of the first script and the second script to reassociate the digital asset from the first entity to the second entity; and
verifying a cryptographic secret of a source of the input, wherein validating the first transaction includes reassociating a digital asset from a first entity to a second entity, wherein the cryptographic secret is verified based on the elliptic curve digital signature (r,s) wherein:
r=x mod n;
s=k−1(m+r×a)mod n,
where x is an elliptic curve coordinate, n is a large prime number, k is a 256-bit number, m is the double SHA-256 of the transaction, r is a 256-bit number in the ECDS and a is the cryptographic secret.