IP Library › Granted Patent US 12,626,252
Granted Patent B2
US 12,626,252 · App. 18/409,576 · Granted May 12, 2026

Blockchain-implemented systems and methods for concurrent bytecode interpretation

Inventors: Ying Chan (Cambridge, GB); Dean Kramer (London, GB)
Assignee: NCHAIN LICENSING AG
G06Q20/401G06Q20/0658G06Q20/405H04L9/32
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,626,252
App. No.
18/409,576
Granted
May 12, 2026
Kind
B2
Abstract

Computer-implemented methods are provided that create and validate a spending blockchain transaction created by a node in a blockchain network and including a locking script representing an instance of an execution thread joined from a plurality of execution threads represented at least one previous blockchain transaction. The spending blockchain also represents an execution thread joined from the execution thread instances pointed to by the spending blockchain transaction. Once created and validated, the spending blockchain transaction can be communicated on a blockchain network for storage in a blockchain ledger. The blockchain transactions can implement thread-specific locking scripts and associated fork, join and barrier constructs for concurrent or asynchronous threads of execution. The blockchain transactions can be validated according to constraints of a smart contract that encodes the terms for the blockchain transactions. The blockchain transactions can further be mined, and stored in a blockchain ledger.

Claims (30)

1 . A computer-implemented method comprising:

creating and validating a spending blockchain transaction that includes two or more transaction inputs Vin[x] and Vin[y], each transaction input respectively representing an execution thread of separate previous blockchain transaction, and a transaction output Vout[x] comprising a locking script representing an instance of an execution thread joined according to a join construct from execution thread instances of the transaction inputs; and

communicating the spending blockchain transaction on a blockchain network for storage in a blockchain:

wherein the spending blockchain transaction points to a plurality of locking scripts of one or more previous blockchain transactions and the plurality of locking scripts each represent an instance of the execution thread; and

wherein the locking script representing the execution thread joined from the execution thread instances pointed to by the spending blockchain transaction is generated by replicating a bytecode sequence of the plurality of locking scripts of the one or more previous blockchain transactions.

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

storing the one or more previous blockchain transactions in a blockchain maintained by the blockchain network.

3 . The computer-implemented method of claim 2 , wherein the spending blockchain transaction is created by a node of the blockchain network.

4 . The computer-implemented method of claim 1 , wherein the locking script representing the execution thread joined from the execution thread instances pointed to by the spending blockchain transaction is generated by replicating the bytecode sequence and interpreter code of the plurality of locking scripts of the one or more previous blockchain transactions.

5 . 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 of claim 1 .

6 . 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 perform the computer-implemented method of claim 1 .

7 . A computer-implemented method comprising:

creating and validating a spending blockchain transaction that includes two or more transaction inputs Vin[x] and Vin[y], each transaction input respectively representing an execution thread of separate previous blockchain transaction, and a transaction output Vout[x] comprising a locking script representing an instance of the execution thread joined according to a join construct from the execution thread instances of the transaction inputs;

communicating the spending blockchain transaction on a blockchain network for storage in a blockchain,

storing or accessing a collection of valid bytecode sequences; and

generating the locking script representing the execution thread joined from the execution thread instances pointed to by the spending blockchain transaction by replicating a valid bytecode sequence of the collection.

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

storing or accessing valid interpreter code; and

generating the locking script representing the execution thread joined from the execution thread instances pointed to by the spending blockchain transaction by replicating the valid bytecode sequence and the valid interpreter code of the collection.

9 . A computer-implemented method comprising:

creating and validating a spending blockchain transaction that includes two or more transaction inputs Vin[x] and Vin[y], each transaction input respectively representing an execution thread of separate previous blockchain transaction, and a transaction output Vout[x] comprising a locking script representing an instance of the execution thread joined according to a join construct from the execution thread instances of the transaction inputs; and

communicating the spending blockchain transaction on a blockchain network for storage in a blockchain:

wherein the spending blockchain transaction points to a plurality of locking scripts of one or more previous blockchain transactions and the plurality of locking scripts each represent an instance of the execution thread, and

wherein the spending blockchain transaction is created by generating execution state information for the execution thread joined from the execution thread instances pointed to by the spending blockchain transaction and including the execution state information into the locking script of the spending blockchain transaction.

10 . A computer-implemented method comprising:

creating and validating a spending blockchain transaction that includes two or more transaction inputs Vin[x] and Vin[y], each transaction input respectively representing an execution thread of separate previous blockchain transaction, and a transaction output Vout[x] comprising a locking script representing an instance of the execution thread joined according to a join construct from the execution thread instances of the transaction inputs;

communicating the spending blockchain transaction on a blockchain network for storage in a blockchain, wherein the spending blockchain transaction is received by a node of the blockchain network; and

