IP Library Granted Patent US 11,893,582
Granted Patent B2
US 11,893,582 · App. 16/615,806 · Granted Feb 6, 2024

Forcing the injection of a previous transaction's bytecode into a blockchain transaction

Inventors: Ying Chan (Cambridge, GB); Dean Kramer (London, GB)
Assignee: nChain Licensing AG
G06Q20/389G06F16/2379G06F21/6209G06F21/645G06Q20/065G06Q20/0658G06Q20/36G06Q20/3674G06Q20/3825G06Q20/3829H04L9/0637H04L9/0643H04L9/30H04L9/3236H04L9/3239H04L9/3247G06Q10/10G06Q2220/00H04L9/3066H04L9/3252H04L9/50H04L2209/56
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 11,893,582
App. No.
16/615,806
Granted
Feb 6, 2024
Kind
B2
Abstract

The invention relates to distributed ledge technologies such as consensus-based blockchains. Methods for causing an injection of a serialized previous transaction into a locking script are described. The invention is implemented using a blockchain network, which may be, for example, a Bitcoin blockchain. A first transaction to validate is received at a node in a blockchain network, with the first transaction including a first script. The first script, as a result of being executed, causes the node to at least obtain a first set of field values corresponding to the first transaction and obtain a second set of field values corresponding to a particular transaction. A second transaction is obtained, with the second transaction having been validated and including a second script. The second script, as a result of being executed, causes the node to at least obtain the first set of field values and the second set of field values of the particular transaction supplied as a result of execution of the first script, extract a transaction identifier from the first set of field values, and determine, based at least in part on the second set of field values, that the particular transaction corresponds to the transaction identifier. The first transaction is validated by executing the first script and the second script.

Claims (31)

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 corresponding to the first transaction; and

obtain a second set of field values corresponding to a particular transaction;

obtaining a second transaction, the second transaction having been validated and including a second script that, as a result of being executed, causes the node to at least:

obtain the first set of field values and the second set of field values of the particular transaction supplied as a result of execution of the first script;

extract a transaction identifier from the first set of field values; and

determine, based at least in part on the second set of field values, that the particular transaction corresponds to the transaction identifier;

validating the first transaction by executing the first script and the second script and wherein the second script constrains an identity of a source of the first transaction.

2. The method claimed in claim 1 , wherein the second set of field values is in a canonicalized format.

3. The method claimed in claim 1 , wherein the node determines that the particular transaction corresponds to the transaction identifier by:

generating a hash of the second set of field values; and

verifying that the hash matches the transaction identifier.

4. The method claimed in claim 1 , wherein the particular transaction is associated with control of a digital asset transferred as a result of validating the first transaction.

5. The method claimed in claim 1 , wherein the particular transaction is associated with a second digital asset different from a digital asset being transferred.

6. The method claimed in claim 1 , wherein validating the first transaction succeeds without verifying that an entity that created the first transaction has access to secret information.

7. The method claimed in claim 1 , wherein the node is a validation node of the blockchain network.

8. The method claimed in claim 1 , wherein validating the first transaction further includes, as a result of successful validation of the first transaction, adding the first transaction to a blockchain in the blockchain network.

9. The method claimed in claim 1 , wherein:

the second script is a locking script that imposes a set of conditions for validating the first transaction; and

execution of the locking script causes the node to validate the first transaction by determining whether the set of conditions have been fulfilled.

10. The method claimed in claim 9 , wherein the first script is an unlocking script for satisfying the set of conditions of the second script.

11. The method claimed in claim 1 , wherein:

the first script specifies a signature hash type; and

the second script, further as a result of being executed, causes the node to obtain the signature hash type supplied as a result of execution of the first script.

12. The method claimed in claim 11 , wherein the second script, further as a result of being executed, causes the node to determine, based at least in part on the signature hash type, that the particular transaction is a member of a set of transactions associated with the first transaction.

13. The method claimed in claim 11 , wherein the second script, further as a result of being executed, causes the node to determine, based at least in part on the signature hash type, that the particular transaction corresponds to the second transaction.

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

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

Assignments (7)
CHANGE OF NAME Recorded Dec 11, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062114/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0496 →
Priority Claims (6)
GB 1708185 · May 22, 2017 · national
GB 1708190 · May 22, 2017 · national
GB 1708192 · May 22, 2017 · national
GB 1708196 · May 22, 2017 · national
GB 1708198 · May 22, 2017 · national
GB 1708200 · May 22, 2017 · national
Continuity (1)
Related Publication 20200099529A1 · Mar 26, 2020