IP Library Granted Patent US 12,177,364
Granted Patent B2
US 12,177,364 · App. 18/199,822 · Granted Dec 24, 2024

Securing blockchain transaction based on undetermined data

Inventor: Ying Chan (London, GB)
Assignee: nChain Licensing AG
H04L9/3247G06F7/725G06F9/466G06F16/27G06Q20/0655G06Q20/3674G06Q20/3825G06Q20/3829H04L9/0861H04L9/30G06Q20/389G06Q2220/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,177,364
App. No.
18/199,822
Granted
Dec 24, 2024
Kind
B2
Abstract

A technique for locking a blockchain transaction based on undetermined data, using a blockchain network. A locking node may include a locking script in a blockchain transaction to lock a digital asset. The locking script includes a public key for a determined data source and instructions to cause a validating node executing the locking script to verify the source of data provided in an unlocking script by: a) generating a modified public key based on the public key for the determined data source and based on data defined in the unlocking script; and b) evaluating a cryptographic signature in the unlocking script based on the modified public key. The blockchain transaction containing the locking script is sent by the locking node to the blockchain network. The lock may be removed using a cryptographic signature generated from a private key modified based on the data.

Claims (24)

1. A computer-implemented method of locking a digital asset to a blockchain network comprising:

preparing a locking script to lock the digital asset based on undetermined data, wherein the undetermined data is data that is not known to a locking node at a time of locking;

including the locking script in an output of a first blockchain transaction and sending the first blockchain transaction to the blockchain network;

preparing a transaction input for a second blockchain transaction that spends digital assets included as an output in the first blockchain transaction by generating a signature based on a private key of the locking node, including the signature in an unlocking script of the second blockchain transaction, and including, as an input to the second blockchain transaction, a branch trigger which is used to trigger an operation of a specific one of a plurality of conditional branches in the locking script; and

providing the second blockchain transaction to another party.

2. The computer-implemented method of claim 1 , wherein the locking script is configured to accept data from the unlocking script and to perform certain operations based on data so that a validating node may determine whether the unlocking script successfully unlocks the locking script.

3. The computer-implemented method of claim 1 , wherein the locking script defines one or more data constraints that cause a validating node executing the locking script to evaluate data provided in the unlocking script against the one or more data constraints.

4. The computer-implemented method of claim 3 , wherein the one or more data constraints of the locking script may define a threshold or value and a requisite relationship between data and the defined value or threshold.

5. The computer-implemented method of claim 3 , wherein the locking script includes instructions, such as a verification function, that causes a transaction containing the unlocking script that purports to unlock the locking script to be invalidated if the one or more data constraints are not satisfied by the data.

6. The computer-implemented method of claim 1 , wherein:

the undetermined data is from a determined data source; and

the locking script includes computer-executable instructions that cause a validating node executing the locking script to evaluate the determined data source of the undetermined data.

7. The computer-implemented method of claim 6 , wherein the locking script is configured to cause a node executing the locking script to perform an elliptic curve finite field arithmetic operation based on the data and a public key of the determined data source, which is included, by the locking node, in the locking script to generate a modified public key for the determined data source based on the public key for the determined data source defined in the locking script and based on data defined in the unlocking script.

8. The computer-implemented method of claim 7 , wherein the locking script is configured to cause a validating node executing the locking script to check whether data provided in a corresponding unlocking script has been provided by the determined data source by obtaining the modified public key for the determined data source.

9. The computer-implemented method of claim 8 , wherein the locking script is configured to cause the validating node to evaluate a signature from a modified private key.

10. The computer-implemented method of claim 9 , wherein a signature checking operation code is included in the locking script that checks whether the signature from the modified private key corresponds to the modified public key and is, therefore, a valid signature.

11. The computer-implemented method of claim 10 , wherein the second blockchain transaction containing the unlocking script is invalidated by the validating node if the signature is not generated with a modified private key that was generated by the determined data source based on a private key for the determined data source and based on the data.

12. The computer-implemented method of claim 1 , wherein the locking script includes two conditional branches, a first conditional branch allows the another party to claim the digital assets involved in the first blockchain transaction, and a second conditional branch allows the locking node to reclaim such digital assets if they are not otherwise claimed by the another party within a specified time period.

13. The computer-implemented method of claim 12 , wherein the locking node includes a “1” as an input to the second blockchain transaction so that OP_IF evaluates to TRUE causing the first conditional branch to be executed.

14. A non-transitory computer-readable storage medium comprising computer-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 .

15. An electronic device comprising:

an interface device;

a processor coupled to the interface device; and

a memory coupled to the processor, the memory having stored thereon computer-executable instructions that, when executed, configure the processor to a perform the method of claim 1 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2023
From: CHAN, YING
To: NCHAIN HOLDINGS LTD
Reel/Frame 063708/0259 →
CHANGE OF NAME Recorded May 19, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063709/0625 →
Priority Claims (1)
GB 1705749 · Apr 10, 2017 · national
Continuity (2)
Continuation 16604534
Related Publication 20230370283A1 · Nov 16, 2023