Methods and systems for the efficient transfer of entities on a blockchain
Abstract
A computer implemented method for performing a transfer includes scanning entries in a distributed hash table (DHT) distributed across a first network, the DHT comprising entries including invitations to perform an exchange and links to transactions on a peer-to-peer (P2P) distributed ledger distributed across a second network, each invitation indicates entities to be exchanged and conditions for the exchange; determining a match between first metadata in a first invitation of a first entry from a first user and second metadata in a second invitation of a second entry from a second user; and broadcasting, over the second network, a first exchange transaction for inclusion on a P2P distributed ledger. The first exchange transaction may include an indication of a first quantity of a cryptocurrency to be transferred. A first output indicates a transfer of a first quantity of the first entity from the first user to the second user.
Claims
exact text as granted — not AI-modified1 . A computer implemented method for performing a transfer, the method comprising:
scanning entries in a distributed hash table distributed across a first network, the distributed hash table comprising a plurality of entries, each entry comprising an invitation to perform an exchange and a link to a transaction on a peer-to-peer distributed ledger distributed across a second network, each invitation including metadata comprising an indication of entities to be exchanged and one or more conditions for the exchange; determining a match between a first set of metadata in a first invitation of a first entry from a first user and a second set of metadata in a second invitation of a second entry from a second user, the determining comprising:
identifying a match between indications of entities to be exchanged in the first and second invitations, and
identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation;
generating a first exchange transaction; and broadcasting, over the second network, the first exchange transaction for inclusion on the peer-to-peer distributed ledger, wherein the first exchange transaction comprises:
an indication of a first quantity of a cryptocurrency to be transferred,
a first input provided from an output of a transaction on the peer-to-peer distributed ledger linked to the first entry,
a first script,
a first user signature based on a first user private key associated with the first user,
a first third party signature based on a first third-party private key associated with a first third-party,
a first output indicating a transfer of a first quantity of the first entity from the first user to the second user,
wherein the first script comprises:
the first set of metadata,
a first user public key associated with the first user, the first user public key being a cryptographic pair with the first user private key, and
a first third-party public key associated with the first third-party, the first third-party public key being a cryptographic pair with the first third-party private key.
2 . The method of claim 1 , further comprising:
generating a second exchange transaction; and broadcasting, over the second network, the second exchange transaction for inclusion on the peer-to-peer distributed ledger, wherein the second exchange transaction comprises:
an indication of a second quantity of a cryptocurrency to be transferred,
a second input provided from an output of a transaction on the peer-to-peer distributed ledger linked to the second entry,
a second script,
a second user signature based on a second user private key associated with the second user,
a second third-party signature based on a second third-party private key associated with a second third-party, and
a second output indicating a transfer of a second quantity of a second entity from the second user to a first user; wherein the second script comprises:
the second set of metadata,
a second user public key associated with the second user, the second user public key being a cryptographic pair with the second user private key, and
a second third-party public key associated with the second third-party, the second third-party public key being a cryptographic pair with the second third-party private key.
3 . A computer implemented method for performing a transfer, the method comprising:
scanning entries in a distributed hash table distributed across a first network, the distributed hash table comprising a plurality of entries, each entry comprising an invitation to perform an exchange and a link to a transaction on a peer-to-peer distributed ledger distributed across a second network, each invitation including metadata comprising an indication of entities to be exchanged and one or more conditions for the exchange; determining a match between a first set of metadata in a first invitation of a first entry from a first user and a second set of metadata in a second invitation of a second entry from a second user, the determining comprising:
identifying a match between indications of entities to be exchanged in the first and second invitations, and
identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation;
generating a first exchange transaction; and broadcasting, over the second network, the first exchange transaction for inclusion on the peer-to-peer distributed ledger, wherein the first exchange transaction comprises:
an indication of a first quantity of a cryptocurrency to be transferred,
a first input provided from an output of a transaction on the peer-to-peer distributed ledger linked to the first entry,
a first script,
a first user signature based on a first user private key associated with the first user,
a first third-party signature based on a first third-party private key associated with a first third-party,
an indication of a second quantity of a cryptocurrency to be transferred,
a second input provided from an output of a transaction on the peer-to-peer distributed ledger linked to the second entry,
a second script,
a second user signature based on a second user private key associated with the second user,
a second third-party signature based on a second third-party private key associated with a second third-party,
a first output indicating a transfer of a first quantity of the first entity from the first user to the second user, and
a second output indicating a transfer of a second quantity of a second entity from the second user to the first user;
wherein the first script comprises:
the first set of metadata,
a first user public key associated with the first user, the first user public key being a cryptographic pair with the first user private key, and
a first third-party public key associated with the first third-party, the first third-party public key being a cryptographic pair with the first third-party private key;
wherein the second script comprises:
the second set of metadata,
a second user public key associated with the second user, the second user public key being a cryptographic pair with the second user private key, and
a second third-party public key associated with the second third-party, the second third-party public key being a cryptographic pair with the second third-party private key.
4 . The method of claim 1 , wherein identifying a match between indications of entities to be exchanged in the first and second invitations comprises:
identifying a match between a requested entity in the first invitation and an offered entity in the second invitation; and identifying a match between an offered entity in the first invitation and a requested entity in the second invitation.
5 . The method of claim 4 , wherein identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation comprises:
identifying a first condition specifying a maximum value of the requested entity in the first invitation; and identifying a second condition specifying a minimum value of the offered entity in the second invitation.
6 . The method of claim 5 , wherein identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation further comprises:
determining that the maximum value is greater than the minimum value.
7 . The method of claim 6 , wherein first quantity of the first entity is determined based on one or both of the maximum value and the minimum value.
8 . The method of claim 6 , wherein the second quantity of the second entity is determined based on one or both of the maximum value and the minimum value.
9 . The method of claim 7 , wherein the determination is based on the mean of the maximum value and the minimum value.
10 . The method of claim 7 , wherein the first quantity is determined based on the maximum value and not the minimum value and the second quantity is determined based on the minimum value and not the maximum value.
11 . The method of claim 5 , wherein identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation further comprises:
determining that a maximum value is less than but within a first threshold of the minimum value; and notifying the second user of the first invitation; receiving a confirmation of acceptance of the first condition from the second user; and identifying the match.
12 . The method of claim 5 , wherein identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation further comprises:
determining that a minimum value is greater than but within a second threshold of the maximum value; and notifying the first user of the second invitation; receiving a confirmation of acceptance of the second condition from the first user; and identifying the match.
13 . The method of claim 1 , wherein the method is performed by a matching service provider.
14 . The method of claim 1 , wherein the first third-party is an escrow service provider and/or the second third-party is an escrow service provider.
15 . The method of claim 1 , wherein one or more of the first exchange transaction, the second exchange transaction, the first invitation transaction and the second invitation transaction is a pay-to-script-hash (P2SH) transaction.
16 . The method of claim 1 , wherein one or more of the entities is one of the following:
a) bitcoin; b) a contract; c) goods; d) services.
17 . The method of claim 16 , wherein the contract is for one or more of the following:
a) fiat currency; b) title deeds; c) tickets; d) goods; e) services.
18 . The method of claim 1 , wherein the first set of conditions and/or the second set of conditions comprise one or more of the following:
a) one or more range limits on one or more prices related to the exchange; b) an exchange rate; c) a deadline for fulfilment of the first invitation; d) a limitation on a geographical area for the exchange to take place.
19 . The method of claim 1 , wherein the first and/or second set of metadata is provided in a redeem script.
20 . The method of claim 1 , wherein 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.
21 . A processing system, 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 run on the processing apparatus, the processing apparatus performs a method of: scanning entries in a distributed hash table distributed across a first network, the distributed hash table comprising a plurality of entries, each entry comprising an invitation to perform an exchange and a link to a transaction on a peer-to-peer distributed ledger distributed across a second network, each invitation including metadata comprising an indication of entities to be exchanged and one or more conditions for the exchange; determining a match between a first set of metadata in a first invitation of a first entry from a first user and a second set of metadata in a second invitation of a second entry from a second user, the determining comprising:
identifying a match between indications of entities to be exchanged in the first and second invitations, and
identifying a match between one or more of the conditions of the first invitation and one or more of the conditions of the second invitation;
generating a first exchange transaction; and broadcasting, over the second network, the first exchange transaction for inclusion on the peer-to-peer distributed ledger, wherein the first exchange transaction comprises:
an indication of a first quantity of a cryptocurrency to be transferred,
a first input provided from an output of a transaction on the peer-to-peer distributed ledger linked to the first entry,
a first script,
a first user signature based on a first user private key associated with the first user,
a first third party signature based on a first third-party private key associated with a first third-party,
a first output indicating a transfer of a first quantity of the first entity from the first user to the second user,
wherein the first script comprises:
the first set of metadata,
a first user public key associated with the first user, the first user public key being a cryptographic pair with the first user private key, and
a first third-party public key associated with the first third-party, the first third-party public key being a cryptographic pair with the first third-party private key.Join the waitlist — get patent alerts
Track US2023252430A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.