# US 2019/0356472 A1 · Blockchain-implemented method and system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0356472 A1
- Document ID: US20190356472A1
- Status: Published application
- Kind: A1
- Application number: 16/320,083
- Filed: 2017-07-21
- Published: 2019-11-21
- Earliest claimed: 2016-07-29
- Assignees: nChain Holdings Limited
- Applicants: nChain Holdings Limited
- Inventors: Gavin Allen
- Web page: https://patentgrep.com/patent/US20190356472A1

## CPC

- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- H04L 9/14: using a plurality of keys or algorithms
- G06F 21/305: {by remotely controlling device operation}
- G06F 21/645: {using a third party}
- G06Q 20/065: {using e-cash}
- G06Q 20/0658: {e-cash managed locally}
- G06Q 20/36: using electronic wallets or electronic money safes
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- G06Q 2220/00: Business processing using cryptography
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L 2209/805: Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

This invention relates generally to distributed ledger technology (including blockchain related technologies), and in particular the use of a blockchain in implementing, controlling and/or automating a task or process. It may relate to the use of a blockchain or related technology for recording or representing the execution of a portion of logic. This portion of logic may be arranged to implement the functionality of a logic gate, or plurality of logic gates, such as AND, XOR, NOT, OR etc. . . . . An embodiment of the invention may comprise the steps of: providing a blockchain Transaction comprising a redeem script for an output, wherein the redeem script comprises: i) a plurality of public keys, each associated with a corresponding private key; and wherein each public key is uniquely associated with a potential state of at least one data source; and wherein a minimum number of said private keys must be used to sign an unlocking script of a further blockchain Transaction in order to spend the output; and ii) logic arranged to provide a result based on: A) a determination of which of the plurality of associated private key(s) is/are used to sign the unlocking script, so as to provide an interim result: and B) a comparison of a parameter supplied via the unlocking script against the interim result. The method also comprises the step of attempting to spend the transaction output more than once, each attempt supplying a different parameter.

## Claims

### Claim 1

A computer-implemented control method comprising the steps:
providing a blockchain Transaction comprising a redeem script for an output, wherein the redeem script comprises:
i) a plurality of public keys, each associated with a corresponding private key; and wherein each public key is uniquely associated with a potential state of at least one data source; and wherein a minimum number of said private keys must be used to sign an unlocking script of a further blockchain Transaction in order to spend the output; and
ii) logic arranged to provide a result based on:
a determination of which of the plurality of associated private key(s) is used to sign the unlocking script, so as to provide an interim result; and
a comparison of a parameter supplied via the unlocking script against the interim result; and
attempting to spend the output more than once, each attempt supplying a different parameter.

### Claim 2 (depends on 1)

A method according to claim 1 wherein the logic is arranged to implement the functionality of a logic gate.

### Claim 3 (depends on 2)

A method according to claim 2 wherein the logic gate is a NOT, AND, OR, NOR, XOR, IMPLY, NAND, NONIMPLY or XNOR gate.

### Claim 4 (depends on 1)

A method according to claim 1 wherein the state of the at least one data source is determined by a computing agent.

### Claim 5 (depends on 4)

A method according to claim 4 wherein the computing agent is in communication which a control computing agent.

### Claim 6 (depends on 1)

A method according to claim 1 wherein the result is a Boolean result.

### Claim 7 (depends on 1)

A method according to claim 1 wherein there are at least two data sources.

### Claim 8 (depends on 1)

A method according to claim 1 wherein each there are two potential states for with each data source, each potential state being associated with, or represented by, a public key.

### Claim 9 (depends on 1)

A method according to claim 1 and comprising the step:
for each of the at least one data source:
associating a public key in the plurality with a potential state of the data source;
such that all possible states of the data source are represented by a respective public key.

### Claim 10 (depends on 1)

A method according to claim 1 wherein the at least one data source comprises a sensor or a signal generation component.

### Claim 11 (depends on 1)

A method according to claim 1 wherein each public key represents a Boolean value indicative of a potential state of the at least one data source.

### Claim 12 (depends on 1)

A method according to claim 1 wherein the parameter is a value, or a puzzle, or a value embedded in a key.

### Claim 13 (depends on 1)

A method according to claim 1 wherein the logic is arranged to perform an equality check to compare the interim result with the parameter.

### Claim 14 (depends on 1)

A method according to claim 1 wherein the interim result is derived from the logic provided within the redeem script, and/or is a Boolean value which is calculated by determining which keys were used to sign the unlocking script.

### Claim 15 (depends on 1)

A method according to claim 1 and further comprising the step of:
generating or deriving one or more of the plurality of keys from a base or master key.

### Claim 16 (depends on 15)

A method according to claim 15 wherein:
the key generation or derivation step is performed using a deterministic key generation technique.

### Claim 17 (depends on 1)

A computer-implemented system comprising:
at least one computer-based resource arranged to perform the step(s) of claim 1; and
a blockchain.

### Claim 18 (depends on 17)

A computer-implemented system according to claim 17 wherein the at least one computer based resource is arranged to:
submit a transaction to a blockchain network;
generate a transaction;
digitally sign a locking script; and/or
generate a public/private cryptographic key.

### Claim 19 (depends on 17)

A system according to claim 17 wherein the result is used to control or influence the execution or operation of a process or apparatus.

### Claim 20 (depends on 17)

A system according to claim 17 and further comprising at least one sensor or signal generation component arranged and configured to provide an input to the at least one computer based resource.
