IP Library Granted Patent US 11,893,584
Granted Patent B2
US 11,893,584 · App. 18/064,814 · Granted Feb 6, 2024

Constraining injection of unlocking transaction bytecode

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,584
App. No.
18/064,814
Granted
Feb 6, 2024
Kind
B2
Abstract

The disclosure is related to injection of a serialized set of field values of an unlocking transaction into a locking script, such as for distributed ledge technologies and consensus-based blockchains. A first transaction to validate is received at a node in the blockchain network. The first transaction includes a first script that includes a set of field values of the first transaction and, as a result of being executed, causes the node to obtain a set of field values. A second transaction is obtained, with the second transaction having been validated. The second transaction includes a second script that, as a result of being executed, causes the node to generate a signature based at least in part on the set of field values supplied as a result of execution of the first script. The first transaction is validated by execution of the first script and the second script.

Claims (25)

1. A method comprising:

receiving, at a node in a blockchain network, a first transaction to validate, the first transaction including a first script and a second script;

executing the first script followed by the second script to obtain a serialized second transaction, a signature hash type, and a serialized set of unlocking transaction fields;

generating a signature based at least in part on a serialized set of field values of the first transaction and the signature hash type;

validating the generated signature;

generating a first transaction ID based at least in part on the obtained serialized second transaction;

extracting a second transaction ID from the serialized set of field values of the first transaction; and

determining whether the first transaction ID matches the second transaction ID.

2. The method claimed in claim 1 , wherein signature hash type affects which fields are used in the signature generation.

3. The method claimed according to claim 1 , wherein a public key is included in the first script, which can then be used to validate the generated signature using a modified private key.

4. The method claimed according to claim 1 , wherein the signature hash type is a value that indicates which field values of the serialised set of field values of the first transaction are to be included in the signature.

5. The method claimed according to 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.

6. The method claimed according to claim 1 , wherein the first script is an unlocking script for satisfying the set of conditions of the second script.

7. The method claimed according to claim 1 , wherein validating the first transaction causes transferring of an unspent transaction output of the second transaction.

8. The method claimed according to claim 1 , wherein the node is a computing device that is communicatively coupled to at least one other node in the blockchain network.

9. The method claimed according to claim 1 , wherein the blockchain network is comprised of distributed electronic devices running an instance of a blockchain protocol.

10. The method claimed according to claim 1 , wherein the first script and second script are written using a Turing incomplete instruction set.

11. The method claimed according to claim 1 , wherein the first script and second script are written using a Turing complete instruction set.

12. The method claimed according to claim 1 , wherein the first script, by including the set of fields, causes the node, as a result of execution of the first script, to make the set of fields available as input to the second script.

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

14. 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)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062060/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062061/0052 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062063/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062202/0724 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062202/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD.
Reel/Frame 062202/0793 →
CHANGE OF NAME Recorded Dec 12, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062203/0190 →
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 (2)
Continuation 16615802
Related Publication 20230188354A1 · Jun 15, 2023