Computer-implemented system and method for determining the state of a machine executable contract implemented using a blockchain

US11263622B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11263622-B2
Application numberUS-201816482227-A
CountryUS
Kind codeB2
Filing dateJan 29, 2018
Priority dateJan 31, 2017
Publication dateMar 1, 2022
Grant dateMar 1, 2022

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.

Computer-implemented systems and methods are detailed for establishing information on states of a machine executable contract, for instance in the context of unspent transactions (UTXOs), blockchain and deterministic finite automaton (DFA) implementation of contracts and the determination of states within those. The stages can include determining the information of interest and the codes or tags identifying that information, constructing the metadata associated with those codes or tags, combining that with a public key for an agent that will be associated with the information. The scriptPubKey values of each script may be used to provide the keys for use in constructing an external database and more specifically mapping the keys from the scriptPubKey values, linked to the information of interest. To obtain the other half of the combination, there is a derivation of the script hash addresses from the scriptPubKey values, with those being used to populate a digital wallet. A search and match algorithm is then used to find UTXO's with matching script hash addresses on the blockchain. These then populate the aforementioned database with UTXO's that match to the script hash addresses and hence to the keys to complete the combinations. A match indicates in a definitive manner the state.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of determining a state of a machine-executable contract implemented by a computer system on a blockchain, the method comprising: a) determining information of interest and generating a cryptographic key related to that information of interest; b) constructing a search term related to the cryptographic key; c) searching the blockchain for unspent outputs (UXTO's) matching the search term, wherein the information of interest is a state of a machine-executable smart contract; d) extracting additional information from the unspent outputs (UXTO's) matching the search term, and e) determining the state of the machine-executable smart contract from the extracted additional information. 2. The method according to claim 1 , wherein the machine-executable smart contract is implemented using a deterministic finite automaton and the step of determining the state of the machine-executable smart contract comprises determining a state of the deterministic finite automaton. 3. The method according to claim 1 , wherein the cryptographic key is generated by applying a reproducible process to the information of interest, the reproducible process having generated the additional information contained in the unspent outputs (UXTO's) of the blockchain being searched for. 4. The method according to claim 1 , wherein the search term is constructed from the cryptographic key. 5. The method according to claim 1 , wherein the searching is provided by a search and matching stage and the unspent outputs (UXTO's) matching the search term are paired with the cryptographic key and/or with the information of interest to provide one or more pairing(s). 6. The method according to claim 5 , wherein the one or more pairing(s) are provided within a database. 7. The method according to claim 1 , wherein the method further comprises a specification stage, the specification stage comprising selecting the information of interest and further comprising a code or tag specification stage. 8. The method according to claim 1 , wherein the method further comprises a metadata construction stage, wherein the information of interest or a code or tag is converted to metadata. 9. The method according to claim 8 , wherein the metadata is incorporated into a public key, the public key designated an information public key. 10. The method according to claim 1 , wherein the method further comprises an agent association stage to select one or more agents, the one or more or all of the selected agents providing public keys designated agent public keys. 11. The method according to claim 9 , wherein the method further comprises a combination stage, the combination stage comprising combining the information public key with one or more agent public keys and generating a locking script. 12. The method according to claim 11 , wherein the combination stage further comprises generating a hash of the locking script. 13. The method according claim 1 , wherein the method further comprises a valuing stage to obtain a value, from a locking script or a hash of the locking script, to provide the cryptographic key. 14. The method according to claim 1 , wherein the method further comprises a databasing stage, the databasing stage comprising mapping the information of interest to the cryptographic key, wherein the mapping of the information of interest to the cryptographic key comprises one half of a mapping of a combination related to the cryptographic key. 15. The method according to claim 1 , wherein the method further comprises an address derivation stage to derive address(es), the address(es) being derived from a locking script or from a hash of the locking script. 16. The method according to claim 1 , wherein the method further comprises a search and matching stage, the search and matching stage comprising a search in the blockchain for one or more matches with an address or addresses, and the search and matching stage acquiring details of UTXO's in the blockchain that match to the address or addresses used in the search. 17. The method according to claim 14 , wherein a search and matching stage and/or the databasing stage comprises mapping acquired details of UXTO's matching an address to the cryptographic key, further wherein the mapping of the acquired details comprises the other half of the mapping of the combination related to the cryptographic key. 18. A computer implemented system, comprising at least: one or more processors; and memory storing executable instructions that, as a result of execution by the one or more processors, cause the computer implemented system to: a) determine information of interest and generate a cryptographic key related to that information of interest; b) construct a search term related to the cryptographic key; c) search a blockchain for unspent outputs (UXTO's) matching the search term, wherein the information of interest is a state of a machine-executable smart contract; d) extract additional information from the unspent outputs (UXTO's) matching the search term, and e) determine the state of the machine-executable smart contract from the extracted additional information. 19. The computer implemented system of claim 18 , further comprising: at least one computing agent arranged to implement a deterministic finite automaton (DFA) via the blockchain; and a blockchain platform. 20. One or more non-transitory computer-readable media storing instructions that, as a result of execution by one or more processors, cause the one or more processors to: a) determine information of interest and generate a cryptographic key related to that information of interest; b) construct a search term related to the cryptographic key; c) search a blockchain for unspent outputs (UXTO's) matching the search term, wherein the information of interest is a state of a machine-executable smart contract; d) extract additional information from the unspent outputs (UXTO's) matching the search term, and e) determine the state of the machine-executable smart contract from the extracted additional information.

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • G06Q10/103Primary

    Workflow collaboration or project management · CPC title

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

  • Financial cryptography, e.g. electronic payment or e-cash · CPC title

  • Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · 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 US11263622B2 cover?
Computer-implemented systems and methods are detailed for establishing information on states of a machine executable contract, for instance in the context of unspent transactions (UTXOs), blockchain and deterministic finite automaton (DFA) implementation of contracts and the determination of states within those. The stages can include determining the information of interest and the codes or tag…
Who is the assignee on this patent?
Nchain Licensing Ag
What technology area does this patent fall under?
Primary CPC classification G06Q10/103. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2022 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).