IP Library Granted Patent US 11,658,801
Granted Patent B2
US 11,658,801 · App. 16/762,471 · Granted May 23, 2023

System for securing verification key from alteration and verifying validity of a proof of correctness

Inventors: Alexandra Covaci (Canterbury, GB); Simone Madeo (London, GB); Patrick Motylinski (London, GB); Stephane Vincent (Luxembourg, LU)
Assignee: nChain Licensing AG
H04L9/0618G06F8/44G06F8/447G06F8/451G06F9/44521G06F16/27G06Q20/401G06Q20/405H04L9/0637H04L9/0643H04L9/30H04L9/3218H04L9/3236H04L9/3239H04L9/3247H04L9/3263H04L63/12H04L9/3066H04L9/50H04L2209/34H04L2209/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,658,801
App. No.
16/762,471
Granted
May 23, 2023
Kind
B2
Abstract

The invention relates to distributed ledger technologies such as consensus-based blockchains. A blockchain transaction may include digital resources that are encumbered by a locking script that encodes a set of conditions that must be fulfilled before the encumbered resources may be used (e.g., transferring ownership/control of encumbered resources). A worker (e.g., a computer system) performs one or more computations to generate a proof, which is encoded as part of an unlocking script. A verification algorithm may utilize the proof, a verification key, and additional data such as a cryptographic material associated with the worker (e.g., a digital signature) to verify that digital assets of the transaction should be transferred. As a result of the validation of this transaction, any third party is able to check the contract was executed corrected rather than re-executing the contract, thus saving computational power.

Claims (36)

1. A computer-implemented method comprising:

generating a transaction output of a transaction comprising an indication of a digital asset and a locking script that encodes a set of conditions for transferring control of the digital asset, satisfaction of the set of conditions to be determined based at least in part on a verification key and a proof;

generating a transaction input of the transaction, the transaction input comprising:

an identifier associated with the transaction output; and

an unlocking script comprising the proof; and

verifying the set of conditions are satisfied based at least in part on the locking script and the unlocking script; and

transferring control of the digital asset in response to verifying satisfaction of the set of conditions,

wherein a client encodes the transaction input with the verification key and a first digital certificate associated with the client and a worker encodes the transaction input with the proof and a second digital certificate associated with the worker.

2. The computer-implemented method according to claim 1 , wherein the verification key comprises a first plurality of elements of a finite field and the proof comprises a second plurality of elements of the finite field.

3. A system, comprising:

a processor; and

memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method according to claim 2 .

4. 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 computer-implemented method according to claim 2 .

5. The computer-implemented method according to claim 2 , wherein elements of the finite field are points on an elliptic curve.

6. A system, comprising:

a processor; and

memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method according to claim 5 .

7. 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 computer-implemented method according to claim 5 .

8. The computer-implemented method according to claim 2 , wherein the elements of the finite field are encoded in a compressed format.

9. A system, comprising:

a processor; and

memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method according to claim 8 .

10. The computer-implemented method according to claim 1 , wherein the locking script comprises instructions that, contingent upon a condition of the set of conditions being unsatisfied by the unlocking script, reclaim the digital asset for a provider of the digital asset.

11. The computer-implemented method according to claim 1 , wherein:

the unlocking script further comprises a redeem script, wherein the verification key and the redeem script are to satisfy the set of conditions; and

the locking script encodes a condition of the set of conditions that a hash of the redeem script matches a predetermined value.

12. The computer-implemented method according to claim 11 , wherein the redeem script is less than or equal to 520 bytes in size.

13. The computer-implemented method according to claim 11 , wherein the unlocking script comprises one or more elements of the verification key.

14. The computer-implemented method according to claim 11 , wherein the transaction is a P2SH transaction in accordance with a Bitcoin-based protocol.

15. The computer-implemented method according to claim 1 , wherein the transaction is a standard transaction in accordance with a blockchain-based protocol.

16. The computer-implemented method according to claim 1 , wherein the locking script and unlocking script are encoded in a stack-based scripting language.

17. The computer-implemented method according to claim 1 , wherein the set of conditions comprise a bilinear constraint.

18. A system, comprising:

a processor; and

memory including executable instructions that, as a result of being executed by the processor, causes the system to perform the computer-implemented method according to claim 1 .

19. 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 computer-implemented method according to claim 1 .

Assignments (7)
CHANGE OF NAME Recorded Dec 12, 2022
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 062114/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053032/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053032/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053032/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053032/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053728/0809 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: COVACI, ALEXANDRA; MADEO, SIMONE; MOTYLINSKI, PATRICK; VINCENT, STEPHANE
To: NCHAIN HOLDINGS LTD
Reel/Frame 053743/0001 →
Priority Claims (6)
GB 1718505 · Nov 9, 2017 · national
GB 1719998 · Nov 30, 2017 · national
GB 1720768 · Dec 13, 2017 · national
GB 1801753 · Feb 2, 2018 · national
GB 1805948 · Apr 10, 2018 · national
GB 1806444 · Apr 20, 2018 · national
Continuity (1)
Related Publication 20200266985A1 · Aug 20, 2020