Digital contracts using blockchain transactions

US12452085B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12452085-B2
Application numberUS-202017628510-A
CountryUS
Kind codeB2
Filing dateJun 25, 2020
Priority dateJul 25, 2019
Publication dateOct 21, 2025
Grant dateOct 21, 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.

A computer-implemented method of encoding a digital contract between first and second parties of a blockchain network, the digital contract being for transferring an amount of a digital asset from the first to the second party based on a condition being fulfilled; the method comprising: obtaining a plurality of data elements, each representing a different contract condition, wherein at least one of the conditions is linked to the second party; generating a hash tree based on the data elements, wherein the hash tree comprises: i) first leaf hashes generated by hashing a respective data element, and second leaf hashes comprising at least one hash key generated by hashing a secret value known only to the trusted third party, ii) internal hashes, and iii) a root hash; and making the root hash available to the first party for inclusion in a transaction of the blockchain.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method of encoding a digital contract between a first party of a blockchain network and a second party of the blockchain network, the digital contract being for transferring an amount of a digital asset from the first party to the second party based on a condition of the contract being fulfilled; the method being performed by a trusted third party and comprising: obtaining a plurality of data elements, each data element representing a different condition of the contract, and wherein at least one of the different conditions is linked to the second party; generating a hash tree based on the plurality of data elements, wherein the hash tree comprises: i) a leaf layer comprising a first set of leaf hashes each generated by hashing a respective data element but not a secret value known only to the trusted third party, and a second set of leaf hashes comprising at least one hash key generated by hashing a secret value known only to the trusted third party but not any of the respective data elements; and ii) one or more internal layers each comprising a respective set of internal hashes, wherein each internal hash of a respective internal layer is generated by hashing a concatenation of at least two hashes from a lower layer; and iii) a root layer comprising a root hash, the root hash generated by hashing a concatenation of at least two hashes from an uppermost internal layer; making the root hash available to the first party for inclusion in a transaction of a blockchain; determining that the condition of the contract linked to the second party has been met; and in response, transmitting an authentication path to the second party, wherein the authentication path comprises a set of hashes, wherein the set of hashes comprises the hash key and one or more sets of internal hashes, each set of internal hashes belonging to a different internal layer of the hash tree. 2. The method of claim 1 , wherein said obtaining of the data elements comprises receiving the data elements from the first and/or second parties. 3. The method of claim 1 , wherein said making available of the root hash comprises transmitting the root hash to the first party. 4. The method of claim 1 , comprising: identifying a transaction of the blockchain generated by the first party, wherein the transaction comprises the digital contract, and wherein the digital contract comprises a locking script locking the amount of the digital asset to the first party; determining whether the locking script comprises the root hash; and notifying the second party if the locking script does not comprise the root hash. 5. The method of claim 1 , wherein the second set of leaf hashes comprises a plurality of different hash keys, each generated based on the secret value. 6. The method of claim 5 , wherein each of the first set of leaf hashes is paired with a different one of the hash keys, and wherein each internal hash of a lowermost internal layer of the hash tree is generated by hashing a concatenation of a different pair of leaf hashes. 7. The method of claim 6 , wherein the authentication path comprises the hash key paired with the leaf hash of the condition linked to the second party. 8. Computer equipment of a trusted third party, comprising: memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when executed on the processing apparatus the processing apparatus performs a method of encoding a digital contract between a first party of a blockchain network and a second party of the blockchain network, the digital contract being for transferring an amount of a digital asset from the first party to the second party based on a condition of the contract being fulfilled; the method being performed by the computer equipment of the trusted third party and comprising: obtaining a plurality of data elements, each data element representing a different condition of the contract, and wherein at least one of the different conditions is linked to the second party; generating a hash tree based on the plurality of data elements, wherein the hash tree comprises: i) a leaf layer comprising a first set of leaf hashes each generated by hashing a respective data element but not a secret value known only to the trusted third party, and a second set of leaf hashes comprising at least one hash key generated by hashing a secret value known only to the trusted third party but not any of the respective data elements; and ii) one or more internal layers each comprising a respective set of internal hashes, wherein each internal hash of a respective internal layer is generated by hashing a concatenation of at least two hashes from a lower layer; and iii) a root layer comprising a root hash, the root hash generated by hashing a concatenation of at least two hashes from an uppermost internal layer; making the root hash available to the first party for inclusion in a transaction of a blockchain; determining that the condition of the contract linked to the second party has been met; and in response, transmitting an authentication path to the second party, wherein the authentication path comprises a set of hashes, wherein the set of hashes comprises the hash key and one or more sets of internal hashes, each set of internal hashes belonging to a different internal layer of the hash tree. 9. A computer program embodied on a non-transitory computer-readable storage medium and configured so as when run on computer equipment of a trusted third party, the computer equipment performs a method of encoding a digital contract between a first party of a blockchain network and a second party of the blockchain network, the digital contract being for transferring an amount of a digital asset from the first party to the second party based on a condition of the contract being fulfilled; the method being performed by the computer equipment of the trusted third party and comprising: obtaining a plurality of data elements, each data element representing a different condition of the contract, and wherein at least one of the different conditions is linked to the second party; generating a hash tree based on the plurality of data elements, wherein the hash tree comprises: i) a leaf layer comprising a first set of leaf hashes each generated by hashing a respective data element but not a secret value known only to the trusted third party, and a second set of leaf hashes comprising at least one hash key generated by hashing a secret value known only to the trusted third party but not any of the respective data elements; and ii) one or more internal layers each comprising a respective set of internal hashes, wherein each internal hash of a respective internal layer is generated by hashing a concatenation of at least two hashes from a lower layer; and iii) a root layer comprising a root hash, the root hash generated by hashing a concatenation of at least two hashes from an uppermost internal layer; making the root hash available to the first party for inclusion in a transaction of a blockchain; determining that the condition of the contract linked to the second party has been met; and in response, transmitting an authentication path to the second party, wherein the authentication path comprises a set of hashes, wherein the set of hashes comprises the hash key and one or more sets of internal hashes, each set of internal hashes belonging to a different internal layer of the hash tree. 10. A computer program embodied on a non-transitory computer-readable storage medium and configured so as when run o

Assignees

Inventors

Classifications

  • Business processing using cryptography · CPC title

  • Transaction verification · CPC title

  • G06Q20/382Primary

    insuring higher security of transaction · CPC title

  • involving a neutral party, e.g. certification authority, notary or trusted third party [TTP] · CPC title

  • using a third party · 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 US12452085B2 cover?
A computer-implemented method of encoding a digital contract between first and second parties of a blockchain network, the digital contract being for transferring an amount of a digital asset from the first to the second party based on a condition being fulfilled; the method comprising: obtaining a plurality of data elements, each representing a different contract condition, wherein at least on…
Who is the assignee on this patent?
Nchain Holdings Ltd, Nchain Licensing Ag
What technology area does this patent fall under?
Primary CPC classification G06Q20/382. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 21 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).