IP Library › Granted Patent US 12,211,043
Granted Patent B2
US 12,211,043 · App. 18/443,222 · Granted Jan 28, 2025

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,211,043
App. No.
18/443,222
Granted
Jan 28, 2025
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 (30)

1. A computer-implemented method for effecting a state transition of a state machine in a blockchain network, the method comprising:

determining a current state of the state machine in a set of state rules from a previous blockchain transaction, wherein the current state is embedded in an output of the previous blockchain transaction;

creating an unlocking blockchain transaction comprising an input and the current state in an unlocking script of the unlocking blockchain transaction;

determining a next state of the state machine from the input, the current state, and the set of state rules, wherein the next state is embedded in a locking script of an output of the unlocking blockchain transaction; and

unlocking the output of the previous blockchain transaction to effect the state transition.

2. The computer-implemented method of claim 1 , further comprising encoding the set of state rules in a locking script of an output of the previous blockchain transaction.

3. The computer-implemented method of claim 1 , further comprising embedding the current state in a lock time field of a locking script of the previous blockchain transaction.

4. The computer-implemented method of claim 1 , further comprising determining that the input comprises external data determined at a time the unlocking blockchain transaction is created.

5. The computer-implemented method of claim 1 , further comprising the unlocking blockchain transaction accepting the input from a determined source.

6. The computer-implemented method of claim 1 , further comprising the set of state rules comprising a state-transaction matrix representing a constraint on the unlocking blockchain transaction imposed by a locking script.

7. The computer-implemented method of claim 6 , further comprising checking that the unlocking blockchain transaction includes an output that includes the next state in a particular field.

8. The computer-implemented method of claim 6 , further comprising encoding the set of state rules as a switch statement or another conditional statement.

9. The computer-implemented method of claim 1 , further comprising duplicating the locking script of the previous blockchain transaction output to every unlocking blockchain transaction that attempts to transfer control of a digital asset to a next transaction, which is linked to the previous transaction output.

10. The computer-implemented method of claim 9 , further comprising replicating this process until a termination condition is fulfilled.

11. The computer-implemented method of claim 1 , further comprising performing the method by a validation node in the blockchain network.

12. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, cause the system to perform a computer-implemented method comprising:

determining a current state of a state machine in a set of state rules from a previous blockchain transaction, wherein the current state is embedded in an output of the previous blockchain transaction;

creating an unlocking blockchain transaction comprising an input and the current state in an unlocking script of the unlocking blockchain transaction;

determining a next state of the state machine from the input, the current state, and the set of state rules, wherein the next state is embedded in a locking script of an output of the unlocking blockchain transaction; and

unlocking the output of the previous blockchain transaction to effect the state transition.

13. The system of claim 12 , wherein the set of state rules is encoded in a locking script of an output of the previous blockchain transaction.

14. The system of claim 12 , wherein the current state is embedded in a lock time field of a locking script of the previous blockchain transaction.

15. The system of claim 12 , wherein the input comprises external data determined at a time the unlocking blockchain transaction is created.

16. The system of claim 12 , wherein the unlocking blockchain transaction is created to accept the input from a determined source.

17. The system of claim 12 , wherein the set of state rules comprises a state-transaction matrix represented by a constraint on the unlocking blockchain transaction imposed by a locking script.

18. The system of claim 17 , wherein the constraint comprises checking that the unlocking blockchain transaction includes an output that includes the next state in a particular field.

