# US 11,308,486 B2 · Method and system for the secure transfer of entities on a blockchain

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

- Number: US 11,308,486 B2
- Document ID: US11308486B2
- Status: Granted
- Kind: B2
- Application number: 16/077,999
- Filed: 2017-02-16
- Published: 2021-07-29
- Granted: 2022-04-19
- Earliest claimed: 2016-02-23
- Assignees: nChain Holdings Limited
- Applicants: nChain Holdings Limited
- Inventors: Craig Steven Wright; Stephane Savanah
- Web page: https://patentgrep.com/patent/US11308486B2

## CPC

- G06Q 20/3829: {involving key management}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- G06F 16/2255: {Hash tables}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06Q 20/0655: {e-cash managed centrally}
- G06Q 20/1235: {with control of digital rights management [DRM]}
- G06Q 20/223: {based on the use of peer-to-peer networks}
- G06Q 20/381: {Currency conversion}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 50/167: {Closing}
- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/3247: {involving digital signatures}
- 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
- 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)

## Abstract

The invention provides a secure method for exchanging entities via a blockchain. The invention incorporates tokenisation techniques, and also techniques for embedding metadata in a redeem script of a blockchain transaction. Embodiment(s) provide a method of: generating a first script, the first script comprising: a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange, a first user public key (P1A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key (V1A). The script may further comprise a first third-party public key (P1T) associated with a first third-party, wherein the first third-party public key (P1T) is part of an asymmetric cryptographic pair comprising the first third-party public key (P1T) and a first third-party private key (V1T) The method further comprises the steps of hashing the first script to generate a first script hash and publishing the first script and the first script hash on a distributed hash table (DHT).

## Claims

### Claim 1

A computer implemented method of offering an exchange of an entity, the method comprising:
generating, by a processor or group of processors, a first script, the first script comprising:
a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange; and
a first user public key (P1A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key (V1A);
hashing, by the processor or the group of processors, the first script; and
publishing, by the processor or the group of processors, the first script and the hashed first script on a distributed hash table (DHT).

### Claim 2 (depends on 1)

The method of claim 1, wherein the first script further comprises:
a first third-party public key (P1T) associated with a first third-party, wherein the first third-party public key (P1T) is part of an asymmetric cryptographic pair comprising the first third-party public key (P1T) and a first third-party private key (V1T).

### Claim 3 (depends on 1)

The method of claim 1, comprising:
generating, by the processor or the group of processors, a first invitation transaction for inclusion on a peer-to-peer (P2P) distributed ledger, the first invitation transaction comprising an indication of a second entity to be transferred in exchange for the first entity, and the hashed first script.

### Claim 4 (depends on 1)

The method of claim 1, wherein the P2P distributed ledger is a block chain used for recording transactions involving a cryptocurrency.

### Claim 5 (depends on 3)

The method of claim 3, wherein the first entity that is offered for exchange and/or the second entity to be transferred in exchange for the first entity may be one or more of the following:
a) a cryptocurrency;
b) a contract;
c) goods; and
d) services.

### Claim 6 (depends on 5)

The method of claim 5, wherein the contract is for one or more of the following:
a) a fiat currency;
b) title deeds;
c) goods; and
d) services.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first location condition comprises one or more of the following:
a) location information indicative of a geographical location or area for the exchange of the first entity;
b) location format information indicative of a format of the location information;
c) range information indicative of a range limit on the geographical location or area relating to the exchange; and
d) range format information indicative of a format of the range information.

### Claim 8 (depends on 1)

The method of claim 1, comprising:
matching, by the processor or the group of processors, the first invitation of the first script to a second script that is published on the DHT by comparing at least the first entity specified in the first script with a second entity specified in the second script;
wherein the second script comprises a second set of metadata associated with a second invitation for an exchange of a second entity by a second user, the second set of metadata comprising an indication of the second entity to be offered in exchange for the first entity;
a second user public key (P2A) associated with the second user, wherein the second user public key (P2A) is part of an asymmetric cryptographic pair comprising the second user public key (P2A) and a second user private key (V2A); and
a second third-party public key (P2T) associated with a second third-party, wherein the second third-party public key (P2T) is part of an asymmetric cryptographic pair comprising the second third-party public key (P2T) and a second third-party private key (V2T).

