IP Library Granted Patent US 12706920
Granted Patent B2
US 12706920 · App. 16/762,461 · Granted Aug 11, 2026

System for recording verification keys on a blockchain

Inventors: Alexandra Covaci (Canterbury, GB); Simone Madeo (London, GB); Patrick Motylinski (London, GB); Stephane Vincent (Luxembourg, LU)
Assignee: NCHAIN LICENSING AG
H04L63/12G06F8/44G06F8/447G06F8/451G06F9/44521G06F16/27G06Q20/065G06Q20/401G06Q20/405H04L9/0637H04L9/0643H04L9/30H04L9/3218H04L9/3236H04L9/3239H04L9/3247H04L9/3263H04L9/50H04L9/0618H04L9/3066H04L2209/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 12706920
App. No.
16/762,461
Granted
Aug 11, 2026
Kind
B2
Abstract

Systems and methods described herein relate to the execution of locking transactions in a blockchain system. In the context of smart contracts, it may be advantageous to have a public record (e.g., recorded on a blockchain) of a proof of correct execution of a circuit published by a worker and the verification key, thereby allowing anyone (e.g., nodes of the blockchain) to verify validity of the computation and proof. However, there are challenges to recording large blocks of data (e.g., large keys that may comprise multiple elliptic curve points) on the blockchain. For example, in a Bitcoin-based blockchain network, a protocol that utilizes standard transactions may be constrained to locking scripts and unlocking scripts that are collectively no t larger than a first predetermined size limit, and the size of a redeem script (if utilized) may be limited to being no more than a second predetermined size limit.

Claims (36)

1 . A computer-implemented method, comprising:

obtaining a first script associated with a blockchain transaction, the first script comprising:

a first set of commands;

two or more cryptographic hash values corresponding to respective non-overlapping two or more subsets of a plurality of elements, wherein the plurality of elements collectively form a verification key; and

a public key corresponding to a private key;

generating a second script comprising:

a second set of commands;

the two or more subsets of the plurality of elements the first script; and

a signature based on the private key of a worker computer system generating the second script; and

generating an attestation that the worker computer system has access to the verification key based at least in part on the public key of the worker computer system, the signature, and executing the first set of commands and the second set of commands in connection to determine that the two or more cryptographic hash values match the two or more subsets of the verification key;

wherein the two or more cryptographic hash values in the first script are arranged in an order that is a reverse of an order in which corresponding non-overlapping subsets of the verification key are provided in the second script, such that each subset hashed in the second script is compared, in reverse order, to a corresponding hash value in the first script;

wherein the executing comprises, for each subset, computing a hash output using a predetermined multi-stage cryptographic hash function and determining whether the computed hash output matches a corresponding one of the two or more cryptographic hash values in the first script;

wherein the signature is a digital signature generated using the private key corresponding to the public key in the first script, and the attestation is generated responsive to both verification of the digital signature using the public key and successful matches for all subsets; and

wherein the attestation enables a verifier node of the blockchain to validate a proof-of-correctness of an outsourced computation using the verification key and the attestation without recomputing the outsourced computation.

2 . The computer-implemented method according to claim 1 , wherein an element of the plurality of elements is a point on an elliptic curve.

3 . The computer-implemented method according to claim 1 , wherein the hash output is generated using at least a SHA-256 and a RIPEMD-160 cryptographic hash algorithm.

4 . The computer-implemented method according to claim 1 , wherein obtaining the first script comprises:

identifying the two or more subsets of the verification key; and

calculating, for each subset of the two or more subsets of the verification key, a corresponding cryptographic hash value, wherein the two or more cryptographic hash values comprises each corresponding cryptographic hash value.

5 . The computer-implemented method according to claim 1 , further comprising, as a result of verifying the generated attestation, transferring control of digital assets encumbered by the blockchain transaction to the computer system.

6 . The computer-implemented method according to claim 5 , further comprising obtaining the first script from a second computer system, wherein the second computer system contributed at least part of the digital assets.

7 . The computer-implemented method according to claim 1 , wherein the blockchain transaction is a P2SH transaction.

8 . The computer-implemented method according to claim 1 , wherein at least one of the two or more subsets of the verification key is greater or equal to 512 bytes in size and less than or equal to 520 bytes in size.

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

the first script is greater than or equal to 58 bytes in size and less than or equal to 104 bytes in size; and

the second script is greater than or equal to 1628 bytes in size and less than or equal to 1650 bytes in size.

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

11 . The computer-implemented method according to claim 1 , wherein each element of the verification key is in exactly one of the two or more subsets.

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

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

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

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