19. The system of claim 17 , wherein the set of state rules are encoded as a switch statement or another conditional statement.

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

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 066623/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 066624/0010 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 066624/0035 →
CHANGE OF NAME Recorded Mar 1, 2024
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 066724/0624 →
Priority Claims (3)
GB 1713790 · Aug 29, 2017 · national
GB 1713794 · Aug 29, 2017 · national
GB 1713805 · Aug 29, 2017 · national
Continuity (2)
Continuation 16642836
Related Publication 20240265392A1 · Aug 8, 2024
References Cited (57)
US 10833843B1 · Vijayvergia et al. · 2020 [cited by applicant]
US 11196566B2 · Middleton et al. · 2021 [cited by applicant]
US 20160283939A1 · Finlow-Bates · 2016 [cited by applicant]
US 20160292672A1 · Fay et al. · 2016 [cited by applicant]
US 20160330034A1 · Back et al. · 2016 [cited by applicant]
US 20170085545A1 · Lohe et al. · 2017 [cited by applicant]
US 20170091750A1 · Maim · 2017 [cited by applicant]
US 20170109657A1 · Marcu · 2017 [cited by examiner]
US 20170132621A1 · Miller et al. · 2017 [cited by applicant]
US 20170187535A1 · Middleton et al. · 2017 [cited by applicant]
US 20170228731A1 · Sheng et al. · 2017 [cited by applicant]
US 20170287090A1 · Hunn · 2017 [cited by examiner]
US 20170300872A1 · Brown et al. · 2017 [cited by applicant]
US 20170301047A1 · Brown · 2017 [cited by examiner]
US 20170345011A1 · Salami · 2017 [cited by examiner]
US 20180005186A1 · Hunn · 2018 [cited by examiner]
US 20180096360A1 · Christidis et al. · 2018 [cited by applicant]
US 20180123779A1 · Zhang · 2018 [cited by applicant]
US 20180165758A1 · Saxena et al. · 2018 [cited by applicant]
US 20180205555A1 · Watanabe · 2018 [cited by examiner]
US 20180241546A1 · Leng et al. · 2018 [cited by applicant]
US 20180253702A1 · Dowding · 2018 [cited by applicant]
US 20180260909A1 · Li · 2018 [cited by applicant]
US 20180300382A1 · Madisetti et al. · 2018 [cited by applicant]
US 20190019183A1 · Karame et al. · 2019 [cited by applicant]
US 20190042989A1 · Scott · 2019 [cited by examiner]
US 20200327498A1 · Weber · 2020 [cited by examiner]
US 20210211468A1 · Griffin et al. · 2021 [cited by applicant]
CN 105893042A · 2016 [cited by applicant]
CN 106940854A · 2017 [cited by applicant]
CN 107203368A · 2017 [cited by applicant]
RU 2015146675A · 2017 [cited by applicant]
WO 2017027484A1 · 2017 [cited by applicant]
WO 2017122187A2 · 2017 [cited by applicant]
WO 2017173399A1 · 2017 [cited by applicant]
Anonymous, “Smart Contracts/EVM FAQ Counterparty,” retrieved from https://web.archive.org/web/20170719092538/https://counterparty.io/docs/faq-smartcontracts/, Jul. 19, 2017, 7 pages. [cited by applicant]
Antonopoulos et al., “Bitcoin Book,” GitHub, retrieved from https://github.com/bitcoinbook/bitcoinbook, Jun. 8, 2017, 4 pages. [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Bitfury Group, “Smart Contracts on Bitcoin Blockchain,” BitFury Group Limited, Aug. 13, 2015 (updated Sep. 4, 2015), http://bitfury.com/content/5-white-papers-research/contracts-1.1.1.pdf, 20 pages. [cited by applicant]
Christidis, K. et al., “Blockchains and Smart Contracts for the Internet of Things”, IEEE Access, vol. 4. 2016 pp. 2292-2303. [cited by applicant]
Clack et al., “Smart Contract Templates: Essential Requirements and Design Options”, 2016, 15 pages. [cited by applicant]
Delgado-Segura et al., “Bitcoin Private Key Locked Transactions,” Cryptology ePrint Archive: Report 2016/1184, Dec. 30, 2016, 8 pages. [cited by applicant]
International Search Report and Written Opinion mailed Nov. 15, 2018, Patent Application No. PCT/IB2018/056431, 12 pages. [cited by applicant]
International Search Report and Written Opinion mailed Nov. 15, 2018, Patent Application No. PCT/IB2018/056432, 12 pages. [cited by applicant]
International Search Report and Written Opinion mailed Oct. 26, 2018, Patent Application No. PCT/IB2018/056430, 13 pages. [cited by applicant]
Möser et al., “Bitcoin Covenants,” Medical Image Computing and Computer-Assisted Intervention, Aug. 31, 2016, 16 pages. [cited by applicant]
Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Bitcoin, Oct. 31, 2008, https://bitcoin.org/bitcoin.pdf, 9 pages. [cited by applicant]
Satoshi et al., “Connection Limits,” Bitcoin Forum, Aug. 9, 2010, https://bitcointalk.org/index.php?topic=741.0; prev_next=prev, 2 pages. [cited by applicant]
Scoca et al., “Smart Contract Negotation in Cloud Computing” IEEE 10th International Conderence on Cloud Computing (CLOUD), 2017, pp. 592-599. [cited by applicant]
UK Commercial Search Report mailed Jan. 19, 2018, Patent Application No. GB1713790.2, 7 pages. [cited by applicant]
UK Commercial Search Report mailed Jan. 19, 2018, Patent Application No. GB1713794.4, 7 pages. [cited by applicant]
UK Commercial Search Report mailed Jan. 19, 2018, Patent Application No. GB1713805.8, 7 pages. [cited by applicant]
UK IPO Search Report mailed Feb. 28, 2018, Patent Application No. GB1713794.4, 8 pages. [cited by applicant]
UK IPO Search Report mailed Jan. 23, 2018, Patent Application No. GB1713805.8, 6 pages. [cited by applicant]
Wu et al., “A Cloudlet-based Multi-lateral Resource Exchange Framework for Mobile Users,” IEEE Conference on Computer Communications (INFOCOM), Apr. 26, 2015, 9 pages. [cited by applicant]
Japan Patent Office, “Notice of Reasons for Rejection” in Application No. 2023-045174, Mar. 26, 2024, 4 pages. [cited by applicant]
Tateishi et al., “Blockchain Application Development Practices and Future Challenges” Sonoward Engineering Symposium 2017, Information Processing Society of Japan, 22 pages. [cited by applicant]