IP Library Granted Patent US 11,810,018
Granted Patent B2
US 11,810,018 · App. 16/616,278 · Granted Nov 7, 2023

Secure provision of undetermined data from an undetermined source into the locking script of 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,810,018
App. No.
16/616,278
Granted
Nov 7, 2023
Kind
B2
Abstract

The invention relates to distributed ledge technologies such as consensus-based blockchains. Computer-implemented methods for securely providing undetermined data from a determined or undetermined source 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 that includes at least a first value, at least a portion of which includes data that is unconstrained by a second script, and a second value. A second transaction is obtained. The second transaction having been validated and including the second script that, as a result of being executed, causes the node to obtain the first value and the second value as a result of execution of the first script, and validate, based at least in part on first value and the second value, that the data is associated with a data source. The first transaction is validated by executing the first script and the second script.

Claims (52)

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 includes at least:

a first value, at least a portion of the first value including data that is unconstrained by a second script; and

a second value;

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

obtain the first value and the second value as a result of execution of the first script;

obtain, from the first transaction, a public key associated with a particular data source;

obtain the data from the first value;

generate, based at least in part on the public key and the data, a modified public key; and

validate, based at least in part on the first value, the modified public key, and the second value, that the data is associated with the particular data source; and

validating the first transaction by executing the first script and the second script.

2. The method claimed in claim 1 , wherein:

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

the first script is an unlocking script for satisfying the set of conditions of the locking script.

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

4. The method claimed in claim 1 , wherein unsuccessful validation that the data is associated with the particular data source causes validating the first transaction to be unsuccessful.

5. The method claimed in claim 1 , wherein an identity of the particular data source is unconstrained by the second script.

6. The method claimed in claim 1 , wherein:

a particular transaction is the particular data source;

the first value is a set of field values of the particular transaction;

the second value includes a transaction identifier associated with the particular transaction; and

the second script validates that the data is associated with the particular source by validating that the particular transaction corresponds to the transaction identifier.

7. The method claimed in claim 6 , wherein the second script validates that the particular transaction corresponds to the transaction identifier by validating that the transaction identifier matches a hash of the set of field values of the particular transaction.

8. The method claimed in claim 6 , wherein the first script, by including the set of field values of the particular transaction, causes the node, as a result of execution of the first script, to make the set of field values of the particular transaction available as input to the second script.

9. The method claimed in claim 6 , wherein the particular transaction is the second transaction.

10. The method claimed in claim 6 , wherein the data is encoded in a field of the particular transaction.

11. The method claimed in claim 1 , wherein the second script constrains an identity of the particular data source.

12. The method claimed in claim 1 , wherein the second value is a signature.

13. The method claimed in claim 1 , wherein the modified public key is generated by performing elliptic curve point multiplication on the public key by a value of the data.

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 a method comprising:

receiving, at a node in a blockchain network, a first transaction to validate, the first transaction including a first script that includes at least:

a first value, at least a portion of the first value including data that is unconstrained by a second script; and

a second value;

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

obtain the first value and the second value as a result of execution of the first script;

obtain, from the first transaction, a public key associated with a particular data source;

obtain the data from the first value;

generate, based at least in part on the public key and the data, a modified public key; and

validate, based at least in part on the first value, the modified public key, and the second value, that the data is associated with the particular data source; and

validating the first transaction by executing the first script and the second script.

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 a method comprising:

receiving, at a node in a blockchain network, a first transaction to validate, the first transaction including a first script that includes at least:

a first value, at least a portion of the first value including data that is unconstrained by a second script; and

a second value;

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

obtain the first value and the second value as a result of execution of the first script;

obtain, from the first transaction, a public key associated with a particular data source;

obtain the data from the first value;

generate, based at least in part on the public key and the data, a modified public key; and

validate, based at least in part on the first value, the modified public key, and the second value, that the data is associated with the particular data source and validating lithe first transaction by executing the first script and the second script.

Assignments (7)
CHANGE OF NAME Recorded Dec 11, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062114/0303 →
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/0229 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2019
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051092/0426 →
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 20200143339A1 · May 7, 2020
Cited By (1)
US 12,505,438