### Claim 9 (depends on 8)

The method of claim 8 comprising:
determining whether the location condition is fulfilled by identifying a location of the first user and/or the second user.

### Claim 10 (depends on 8)

The method of claim 8 wherein the second third-party is the same as a first third-party associated with a first third-party public key of the first script.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
publishing the second script on the DHT, comprising:
generating the second script;
hashing the second script; and
publishing the second script and the hashed second script on the DHT.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
generating a second transaction invitation for inclusion on the P2P distributed ledger, the second invitation transaction comprising an indication of the first entity to be transferred in exchange for the second entity; and
the hashed second script.

### Claim 13 (depends on 3)

The method of any one of claim 3, further comprising:
generating a first exchange transaction for inclusion on the P2P distributed ledger, the first exchange transaction comprising:
the first script;
the first user public key (P1A);
a first third-party public key (P1T);
a first input provided from an output of the first invitation transaction; and
a first output indicating a first quantity of a first entity to be transferred to a second user; and
recording the first exchange transaction on the P2P distributed ledger.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
generating a second exchange transaction for inclusion on the P2P distributed ledger, the second exchange transaction comprising:
a second script;
a second user public key (P2A);
a second third-party public key (P2T);
a second input provided from an output of a second invitation transaction; and
a second output indicating a second quantity of a second entity to be transferred to the first user; and
recording the second exchange transaction on the P2P distributed ledger.

### Claim 15 (depends on 12)

The method of claim 12, further comprising:
generating a first exchange transaction for inclusion on the P2P distributed ledger, the first exchange transaction comprising:
the first script;
the first user public key (P1A);
a first third-party public key (P1T);
the second script;
the second user public key (P2A);
the second third-party public key (P2T);
a first input provided from an output of a first invitation transaction;
a second input provided from an output of the second invitation transaction;
a first output indicating a first quantity of a first entity to be transferred to the second user; and
a second output indicating a second quantity of a second entity to be transferred to the first user; and
recording the first exchange transaction on the P2P distributed ledger.

### Claim 16 (depends on 13)

The method of claim 13, wherein generating the first exchange transaction comprises:
facilitating signing of the first script with the first user private key (V1A); and
facilitating signing of the first script with a first third-party private key (V1T).

### Claim 17 (depends on 14)

The method of claim 14, wherein generating the second exchange transaction comprises:
facilitating signing of the second script with the second user private key (V2A); and
facilitating signing of the second script the second third-party private key (V2T).

### Claim 18 (depends on 13)

The method of any one of claim 13, further comprising facilitating one or more of the first and second users to accept the exchange before generating or recording the first and/or second exchange transactions.

### Claim 19 (depends on 14)

The method of claim 14, wherein one or more of the first exchange transaction, and the second exchange transaction is a pay-to-script-hash (P2SH) transaction.

### Claim 20

A computer system for offering an exchange of an entity, the computer system comprising:
a first processing device; and
a non-transitory memory including instructions that, as a result of execution by the first processing device, cause the computer system to:
generate a first script comprising:
a first set of metadata associated with a first invitation for the exchange of a first entity by a first user, the first set of metadata comprising an indication of the first entity to be offered for exchange and a first location condition for the exchange; and
a first user public key (P1A) associated with the first user, wherein the first user public key (P1A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key (V1A);
generate a hash of the first script; and
publish the first script and the hash of the first script on a distributed hash table (DHT).

### Claim 21 (depends on 20)

The system of claim 20, where the first and/or second set of metadata is be provided in a redeem script.

### Claim 22 (depends on 20)

The system of claim 20, where the first and/or second set of metadata is provided in the script at a location which is designated in a blockchain protocol as a location for a cryptographic key.

### Claim 23 (depends on 1)

A processor or group of processors operable to perform the method of claim 1.