validating, by the node, the spending blockchain transaction by verifying the locking script of the spending blockchain transaction against one or more conditions, wherein the verifying includes matching the locking script of the spending blockchain transaction to a plurality of locking scripts of one or more previous blockchain transactions and/or executing the plurality of locking scripts of the one or more previous blockchain transactions to generate resultant execution state information and then merging or combining such resultant execution state information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2024
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 066087/0234 →
CHANGE OF NAME Recorded Jan 10, 2024
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 066270/0069 →
Priority Claims (1)
GB 1720767 · Dec 13, 2017 · national
Continuity (2)
Continuation 16772145
Related Publication 20240220983A1 · Jul 4, 2024
References Cited (45)
US 11915238B2 · Chan · 2024 [cited by examiner]
US 20160260171A1 · Ford et al. · 2016 [cited by applicant]
US 20170115976A1 · Mills · 2017 [cited by applicant]
US 20170180469A1 · Ford et al. · 2017 [cited by applicant]
US 20170187535A1 · Middleton · 2017 [cited by examiner]
US 20170212781A1 · Dillenberger · 2017 [cited by examiner]
US 20170344988A1 · Cusden et al. · 2017 [cited by applicant]
US 20170345011A1 · Salami et al. · 2017 [cited by applicant]
US 20180089041A1 · Smith · 2018 [cited by examiner]
US 20190081793A1 · Martino · 2019 [cited by examiner]
US 20190087793A1 · Dickerson · 2019 [cited by examiner]
CN 106548330A · 2017 [cited by applicant]
CN 106598579A · 2017 [cited by applicant]
JP 2001092647A · 2001 [cited by applicant]
WO 2017139688A1 · 2017 [cited by applicant]
WO 2017145007A1 · 2017 [cited by applicant]
WO 2017145019A1 · 2017 [cited by applicant]
WO 2017148527A1 · 2017 [cited by applicant]
WO 2017161417A1 · 2017 [cited by applicant]
WO 2017173399A1 · 2017 [cited by applicant]
Antonopoulos, “Mastering Bitcoin—Unlocking Digital Cryptocurrencies,” O'Reilly Media, Inc., Dec. 20, 2014, 282 pages. [cited by applicant]
Cryptokernel History, “History of CryptoKernel,” retrieved from https://github.com/mitdci/CryptoKernel/commits/master/src/kernel/contract.h, Jul. 24, 2017, 2 pages. [cited by applicant]
Cryptokernel, “CryptoKernel C++ Library,” retrieved from https://github.com/mit-dci/CryptoKernel/blob/master/src/kernel/contract.h, Jul. 24, 2017, 2 pages. [cited by applicant]
Dai et al., “Smart-Contract Value-Transfer Protocols on a Distributed Mobile Application Platform,” retrieved from https://qtum.org/uploads/files/a2772efe4dc8ed1100319c6480195fb1.pdf, Mar. 2017, 27 pages. [cited by applicant]
Dickerson et al., “Adding Concurrency to Smart Contracts,” Feb. 15, 2017, 18 pages. [cited by applicant]
Ethereum, “White Paper,” retrieved from https://web.archive.org/web/20170729062422/https://github.com/ethereum/wiki/wiki/White-Paper, Jul. 29, 2017, 23 pages. [cited by applicant]
Ibmledger, “Blockchain-Samples/Contracts/Basic/Simple_Contract,” retrieved from https://github.com/ibm-watson-iot/blockchainsamples/tree/master/contracts/basic/simple_contract, Nov. 4, 2016, 11 pages. [cited by applicant]
International Search Report and Written Opinion mailed Feb. 26, 2019, Patent Application No. PCT/IB2018/059757, 14 pages. [cited by applicant]
Lebing et al., “Turing Complete Language vs Non-Turing Complete (Ethereum vs Bitcoin),” Bitcoin Forum, https://bitcointalk.org/index.php?topic=431513.0; all, 33 pages. [cited by applicant]
Lerner, “Lumino Transaction Compression Protocol (LTCP),” retrieved from https://uploads.strikinglycdn.com/files/9dcb08c5-f5a9-430e-b7ba 6c35550a4e67/LuminoTransactionCompressionProtocolLTCP.pdf, Feb. 24, 2017, 10 pages. [cited by applicant]
Medium Dotcom, “Ethereum Direct,” retrieved from https://ether.direct/2017/08/06/diving-into-the-ethereum-vm/, Aug. 6, 2017, 17 pages. [cited by applicant]
Mizrahi, “[bitcoin-dev] Building Blocks of the State Machine Approach to Consensus,” retireved from https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-June/012777.html, Jun. 20, 2016, 3 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]
Poon et al., “Plasma: Scalable Autonomous Smart Contracts,” retrieved from https://plasma.io/plasma.pdf, Aug. 11, 2017, 47 pages. [cited by applicant]
QTUM2, “What is UTXO?? ,” retrieved from https://forum.qtum.org/topic/86/what-is-utxo/3, Apr. 3, 2017, 4 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]
Schoenfeld, “Ethereum/Research Chat Logs,” retrieved from https://gitter.im/ethereum/research/archives/2016/04/27, Apr. 27, 2016, 32 pages. [cited by applicant]
Seijas et al., “Scripting smart contracts for distributed ledger technology,” Cryptology ePrint Archive, Report 2016/1156, Dec. 16, 2016, 30 pages. [cited by applicant]
Smart Contracts, “Smart Contracts—Web3j 2.1.0 Documentation,” retrieved from https://web.archive.org/web/20170505090036/https://web3j.readthedocs.io/en/latest/smart_contracts.html, May 5, 2017, 4 pages. [cited by applicant]
UK Commercial Search Report mailed Apr. 30, 2018, Patent Application No. GB1720767.1, 12 pages. [cited by applicant]
UK IPO Search Report mailed Jun. 22, 2018, Patent Application No. GB1720767.1, 3 pages. [cited by applicant]
Ydtm et al., “Why Turing-complete smart contracts are doomed: ‘Kurt Gödel and Alan Turing both posed the same question: ‘Can we find a universal procedure to prove that a mathematical theory is true or false?’ They each… [cited by applicant]
UK IPO Search Report mailed Jun. 11, 2018, Patent Application No. GB1720767.1, 9 pages. [cited by applicant]
Antonopoulos: “Bitcoin and Blockchain: Technology Underpinning Cryptocurrency”, NTT Publishing Co., Ltd., Jul. 14, 2016, pp. 015-030, 117-145. [cited by applicant]
Anonymous “Bitcoin and Blockchain”, 48 pages. [cited by applicant]