Resource transfer system
First Claim
1. A computer-implemented method performed on a data processing apparatus comprising:
- receiving an instruction at a first computing device to transfer a first quantity of a first resource type from a first resource pool to a second resource pool, wherein the first resource pool comprises a first register on a blockchain ledger and the second resource pool comprises a second register on the blockchain ledger, and wherein the blockchain ledger is distributed across a plurality of computing devices;
receiving an instruction at the first computing device to place a hold on a second quantity of the first resource type in the first resource pool;
receiving an authorization at the first computing device to place the hold on the second quantity of the first resource type in the first resource pool, the authorization comprising a message signed with a cryptographic private key corresponding to a cryptographic public key of the first resource pool;
responsive to receiving the authorization, placing, by the first computing device, the hold on the second quantity of the first resource type in the first resource pool to create a held second quantity of the first resource type, wherein the held second quantity of the first resource type cannot be transferred from the first resource pool until the hold is released;
receiving, at the first computing device from a second computing device, a message that fulfills a condition of the hold, the message comprising a transfer confirmation receipt indicating that a third register that is in a third resource pool on the second computing device and is associated with a second resource type was decremented by a third quantity, and a fourth register that is in a fourth resource pool on the second computing device and is associated with the second resource type was incremented by the third quantity;
verifying, by the first computing device, the transfer confirmation receipt using a cryptographic public key of the second computing device to determine that the transfer confirmation receipt comprises a cryptographic signature created with a cryptographic private key of the second computing device;
receiving an instruction at the first computing device to execute the transfer of the first quantity of the first resource type from the first resource pool to the second resource pool; and
responsive to receiving from the second computing device the message that fulfills the condition on the hold, verifying the transfer confirmation receipt successfully, and receiving the instruction to execute the transfer, releasing by the first computing device the hold on the held second quantity of the first resource type, decrementing by the first computing device the first register that is in the first resource pool and is associated with the first resource type by the first quantity using the message signed with the cryptographic private key, and incrementing by the first computing device the second register that is in the second resource pool and is associated with the first resource type by the first quantity.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques are provided for a resource transfer system. An instruction to transfer a first quantity of a resource from a first resource pool to a second resource pool may be received. A hold may be placed on a second quantity of the resource in the first resource pool. The held second quantity of the first resource may not be transferred from the first resource pool until the hold is released. Responsive to receiving a message that fulfills a condition on the hold and an instruction to execute the transfer, the hold may be released. A register that is in the first resource pool and is associated with the resource may decremented by the first quantity, and a register that is in the second resource pool and is associated with the resource may be incremented by the first quantity.
51 Citations
18 Claims
-
1. A computer-implemented method performed on a data processing apparatus comprising:
-
receiving an instruction at a first computing device to transfer a first quantity of a first resource type from a first resource pool to a second resource pool, wherein the first resource pool comprises a first register on a blockchain ledger and the second resource pool comprises a second register on the blockchain ledger, and wherein the blockchain ledger is distributed across a plurality of computing devices; receiving an instruction at the first computing device to place a hold on a second quantity of the first resource type in the first resource pool; receiving an authorization at the first computing device to place the hold on the second quantity of the first resource type in the first resource pool, the authorization comprising a message signed with a cryptographic private key corresponding to a cryptographic public key of the first resource pool; responsive to receiving the authorization, placing, by the first computing device, the hold on the second quantity of the first resource type in the first resource pool to create a held second quantity of the first resource type, wherein the held second quantity of the first resource type cannot be transferred from the first resource pool until the hold is released; receiving, at the first computing device from a second computing device, a message that fulfills a condition of the hold, the message comprising a transfer confirmation receipt indicating that a third register that is in a third resource pool on the second computing device and is associated with a second resource type was decremented by a third quantity, and a fourth register that is in a fourth resource pool on the second computing device and is associated with the second resource type was incremented by the third quantity; verifying, by the first computing device, the transfer confirmation receipt using a cryptographic public key of the second computing device to determine that the transfer confirmation receipt comprises a cryptographic signature created with a cryptographic private key of the second computing device; receiving an instruction at the first computing device to execute the transfer of the first quantity of the first resource type from the first resource pool to the second resource pool; and responsive to receiving from the second computing device the message that fulfills the condition on the hold, verifying the transfer confirmation receipt successfully, and receiving the instruction to execute the transfer, releasing by the first computing device the hold on the held second quantity of the first resource type, decrementing by the first computing device the first register that is in the first resource pool and is associated with the first resource type by the first quantity using the message signed with the cryptographic private key, and incrementing by the first computing device the second register that is in the second resource pool and is associated with the first resource type by the first quantity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method performed on a data processing apparatus comprising:
-
receiving a message at a first computing device comprising a proposed transfer, wherein the proposed transfer comprises a source transfer of a first quantity of a first resource type from a first resource pool to a second resource pool on a second computing device and a destination transfer of a second quantity of a second resource type from a third resource pool to a fourth resource pool on a third computing device, wherein the first resource pool comprises a first register on a blockchain ledger and the second resource pool comprises a second register on the blockchain ledger, and wherein the blockchain ledger is distributed across a plurality of computing devices; receiving a message at the first computing device from the second computing device indicating that a hold has been placed on a third quantity of the first resource type in the first resource pool; sending from the first computing device at least one message associated with the performance of the destination transfer to the third computing device, wherein the at least one message comprises either an instruction to the third computing device to execute the destination transfer or an authorization to place a hold on the second quantity of the second resource type; receiving a message at the first computing device from the third computing device indicating that a condition on the hold of the third quantity of the first resource type in the first resource pool has been fulfilled; verifying, by the first computing device, the message from the third computing device using a cryptographic public key of the third computing device to determine that the message from the third computing device comprises a cryptographic signature created with a cryptographic private key of the third computing device; and in response to successfully verifying that message from the third computing device, sending an instruction from the first computing device to the second computing device to execute the source transfer of the first quantity of the first resource type from the first resource pool to the second resource pool by decrementing a first register in the first resource pool quantity using a message singed with a cryptographic private key corresponding to a cryptographic public key of the first resource pool and incrementing a second register in a second resource pool. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-implemented method performed on a data processing apparatus comprising:
-
receiving at a first computing device a prepared transfer receipt from each of a plurality of resource tracking systems in a transfer chain, each resource tracking system comprising a respective computing device, wherein the prepared transfer receipt indicates that each of the resource tracking systems has placed a hold on a respective quantity of a respective resource type in respective resource pools, wherein one of the resource tracking systems comprises a blockchain ledger, and wherein a first resource pool of the one of the resource tracking systems comprises a first register on the blockchain ledger and a second resource pool on the one of the resource tracking systems comprises a second register on the blockchain ledger, and wherein the blockchain ledger is distributed across a plurality of computing devices of the one of the resource tracking systems; and sending by the first computing device a signed message to each of the plurality of resource tracking systems and each of a plurality of intermediaries, wherein the signed message is signed with a cryptographic private key of the first computing device fulfills a condition on each of the holds placed by each of the resource tracking systems and causes each of the plurality of intermediaries to send at least one instruction to at least one resource tracking system to execute a transfer by decrementing a respective register in the respective resource pool of the at least one resource tracking system and incrementing at least one other register on the at least one resource tracking system to at least one of the plurality of resource tracking systems, wherein the first register on the blockchain ledger is decremented using a message signed with a cryptographic private key corresponding to a cryptographic public key of the first resource pool. - View Dependent Claims (18)
-
Specification