IP Library Granted Patent US 12,033,146
Granted Patent B2
US 12,033,146 · App. 16/616,950 · Granted Jul 9, 2024

Script based blockchain interaction

Inventors: Ying Chan (Cambridge, GB); Dean Kramer (London, GB)
Assignee: nChain Licensing AG
G06Q20/389G06F16/2379H04L9/0637H04L9/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,033,146
App. No.
16/616,950
Granted
Jul 9, 2024
Kind
B2
Abstract

There may be provided a computer-implemented method. It may be implemented using a blockchain network such as, for example, the Bitcoin network. The computer-implemented method includes: i) receiving, at a node in a blockchain network, a first transaction associated with a digital asset, the first transaction specifying at least: a) a first set of constraints on a second transaction to transfer control of the digital asset, the first set of constraints including one or more constraints that cause the second transaction to contain a set of data from a blockchain; and b) a second set of constraints on the second transaction, the second set of constraints including one or more constraints associated with data items of the set of data; ii) verifying that the first set of constraints and the second set of constraints are satisfied; and iii) reassociating the digital asset based at least in part on the verifying.

Claims (32)

1. A computer-implemented method comprising:

receiving, at a node in a blockchain network, a first transaction associated with a digital asset, the first transaction comprising a locking script, the locking script specifying at least:

a first set of constraints on a second transaction to transfer control of the digital asset, the first set of constraints including one or more constraints that cause the second transaction to contain a set of data from a blockchain, wherein the first set of constraints includes a constraint that the set of data includes a block header of the blockchain, wherein the first set of constraints includes a constraint that the set of data is received from a public blockchain and includes a block header chain that includes an ordered set of block headers, the ordered set of block headers including a plurality of block headers, the ordered set of block headers specifying an order associated with the plurality of block headers; and

a second set of constraints on the second transaction, the second set of constraints including one or more constraints associated with data items of the set of data;

determining, by the node, whether the constraint that the set of data is received from the public blockchain is satisfied by at least:

receiving in the second transaction, a first set of blocks including blocks before a block received from the blockchain network and a second set of blocks including blocks after the block received from the blockchain network;

verifying that the first set of blocks is chained to the block received from the blockchain network;

verifying that the second set of blocks is chained to the block received from the blockchain network;

verifying that the first set of blocks and the second set of blocks are valid; and

reassociating the digital asset in a block accessible to the blockchain network based at least in part on the verifying.

2. The computer-implemented method claimed in claim 1 , wherein the set of data is received at the node in the second transaction.

3. The computer-implemented method claimed in claim 1 , further comprising validating the second transaction as a result of the verifying.

4. The computer-implemented method claimed in claim 3 , wherein validating the second transaction is successfully performed without verifying that an entity that created the second transaction has access to secret information.

5. The computer-implemented method claimed in claim 1 , wherein the first set of constraints includes a constraint that the set of data includes a third transaction from a block of the blockchain.

6. The computer-implemented method claimed in claim 1 , wherein the second set of constraints includes a constraint derived from one or more values associated with the data items of the set of data.

7. A system, comprising:

a processor; and

memory including executable instructions that, as a result of execution by the processor, causes the system to:

receive, at a node in a blockchain network, a first transaction associated with a digital asset, the first transaction comprising a locking script, the locking script specifying at least:

a first set of constraints on a second transaction to transfer control of the digital asset, the first set of constraints including one or more constraints that cause the second transaction to contain a set of data from a blockchain, wherein the first set of constraints includes a constraint that the set of data includes a block header of the blockchain, wherein the first set of constraints includes a constraint that the set of data is received from a public blockchain and includes a block header chain that includes an ordered set of block headers, the ordered set of block headers including a plurality of block headers, the ordered set of block headers specifying an order associated with the plurality of block headers; and

a second set of constraints on the second transaction, the second set of constraints including one or more constraints associated with data items of the set of data: determine, by the node, whether the constraint that the set of data is received from the public blockchain is satisfied by at least:

receive in the second transaction, a first set of blocks including blocks before a block received from the blockchain network and a second set of blocks including blocks after the block received from the blockchain network;

verify that the first set of blocks is chained to the block received from the blockchain network; verify that the second set of blocks is chained to the block received from the blockchain network; verify that the first set of blocks and the second set of blocks are valid; and reassociate the digital asset in a block accessible to the blockchain network based at least in part on the verifying.

8. 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:

receive, at a node in a blockchain network, a first transaction associated with a digital asset, the first transaction comprising a locking script, the locking script specifying at least:

a first set of constraints on a second transaction to transfer control of the digital asset, the first set of constraints including one or more constraints that cause the second transaction to contain a set of data from a blockchain, wherein the first set of constraints includes a constraint that the set of data includes a block header of the blockchain, wherein the first set of constraints includes a constraint that the set of data is received from a public blockchain and includes a block header chain that includes an ordered set of block headers, the ordered set of block headers including a plurality of block headers, the ordered set of block headers specifying an order associated with the plurality of block headers; and

a second set of constraints on the second transaction, the second set of constraints including one or more constraints associated with data items of the set of data; determine, by the node, whether the constraint that the set of data is received from the public blockchain is satisfied by at least:

receive in the second transaction, a first set of blocks including blocks before a block received from the blockchain network and a second set of blocks including blocks after the block received from the blockchain network;

verify that the first set of blocks is chained to the block received from the blockchain network;

verify that the second set of blocks is chained to the block received from the blockchain network;

verify that the first set of blocks and the second set of blocks are valid; and

reassociate the digital asset in a block accessible to the blockchain network based at least in part on the verifying.

Assignments (4)
CHANGE OF NAME Recorded Nov 19, 2021
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 058215/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051500/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051500/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: CHAN, YING; KRAMER, DEAN
To: NCHAIN HOLDINGS LTD
Reel/Frame 051500/0736 →
Priority Claims (3)
GB 1708488 · May 26, 2017 · national
GB 1708491 · May 26, 2017 · national
GB 1708493 · May 26, 2017 · national
Continuity (1)
Related Publication 20200151714A1 · May 14, 2020
Cited By (3)
US 12,375,287 US 12,381,944 US 12,621,363