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

US12407693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12407693-B2
Application numberUS-202418667910-A
CountryUS
Kind codeB2
Filing dateMay 17, 2024
Priority dateNov 9, 2017
Publication dateSep 2, 2025
Grant dateSep 2, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of controlling transfer of a digital asset via a blockchain, the 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 a redeem script; and verifying the set of conditions are satisfied based at least in part on the locking script and the unlocking script; transferring control of the digital asset in response to verifying satisfaction of the set of conditions; determining a size of the redeem script; if the size of the redeem script does not exceed a predetermined threshold, generating the redeem script comprising the verification key and a script to check a set of constraints; and if the size of the redeem script exceeds the predetermined threshold, generating the unlocking script that stores one or more elements of the verification key in the part of the unlocking script preceding the redeem script so that the size of the redeem script is within the predetermined threshold, and generating the redeem script with the remaining elements of the verification key and the script to check a set of constraints. 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. The computer-implemented method according to claim 2 , wherein elements of the finite field are points on an elliptic curve. 4. The computer-implemented method according to claim 3 , wherein the elements of the finite field are encoded in a compressed format. 5. The computer-implemented method according to claim 1 , 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. 6. 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 provider of the digital asset. 7. The computer-implemented method according to claim 6 , wherein: 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. 8. The computer-implemented method according to claim 7 , wherein the redeem script is less than or equal to 520 bytes in size. 9. The computer-implemented method according to claim 7 , wherein the unlocking script comprises one or more elements of the verification key. 10. The computer-implemented method according to claim 7 , wherein the transaction is a P2SH transaction in accordance with a Bitcoin based protocol. 11. The computer-implemented method according to claim 1 , wherein the transaction is a standard transaction in accordance with a blockchain-based protocol. 12. The computer-implemented method according to claim 1 , wherein the locking script and unlocking script are encoded in a stack-based scripting language. 13. The computer-implemented method according to claim 1 , wherein the set of conditions comprise a bilinear constraint. 14. A system, comprising: a processor; and memory including executable instructions that, as a result of being executed by the processor, cause the system to perform the computer-implemented method according to claim 1 . 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 1 .

Assignees

Inventors

Classifications

  • Secret sharing or secret splitting, e.g. threshold schemes · CPC title

  • Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these (network architectures or network communication protocols for key exchange in a packet data network H04L63/061) · CPC title

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • H04L9/3218Primary

    using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs · CPC title

  • using e-cash · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12407693B2 cover?
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 …
Who is the assignee on this patent?
Nchain Licensing Ag
What technology area does this patent fall under?
Primary CPC classification H04L9/3218. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 02 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).