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
- A computer implemented method of offering an exchange of an entity, the method comprising: 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 (PI A) is part of an asymmetric cryptographic pair comprising the first user public key (P1A) and a first user private key (VIA),
- 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).
- The method of claim 1 wherein the first script further comprises
- a first third-party public key (PIT) associated with a first third-party, wherein the first third-party public key (PIT) is part of an asymmetric cryptographic pair comprising the first third-party public key (PIT) and a first third-party private key (V1T).
- The method of claim 1 or 2, comprising: generating 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 first script hash.
- The method of claims 1 to 3 wherein the P2P distributed ledger is the Bitcoin block chain.
- The method of any one of the preceding claims, 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;
- d) services.
- The method of claim 4 wherein the contract is for one or more of the following:
- a) a fiat currency;
- b) title deeds;
- c) goods;
- d) services.
- The method of any one of the preceding claims, 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.
- The method of any one of the preceding claims comprising: matching 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).
- The method of step 8 comprising: determining whether the location condition is fulfilled by identifying a location of the first user and/or the second user.
- The method of claim 8 or 9 wherein the second third party is the same as the first third party.
- The method of claim 8, 9 or 10, further comprising: publishing the second script on the DHT, comprising: generating the second script: hashing the second script to generate a second script hash; and publishing the second script and the second script hash on the DHT.
- 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 second script hash.
- The method of any one of the preceding claims, 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 (PI A),
- the first third-party public key (PIT),
- 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 the second user; and recording the first exchange transaction on the P2P distributed ledger.
- The method of claim 12 and 13, further comprising: generating a second exchange transaction for inclusion on the P2P distributed ledger, the second exchange transaction comprising:
- the second script,
- the second user public key (P2A),
- the second third-party public key (P2T),
- a second input provided from an output of the 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.
- 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 (PI A),
- the first third-party public key (PIT),
- the second script,
- the second user public key (P2A),
- the second third-party public key (P2T)
- a first input provided from an output of the 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.
- The method of claim 13 or 15, wherein generating the first exchange transaction comprises:
- facilitating signing of the first script with the first user private key (VIA); and faciliating signing of the first script with the first third-party private key (PIT).
- The method of claim 14 or 15, wherein generating the second exchange transaction comprises:
- facilitating signing of the second script with the second user private key (VIA); and facilitating signing of the second script the second third-party private key
- (P2T).
- The method of any one of claims 13 to 15, 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.
- The method of any one of the preceding claims, wherein one or more of the first exchange transaction, and the second transaction is a pay-to- script-hash (P2SH) transaction.
- A computer system for offering an exchange of an entity, the computer system comprising: a first processing device configured 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,
- a first user public key (PI A) 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 (VIA) hash the first script to generate a first script hash; and publish the first script and the first script hash on a distributed hash table
- (DHT).
- The method or system of any preceding claim where the first and/or second set of metadata is be provided in a redeem script,
- The method or system of any preceding claim, 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.
- A processor or group of processors operable to perform the method of any of claims 1 to 18.
Applicants
-
Nchain Holdings Ltd
Explore more patents:
Inventors
-
Wright Craig Steven
Explore more patents:
-
Savanah Stephane
Explore more patents:
CPC Classifications
-
H04L9/0894
Explore more patents:
-
H04L9/321
Explore more patents:
-
H04L9/3213
Explore more patents:
-
H04L9/3247
Explore more patents:
-
H04L2209/38
Explore more patents:
-
H04L2209/56
Explore more patents:
IPC Classifications
-
G06Q20/38
Explore more patents:
Document Preview
- Publication: Aug 31, 2017
-
Application:
Feb 16, 2017
IB 2017050861 W
-
Priority:
Apr 22, 2016
GB 201607063 A
-
Priority:
Feb 23, 2016
GB 201603123 A
-
Priority:
Feb 23, 2016
GB 201603125 A